基于CAN總線的分布式嵌入式遠程監控研制
系統結構及結構流程
系統結構如圖1所示。
圖1 監控系統結構框圖
本系統由嵌入式uCremm與現場數據采集節點組成主從(Masterand Slave)關系,數據結構參考CAN總線通訊協議。
1)系統下層結構流程。由主站按授權用戶要求向指定MCU系統發出查詢信息,實現對工控現場節點查詢功能;各個CAN節點隨時監聽總線,當發現總線上有地址段與自己的地址相同的幀時,再判斷是遠程幀還是數據幀:如果是遠程幀,則由CANbus節點按既定協議發送數據到總線上;否則節點開始接收CANbus上的數據幀。嵌入式uCremM與Internet的互聯以及與用戶的交互功能,則由其嵌入式操作系統中的網絡服務器來完成。嵌入式uCremM上配有以太網接口RJ45,當用網線把uCremM與Internet連接,并配置好IP地址且運行網絡服務器后,授權用戶就可在INternet上任何一臺機器的瀏覽器中敲入IP地址,訪問存在嵌入式uCremM中的主頁了。
2)用戶與服務器的交互是通過CGI程序來完成的。簡單地講,CGI是一個運行在Web服務器上的程序,由瀏覽器的輸入觸發。這個腳本通常是客戶端與服務器中其他程序如數據庫的橋梁。
用戶可以通過點擊頁面,查詢來自現場的數據,如逆變模塊的電壓、電流和功率等;或者發送命令,如設置模塊最高直流輸入和交流輸出等數值。
CAN總線通訊協議及程序流程
目前有3種CAN通訊協議,包括CAN2. 0A,CAN2. 0B和CAN2. 0B passive,CAN2. 0B是最通用的CAN通訊協議。CAN的3種通訊協議間的區別就是協議中定義的標識符的長度不同。CAN2. 0A協議中僅定義了具有11位標識符的標準幀數據結構,CAN2. 0B協議中除了定義標準幀外還定義了具有29位標識符的擴展幀數據結構。
本系統定義在CAN總線上傳輸的數據包為標準幀格式,它分為遠程幀和數據幀兩種,區別遠程發送請求位是否置位。標準幀的數據結構如表1所示。
表1 標準幀格式
在設計中,本系統以嵌入式監控系統來完成對各個分布的逆變電源模塊的參數上傳和設置。當CAN控制器發出要求逆變電源模塊上傳數據的遠程幀時,系統定義了遠程幀中的11位標識符中高5位作為各模塊的模塊號標識,同樣在各模塊的CAN控制器中的Msg ID 寄存器也作了相應的設置。另外在幀格式中的遠程發送請求位必須置“1”,DLC全置“0”,數據域無數據信息。遠程幀舉例見表2。
評論