基于CAN/RS485雙層網(wǎng)絡(luò )的遠程抄表系統設計
仲裁場(chǎng):由標志符和遠程發(fā)送請求位(RTR)組成。
控制場(chǎng):數據長(cháng)度碼和兩個(gè)保留位。
數據場(chǎng):包括0 ~8個(gè)字節,每個(gè)字節8位。
CRC:CRC序列與CRC界定符。
應答場(chǎng)(ACK):應答間隙與應答界定符。
遠程幀的組成格式和數據幀類(lèi)似包括幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC和應答場(chǎng),與數據幀相反,遠程幀的RTR位是隱位,遠程幀不存在數據場(chǎng)。
出錯幀由兩個(gè)不同的場(chǎng)組成,第一個(gè)場(chǎng)由來(lái)自各站的錯誤標志疊加得到,第二個(gè)場(chǎng)是出錯界定符。
超載幀包括兩個(gè)位場(chǎng),超載標志和超載界定符。
幀間空間包括間歇場(chǎng)和總線(xiàn)空閑場(chǎng)。
4. 集中抄表器的硬件設計
4.1集中抄表器的硬件設計
由于底層采用的是RS-485,而網(wǎng)絡(luò )上層采用的是CAN總線(xiàn)協(xié)議,這就要求集中抄表器不但具有數據采集、數據備份,而且應該具有協(xié)議轉換的網(wǎng)橋功能。CAN與RS-485總線(xiàn)轉換網(wǎng)橋的設計原理圖見(jiàn)圖3。本文引用地址:http://dyxdggzs.com/article/157780.htm
網(wǎng)橋的微控制器采用TI的MSP430F449,它負責整個(gè)網(wǎng)橋的監控任務(wù)。CAN控制器接口電路由CAN通信控制器SJA1000和CAN總線(xiàn)收發(fā)器82C250組成,為了提高系統的可靠性和抗干擾能力,可以在SJA1000和82C250之間增加光耦合電路。RS-485總線(xiàn)端所使用的是內部具有光耦合的差動(dòng)收發(fā)器MAX1480。網(wǎng)橋中設計的LED,可用于網(wǎng)橋上的上電指示,總線(xiàn)收發(fā)狀態(tài)及故障情況指示,網(wǎng)橋的看門(mén)狗采用了一片X25045。X25045除了具有看門(mén)狗和上電復位功能外,內部還集成了512個(gè)字節的串行EEPROM,用于保存網(wǎng)橋參數配置等信息。網(wǎng)橋的配置可通過(guò)CAN總線(xiàn)或RS-485總線(xiàn)實(shí)現,通過(guò)網(wǎng)橋的適當配置可以很方便的實(shí)現報文的過(guò)濾。
4.2集中抄表器的軟件設計
網(wǎng)橋總線(xiàn)數據的接受均采用中斷的方式,在主監控中實(shí)現數據的發(fā)送,內存采用FIFO機制管理。
由于RS-485總線(xiàn)與CAN總線(xiàn)是兩種不同的總線(xiàn)形式。相互進(jìn)行數據通訊時(shí),需要進(jìn)行協(xié)議轉換。CAN總線(xiàn)標準具有物理層和數據鏈路層協(xié)議,以幀為單位進(jìn)行數據通信,而且每幀均攜帶相應的ID標志符,而RS-485本質(zhì)上是一個(gè)物理標準,以字節為單位進(jìn)行數據通信,不帶有任何其它附屬信息,其格式完全由用戶(hù)自己定義。所以在考慮設計RS-485幀格式時(shí),應該參考CAN總線(xiàn)的幀格式。具體設計RS-485幀格式時(shí)可以參考以下格式:
第一個(gè)字段為地址字段,占用一個(gè)字節,作為RS-485子網(wǎng)的多機通信地址用。在RS-485網(wǎng)絡(luò )中,只能采用一主多從的方式進(jìn)行通信,網(wǎng)絡(luò )中必須有一個(gè)主控節點(diǎn),在此網(wǎng)橋為主控節點(diǎn),通過(guò)查詢(xún)點(diǎn)名的方式進(jìn)行通信。第二到第四字段與CAN報文中的同名字段定義相同,實(shí)際上這三個(gè)字段是一個(gè)完整的CAN報文。網(wǎng)橋在進(jìn)行轉發(fā)時(shí)只需要將這三個(gè)字段構成的CAN報文發(fā)送即可,使網(wǎng)橋中的協(xié)議轉換更為容易實(shí)現。最后的校驗字段可用于網(wǎng)橋接受報文時(shí)的校驗,以保證數據的可靠。軟件設計流程見(jiàn)圖4。
主監控程序根據接受緩沖區中是否有報文,決定數據是否發(fā)送以及發(fā)送給誰(shuí)。如果接
受CAN子網(wǎng)數據緩沖區中有報文則向RS-485子網(wǎng)轉發(fā),如果接受RS-485子網(wǎng)數據緩沖區有數據則向CAN子網(wǎng)轉發(fā)。由于CAN報文和自定義的RS-485報文的幀格式長(cháng)度不同,在轉發(fā)報文時(shí),要進(jìn)行幀格式的轉換。在轉發(fā)報文后,要對相應的FIFO緩沖區進(jìn)行參數調整。另外在主監控程序中,如上位機對網(wǎng)橋有狀態(tài)請求或網(wǎng)橋本身有故障,網(wǎng)橋可以向上位機返回本機狀態(tài)。該功能便于系統的故障定位,管理中心計算機通過(guò)運行遠程抄表管理軟件可以提前發(fā)現系統故障,增強了系統的可維護性。
5.結束語(yǔ)
由CAN總線(xiàn)和RS-485總線(xiàn)組成的雙層網(wǎng)絡(luò )結構,有效地實(shí)現了戶(hù)用計量?jì)x表和遠程管理計算機的有效數據通訊。它們無(wú)論在硬件連線(xiàn),還是軟件編程都具有很好的兼容性。在實(shí)驗室條件下,通過(guò)系統運行檢驗表明,系統運行平穩,可靠性較高,實(shí)現了高效率的遠程數據采集和集中管理。
評論