<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CAN總線(xiàn)/RS485接口的雙層網(wǎng)絡(luò )遠程抄表系統設計

基于CAN總線(xiàn)/RS485接口的雙層網(wǎng)絡(luò )遠程抄表系統設計

作者: 時(shí)間:2016-12-16 來(lái)源:網(wǎng)絡(luò ) 收藏


網(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í)現了高效率的遠程數據采集和集中管理。


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>