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