基于CAN總線(xiàn)的分布式車(chē)間溫濕度檢測系統
3 通信模塊的設計
3.1 通信模塊的硬件設計
通信模塊具有4路通信通道,可分別連接4個(gè)計算機COM口,各通信通道相互獨立,大體分為主控器(4個(gè))、RS232/TTL電平轉換電路(2個(gè))、CAN驅動(dòng)器(4個(gè))3部分組成,統一供+5 V電壓:
(1)主控器選擇Microchip公司生產(chǎn)的PIC18F25K80單片機,該單片機資源豐富,具有32 kB的程序存儲器、3 648 Byte的數據存儲器、1 024 Byte的數據EEPROM,并集成一個(gè)CAN控制器。將二路撥碼開(kāi)關(guān)連接至單片機I/O口,用于設置通信模塊在CAN總線(xiàn)上的站號,設定站號范圍為00~11。
(2)通信模塊通過(guò)電平轉換電路AX232芯片與計算機COM口進(jìn)行數據交換,由于1個(gè)MAX232支持兩組串口數據獨立收發(fā),因此可供2路通信通道同時(shí)使用。
(3)主控器PIC18F25K80自身集成一個(gè)CAN控制器,因此無(wú)需額外增加CAN控制器,僅需連接一個(gè)CAN驅動(dòng)器PCA82C250即可與CAN總線(xiàn)進(jìn)行通信。
PIC18F25K80自身集成的CAN控制器廣泛支持CAN1.2、CAN 2.0A、CAN 2.0B Passive和CAN 2.0B Active多個(gè)版本的協(xié)議,支持DeviceNet數據字節過(guò)濾,支持標準幀數據和擴展幀數據,通信速率最高可達1 Mbit·s-1。本文引用地址:http://dyxdggzs.com/article/192794.htm
PCA82C250作為目前應用最廣泛的CAN驅動(dòng)器,其最大通信速率可達1 Mbit·s-1,最多可支持110個(gè)節點(diǎn),具有多重保護功能,安全可靠。PIC18F25K80的CAN收發(fā)引腳CANRX、CANTX與PCA82C250通過(guò)2只光耦6N137連接,PCA82C250直接接入CAN總線(xiàn)。
3.2 通信模塊的軟件設計
通信模塊在收到來(lái)自上位機的命令后,開(kāi)始輪詢(xún)與之相連接的檢測模塊。通信模塊向與之相連的第一個(gè)檢測模塊發(fā)出讀數據命令,待被詢(xún)檢測模塊返回數據后再向下一個(gè)檢測模塊發(fā)出讀數據命令,依此類(lèi)推。如果被詢(xún)檢測模塊在1 000ms內沒(méi)有返回數據,則重新發(fā)送讀數據命令,重復3次后如果被詢(xún)檢測模塊依然沒(méi)有返回數據,則檢測模塊便茸動(dòng)將讀數據緩沖數組內相應單元全部置FF,并將相應標志位置1,在下次輪詢(xún)時(shí),自動(dòng)跳過(guò)此檢測模塊,待檢修人員排除故障后,再通過(guò)監視計算機手動(dòng)發(fā)出清除標志位命令或者將通信模塊斷電復位,即可恢復通信模塊與所有檢測模塊的通信。最后所有檢測模塊讀取完畢,通信模塊自動(dòng)將數據上傳至上位監視計算機。程序流程圖如圖5所示。
通信模塊向檢測模塊發(fā)出的讀數據命令由2 Byte組成:第1 Byte是模塊通道的CAN站號,第2 Byte是被詢(xún)檢測模塊的CAN站號。由于檢測模塊向被詢(xún)模塊發(fā)出的命令僅有讀數據命令一條,因此無(wú)需添加命令代碼字節。
在CAN 2.0B規范中,數據幀有兩種幀格式:標準幀數據格式和擴展幀數據格式,兩者的區別在于前者具有11位標識符而后者具有29位標識符,如圖6所示,標準幀格式仲裁段標識符僅有11位,而擴展幀格式仲裁段標識符比標準幀格式仲裁段標識符多出18個(gè)標識符,即29個(gè)標識符。CAN控箭器會(huì )根據用戶(hù)對寄存器的設定值按幀格式自動(dòng)生成輸出脈沖序列。對于開(kāi)發(fā)人員而言,前者僅需要配置2 Byte的TX識別碼,而后者需要配置4 Byte的TX識別碼,用于描述該幀數據在總線(xiàn)上的“數據身份”。鑒于通信與檢測模塊之間的通信關(guān)系比較簡(jiǎn)單,這里選用標準幀數據格式,2 Byte的TX識別碼分別為數據源和數據目標地址,即對于通信模塊而言,第1 Byte定義為通信模塊某通道的站號,第2 Byte定義為某時(shí)刻該通信通道所訪(fǎng)問(wèn)的檢測模塊站號。
pid控制相關(guān)文章:pid控制原理
土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
評論