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