劉亞麗,王林棟,黃汛
?
基于ARM 7的S3C44B0X與多路模擬器控制板通訊接口設(shè)計(jì)與實(shí)現(xiàn)
劉亞麗1,王林棟2,黃汛2
(1. 海軍蚌埠士官學(xué)校,安徽蚌埠 233012;2. 中國(guó)人民解放軍91445部隊(duì),遼寧大連 116043)
本文介紹了ARM處理器S3C44B0X的基本特性及其UART單元,設(shè)計(jì)了利用S3C44B0X與多個(gè)模擬器控制板的多路通訊接口,以解決主控制器與多路控制板的實(shí)時(shí)協(xié)同工作問(wèn)題,給出了通過(guò)廣播控制電文進(jìn)行控制的實(shí)例,該設(shè)計(jì)成功應(yīng)用于某大型訓(xùn)練模擬器,結(jié)果表明了其具有良好的擴(kuò)展性和使用推廣價(jià)值。
S3C44B0X 嵌入式系統(tǒng) 接口設(shè)計(jì)
ARM (Advanced RISC Machines)是近年來(lái)在各個(gè)領(lǐng)域日益得到廣泛應(yīng)用的32位微處理器,它既是一個(gè)公司的名稱,也同樣是一類微處理器的通稱,包括ARM7、ARM9、ARM9E、ARM10E、SecurCore等系列。其中ARM7系列處理器是低功耗的32位RISC處理器,它主要用于對(duì)功耗和成本要求比較苛刻的產(chǎn)品,它支持16位的Thumb指令集,使用Thumb指令集能以16位的系統(tǒng)開銷得到32位的系統(tǒng)性能[1]。
以ARM作為微處理器核心嵌入式系統(tǒng),因其功耗極低,主頻高,具有進(jìn)行高速運(yùn)算處理能力,完成絕大多數(shù)復(fù)雜應(yīng)用的特點(diǎn)。采用Samsung S3C44B0X微處理器的嵌入式操作系統(tǒng)非常適合作為嵌入式系統(tǒng)的控制核心,成為系統(tǒng)主控制器的中心控制單元,通過(guò)通訊接口與其他協(xié)處理器進(jìn)行數(shù)據(jù)交互實(shí)現(xiàn)并行工作。因此,如何高效地設(shè)計(jì)主控制器與協(xié)處理器之間的接口,特別是在多路控制板需要控制的應(yīng)用條件下,滿足系統(tǒng)的實(shí)時(shí)性要求,就顯得尤為重要。在本系統(tǒng)設(shè)計(jì)中,某型模擬器應(yīng)用S3C44B0X處理器,根據(jù)預(yù)先設(shè)定的邏輯關(guān)系及輸入的數(shù)據(jù),在計(jì)算獲得各個(gè)通道模擬通道輸出量后,通過(guò)串口向系統(tǒng)內(nèi)各個(gè)模擬控制板廣播控制電文,信道內(nèi)模擬控制板可根據(jù)廣播控制電文的相關(guān)信息,執(zhí)行各從控制板控制動(dòng)作,并返回主控制器相應(yīng)執(zhí)行狀況。
系統(tǒng)選用的S3C44B0X微處理器是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價(jià)比的微控制器解決方案,是由ARM公司設(shè)計(jì)的16/32位 ARM7TDMI核處理器工作在66MHZ,可內(nèi)置uCLinux系統(tǒng),支持基于JTAG的片上集成ICE調(diào)試解決方案[2]。
S3C44B0X微處理器采用2.5VARM7TDMI內(nèi)核,帶有8KB Cache(SAMBA II總線體系結(jié)構(gòu))為了降低系統(tǒng)總成本和減少外圍器件,這款芯片提供了全面通用的片上外設(shè),從而最小化系統(tǒng)的成本,片上資源豐富,其系統(tǒng)集成的主要集成外設(shè)如表1所示。
主控制器系統(tǒng)構(gòu)成如圖1所示,除串行口外,還可以通過(guò)EBI總線接口,擴(kuò)展網(wǎng)絡(luò)接口,擴(kuò)展SDRAM,外置FLASH接口等,使得主控制器系統(tǒng)在完成對(duì)外部多路控制板的處理和控制以外,還可以實(shí)現(xiàn)信息的對(duì)外轉(zhuǎn)發(fā)、存儲(chǔ)或顯示等功能。
S3C44B0X的URAT(通用異步收發(fā)器)單元提供兩個(gè)獨(dú)立的異步串行I/O端口,每個(gè)都可以在中斷和DMA兩種模式下工作。每個(gè)URAT通道包含2個(gè)16字節(jié)的FIFO(先入先出)分別提供給接收和發(fā)送。每個(gè)UART都具有獨(dú)立的波特率發(fā)生器,發(fā)送器,接收器和控制單元。波特率發(fā)生器可由芯片內(nèi)系統(tǒng)時(shí)鐘驅(qū)動(dòng)或外鄰時(shí)鐘驅(qū)動(dòng)。每個(gè)發(fā)送器和接收器都有獨(dú)立的數(shù)據(jù)緩沖器和數(shù)據(jù)移位寄存器,發(fā)送器和接收器包含16字節(jié)的FIFO和移位寄存器,要發(fā)送的數(shù)據(jù)首先寫入FIFO然后復(fù)制到發(fā)送移位寄存器。然后它從數(shù)據(jù)輸出端口TxDn依次被移位輸出,被接收到的數(shù)據(jù)也同樣從數(shù)據(jù)接收端口RxDn移位輸入到移位寄存器,然后復(fù)制到FIFO。其方框圖如圖2所示。
圖1 主控制器系統(tǒng)結(jié)構(gòu)及對(duì)外接口框圖
S3C44B0X中所包含的兩個(gè)串口TxD0,RxD0,TxD1,RxD1均可以中斷模式或DMA模式工作。發(fā)送/接收數(shù)據(jù)幀都是可編程的,一個(gè)數(shù)據(jù)幀包含一個(gè)起始位,5到8個(gè)數(shù)據(jù)位,一個(gè)可選的奇偶校驗(yàn)位和1到2個(gè)停止位,這些均通過(guò)線性控制寄存器ULCONn控制。發(fā)送器還可產(chǎn)生中止條件,它保證連續(xù)輸出一幀時(shí)間的邏輯0信號(hào),信號(hào)必須在傳輸完當(dāng)前傳輸字的情況下進(jìn)行。接收的數(shù)據(jù)幀式與發(fā)送數(shù)據(jù)幀式相同,接收器還可以檢測(cè)到溢出錯(cuò)誤,奇偶校驗(yàn)錯(cuò)誤,幀錯(cuò)誤和中止?fàn)顩r,每種情況下都會(huì)將一個(gè)錯(cuò)誤標(biāo)志置位。
模擬器各從模擬控制板與模擬器主控制器S3C44B0X之間通訊采用RS-485電平,當(dāng)S3C44B0X處于工作狀態(tài)后,依照給定的時(shí)間間隔,把計(jì)算得到的控制信息通過(guò)串口向處于485總線上的各從模擬控制板發(fā)送控制電文,各從模擬控制板在RS-485總線上則時(shí)刻處于監(jiān)聽狀態(tài),收到相應(yīng)信息后則在設(shè)定的總線空閑時(shí)機(jī),向主控制器回復(fù)當(dāng)前執(zhí)行狀況,各從模擬控制板之間,也可以依托主控制器,即采用從-主-從的方式,實(shí)現(xiàn)相互之間的數(shù)據(jù)交互或狀態(tài)查詢。
各個(gè)從模擬控制板接收主控制器發(fā)送的控制電文并解析,必須首先明確其每幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對(duì)各相關(guān)信息的提取。目前的信息傳遞幀格式定義的方法有[3]:可見字符編碼,內(nèi)部讀取互不兼容的二進(jìn)制格以及混合編碼方式等。對(duì)于本文所使用的主從通訊結(jié)構(gòu),為方便調(diào)試和外部監(jiān)視讀取,相互間采用可見的ASCII碼接口協(xié)議發(fā)送。發(fā)送出的數(shù)據(jù)主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成。
從模擬控制板在處理時(shí)一般先通過(guò)對(duì)幀頭的判斷而識(shí)別后續(xù)數(shù)據(jù)內(nèi)容,進(jìn)行數(shù)據(jù)的提取處理。由于數(shù)據(jù)幀內(nèi)各數(shù)據(jù)段由逗號(hào)分割,因此在處理緩存數(shù)據(jù)時(shí)一般是通過(guò)搜尋ASCII碼"$"來(lái)判斷是否是幀頭,對(duì)幀頭的類別進(jìn)行識(shí)別后再通過(guò)讀取設(shè)備類型,判斷正在接收的是否為該從模擬控制板的相關(guān)信息,再通過(guò)對(duì)所經(jīng)歷逗號(hào)個(gè)數(shù)的計(jì)數(shù)或字符數(shù)據(jù)長(zhǎng)度來(lái)判斷出當(dāng)前正在處理的是哪一種控制參數(shù),并做出相應(yīng)處理。
整個(gè)系統(tǒng)硬件設(shè)計(jì)方面運(yùn)用了資源豐富,速度快且低功耗的ARM嵌入式處理器,并提供了與多個(gè)從模擬控制板連接的串口總線通訊解決方案。采用ARM內(nèi)核可以使系統(tǒng)小型化,并極大的提升了系統(tǒng)性能。在實(shí)際應(yīng)用中多路控制板易于擴(kuò)展,從總線提取的控制電文信息也可方便與各種外設(shè)連接和調(diào)試,使其便于實(shí)現(xiàn)更高層次的功能和應(yīng)用,具有較好的應(yīng)用推廣價(jià)值。
[1] 劉亞麗,陳穎,黃汛.基于ARM的GPS/無(wú)源北斗互備PMU研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2008(6):29-31.
[2] [S3C44B0X USER MANUAL用戶使用手冊(cè)[M]. SAMSUNG ELECTRONICS, 2004.
[3] 田澤.嵌入式系統(tǒng)開發(fā)及應(yīng)用教程[M].北京:北京航空航天大學(xué)出版社,2005.
[4] 王研玲.嵌入式系統(tǒng)數(shù)據(jù)采集與傳輸系統(tǒng)研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008(6):40-42.
Interface Design and Realization of Communication between S3C44B0X and Multiplex-simulator’s Control Panel based on ARM7
Liu Yali1, Wang Lindong2, Huang Xun2
(1. Naval Petty Officer Academy, Bengbu 233012, China;2. No.91445 troops , Dalian 116043, China)
TN915
A
1003-4862(2013)01-0055-03
2012-04-23
劉亞麗(1981-),女,碩士,講師。研究方向:船舶電力系統(tǒng)及其自動(dòng)化。