基于ARM 7 的S3C44B0X 與多路模擬器控制板通訊接口設計與實現
S3C44B0X 中所包含的兩個串口TxD0 ,RxD0,TxD1,RxD1 均可以中斷模式或DMA 模式工作。發送/接收數據幀都是可編程的,一個數據幀包含一個起始位,5 到8 個數據位,一個可選的奇偶校驗位和1 到2 個停止位,這些均通過線性控制寄存器ULCONn 控制。發送器還可產生中止條件,它保證連續輸出一幀時間的邏輯0 信號,信號必須在傳輸完當前傳輸字的情況下進行。
接收的數據幀式與發送數據幀式相同,接收器還可以檢測到溢出錯誤,奇偶校驗錯誤,幀錯誤和中止狀況,每種情況下都會將一個錯誤標志置位。
3 多路控制板通訊接口設計
3.1 多路模擬器控制板通訊結構
模擬器各從模擬控制板與模擬器主控制器S3C44B0X 之間通訊采用 RS-485 電平, 當S3C44B0X 處于工作狀態后,依照給定的時間間隔,把計算得到的控制信息通過串口向處于485總線上的各從模擬控制板發送控制電文,各從模擬控制板在RS-485 總線上則時刻處于監聽狀態,收到相應信息后則在設定的總線空閑時機,向主控制器回復當前執行狀況,各從模擬控制板之間,也可以依托主控制器,即采用從-主-從的方式,實現相互之間的數據交互或狀態查詢。
3.2 模擬器通訊控制電文設計
各個從模擬控制板接收主控制器發送的控制電文并解析,必須首先明確其每幀結構,然后才能根據其結構完成對各相關信息的提取。目前的信息傳遞幀格式定義的方法有:可見字符編碼,內部讀取互不兼容的二進制格以及混合編碼方式等。對于本文所使用的主從通訊結構,為方便調試和外部監視讀取,相互間采用可見的ASCII 碼接口協議發送。發送出的數據主要由幀頭、幀尾和幀內數據組成。
從模擬控制板在處理時一般先通過對幀頭的判斷而識別后續數據內容,進行數據的提取處理。
由于數據幀內各數據段由逗號分割,因此在處理緩存數據時一般是通過搜尋ASCII 碼“$”來判斷是否是幀頭,對幀頭的類別進行識別后再通過讀取設備類型,判斷正在接收的是否為該從模擬控制板的相關信息,再通過對所經歷逗號個數的計數或字符數據長度來判斷出當前正在處理的是哪一種控制參數,并做出相應處理。
4 結束語
整個系統硬件設計方面運用了資源豐富,速度快且低功耗的ARM 嵌入式處理器,并提供了與多個從模擬控制板連接的串口總線通訊解決方案。采用ARM 內核可以使系統小型化,并極大的提升了系統性能。在實際應用中多路控制板易于擴展,從總線提取的控制電文信息也可方便與各種外設連接和調試,使其便于實現更高層次的功能和應用,具有較好的應用推廣價值。
評論