時間:2023-05-29 18:22:46
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇嵌入式設計系統,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
關鍵詞:ARM 嵌入式系統
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2012)12-0104-01
1、序言
本系統是設計一款基于ARM的嵌入式開發平臺,該嵌入式開發平臺是基于AT91SAM9263(基于ARM926EJ-S芯核)的嵌入式系統,可以在此系統上運行嵌入式操作系統,并在上運行嵌入式數據庫、人機窗口等應用程序,此系統包括硬件和軟件兩部分,本文主要介紹硬件部分。
2、系統硬件設計
本系統硬件由核心板和母板組成,核心板將系統擴展可能用到的總線都引出來,與母板之間通過針形接插件連接,為以后產品開發提供了穩定、經濟而又方便的平臺,此種設計的好處,其一把高速和低速分開,降低了硬件之間的干擾,提高了穩定性。其二是當系統需要擴展某些特殊接口時,則只需要對母板進行修改,縮短了開發周期。
其中核心板設計這部分是任何一個ARM系統要正常運行所必備的電路,因此稱為核心板,這些基礎電路,包括存貯程序用的Flash存貯器,運行程序和緩沖數據所必須的SDRAM、復位模塊、時鐘模塊、JTAG接口等。這部分電路集中在較小空間里,因此相對比較密集,而且這部分的信號是超高速信號,且電路的設計要求比較高,所以核心板采用購買成熟的核心板。
系統母板設計了大部分的電路,因為模板上的信號都是低速信號,所以從成本角度考慮,母板采用二層電路板設計,其主要電路包括了電源部分、USB接口部分、串口及10/100M以太網接口、LCD接口、CAN總線以及底板與核心板之間通過針形接插件相連的接口等,其結構如圖1所示。
下面將分模塊介紹電路原理。
2.1 串行接口電路設計
系統設計了一個RS-232、RS-485接口,方便與其他設備通信。具體的電路采用MAX3232作為電平轉換芯片,它本身提供兩組驅動器和接收器,并接有數字隔離器ADuM1201,此芯片提供了兩個信道的通道,具體電路如圖2。
系統的RS-485串行接口,是由ADM2483來實現,ADM2483本身是帶有隔離的高速RS-485轉換器,不需要其它額外的電路。
2.2 以太網接口設計
系統選用DM9161作為以太網的接口芯片,因為系統工作在100BASE-TX模式下,所以選擇RMII作為DM9161與AT91SAM9263的接口模式,具體電路如圖3所示。
2.3 CAN接口電路設計
本系統的CAN總線接口的實現,是通過外接CAN收發器來實現的,系統選用的是MCP2551作為系統的收發器,其特點是有差分發射和接收能力,自動檢測TXD輸入端接地錯誤及較強的抗噪聲特性。
3、結語
本系統設計了基于ARM系統的嵌入式硬件平臺,在此之上可以提供各種實時操作系統,從而構成一個完整的平臺,其硬件部分電路已經進行了信號完整性分析具有一定的可靠性。
參考文獻
[1]田澤.嵌入式系統開發與應用[M].北京:北京航空航天大學出版社,2005.
【關鍵詞】 抽象級 嵌入式系統 設計模型
在嵌入式系統的設計工作中,設計者更多的將精力放在嵌入式系統體系結構上,使系統變得更靈活。本文主要通過利用抽象的ADL體系結構描述語言對嵌入式系統進行實驗和系統的設計,并經過反復過程達到設計要求。總的來說,對抽象級嵌入式系統設計方法的探討是為了提高嵌入式系統的設計效率,并從一定程度上加快嵌入式系統的發展和嵌入式系統在不同硬件中的應用。
1 嵌入式系統設計介紹
嵌入式系統問世已經有一段時間了,其協議也逐漸變得更加穩定和通用。就目前來看,市場上基于嵌入式系統的產品在逐漸增多,再加上隨著幾個大型企業的推進和改革讓很多芯片和模塊的發展逐漸走向穩定的道路。所以嵌入式系統的開發環境主要是依托于執行特定任務的系統芯片之中。由于嵌入式系統在開發中具有相當的難度,所以ADL體系結構和設計語言多應用于抽象級嵌入式系統的開發,所以筆者就嵌入式系統的開發做出具體介紹。
(1)基于ADL體系結構設計的語言和設計方法。ADL體系結構應用在很多軟件系統的開發之中,從目前的情況來看,我國對硬件體系結構的研究主要停留在非形式化的基礎之上。很大程度上依賴于硬件設計的傳統經驗。在目前的硬件開發中,很難描述不同組成部件之間的組合關系,導致開發人員對硬件的實際結構難以理解或難以形式化分析。而從經濟角度出發,基于結構的硬件研發手段又是目前主要的應用手段,所以在實現實際結構之前應該進行虛擬化的模擬。這也就是抽象級嵌入式系統開發的核心理念。JET技術就是為了支持這一抽象級開發而被使用的技術,擁有更強大和靈活的工具,能快速的轉變JAVA和VHDL和其他語言的代碼。JET技術實現的主要思路表示如下:
Sample.xml + xxx.jet = 生成文件(.java .vhd)
其中,sample.xml為參數文件,主要提供輸入數據。xxx.jet為具體的模板文件。主要利用不同的代碼生成功能不同的jet文件。
(2)基于上述實驗的具體證明。筆者為了說明此方法的具體特點,就設計了模型CPU,控制器采用微程序的方法,只能完成基本的算術和邏輯。模型CPU的指令系統分類比較詳細,在實際應用中可以根據不同的需要對指令系統進行擴充。再加上控制器采用微程序的方式,指令系統的更改將變得更加容易。具體的指令系統如表1所示。
根據表1所述指令系統,可以通過開關輸入檢驗指令的執行和具體結構系統的正確性。最終確定,模型CPU的運轉共分為取指令周期、指令執行周期等。
2 抽象級嵌入式系統設計模型描述
抽象級嵌入式系統由于其技術特點決定,是最適合工業以及工程遠程操控。這是因為工業生產設備的遠程操控比較簡單,傳輸數據較少,而且對系統的通信技術性價比的要求較高。所以嵌入式系統正是工業設備遠程操控的最佳選擇。比如水利工程遠程操控,可以基于嵌入式系統技術結合PLC技術實現水利工程的遠程操控。而對于嵌入式系統的市場化應用則是應該對嵌入式系統的產品加大開發力度。從硬件和軟件兩部分出發,雙管齊下,提升嵌入式系統的市場占有率以及市場產品的使用率。對于硬件來說,應該加強對芯片以及電路板的研究,將其低功耗與高性能的特點發揮出更大的作用。而軟件部分則主要是對傳輸協議的進一步改善,讓嵌入式系統更加普及。
在抽象級嵌入式系統具體設計時,由于其CPU的結構與傳統設計有相同和相似的地方,而且CPU還具有不少固定的結構。所以利用抽象級嵌入式系統設計方法設計的CPU可以明顯的提升設計效率。在設計時,首先要基于XML的ADL語言本身對模型CPU進行屬性和參數的設計。然后利用不同的技術實現代碼的映射,從而調整上層系統的具體設計方案。
在設計完成后,如果需要對地層設計進行修改,則只需要修改頂層的有關參數即可。利用XML代碼的靈活,保證了模板文件對應的設計比較正確,也能保證整個設計的正確性和可靠性。總的來說,對抽象級嵌入式系統的設計方法主要是為了避免傳統嵌入式系統的設計方法中存在大規模系統設計適應度不足的問題。可以說抽象級嵌入式系統的設計改變了原有的底層代碼編寫方式,將嵌入式設計提升到一個高級抽象級別。這種方法主要應用基于XML的ADL語言進行操作,并利用嚴格設計的目標文件和JET技術自動生成所需要的底層代碼,不僅提高了設計的效率,還提高了設計的整體可靠性。所以,對抽象級嵌入式系統的研究是具有很高的理論價值與經濟價值的。
3 結語
在嵌入式系統的設計工作中,設計者更多的將精力放在嵌入式系統體系結構上,使系統變得更靈活。本文主要通過利用抽象的ADL體系結構描述語言對嵌入式系統進行實驗和系統的設計,筆者認為,抽象級嵌入式系統的設計改變了原有的底層代碼編寫方式,將嵌入式設計提升到一個高級抽象級別,總的來說,抽象級嵌入式系統的研究價值是很高的,而且通過不同的模式表現出來。
參考文獻:
關鍵詞:嵌入式;系統軟件;設計;實現
中圖分類號:TP273.5 文獻標識碼:A 文章編號:1674-7712 (2014) 12-0000-01
當前時代,科學技術快速發展,信息技術被應用于我們日常生活的各個方面。高科技為我們的生活帶來了無限的便利,目前采用高科技手段為人們提供一個安全的生活和工作環境。本文針對嵌入式系統在門禁卡的應用上進行研究,解決了傳統門禁卡很多的不便功能。為實現門禁卡自動、智能化管理提供建議,以此來對門禁卡功能與嵌入式系統軟件設計與實現相關問題進行研究[1]。
一、嵌入式門禁系統設計
(一)嵌入式系統設計介紹。隨著科學技術的快速發展,嵌入式門禁卡系統已經逐漸進入人們的生活,逐漸由傳統的門禁卡系統轉變為現代的生物特征識別技術門禁卡系統。嵌入式系統的門禁卡主要分為了圖像采集、自動照明、語音提示、申請功能、無人監測等具體功能實現[2]。其具體的架構如圖1所示。
圖1 門禁系統功能圖示
(二)系統硬件設計概述。如果要設計出完善的門禁系統,不僅需要軟件系統的支持,還需要硬件支撐,否則整個軟件系統難以實現。嵌入式多功能門禁系統其本質由嵌入式技術與圖像處理技術融合應用。其中嵌入式的硬件支撐硬件結構主要有照明控制、網絡接口、攝像頭、按鍵、CF卡、音頻接口、LVDS以及DDR2等。
二、嵌入式系統在門禁卡中的實現
(一)圖像采集實現。量化后的數字圖像信號和連續信號取樣的數字圖像信號是數字圖像處理的對象,當這些最原始的信號經過圖像處理后即可獲得可觀測的連續信號。對連續信號進行取樣其本質是將信號的空間離散化,而量化則是將離散后的圖像信號幅度上進行離散化,所以量化和取樣后的圖像信號應該是原始連續圖像信號。
對于視頻圖像的獲取方法通常有兩種,一是利用視頻捕捉卡中的SDK工具獲取,二是使用Video for Windows,這給視頻捕獲編程帶來了很大的福利,對視頻捕獲的靈活性有很大的提高。視頻數據的實時采集主要是調用AVICap32.dll來穿件一個AVICap窗口類,它給應用程序提供了一個簡單而方便的數據接口,使用戶能夠訪問音頻和視頻,并且還能在硬盤上對視頻捕獲進行控制,它在捕獲視頻的能力很強,可以直接訪問視頻緩沖區,也不生成中間文件,視頻捕獲的速度快,及時性高,也可以將視頻保存在設置好的文件夾中,整個視頻捕捉過程都可以實現控制[3]。
(二)自動照明實現。整個照明系統主要分為了兩個部分,照明系統通過發送指令給單片機實現對整個電路進行調整。整個照明系統分為控制部分和圖像亮度檢測部分,照明系統中的圖像檢測與電路照明具有很強的聯系。嵌入式軟件系統進行照明攝像控制時,通過采集信息的亮度,而其亮度與圖像的象素有關,將圖像做為一個二維圖像,橫坐標表示圖像各個像素點的灰度級r;縱坐標則表示弧度制出現的概率Pr(r);那么對于某一個灰度值ri的象素個數為ni。則概率密度為:Pr(r)= ; =1。
(三)語音提示實現。該系統運用的是ALC655音頻解碼器,Mic用于連接麥克風,Line用于錄制聲源的聲音,Audio_Out用于揚聲器或者耳機。本系統主要根據不用的命令來實現功能,通過調用不同文件得到不同的效果,根據不同情況播放不同的提示音。系統中的MFC附帶的音頻播放組可以有效的提高開發是速度,通過媒體控制接口API實現停止功能MCI提供了控制媒體接口的能力,對波形音頻設備、CD/視頻播放設備等媒體進行控制。系統對音頻的播放采用的是DirectX,作為低級應用程序的編程接口,在開發上降低難度。對于聲音,主要的API是DirectSound,具備播放、處理混音、錄音等功能,Microsoft DirectSound API為聲音的捕獲、播放、混音的處理、錄音提供了鏈接,DirectSound可以給多媒體提供直接訪問聲音設備、低延遲混合、硬件加速。
(四)申請功能實現。所謂的申請來訪功能主要門禁卡在進行檢測的時候如果遇到不相匹配者,則需要進行申請之后才能夠進入。系統通過語音告知模塊的主人,采取系統中斷方式來進行受訪申請。受訪者來進行訪問申請時,需要按下按鈕然后系統給予語音提示,并且顯示出來訪者的面貌,以此來進行判斷,決定通過或者拒絕。嵌入式軟件系統在門禁卡的顯示上將來訪者的信息顯示在LVDS屏幕桑,然后通過系統對來訪人員進行判斷[4]。
(五)無人監測功能實現。無人監測功能則是當受訪者進行訪問時,遇到公司無人的時候,由門禁卡系統提示訪問者內部無人,并且拍下來訪者的照片,發送到系統設定的郵箱之中。在此自動發送郵件的功能中,該系統主要采取以太網作為接口進行數據通訊,并且根據TCP/IP協議來發送報文,實現信息交換。
三、結束語
隨著科學技術的不斷發展,新型的軟件技術被應用到我們日常的生活之中,本文主要針對嵌入式系統在門禁卡中的應用情況,以及在系統設計過程中所占據的地位進行研究。實現嵌入式軟件系統在門禁卡中的應用探索,主要針對門禁卡的各項功能的設計與實現進行了詳盡的介紹,希望為采用嵌入式方法進行門禁卡開發的企業提供借鑒。
參考文獻:
[1]周海龍.嵌入式門禁系統的設計與實現[D].西安電子科技大學,2012.
[2]吳若無.基于光學逆向器門禁的驅動和檢測系統設計與實現[D].電子科技大學,2013.
對于嵌入式數據庫系統是利用計算機的技術,并且是可以根據軟硬件的不同要求進行指定應用,這樣可以滿足系統在應用時對功能和可靠性的要求。在嵌入式系統運行時,其都是隱藏于內部的設備中,不是通過計算機的形式顯示出來。如果在系統中加入了嵌入式的數據庫系統,一般會認為是智能的系統。在嵌入式數據庫系統中必須融入計算機技術、電子技術和新興的半導體技術,這些技術完美的結合才能成就嵌入式數據庫系統正常可靠的運行。因此,嵌入式數據庫系統是一個要求有技術支持,并且資金足夠,在知識系統的創造上也必須合理的系統。在對嵌入式數據庫系統進行結構分類時,其主要是分為嵌入式的處理器和的一些構件。在數據發展的歷史上分析,一般計算機技術的發展會促進數據庫的發展,同樣反過來也一樣。這兩項技術在歷史的發展中都是相互促進并且相互影響的。在嵌入式數據庫系統中一個主要的用途就是移動數據的處理。移動數據技術可以實現不受時間以及地點的限制,進行數據的交流。現在技術在不斷地提升,在無線通信的網絡服務和各種形式的移動的設備,這些都是要建立在嵌入式數據庫系統之上的。雖然,嵌入式數據庫比較復雜,但是其用途很廣泛。
2對嵌入式數據庫系統設計的研究
2.1嵌入式數據庫系統設計的含義
為了滿足嵌入式數據庫系統設計的各種功能及標準上的要求,一般分為嵌入式的數據庫、PC主數據源和同步模塊這幾個部分,在這些構成部分之中,微型化的嵌入式的數據庫系統的設計具有最高技術性和應用性以及容易攜帶的特點,這就是嵌入式數據庫系統設計的一般含義。這三個構成部分,其中微型化嵌入式數據庫有數據的容量比較小,其可靠程度比較低的缺點,但是這點在PC主數據源中會有彌補,因為PC主數據源只能用于PC機中,這樣就不能按照意愿進行移動。在這些構件的中間部分是同步模塊,這個部分可以進行數據的雙方向的交換,將數據在嵌入式數據庫和主數據源之間進行傳遞,保證信息傳遞的及時性和一致性。因此,我們可以把同步模塊作為信息交流的橋梁。只有嵌入式數據庫設計中三個部分合理的結合應用,才可以互相補差補漏,既可以有嵌入式數據庫的便于攜帶的優勢,又可以獲得大量的數據,這樣對于想要隨時獲得大量信息的用戶來說,就得到了滿足。通過三種部件互相結合的方式,就是嵌入式數據庫系統設計的主要方式。
2.2嵌入式數據庫系統設計的特點
在傳統的計算機系統的結構體系的設計中,一般采用固定的網絡連接對不同的計算結點之間連接,這樣可以保證網絡能夠連續的連接。但是隨著移動數據技術的發展,它要求固定的節點和移動的結點相結合,那么以前傳統的網絡連接就不能夠滿足條件。對于移動數據庫,其要求的性能比較高,所以要求有嵌入式數據庫系統的設計,這種設計是建立在傳統分布式的數據庫的建設上進行拓展而來的。現在的移動數據庫是把固定的服務器節點和客戶端進行連接以獲取動態的數據,因此可以將移動計算機環境中的數據庫管理系統看作是動態式的數據庫管理系統。從根本上來說,傳統的數據庫的設計和嵌入式數據庫系統設計有著很多不同點,如果在移動的計算機環境下進行移動數據的應用就是嵌入式的數據庫系統,這種可移動的特點優于傳統數據庫設計。嵌入式數據庫系統設計主要特點是包括有對標準的SQL進行技術支持,對事務的管理功能和完備的數據庫管理功能,可以供多種嵌入型操作系統的應用。
3嵌入式數據庫系統設計的技術和應用前景
3.1嵌入式數據庫系統設計的主要技術
嵌入式數據庫系統設計其中一項主要技術就是數據的復制和緩存的功能。通過這項技術可以將需要維護和備份的數據在不同的多個移動的網絡節點之間進行復制備存。在嵌入式數據庫系統設計中的這項功能主要是進行服務器之間的復制數據和移動的計算機數據信息之間的復制和保存。從嚴格意義上來說,只有服務器之間進行的復制才能被稱為數據的復制,而計算機上所保存的數據進行復制就是屬于數據的緩存。復制可以提升分布式的數據庫的可靠程度和訪問的性能,但是必須保證多個復制節點在數據上的一致性。根據維護復制的功能上所采取的技術方法的不同,就可以將復制功能分為嚴格一致性和弱一致性。在嵌入式數據庫系統設計的復制和緩存技術中,如果要求嚴格的一致性就要保證在無論何時復制的數據信息其內容都是一致的,但是對一致性的要求比較弱,那么可以允許在較短的時間內有不相同的現象的出現。但是我們要求其不同的數據不能太多,必須控制在一定的范圍之內,并且最終隨著時間的演變是能夠趨向相同的。對于嵌入式數據庫系統設計的另一個技術就是數據廣播。這項技術是應用于移動的計算環境之下,關于客戶的機器和總的服務器雙方是不對稱的,正好應用了這一點,就可以用類似于周期式的形式來傳遞數據和信息。通過數據廣播技術可以幫助處理數據庫系統的斷接問題,并且不會因為用戶的數量的變化而發生變化。對于數據廣播技術的構造中一個方面是服務器,這個層面是用來進行組織廣播和調節數據,可以對廣播數據進行本地緩存。因此,復制緩存技術和數據廣播都是嵌入式數據庫系統設計的主要技術。
3.2嵌入式數據庫系統設計的應用前景
隨著物流業的逐漸發展壯大,嵌入式移動數據庫系統設計也可以應用在物流方面。采用嵌入式數據庫系統設計,可以對物流的信息進行準確的跟蹤,對生產、銷售和運輸過程中的資金進行合理的安排。在物流的運輸工作中,可以利用嵌入式數據庫系統技術將車輛信息中移動的數據信息進行傳遞,從而保證物流車輛在運輸過程中的一切行蹤都在總系統的控制范圍內。通過嵌入式數據庫設計可以將手寫的信息用無線的網絡傳入中央的數據庫來存儲,這樣有利于物流信息的更新和保存。同時,嵌入式移動數據的技術也可以應用于移動的銀行。目前,我國的移動用戶的群體在逐漸的擴大,所以銀行移動化也是大勢所趨。嵌入式數據庫系統設計在移動銀行上進行應用,可以幫助用戶進行實時的賬務查詢和交易,增加了靈活性。移動銀行的用戶可以不受時間和地點的限制,來辦理銀行業務,從而也節省了大量的時間。在水電業中,對于數據傳統上的采集方法是進行家家戶戶的抄錄數據,現在則可以利用嵌入式數據庫技術進行移動的傳輸數據,從而提高了工作效率。
4結束語
MicroBlaze嵌入式軟核的運行速度較快,可配置性強,屬于32位RISC處理器,該處理器支持CoreConnect總線的標準外設集合,和CPU同頻,并支持FCB、XSL、XCL等高速連接,此外,通過MAILBOX和MUTEX,該軟核處理器還能實現多核處理系統。從理論上來講,FPGA容量是唯一影響CPU數量的因素,但是實際上CPU數量最多只能到8個。對MicroBlaze處理器進行設計之前,需要先明確其功能任務,這樣才能快速選取或者設計處理器組件,進行參數化控制,縮短設計時間。設計MicroBlaze處理器時選用任務目標為導向的設計方法,設計的主要內容如下所述:(1)根據FPGA型號確定主頻,并根據處理能力需求確定單核或者是多核。(2)根據具體的軟件運行空間和處理器要求,確定容量、FLASH芯片及RAM類型。(3)根據需要的外部接口、外部芯片及片內模塊等,選取相應的IP-Core或設計相應的模塊,實現各類接口。初步確定設計的參數和元件后,進行優化設計。
2嵌入式系統結構
本文采用SOPC技術設計了基于MicroBlaze軟核處理器的嵌入式系統,設計過程體現了SOPC技術的優點。系統的網絡接口選擇SMSC91C111芯片實現,支持CoreConnect總線的標準外設集合,DDRSDRAM和BRAM用來存儲相關的數據,并且存儲的數據不同,其中BRAM存儲系統數據及系統運行代碼,DDRSDRAM存儲系統中的軟件代碼和系統參數。LCD顯示屏的主要作用是顯示系統的運行狀態。該系統要實現和以太網的數據傳輸,其實質是以太網控制器,具有MAC層及物理層的功能。
3基于MicroBlaze的嵌入式系統開發流程
完成MicroBlaze處理器的設計之后,開始對嵌入式系統的硬件進行設計,硬件的設計如下所述。先創建硬件平臺,平臺的創建通過XPS的BSB向導實現;然后刪減或者添加開發板平臺的IP核,并對IP核的屬性進行設置;最后在SystemAssem⁃blyview界面中分配地址、對端口和相應的總線連接進行設置。在開發板中下載系統生成的正確的Bitstreams,SDK中運行相應的應用程序時會看到對應的現象。系統的開發包括硬件開發和軟件開發,通過EDK平成。
3.1硬件開發設計
用基本系統向導BSB搭建Microblaze平臺,平臺的搭建主要包括三方面的內容:確定FPGA器件的型號,并對器件的屬性進行設置;根據系統需求添加需要的外設,添加之后設置其屬性;平臺功能測試等。XPS能夠自定義IP核,生成向導創建User_Logic用戶邏輯模塊及IPIF接口模塊,兩個模塊的功能和屬性各不相同,其中用戶可以采用User_Logic模塊,根據系統需求任意添加自定義邏輯,不必考慮它們和Microblaze之間的通信鏈接,而IPIF接口模塊的功能是進行協議轉換并捕捉到PLB總線信號,和PLB總線進行交互,如果用戶想要自定義輸入/輸出信號,只要在IPIF模塊中聲明即可。設計系統平臺時,需要添加多種外設,如添加SMSC91C111芯片的控制邏輯;添加外部存儲器SRAM的控制邏輯;FPGA的I/O接口控制邏輯及添加用戶自定義的邏輯接口控制邏輯等,這些外設和Microblaze軟核處理器的連接是通過特定的片內總線實現。
3.2軟件開發設計
通過EDK平臺的SDK組件可以完成完整的嵌入式系統軟件平臺的設計。利用SDK組件用戶可以生成需要的MHS文件及MSS文件。MHS文件包含了整個MicroBlaze系統的總線、外設、處理器等描述。MSS文件包含了全部的外設驅動信息描述,通過驅動文件完成軟件調度程序,由MB2GCC工具編譯調度程序生成可執行程序。最終生成軟件程序及.bit文件下載到開發板。程序設計好之后,需要進行測試,如果程序運行中存在問題,則可以應用XMD調試軟件,使程序更加完善,解決問題完成設計。MHS文件可以根據系統需求進行更改,使系統變得更加完善。PlatGen(硬件平臺生成器)產生整個系統的網表,結合約束文件能夠生成可配置文件(.bit),用來下載。此外,EDK還提供了大量的函數庫,完整的操作系統及板級支持包(BSP)都能夠幫助用戶開發軟件平臺。用戶可以根據功能需求需要對外設進行設置,應用VerilogHDL或者VHDL代碼在ProjectNavigatorISE環境中對用戶的IPcore進行設計,然后利用creat—importperipheral工具(XPS中)完成創建和導入IPcore。EDK系統存在的IPcore和用戶自己定義的IPcore可以構建一個完整的嵌入式系統。
3.3操作系統的移植
該嵌入式系統應用了μC/OS操作系統,該操作系統是一種實時操作系統,比較適用于微控制器。設計μC/OS操作系統時,要以平臺的移植需求為基礎,對于不同的平臺μC/OS系統的要求也不相同,因此,需要改寫宏和函數。*OS_ENTER_CRITICAL及OS_ENTER_CRITICAL:這是兩個不同的宏,它們的主要功能是進行臨界段保護。在該嵌入式系統中臨界段保護的實現需要利用匯編代碼關。*OS_TASK_SW:這個宏的主要作用是用于任務切換,嵌入式系統中任務切換主要利用CPU的軟件中斷方式實現。如果需要中斷則調用此宏,宏產生軟件中斷,相應的中斷處理程序會對中斷進行處理,實現任務的切換及上下文保護。*OSIntCtxSw::采用純匯編實現中斷級任務切換。*OSTickISR:采用純匯編實現系統定時器中斷的處理函數。*OSCtxSw::采用純匯編實現,用戶級上下文切換。*OSTaskStkInit:創建任務時,初始化任務堆棧。
4結論
關鍵詞: 地理信息系統;嵌入式;全球定位系統;空間數據
Abstract: based on embedded system design of the structure of the geographic information system, and puts forward the comprehensive GIS architecture using a variety of modern technology, they include GIS technology and embedded technology, and RS technology, GPS technology, mobile computing technology and communication technology, etc.
Keywords: geographic information systems; Embedded; Global positioning system; Spatial data
中圖分類號:S611文獻標識碼:A 文章編號:
1.引言
隨著GIS技術的不斷成熟和它給人們帶來的巨大便利,以及嵌入式設備性能的提高和普及,兩者的結合成為一種必然的發展趨勢。近年來,嵌入式GIS技術正成為GIS發展的熱點之一,它的應用包括了汽車導航、野外測繪、物流運輸、軍事指揮等眾多的領域。我國也已經開發出了自己的嵌入式GIS產品,比如武漢中地軟件的MAPGIS-Embedded和北京超圖公司的eSuperMap等。本章提出了一種基于嵌入式設備的地理信息系統的完整的體系架構,對于架構中涉及到的技術以及每一個模塊都做了比較詳細的說明。同時需要指出的是:這個架構不僅具有一定的理論價值,還具有很強的現實意義。我們已經按照此架構中提出的思想進行了代碼實現,當然由于時間和精力的關系,只是實現了其中的一些基本的功能,但這卻是自主開發嵌入式地理信息系統的一次有意的嘗試,并具體介紹實現的過程和步驟,以及實現過程中一些難點、關鍵問題的解決。
2.嵌入式GIS體系架構
嵌入式地理信息系統的體系架構如圖1所示。從圖中可以看出,整個系統是基于C/S模式的,它由嵌入式設備、高性能計算機、全球定位系統(GPS)和空間數據庫四個部分組成。
嵌入式設備由嵌入式硬件系統和嵌入式軟件系統構成,其中嵌入式硬件系統要集成GPS定位信息的接收功能;在嵌入式硬件之上的一層是嵌入式操作系統(如ARM-Linux等),它是嵌入式軟、硬件之間的橋梁,主要負責文件管理、進程調度等功能;運行在嵌入式設備上的GIS軟件(也就是客戶端程序)包括地圖的顯示、縮放、漫游、緩沖分析、通訊等幾個模塊,通訊模塊可以通過無線網絡與高性能計算機(服務器)進行通信和數據傳輸。
高性能計算機(服務器)要實現最短路徑、最優路徑的查詢等地理信息系統中比較復雜的功能,同時還要實現與客戶端進行通訊、文件格式的轉換,以及訪問數據庫服務器等功能。
對于系統中數據的存儲,我們采取的是客戶端-服務器兩級數據存儲模式,大部分的數據存放在服務器端(高性能計算機),客戶端(嵌入式設備)只保留少量常用的數據;如果系統中的數據量過于龐大,甚至可以由一個具有海量存儲器的計算機專門來存儲服務器端的數據,并向服務器提供訪問接口,這樣可以減輕服務器的負擔,提高整個系統的效率和處理數據的速度。在必要時,客戶端可以向服務器提出更新數據的請求,服務器在接到請求后把相應的數據文件回傳給客戶端。
圖1 基于嵌入式設備的GIS架構示意圖
對系統的功能模塊進行了劃分,把地圖顯示、圖層管理、緩沖分析、縮放和漫游等比較簡單,對硬件資源消耗小的應用放在客戶端,而把最優路徑、最短路徑的分析等復雜的應用放在服務器端。這樣做的原因在于嵌入式硬件本身的資源非常有限,如存儲空間偏小、處理器的速度也不是十分理想等,所以它不可能發展較為復雜的GIS空間分析功能。當客戶端需要調用最短(優)路徑查詢等復雜的GIS分析功能時,就向服務器發出請求(其中包括客戶端當前的位置、目的地等參數),服務器根據客戶端傳遞的參數,對數據庫進行一系列的查詢、檢索等操作后,將分析的結果回傳給客戶端,從而為客戶提供決策支持,同時也減輕了嵌入式設備的負擔,提高了它的工作效率。
3.全球定位系統及3S集成技術
3S技術為科學研究、政府管理、社會生產提供了新一代的觀測手段、描述語言和思維工具。3S的結合應用,取長補短,是一個自然的發展趨勢,三者之間的相互作用形成了“一個大腦,兩只眼睛”的框架,即RS和GPS向GIS提供或更新區域信息以及空間定位,GIS進行相應的空間分析(圖2),以從RS和GPS提供的浩如煙海的數據中提取有用信息,并進行綜合集成,使之成為決策的科學依據。RS、GIS、GPS集成的方式可以在不同的技術水平上實現,最簡單的辦法是三種系統分開而由用戶綜合使用,進一步是三者有共同的界面,做到表面上無縫的集成,數據傳輸則在內部通過特征碼相結合,最好的辦法是整體的集成,成為統一的系統。
圖2 3S的相互作用與集成
4.空間數據的無線傳輸
空間數據無線傳輸技術是完善嵌入式GIS 功能的重要技術之一。但是目前該技術的發展受到諸多因素的制約,下面就這些制約因素加以闡述和分析,并針對無線傳輸網絡提出相應的解決方案。雖然GPRS是作為現有GSM網絡向第三代移動通信演變的過渡技術,但是它相對于原來GSM的撥號方式的電路交換數據傳送方式,在許多方面都具有顯著的優勢。正是由于GPRS具有以上的這些特點和優勢,在我們設計的基于嵌入式設備的GIS系統架構中,采用了GPRS作為空間數據的無線傳輸網絡。
5.試驗結果
ECI GIS的開發嚴格遵循了軟件工程的思想,并且針對嵌入式軟件開發的特點,對軟、硬件平臺以及專業需求等因素也進行了綜合的分析和考慮。但由于時間、技術等方面的原因,我們的軟件只是實現了GIS中的一些基本功能。本節將重點向您介紹這些功能的實現,即程序運行的結果。說明:地圖中的當前圖層為上海市區縣和主要河流。
圖3全圖顯示
圖4屬性數據庫的顯示
結束語
ECI GIS1.0是一個基于嵌入式設備的地理信息系統軟件,它經過了架構的搭建、模塊設計、代碼實現、軟件移植和應用檢驗幾個階段,具備了地圖縮放、信息查詢等基本的功能。ECI GIS與其他的嵌入式地理信息系統相比,最大的特點就是它沒有借助任何商業的操作系統(如WinCE)和GIS系統軟件,實現過程中用到的Linux和GDAL函數庫的源代碼都是免費開放的。ECI GIS1.0是我們為開發出中國擁有自己完全版權的GIS軟件而進行的有意的嘗試和探索,這一點或許遠遠大于其在商業上的價值。
參考文獻:
[1] 龔健雅. 地理信息系統基礎[M]. 北京:科學出版社,2001.
[2] 張超,陳丙咸,鄔倫.地理信息系統[M]. 北京:高等教育出版社,1995.
[3] 鄔倫.地理信息系統――原理、方法和應用[M].北京:科學出版社, 2001.
關鍵詞: 物聯網 嵌入式 ARM驅動 教學研究
隨著計算機技術的不斷進步發展,人們的生活方式發生極大改變,計算機及其相關技術已經成為一門熱門學科,特別是近年來物聯網技術[1]的提出,使用嵌入式及驅動程序開發成為目前計算機專業在校學生學習的一個重要目標。無論是嵌入式系統[2]應用還是物聯網技術應用,最終均需要使用設備達到用戶的要求,實現特定的功能。由此可見,計算機嵌入式方向的學生學習好《嵌入式系統驅動設計》課程是非常有意義的,但在實際教學中,學生對于該門課程的掌握情況并不理想,學習方向體系、教材選用、教師授課方式及課程實踐安排成為制約學生掌握就業核心能力的主要問題。針對這些問題,特提出解決方案,希望對于本課程的教育教學和學生就業有所幫助。
1.存在問題分析
因為計算機專業嵌入式系統目前尚屬于一門較新的學科,嵌入式方向課程教學正處于探索階段,所以作為該方向對應的核心課程《嵌入式系統驅動設計》在教學實施中還存在一些明顯的問題。
1.1學習方向體系
目前很多高校在高考招生階段就明確了學生學習的方向,這種做法本身無可厚非,是各個高校明確招生計劃的一種手段。但實際上很多學生對專業本身并不了解,在懵懂地進入高校開始學習時,并沒有足夠的激情和興趣,從而導致目前高校普遍存在諸如學生經常翹課、學生在其他方向花費時間多卻又不得不應付本方向課程考試的問題,教師教與學生學的效果均不理想。
1.2教材選用
因為嵌入式系統方向目前畢業生就業情況比較樂觀,所以針對該方向的各門課程的教材也越來越多,如何挑選一本適合學生理論學習和提高實踐能力的教材并非易事。因為從目前市場所有的本科教材分析,有些偏重理論,基本上是各種知識點的匯總,學生學習時動手少,缺乏興趣,并不能真正掌握獨自解決實際問題的能力;有些教材比較偏重實踐,實例比較多,但是理論知識講解相對淺薄,學生學習后解決小問題還可以,但遇到綜合性案例的時候往往由于沒有理論支持導致分析解決問題的能力不夠,學生信心缺失。
1.3教師授課方式
學生對一門課程的接受程度往往很大程度上依賴教師的授課方式,在傳授課本知識的同時如果緊密聯系行業背景及實際案例,就可以最大限度地激發學生的學習興趣和學習熱情,達到更好的效果。而在目前的狀況下,大多數嵌入式方向的教師缺乏相關知識,且在授課過程中往往采用簡單羅列知識點和針對性實驗驗證的方式,雖有對目標板程序的代碼分析,但內容枯燥,并不能給學生日后的開發工作帶來實踐性指導,效果不好。
1.4課程實踐安排
在實際教學中,通常對計算機課程的設計為多媒體教室理論演示加實驗室實驗驗證[3],雖然設置了專門的實驗時間,但理論學習和實驗驗證相對隔離時間較長,學生容易忘記重要步驟,導致雖有興趣但實現困難,效果不好。
2.對問題的思考
以上提到的各種問題確實反映了目前很多高校存在的尷尬狀況,一些走在前列的高校雖然在某些方面對這些問題做了改進,但效果并不理想。對此,特將我校對嵌入式方向的改革及我個人針對《嵌入式系統驅動設計》課程的教學心得做一匯報,以供兄弟院校及授課教師參考。
2.1針對性方向劃分
學生入校后第一年按照招生錄取專業進行公共基礎知識平臺課程的學習,第二年學習學科教育平臺課程的內容,主要是計算機專業學習的一些前導課程,包括C語言、java程序設計、計算機網絡等。此時,學生對計算機已經有了相當的了解,可以聯系一些不同方向的計算機相關企業的講師進行宣講,提高學生對不同方向的認識和學習興趣。從第五學期開始,根據學生的志愿進行專業方向的劃分,然后針對性地展開相應的課程體系[4],這樣才能真正激發學生的學習熱情,為后期諸如《嵌入式系統驅動設計》等課程的進一步學習打好基礎。
2.2選用從業人員編寫的半工具書
目前市場上有相當一部分教材是由從事驅動開發的專業人員編撰的,非常適合用做高校本科對應專業課程的教材,因為這些書籍具有如下特點:(1)知識點涵蓋全面并且更新速度快,這就彌補了以往教材知識點陳舊、更新慢的弱點;(2)實踐環節突出,知識點蘊含在實踐步驟中,生動易學習;(3)行業規則和公共規范明確。由于很多高校教師在編寫教材時并沒有在相關行業解決實際案例的經驗,編寫時偏重于知識點的強調,并不注重行業普遍遵循的一些規則和規范,這導致學生畢業工作后還要花費大量時間加以適應,效果不好。而這些從業人員編寫的半工具書能很好地解決這幾個問題。
2.3案例式教學方法
學院定期組織教師參加相關課程對應企業的項目開發交流,并聘請一些業內從業人員到校進行行業背景和規范的宣講,這在一定程度上提高了教師的素質,最終對課堂教學產生深遠影響。針對《嵌入式系統驅動設計》這門課程,可以在教學時盡量避免簡單羅列知識點,而是將要教授的內容蘊含在案例中,這樣學生學習時興趣濃厚,掌握知識點牢固。
2.4打段授課配合興趣小組學習
目前理論和實踐分離的教學方式在高校普遍存在,這樣做的弊端往往是學生在實踐時忘記某些內容而導致實驗效果不理想。我采用打段授課的方式,將一學期的授課時間壓縮到半個學期,每個星期的課程時間加倍,這樣做的優勢是學習時間集中,便于加深學生記憶,同時理論和實踐結合緊密,學生印象深刻。實踐證明,學生上課時注意力集中,興趣濃厚且接受效果好。為了使學生更好地掌握《嵌入式系統驅動設計》課程內容,設立多個興趣小組,在課余時間利用現有的實驗設備和條件進行課題研究,培養學生初步的科研能力、創新能力、同學間的協作能力和工程實踐能力,并更有效地將所學知識應用于實際中。定期進行專題討論,拓展學生在驅動開發領域的知識面,進而增強課程教學效果[5]。
3.結語
對于計算機專業嵌入式方向的學生,《嵌入式系統驅動設計》這門課程的重要性是不言而喻的,要更好地掌握該門課程需要結合多個方面認真考量,是一個系統的過程,其他課程的學習也應遵循同樣的規律。改革教學方法,在方向劃分、教材選擇、授課方式、實踐安排等各個環節創新求變,才能更好地讓學生掌握課程的精髓,提高學生就業的核心能力,增加學生擇業的競爭優勢[5]。希望我對該門課程的一些實踐經驗能對高校同仁起到一定的交流提高作用,我也會在今后的教學實踐中進一步進行總結和完善。
參考文獻:
[1]趙庶旭.物聯網技術[M].成都:西南交通大學出版社,2012.
[2]戴勝華.嵌入式系統[M].北京:中國鐵道出版社,2008.
[3]尚久慶.計算機教育改革的認識[J].科技信息,2010(9):51-53.
關鍵詞:嵌入式系統;機器視覺;測控系統;圖像跟蹤
中圖分類號:TP391.41文獻標識碼:A文章編號:1009-3044(2010)08-1987-02
1 概述
隨著科學技術的發展,更高速,更可靠,更低成本成為各種技術開發的要求。因此,設計能實現實時視覺圖像采集、視覺圖像處理控制,使其結構更緊湊,甚至完全不需要計算機的介入,提高處理速度,并能有效降低成本的專用機器視覺控制系統,使得該系統具有安裝方便、配置靈活、便于攜帶等突出優點。為此,本課題提出了基于嵌入式機器視覺測控系統的研究,在嵌入式系統上實現實時視覺圖像采集、視覺圖像處理及控制,構成處理速度快,成本低,結構緊湊,不需要計算機介入的專用嵌入式機器視覺測控系統。
2 系統總體設計
2.1 設計方案
目前,用于圖像采集處理系統的嵌入式核心器件一般有FPGA、DSP和ARM芯片,出于成本控制與測控系統性能要求的考慮,這里選用FPGA方案。
FPGA內嵌的NiosII軟核處理器是32位的,主要包括CPU微處理器、I/O中斷、計時器、UART串口及大量通用寄存器。選用FPGA方案的優點在于,在單個芯片上既可以完成圖像采集等復雜邏輯的控制,又可以用內嵌的NiosII處理器完成對圖像的處理和識別,電路設計簡單,成本低。
對于機器視覺測控系統,在選用了嵌入式處理器實現圖像采集的功能之后,需要將視頻圖像進行數字化處理,這里采用標準工業攝像機+視頻圖像數字化模塊的方法實現。標準工業攝像機的輸出信號一般是PAL制式或NTSC制式的模擬信號,信號在進行數字圖像處理前必須經過刀D轉換,即視頻采集。視頻采集是整個系統中的一個重要組成部分,它是對模擬視頻信號實現數字圖像處理的第一個步驟。該方案具有通用性好、成本低的優點。
2.2 總體結構設計
1) 硬件設計
硬件設計包括系統硬件電路的連接和FPGA內部邏輯電路的設計。
FPGA內部邏輯電路的設計是以QuartusII為開發環境,用VHDL語言編程實現圖像采集、SRAM總線切換等模塊的功能,用SOPC Builder配置、產生NiosII軟核處理器及必要的外設(用戶自定義外設用VHDL編程實現),然后一起編譯并下載到FPGA的配置芯片中,再由配置芯片完成對FPGA的上電配置,由此形成硬件邏輯電路的連接,實現圖像采集、處理、存儲、顯示、實時控制等功能模塊。
2) 軟件設計
用SOPC Builder生成NiosII處理器系統的同時,也會生成相應的SDK軟件開發包。在這個軟件包的基礎上,開發者可以利用NiosII IDE,移植嵌入式實時操作系統μc/OS-II,編寫C或者C++程序來完成對圖像的二值化、區域分割、特征提取、模式識別等處理過程,最終實現對目標軌跡的跟蹤,實時控制機器人沿規定軌跡運行。
3 關鍵技術問題探討
3.1 圖像采集CCD模塊設計
圖像信息的獲取就是捕捉待處理目標的圖像信息并將其轉換成適合一體機處理的數字信號,這一過程主要包括圖像捕獲、光電轉換及數字化等幾個步驟。目前圖像信息獲取可以使用CCD、CMOS、CIS等傳感器,其中以CCD的應用最為廣泛。
本設計模塊采用1/3寸逐行掃描型黑白面陣CCD圖像傳感器ICX424AL。ICX424AL有效光敏單元為659×494,靈敏度高、暗電流小,帶有電子快門。由三相垂直脈沖(V1、V2、V3)和兩相水平脈沖(H1、H2)驅動工作,水平驅動時鐘頻率為24.154MHz,驅動電壓5V。曝光之后,每一列成像勢阱中的電荷在脈沖的驅動作用下被移至勢阱旁的垂直寄存器當中,然后垂直驅動脈沖發揮作用,每次脈沖驅動垂直寄存器組中的像素電荷向下移一行,而此時最下面一行的像素電荷則被移動到水平寄存器當中。之后水平驅動脈沖發揮作用,脈沖驅動水平寄存器中的像素的電荷向輸出口移動。被移出像素電荷,經過放大器后形成電壓信號輸出。水平寄存器被移空后,剩余電荷再次向下移一行,在水平驅動脈沖作用下,水平寄存器的電荷再次被依次移出。上述過程一直重復直至所有像素電荷被移出。
ICX424AL的驅動時序由CCD信號處理器AD9929產生。AD9929有一個三線式串行接的串行通信接口,通過該接口可以對AD9929時序發生器的相位寄存器組進行操作,發送配置信息或讀取AD9929的工作狀態。AD9929可直接與CCD傳感器相連接,CCD像素模擬電壓信號在AD9929驅動脈沖的作用下,由CCD_IN引腳輸入到AD9929中,經模擬前端采樣、放大和A/D轉換后,產生8位的數字信號由DOUT[0-11]引腳輸出,這些數字信號即為CCD圖像傳感器捕捉到的待測目標的原始圖像信息。
3.2 圖像實時跟蹤算法設計
由CCD模塊負責采集圖像,那么嵌入式系統必須要有完善的圖像跟蹤算法,才能夠實現智能機器人對目標的跟蹤,傳統的圖像跟蹤算法由于運算量較大而存在實時性較差的問題,因此,有必要對圖像跟蹤算法進行實時性優化設計。
目標圖像跟蹤是一個序列圖像處理、識別和測量過程。在跟蹤過程中,目標可能出現大小、形狀、姿態等變化,加上實際環境中的各種干擾,以及圖像處理最小計量單位的精度問題,相關跟蹤得不到絕對最佳的匹配位置,存在測量誤差。因此,為了保證跟蹤的穩定性,需要對圖像跟蹤模板進行自適應更新。圖像跟蹤模板的更新是目標跟蹤中要解決的重要問題之一,圖像跟蹤模板更新過快或過慢,都有可能丟失所跟蹤的目標。判斷圖像跟蹤模板是否需要更新要根據相關的置信度信號,如果相關匹配的置信度高,就可以根據本幀圖像的匹配點處的坐標來更新圖像跟蹤模板;如果置信度低,則說明匹配不穩定,要沿用以前的匹配圖像跟蹤模板對下一幀進行相關匹配。
相關置信度信號是在分析相關匹配算法的基礎上設計出來的,它是一個非常重要的參數。經過分析可知:若匹配點處的峰值很大,且峰值與其它非匹配點的均值之差越大,則表明跟蹤越可靠。定義幀內相關置信度為:
式中:C0是幀內相關置信度;maxR是當前幀匹配點處的誤差累加次數;R是同一幀內M個依次比maxR小的誤差累加次數的均值,如果maxR和R相差越大,則說明該匹配點越可靠。本算法可根據計算速度的需要對M取值,一般可以取M等于20~100的任何值。若C0大于閾值T0,則認為相關匹配值maxR符合幀內置信度,更新圖像跟蹤模板;否則,相關匹配不可靠,不更新圖像跟蹤模板。閾值T0根據圖像的質量和經驗來確定,這里我們取T0=0.6。
實踐證明,在序列圖像跟蹤過程中,若單純地利用當前圖像的最佳匹配位置處的圖像跟蹤模板作為依據進行下一幀圖像的匹配,則跟蹤結果很容易受某一幀發生突變的圖像的影響而偏離正確位置。因此,本系統采用基于置信度的加權自適應模板修正算法:如果當前幀匹配質量很差,則該幀圖像數據不進行修正;而若當前幀匹配質量很好,則該幀圖像數據進行修正,加權修正算法表示如下式:
上式中,T(i,j,t)為當前幀使用的圖像跟蹤模板,O(i,j,t)為當前幀最佳匹配位置的子圖像,T(i,j,t+1)為預測得到的下一幀圖像坐標,α為加權系數(0≤α≤1),該系數的大小根據幀內相關置信度C0,按照下式計算:
4 結束語
本文在嵌入式系統與機器視覺控制系統的交叉點展開研究,目的是將具有重要意義的機器視覺控制系統應用到具有廣泛基礎的嵌入式系統平臺上,拓展機器視覺的應用范圍。通過對機器視覺控制系統及嵌入式系統設計方案的選擇,并對基于嵌入式機器視覺控制系統的關鍵技術問題展開研究,以此為依據,設計了相應的硬件系統和軟件系統,并將其應用到智能機器人視覺的控制上。
參考文獻:
[1] 王耀南,李樹濤,毛建旭.計算機圖像處理與識別技術[M].北京:高等教育出版社,2001.
[2] 段峰,王耀南,雷曉峰.機器視覺技術及其應用綜述[J].自動化博覽,2002,19(3):59-61.
(Ed.)
UML-B Specification for
Proven Embedded Systems
Design
2004, 300pp.
Hardcover $ 129.00
ISBN 1-4020-2866-0
Kluwer Academic Publishers
本書介紹了貫穿整個模塊系統設計方法論的系統性質形式證法。該方法論將子系統的共同驗證與虛擬系統部件的系統精化和復用性相結合,通過規約的形式與非形式方法相結合,由UML和B語言來完成。這樣就允許通過經證明的子系統的合成來驗證系統規約(對于接口則給予某些特別的注意,符合VSIA/SLIF方法)。將B語言與C、VHDL和SystemC語言相連,將通過構造校正設計的過程擴展到較低的單片系統開發階段。因此證明嵌入式軟件產品是與證明硬件產品相配套的。書中開發了用于從UML和B語言產生代碼的原型工具,現有的B語言驗證工具被拓展成支持IP的再使用,這都是根據VSIA的推薦。書中所涉及的方法論及工具是通過開發三個工業應用來驗證的,即無線移動終端、建立在HIPERLAN/2協議基礎上的電信單片系統、以及汽車的防碰撞組件。
全書共有17章。第1章形式方法介紹:它們是怎樣應用于嵌入式系統設計的?第2章使用UML、B和SystemC的形式統一系統規約環境;第3章使用PUSSEE方法設計嵌入式系統;第4章借助事件B的系統層次建模與精化;第5章用于UML中形式系統建模的UML-B簡況;第6章U2B―用于從UML-B模型轉換到B語言的工具;第7章BHDL硬件描述語言;第8章用于UML對硬件描述語言映射的概念性框架;第9章B語言中基于接口的合成精化;第10章借助互補模型檢驗的有限狀態機的精化;第11章適應漫游控制實例研究設計實驗;第12章適就漫游控制器實例的研究;第13章使用事件B的電子線路形式建模;第14章回送注銷單元實例研究;第15章可移動設計系統實驗結果;第16章UML-B規約與漢明編碼器/解碼器的硬件實現;第17章實踐中的PUSSEE方法。書后的附錄A1:嵌入式系統設計方法的評估標準。
本書描述的問題有一定的難度,所獲得的成果證明了該項目研究的成功,且視野廣闊,因此受到歐洲專家的肯定。本書公布的形式方法現在已經能夠應對工業中有難度的問題,便于設計工程師、大學教師和研究人員使用。
胡光華,高級軟件工程師
(原中國科學院物理學研究所)
關鍵詞:嵌入式;軟PLC系統;語言程序
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1674-7712 (2013) 10-0076-01
一、嵌入式軟PLC系統的架構
嵌入式軟PLC主要分為兩個部分,即開發系統以及運行系統。其中開發系統主要負責對于程序進行一定的編輯,并將其生成目標代碼。而運行系統則是對于目標代碼進行一定的執行,從而完成系統的相關配置,最后對于所輸入的信息進行一定的處理與控制等。嵌入式軟PLC系統的總體架構示意圖具體如下圖所示:
一般性的開發系統中還存在著一定的仿真模塊,而由于本文只是對于開發系統所生成的Linux C語言在PC上的編譯乾地一定的仿真,并且PC的相關資源以及C編譯的功能非常的充足與強大,另外仿真也更加的方便與快捷,因此,該系統目前還不需要對于仿真模塊進行一定的開發。該系統的組成模塊具體如下所示:
1.編輯模塊。編輯模塊主要是對于語言程序進行一定的編輯與儲存。
2.編譯模塊。編譯模塊則是對于所編寫的語言程序進行了一定的編譯,最后生成了Linux C程序。另外,編譯模塊還分為了五個功能性模塊,即詞法分析、語法分析、語義分析、錯誤管理以及代碼生成等。
IEC61131-3的標準主要可以運用于五種標準語言編程。其中圖形式語言具有梯圖(LD)、順序功能圖(SFC)以及功能塊圖(FBD)等。而文本化語言則只具有指令表(IL)以及結構化文本(ST)兩種。而由于指令表語言是這五種請言中最常使用的一種語言,并且其它的語言編程也都可轉化為指令表語言,因此,本文主要選擇了將指令表語言作為此次開發的運用語言。指令表相當于一個指令集,它主要由三方面構成,即序號、指令字符以及數據等,很容易通過計算機的方式進行相關處理。用戶只需在指令表中的編輯窗口出輸入一定的指令表程序,之后在對其進行一定的編譯與調試,那么最后就會得出C語言的相關代碼了。
而IL為文本性語言,為了能夠使得IL程序在進行編輯時,能夠正常的進行,因此,采取了MFC類庫中由CE dit View所衍生出的CT ext View類。CE dit View具有較強的文字編輯功能,并且支持多個窗口同時操作與預覽。
三、編譯模塊
(一)編譯模塊的總體設計
本文所研究的編譯器與一般性的編譯器相比,其最大的區別就是該編譯器的前端沒有將字符式的源程序轉化為等價的中間代碼,而是建立了與指令表中各指令相符的線性儲存機構,如此就有效的節省了將代碼進行一定的優化的階段。在編譯器的后端則有效的將IL程序轉化為C語言編譯器的形式。而編譯器主要是是由對于詞法所進行相關分析、語法分析、語義分析、中間代碼的組成以及目標代碼的構成等方面所共同組成的。
(二)詞法分析
按照一定的順序讀取指令表中的相關字符流,之后將字符與其定義按照一定的方式進行表達與搭配,如果搭配成功的話,那么則可以執行與之相對應的操作,否則將會出現錯誤提出。標識的屬性主要包含了兩種類型,即變量與數據等。而標識符的作用也分為全部與局部等兩個方面。在對于標識符進行界定與使用時,其要求與規定都是非常嚴格的,因此,本文主要采取了哈希表構造中的兩種結構中相同的符號進行,并且在儲存方面采取了全部標識符的方式,而且POU則采取了局部標識符的方式。
(三)語法分析
先接收一定的詞法分析之后對其進行返回標記,之后將其與邏輯性進行充分的融合,再按照之前所制定的語法規則,從而對于語法中的有效句進行一定的識別,還可以對于符號表的相關內容起到一定的更新作用。
(四)語義分析
語義分析主要原則有:操作數類型檢查原則、變量類型檢查原則、操作數范圍檢查原則、唯一性檢查原則以及控制流檢查原則。如查沒有出現任何的錯誤,那么指令序列中的線性儲存表就是自動添加該語句,從而方便于代碼進行轉換操作的需要。
(五)錯誤處理
為了能夠對于多個錯誤進行同時處理,因此,錯誤處理機制不僅僅只是從詞法分析、語法分析以及語議分析中接收錯誤的信息并記錄,而且還要將錯誤的信息進行一定的改正并使其功能恢復正常。
四、系統分析
通過一定的分析與研究表明,系統在遵循了IEC61131-3的相關標準之后,其界面較好,并且操作非常的簡單方便。而用戶可以對于IL程序進行一定的編輯,之后在檢查程序中所存在的問題與錯誤,從而及時的對于錯誤程序進行一定的修改與完善。
五、總結
該系統界面良好且操作非常的簡單,可以對于IEC61131-3中的IL集中性指令進行很好的識別,之后再通過對于隊列指令進行一定的掃描的方式準確的將實現指令程序轉化為C語言,從而有效的減少了相關代碼。本文只是對于該系統在IL語言上的有效的應用了深入的分析與研究,而IEC61131-3所適作的其它五種語言編程的相關研究將在后續的論文中進行呈現。
參考文獻:
關鍵詞:PowerPC;Tsi107芯片組;SDRAM;BSP
中圖分類號:TP368.4 文獻標識碼:B 文章編號:1004-373X(2008)02-007-03
SDRAM Interface Design in Embedded System Based on PowerPC
LIU Lijun,HE Zhanzhuang,LI Hao
(Xi′an Microelectronics Technology Institute,Xi′an,710054,China)オ
Abstract:The high processing speed of microprocessor and the real-time,multitask characteristics of embedded operating system decide the embedded system will have a good future.The system uses MPC7410 of PowerPC G4 processor which has been used widely as the core processor,Tsi107 as north bridge chip design an embedded system′s hardware platform.Introduc[CD*4]ing the setting of register related to SDRAM in the Tsi107 chip in detail.Discussing the design of SDRAM interface in the VxWorks BSP.
Keywords:PowerPC;Tsi107 chip;SDRAM;BSPオ
MPC7410是新一代G4處理器,具有高性能和低功耗的特點。通過加入A1tiVec技術,處理能力達到了4 G FLOPS。而1.8 V的低電壓操作大大降低了芯片的功耗,提高了系統的穩定性[1]。系統采用Tundra公司為PowerPC專門設計的橋芯片/存儲器控制器Tsi107的memory控制器管理SDRAM。SDRAM在嵌入式系統中占據著非常重要的地位,必須使SDRAM 能夠正常訪問。文中介紹了SDRAM接口的VxWorks BSP的開發。
1 基于PowerPC的硬件電路設計
整個電路的硬件設計如圖1所示。系統中使用了MPC7410作為核心處理器,外接一個2 MB L2 CACHE作為二級緩存,以提高運算速度。Tsi107作為北橋芯片,利用60X總線和MPC7410相接,用以把60X總線信號轉化為PCI總線信號,并管理FLASH和SDRAM[2]。SDRAM用于存放用戶的數據和代碼,為程序的運行和保存臨時文件提供空間。SDRAM 的管理由Tsi107的Memory控制器來實現,數據寬度配置為64 b。Tsi107的SDRAM接口有以下特點:SDRAM器件必須與SDRAM的JEDEC規范兼容,32位和64位數據可選寬度,支持頁面式訪問,支持8個物理bank,最大支持1 GB的存儲容量[3]。設計中采用5片MT48L32M16A2作為SDRAM,其中的一片用于校驗數據,SDRAM的總容量為256 MB,總線時鐘是100 MHz。
在布線時應注意SDRAM各個時鐘信號線必須等長。如果SDRAM的地址線和控制線采用星型布線難度會很大,因而設計中把5片SDRAM中的必2片放在頂層,剩下的3片放在底層,使5片SDRAM基本平行的放在Tsi107芯片組的Memory控制引腳周圍。芯片組的Memory地址線和控制線與中間的1個SDRAM器件相連,然后其他的SDRAM器件與中間的SDRAM器件采用鏈的方式相接。SDRAM器件數據線的連接要盡量等長。由于SDRAM的頻率較高,需要注意布線的長度和路徑,以保證信號的完整性。
2 SDRAM的VxWorks BSP的開發
BSP即Board Support Package,板級支持包,是對目標系統的底層支持軟件。對于具體的硬件平臺,與硬件相關的代碼都被封裝在BSP中,由BSP向上提供虛擬的硬件平臺,BSP與操作系統通過定義的接口進行交互。BSP是所有與硬件相關的代碼體的集合,是介于底層硬件和上層操作系統之間一層,主要目的是為了支持操作系統,使之能夠更好地運行于硬件系統。
對SDRAM的BSP的開發主要是對Tsi107芯片組中與SDRAM相關的一些寄存器的設置。這些寄存器包括:Memory邊界寄存器、Memory bank使能寄存器、Memory頁面方式寄存器、Memory控制配置寄存器。
2.1 Memory邊界寄存器
擴展開始地址寄存器(EMSAR1和EMSAR2)和開始地址寄存器(MSAR1和MSAR2)為每個memory bank定義低地址邊界,計算公式如下:
bankn低邊界=0b00||||||0x0_0000。
擴展結束地址寄存器(EMEAR1和EMEAR2)和結束地址寄存器(MEAR1和MEAR2)為每個memory bank定義高地址邊界,計算公式如下:
bankn高邊界=0b00||||||0xF_FFFF。
Tsi107提供了8個片選信號CS[0:7],每個片選信號控制1個物理bank,每個物理bank的大小和類型可不相同,每個bank的大小可配置為1~512 MB。因設計中SDRAM的總容量為256 MB,故只使用1個bank0,該物理bank由CS[0]控制。SDRAM的開始地址為0x0000_0000,結束地址為0x0FFF_FFFF。bank1~bank7都映射到0x3FF0_0000~0x3FFF_FFFF。在設置memory bank使能寄存器時將會關閉bank1~bank7。memory邊界寄存器將分別設置為:
MSAR1:0xFFFF_FF00;MSAR2:0xFFFF_FFFF;EMSAR1:0x0303_0300; EMSAR2:0x0303_0303; MEAR1:0xFFFF_FFFF; MEAR2:0xFFFF_FFFF;
EMEAR1:0x0303_0300; EMEAR2:0x0303_0303。
2.2 memory bank使能寄存器
該寄存器的大小為1個字節,用于使能各個Memory bank,寄存器的每一位用于使能一個Memory bank,如果只使能bank0,則寄存器被設置為00000001。
2.3 memory頁面模式寄存器
該寄存器的大小也是1個字節,包含的PGMAX參數控制Tsi107訪問當前頁面的時間。PGMAX定義了從激活到預先加電的時間間隔,也稱作tRAS。PGMAX參數值乘以64產生實際時間間隔的周期數。當PGMAX被設置為0x00,頁模式不被使能。
PGMAX的值與使用的SDRAM,ROM系統和Tsi107的頻率有關。當PGMAX定義的時間間隔到達,Tsi107需使用一個預先加電命令關閉當前頁面;在進行memory訪問時,如果PGMAX時間到達,Tsi107須等到訪問完成再對SDRAM進行預先加電;如果ROM連接在memory總線上,則潛在的延遲一個預先加電命令的最長操作是對ROM的突發讀操作;如果ROM連接在PCI總線上,則最長的Memory訪問是對SDRAM的突發讀操作;Tsi107發送一個預先加電命令到SDRAM器件需要兩個時鐘周期[3]。于是,PGMAX的計算公式為:
PGMAX
2.4 Memory控制配置寄存器
Memory控制配置寄存器包含4個32位寄存器(MCCRs),用于設置所有的RAM和ROM參數。在所有的Memory配置參數設置完后,初始化軟件使用MCCR1中的MEMGO位啟動Memory接口。首次向MCCR1,2,3和4中寫時,先不設置MEMGO位,然后執行一個read-modify-write操作設置MEMGO[3]。
[BT4]2.4.1 Memory控制配置寄存器1
下面只介紹和SDRAM有關的一些重要寄存器位的設置:
SREN位設置為0,表示在睡眠模式時禁止SDRAM的self 刷新。RAM_TYRE位設置為0,表明RAM類型是SDRAM。MCCR1[15:0]用于bank0~bank7的行參數的設置,其表明每一個bank的行地址位多少。因為只使用bank0,所以只設置MCCR[1:0],MCCR[15:2]使用默認值即可。對于器件MT48L32M16A2使用了13個行地址位,4個邏輯bank[4],故MCCR[1:0]設置為10。
[BT4]2.4.2 Memory控制配置寄存器2
INLINE_PAR_NOT_ECC: In-line奇偶校驗――不是ECC。執行Memory讀時在in-line數據通路的ECC和奇偶校驗/糾正裝置中選擇其一,該位置0。INLINE_WR_EN:使能In-line奇偶校驗錯誤報告。控制在向Memory寫時是否Tsi107使用in-line奇偶校驗電路報告60X總線上的奇偶校驗錯誤,該位置1。INLINE_RD_EN: In-line讀操作奇偶或ECC校驗/糾正使能。控制是否Tsi107在in-line數據通路使用ECC/奇偶校驗和/或糾正電路報告Memory系統讀操作時的ECC或奇偶校驗錯誤,該位置1。
REFINT:Tsi107的Memory接口為SDRAM提供CBR刷新,該位表明了CBR刷新周期之間的時鐘周期數。REFINT的值與使用的RAM器件和Tsi107的操作頻率有關。當REFINT時間到達且Memory總線空閑,Tsi107向SDRAM發送一個預先加電命令和一個刷新命令。當Memory總線正忙,刷新請求將不被執行,一個內部的、4位、未執行刷新計數器將加1,刷新間隔計時器恢復到REFINT中的值,被中斷的操作將繼續進行。當REFINT時間到達并且總線空閑,Tsi107將執行所有的未執行的刷新操作,未執行刷新計數器將清零。如果未執行的刷新次數超過16,計數器溢出并產生一個刷新溢出錯誤[3]。REFINT值通過下面的公式計算可得:[HJ1]
[JZ]REFINT
上式中,器件的刷新周期數RP=每一個bank的刷新周期×bank的數量×Memory的頻率,n=(每個bank的行數×每個器件的bank數)/16,ROH=2×同時打開的bank數+PRETOACT+4+1,TWACC是Memory總線上最慢的設備被訪問時所占用的時間。對于器件MT48L32M16A2,計算可得REFINT
2.4.3 Memory控制配置寄存器3
BSTOPRE[2~5]:該參數與BSTOPRE[0~1](MCCR4中的19~18位)和BSTOPRE[6~9]( MCCR4中的3~0位)控制頁面打開的時間間隔。在每次訪問頁面時,BSTOPRE[0~9] 的值加載到計數器,當計數器的值到達,則發送一個SDRAM預先加電命令關閉此打開的頁面。該參數置為0111。REFREC:從SDRAM刷新命令到可以發送SDRAM激活命令的時間間隔。SDRAM器件的參數tRC表明了最小的刷新――激活的時間間隔。MT48L32M16A2的tRC=66 ns,Memory總線的頻率為100 MHz時,REFREC=66 ns×100 MHz=6.6,向上取整得7,因而該參數置為0111。RDLAT:從SDRAM讀命令到可從數據總線上獲得第一個數據的時間間隔。RDLAT的值不能大于6個時鐘周期,該參數置為0100。
2.4.4 Memory控制配置寄存器4
PRETOACT:從SDRAM預先加電命令到允許發送一個SDRAM激活命令的時間間隔。該值由SDRAM器件的tRP參數決定,MT48L32M16A2的tRP=20 ns,Memory總線的頻率為100 MHz時,PRETOACT =20 ns×100 MHz=2,因而該參數置為0010。ACTOPRE:從SDRAM激活命令到允許發送一個SDRAM預先加電命令的時間間隔。該值由SDRAM器件的tRAS參數決定,計算方法類似于PRETOACT,該參數置為0101。ACTORW:從SDRAM激活命令到允許一個SDRAM讀或寫命令的時鐘周期。該值由SDRAM器件的tRCD參數決定,該參數置為0010。
最后,MCCR1~MCCR4的設置如下:MCCR1:0x16600002(MEMGO為0);MCCR2:0x661C0B95;MCCR3:0x77400000;MCCR4:0x25402225;MCCR1:0x16680002(MEMGO為1)。
3 配置寄存器的訪問
Tsi107中的32位配置寄存器地址是0x8000_00nn,nn是寄存器的相對偏移地址。對配置寄存器的訪問采用間接方式,將配置寄存器的地址寫到CONFIG_ADDR端口,則配置寄存器的內容將在CONFIG_DATA端口獲得。CONFIG_ADDR端口的地址為:0xFEC0_0000~0xFEDF_FFFC,CONFIG_DATA端口的地址為0xFEE0_0000~0xFEEF_FFFF[3]。
4 結 語
以MPC7410為核心處理器搭建嵌入式系統硬件平臺,重點介紹Tsi107中和SDRAM相關的一些寄存器,闡述SDRAM接口的VxWorks BSP的設計,使SDRAM在系統中能被正常訪問。
參 考 文 獻
[1]Freescale Semiconductor.MPC7410 RISC Microprocessor User′s Manual [EB/OL],2002.
[2]單惠平,楊樹元,唐志峰.PowerPC主機處理器的SDRAM接口設計開發[J].計算機工程,2006,32(6):263-265.[3]Tundra Semiconductor Corporation.Tsi107 PowerPC Host Bridge User Manual[EB/OL],2006.
關鍵字: 抗輻照; 三模冗余; EDCA; 動態重構; ICAP
中圖分類號: TN91?34 文獻標識碼: A 文章編號: 1004?373X(2014)18?0117?04
Design of anti?radiation embedded hardened system based on FPGA
WANG Lu, YANG Rui?qiang
(Lanzhou Institution of Physics, Lanzhou 730000, China)
Abstract: For the space radiation environment, an anti?radiation embedded hardened system based on FPGA is designed in this paper. The anti?radiation system is hardened by triple modular redundancy (TMR) design of memory units and Hamming Code(12,8)EDAC coding design. The partial dynamic reconfiguration design of MC8051 IP core, I2C IP core, decision device and EDAC codec modules was conducted. ICAP interface was used for readback contrast and dynamic reconfiguration operation. When SEU occurrence of FPGA is detected, partial reconfiguration is used to eliminate the single?particle impact, so as to make the system return to normal.
Keywards: radiation resistence; triple modular redundancy; EDAC; dynamic reconfiguration; ICAP
0 引 言
航天器在外太空飛行,一直處于帶電粒子構成的空間輻射環境中。空間輻射環境中的高能質子、中子、粒子、重離子等都能導致航天器電子系統中的半導體器件發生失效,錯誤等故障,嚴重影響航天器的可靠性和壽命。據美國國家地球物理數據中心統計,自1971―1986年間,美國發射的39顆同步衛星,發生的故障共1 589次,其中由于各種輻射效應引起的故障達1 129次,占故障總數的71%,單粒子效應又占了輻照故障的55%。中國空間科學技術研究院的統計了我國6顆同步衛星中的故障原因,空間輻射環境引起的故障在總故障中的比例[1]也達到了40%。這些數據表明輻射效應是航天器發生故障的重要原因,是航天應用集成電路中需要解決的主要問題。
星載平臺為了提高處理速度和綜合性能,越來越多采用高密度SRAM型FPGA。SRAM型FPGA的配置存儲器單元及LUT存儲單元比較敏感,容易受單粒子效應影響。當配置存儲單元發生失效將導致FPGA功能持久失效(直到重新配置成功)。LUT存儲單元發生單粒子翻轉會使得FPGA邏輯功能出現變化,使得配置邏輯與用戶描述邏輯不一致。
1 系統設計
本文針對單粒子效應對FPGA的影響,設計一款抗輻照加固的嵌入式系統,系統框圖如圖1所示。
圖1 系統框圖
系統核心模塊是MC8051 IP CORE,是由Oregano Systems公司開發的一款開源8051 IP核,其具有全可綜合同步時鐘設計,指令集完全兼容標準8051微控制器,優化架構使得操作碼達到每操作碼1~4個時鐘,定時器、計數器及串口單元可根據需要定制等特點。在其配置4 KB的ROM,4 KB的RAM,以及16 KB的RAMX。系統中選用的I2C IP Core 由Open Cores維護,遵守Wishbone總線協議,編寫一個8051到Wishbone轉換接口將MC8051核與I2C核連接起來。因為只需要連接一個I2C模塊,所有遵從Wishbone點到點連接模式,不需要另外設計仲裁器。構成統一的嵌入式系統。系統配置后,定時對其進行回讀對比。當檢測到FPGA發生單粒子翻轉時,采用部分重配置消除單粒子影響,使系統恢復正常。因為對BRAM或SRL16回讀有可能導致FPGA鎖死,設計中不對存儲模塊進行回讀對比,對RAMX做(12,8)漢明碼的EDAC設計,對RAM做三模冗余設計,為保證時序正確,未對ROM部分做加固設計。
2 加固設計實現
2.1 TMR設計
三模冗余是指將目標部件復制相成同的三個目標部件來實現一個目標部件的功能,三個目標部件最終將通過一個判決器來判斷目標部件的正確狀態。它利用的是相同一組部件同時出現錯誤概率較小的原理來實現可靠性的提高。
對片內RAM做三倍冗余加固有助于提高抗輻照性能。具體實現如圖2,圖3所示,圖2為RAM三模冗余的頂層視圖,圖3為判決器門級視圖。
圖2 RAM三模冗余
2.2 EDAC漢明碼編碼設計
錯誤檢測糾正編碼是提高存儲系統的可靠性的一種常用技術,將用于存儲器的糾錯編碼技術引入芯片內部,自動檢測并糾正錯誤。這種方案不需要芯片外部提供額外的測試和糾正錯誤等環節,對可靠性有明顯改進。
EDAC有多種編碼技術,不同的編碼技術有不同的檢錯和糾錯能力。本文選擇使用[12,8]擴展漢明碼編碼來對RAMX模塊加固。即增加4位校驗位,能夠實現8位數據的2位查錯,1位糾錯。
圖3 TMR判決器
設8位數據為D7~D0,4位校驗位為C3~C0,伴隨向量為S3~S0。則C3~C0為:
[C3=D7D6D5D4C2=D7D3D2D1C1=D6D5D3D2D0C0=D6D4D3D1D0]
伴隨向量S3~S0為:
[S3=D7D6D5D4C3S2=D7D3D2D1C2S1=D6D5D3D2D0C1S0=D6D4D3D1D0C0]
其伴隨向量與出錯位置的對應關系如表1所列[2]。
表1 對應出錯關系表
設計狀態機完成EDAC編碼解碼功能。當系統對RAMX進行寫操作時,EDAC模塊首先將地址鎖存,對數據進行編碼處理,然后下一個時鐘沿到來將編碼后數據輸出給RAMX。當系統讀取RAMX中數據時,數據首先被讀取到EDAC模塊中并分別鎖存,進而對數據進行譯碼操作,如果無誤則將譯碼后數據輸出給系統,如果有錯過,EDAC模塊將對錯誤進行糾正,并分別將糾正后數據發送系統和RAMX。狀態機流程如圖4所示。
為了滿足時序RAMX和EDAC模塊時鐘應是主時鐘的5倍,對外部時鐘做5分頻,再分別對應送入各個模塊。
圖4 狀態機設計圖
3 部分動態可重構設計
動態重構時選擇性的對可編程邏輯器件上的部分資源進行重配置,而不影響其器件上的其他資源。在重配置過程中芯片仍然工作,系統建立新的邏輯過程中,未被重配置部分的邏輯功能仍然正常,即系統的邏輯功能在時間上是動態連續的。
Xilinx Virtex系列 FPGA中內部帶有內部配置訪問接口ICAP, 能對FPGA進行讀/寫操作,該類配置方式與Slave SelectMAP相似[3]。通過 ICAP 內部訪問配置端口對 FPGA 進行高速的局部重配置,大大提高了可重構系統的性能。通過一個簡單的狀態機邏輯電路將部分比特流從FLASH中提取出來,然后數據通過端口送到ICAP進行比對,重配置等功能。
HWICAP 核是 Xilinx EDK 開發工具提供的一種將ICAP原語封裝的 IP核,HWICAP 核包括內部訪問配置端口 (Internal Configuration Access Port,ICAP)、塊RAM(BlockRAM),以及相應的配置控制器[4]。BRAM 相當于配置存儲器的緩存,用于存儲從 FLASH中提取的局部重構模塊的比特流文件或者從配置存儲器讀取的FPGA配置信息。
4 局部重構設計和實現流程
4.1 模塊設計和綜合
首先對整個設計進行劃分,包含一個靜態任務子集和一個動態任務子集,如圖5所示將MC8051 CORE,I2C core及判決器,編碼器部分做為動態模塊,將HWICAP,存儲模塊,控制邏輯模塊等作為靜態模塊[5]。完成頂層模塊設計輸入和綜合,完成各個子模塊的設計輸入,綜合時子模塊禁止插入I/O。
圖5 重配置框圖
4.2 初始預算
對設計進行全局區域布局,劃分動態可重構區域及靜態區域。完成頂層模塊和各個子模塊的時序約束,完成各個模塊區域約束及輸入/輸出約束。
4.3 模塊激活
對每一個子模塊進行激活實現,將初始預算中作為“黑盒”處理的的子模塊用具體功能的網表文件替代完成設計[6]。對每個子模塊內部邏輯進行單獨約束。動態可重構模塊需要單獨被綜合實現。
4.4 合并階段
結合頂層模塊將各個子模塊合并,生成一個包含靜態模塊和動態可重構模塊的完整的設計。在這個階段,軟件會優化掉模塊間沒有啟用的信號,優化整體系統性能。
4.5 下載實現
完成整體布局布線之后,分別生成整個設計的全局配置文件和局部動態可重構模塊的配置文件。使用XILINX 的iMPACT工具將配置文件下載到FPGA中實現設計。將局部動態可重構模塊配置文件拷貝到片外FLASH中,以完成后續動態可重構操作。
5 容錯處理流程
系統上電后,開始正常工作,控制邏輯通過ICAP接口回讀比較FPGA中的配置位信息與FLASH中是否一致,如果一致,系統繼續工作,如果不一致,判斷為FPGA配置位發生單粒子翻轉,通過ICAP讀取FLASH中部分動態可重構配置文件完成動態重構操作,消除單粒子效應對系統的影響。容錯處理流程見圖6。
6 仿真驗證
對整個系統做仿真驗證,驗證加固后設計是否滿足時序要求,與初始設計時序是否一致。
部分代碼如下:
這是一條簡單的匯編程序,首先清零RAM,然后對累加器A和R0分別賦值0,然后相加再寫入A,最后用A減去20,如果為零則跳轉到下一條程序,如果非0,則對P1賦值2,并跳出程序。以此類似,遍歷所有標準51指令集。
MOV P1,#127 ; //All instructions passed
圖6 容錯處理流程
當所有程序都正常完成,對P1賦值127,結束程序。仿真結果如圖7示,驗證無誤,與預期結果一致。
7 結 語
本文通過FPGA平臺設計一款抗輻照加固嵌入式系統,通過對存儲單元進行三模冗余設計和8位漢明碼EDAC編碼設計進行加固。對MC8051 IP核,I2C IP核、判決器,EDAC編碼解碼器等模塊進行部分動態可重構設計。通過加固設計后的系統在空間環境中的應用范圍將大大擴大。通過仿真的手段對系統功能和時序進行了驗證。但是對于加固的性能還沒有進行論證,需要在進一步的工作中完成抗輻照能力驗證。
圖7 仿真波形
參考文獻
[1] 劉必慰.集成電路單粒子效應建模與加固方法研究[D].長沙:國防科技大學,2009.
[2] 周盛雨,陳曉敏.一種糾錯編碼器的實現[J].電子技術,2003(3):10?12.
[3] Xilinx Inc. Xilinx defense and aerospace presentation [EB/OL].[2011?10?06]. http:///publication/prod_mktg/MilAero.pdf.
[4] Xilin x Inc. Virte x?II platform FPGA user guide [EB/OL]. [2007?11?05]. http///support/documentation/user_guides/ug002.pdf.