基于ARM CPU 的實(shí)時(shí)控制系統(tǒng)開(kāi)發(fā)平臺(tái)
(2) 基于WEB管理和配置協(xié)議
WebportTM-嵌入式Web服務(wù)器,讓最終用戶通過(guò)WWW瀏覽器配置和監(jiān)控嵌入式設(shè)備而避免去編寫(xiě)專用的GUI界面,這些界面多數(shù)是與你的主機(jī)OS相關(guān)的(如Win98)而且需要目標(biāo)環(huán)境大量的資源如文件系統(tǒng)。
Email Alerte--為嵌入式系統(tǒng)增加預(yù) 告和報(bào)警功能,它允許用戶向本地或遠(yuǎn)程的Email地址發(fā)出預(yù)先設(shè)置好的信息比如 某個(gè)條件下的報(bào)警信息。
3 基于ARM的現(xiàn)代實(shí)時(shí)控制系統(tǒng)開(kāi)發(fā)平臺(tái)具體實(shí)現(xiàn)
3.1硬件設(shè)計(jì)和測(cè)試
完成NetCARM7設(shè)計(jì)、板焊接以后,我們使用Abatron公司(http://www.abatron.ch) JTAG仿真器BDI2000,通過(guò)編寫(xiě)B(tài)DI配置文件對(duì)NetCARM7板進(jìn)行初始化,初步驗(yàn)證板上CPU工作是否正常,檢查SRAM,Flash ROM是否可以正常讀寫(xiě)。
3.2 通過(guò)BDI2000/1000結(jié)合IAR EW集成開(kāi)發(fā)環(huán)境調(diào)試各種測(cè)試軟件
在板上存儲(chǔ)器正常工作的基礎(chǔ)上,使用IAR公司(http://www.iar.com)的集成開(kāi)發(fā)環(huán)境Embedded Workbench編寫(xiě)出簡(jiǎn)單的測(cè)試程序,其中包括匯編語(yǔ)言、C語(yǔ)言,只要在EW中,利用它提供的嵌入式C/C++優(yōu)化編譯器,匯編器,連接定位器就可以生成目標(biāo)機(jī)的可執(zhí)行程序,利用EW的C-SPY調(diào)試器中支持的RDI接口就可以和BDI2000/1000建立連接,直接將編寫(xiě)的代碼下載到板上在線仿真。由于BDI2000仿真器是通過(guò)10兆以太網(wǎng)連接計(jì)算機(jī),并且通過(guò)JTAG接口與目標(biāo)機(jī)相連,BDI2000與目標(biāo)機(jī)的通信速率可達(dá)16兆/秒,程序下載速率可達(dá)320K字節(jié)/秒,因此可以大大提高平臺(tái)軟件開(kāi)發(fā)的效率。
在初步的測(cè)試程序編寫(xiě)完成以后,逐步對(duì)板上的其他外設(shè)和通訊端口進(jìn)行測(cè)試。
3.3 帶有簡(jiǎn)單調(diào)試功能的串口監(jiān)控程序
NetCARM7上的串口除了可以提供少量數(shù)據(jù)傳送、控制信息的輸入輸出以外,為了方便平臺(tái)的軟件維護(hù)我們還開(kāi)發(fā)了一個(gè)基于板上串口的監(jiān)控程序,經(jīng)RS-232接口就可將PC與NetCARM7相連,完成以下功能:1).顯示處理器各狀態(tài)下寄存器的值。2).修改指定地址的SRAM、FlashROM中的內(nèi)容。3).查看指定地址的存儲(chǔ)器中的內(nèi)容。4).將用戶編寫(xiě)的代碼下載到NetCARM7的指定地址的SRAM、Flash ROM中。5).從指定地址開(kāi)始執(zhí)行用戶代碼。6).通過(guò)設(shè)置跳線,選擇從用戶放在FlashROM中的代碼直接啟動(dòng)(上電后直接運(yùn)行用戶的應(yīng)用程序)。
7).支持用戶設(shè)置的軟件中斷,在中斷以后可以使用1、2、3項(xiàng)功能,用以方便用戶調(diào)試自己的代碼。這樣,在平臺(tái)用于實(shí)際的測(cè)控系統(tǒng)產(chǎn)品以后,在儀器工作現(xiàn)場(chǎng)只需改變跳線就可以使板上的監(jiān)控程序工作,通過(guò)串口升級(jí)整個(gè)系統(tǒng)軟件,也包括監(jiān)控程序本身,在沒(méi)有JTAG調(diào)試工具的時(shí)候,方便的對(duì)可能出現(xiàn)的比較簡(jiǎn)單的問(wèn)題進(jìn)行修復(fù)。
3.4 uC/OS-Ⅱ的移植
對(duì)uC/OS-Ⅱ的移植在BDI2000和IAR EW的幫助下變得非常簡(jiǎn)單。在完成CPU的初始化以后,首先對(duì)時(shí)鐘節(jié)拍進(jìn)行設(shè)置(10~100hz)。對(duì)AT91M40800只需編寫(xiě)相應(yīng)的定時(shí)器中斷處理程序,在程序中調(diào)用操作系統(tǒng)的OSTimeTick(),并在其AIC(Advanced Interrupt Controller)中設(shè)置定時(shí)器的優(yōu)先級(jí)別,并將定時(shí)器中斷處理程序的地址放到相應(yīng)的中斷向量表中,就可以了。使定時(shí)器產(chǎn)生中斷,必須在開(kāi)始多任務(wù)調(diào)度后,即在第一個(gè)任務(wù)中使能定時(shí)器;其次,對(duì)uC/OS-Ⅱ移植主要集中在includes.h,OS_CPU_A.S,OS_CPU_C.C等CPU相關(guān)文件的移植,上層任務(wù)調(diào)度部分不需要任何修改。對(duì)于多任務(wù)操作系統(tǒng),只需將復(fù)雜的應(yīng)用分成簡(jiǎn)單的、相互聯(lián)系的任務(wù),再把各個(gè)不同優(yōu)先級(jí)的任務(wù)交給操作系統(tǒng)去管理就可以了。
3.5 Interniche協(xié)議棧的移植
BDI2000結(jié)合IAR EW在線調(diào)試對(duì)于驅(qū)動(dòng)程序的編寫(xiě)的幫助作用更加明顯。對(duì)于同樣具有良好可移植特性的Interniche協(xié)議棧,只需要根據(jù)以太網(wǎng)絡(luò)控制器RT8019手冊(cè)上的詳盡描述,編寫(xiě)出發(fā)送包,接收包的函數(shù),以及用于以太網(wǎng)控制器的外部中斷處理程序就可以完成對(duì)Interniche的網(wǎng)絡(luò)部分的移植。由于Interniche協(xié)議棧也是可以獲得源碼的,所以對(duì)于任何網(wǎng)絡(luò)控制器都可以通過(guò)不斷的調(diào)試最終完成自己的驅(qū)動(dòng)程序。此外,為了方便調(diào)試,使Niche ToolTM-菜單驅(qū)動(dòng)的協(xié)議調(diào)試和測(cè)試工具工作還應(yīng)該完成對(duì)Interniche中向串口收發(fā)字符putchar(); getch()的移植,就可以在PC端使用超級(jí)終端經(jīng)過(guò)串口與NetCARM7上的Interniche基于命令行交互了。Interniche的各種協(xié)議簇可以根據(jù)需要由uC/OS-Ⅱ調(diào)度的狀態(tài)查詢?nèi)蝿?wù)。這樣uC/OS-Ⅱ就和Interniche一起構(gòu)成了現(xiàn)代實(shí)時(shí)測(cè)控系統(tǒng)開(kāi)發(fā)平臺(tái)的軟件核心。
3.6 開(kāi)發(fā)平臺(tái)可以為實(shí)際控制系統(tǒng)實(shí)現(xiàn)各種靈活的
網(wǎng)絡(luò)應(yīng)用和遠(yuǎn)程控制
⑴圖形化操作界面(基于Interniche 的webserver,通過(guò)WWW瀏覽器實(shí)現(xiàn))
利用Interniche提供的WebportTM 讓最終用戶通過(guò)局域網(wǎng)或廣域網(wǎng)訪問(wèn)嵌入式控制系統(tǒng),在WWW瀏覽器中設(shè)置測(cè)控設(shè)備工作參數(shù)、監(jiān)控其運(yùn)行狀態(tài)及察看測(cè)量結(jié)果。 而避免為嵌入式測(cè)控系統(tǒng)專門(mén)去編寫(xiě)專用的GUI交互界面,在不同的儀器設(shè)備中的界面只需編寫(xiě)不同的html頁(yè)面,結(jié)合CGI技術(shù)就可以完成各種靈活、友好的交互功能了,這些界面只需要目標(biāo)機(jī)提供存儲(chǔ)空間就可以了。
⑵真正的遠(yuǎn)程控制
利用Interniche提供的PPP撥號(hào)上網(wǎng),使用Email Alerte為嵌入式測(cè)控系統(tǒng)增加預(yù)告和報(bào)警功能,測(cè)控設(shè)備就可以向遠(yuǎn)程的Email地址發(fā)出預(yù)先設(shè)置好的信息,通知測(cè)控設(shè)備的工作情況,實(shí)現(xiàn)嵌入式控制設(shè)備真正的"無(wú)人值守"遠(yuǎn)程控制。
參考文獻(xiàn):
[1].RS-232datasheethttp://www.dzsc.com/datasheet/RS-232_584855.html.
[2].RS-485datasheethttp://www.dzsc.com/datasheet/RS-485_584821.html.
[3].ARM7TDMIdatasheethttp://www.dzsc.com/datasheet/ARM7TDMI_139812.html.
[4].AT91M40800datasheethttp://www.dzsc.com/datasheet/AT91M40800_143876.html.
評(píng)論