新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > CAN總線隔離器的設計與應用

        CAN總線隔離器的設計與應用

        作者: 時間:2009-12-03 來源:網絡 收藏
        5.2 發送和接收程序
        報文發送是由控制器自動完成,用戶只需根據接收到的數據幀的識別符,將對應的數據轉移到發送緩沖寄存器,然后將此報文對象的編碼寫入命令請求寄存器啟動發送即可,而發送由硬件完成。這里使用定時更新發送報文對象中的數據,發送數據由控制器自動完成,當收到一個數據幀時,可將具有相同識別符的數據幀發送出去。其發送程序代碼如下:

        本文引用地址:http://www.104case.com/article/157753.htm


        報文的接收與發送相同,由CAN控制器自動完成,接收程序只需從接收緩存器中讀取所接收的數據,再進行相應處理。其方法與發送程序基本一致,這里不再贅述。

        6 關鍵技術分析
        6.1 冗余
        工業控制現場狀況復雜,因外力所致的電纜接觸故障率遠遠高于節點的故障率,一旦電纜發生故障,就會失去通信能力,并導致系統癱瘓,對工控系統的健壯性構成威脅。解決這一故障最簡單、有效的辦法是對故障率較高的物理介質進行冗余。即使用2條電纜、2個CAN收發器,但只用1個總線控制器。仲裁電路自動監測總線狀態,并自適應選擇正常的電纜完成通信任務。發生電纜故障時,設備自動報警,提醒工作人員進行檢修。檢修過程中,設備使用備用電纜繼續工作。電纜冗余設計可實現與通常的CAN總線通訊系統代碼級兼容。仲裁電路設置于總線控制器與2個總線收發器之間,監測CAN總線電纜狀態,實現自適應切換和報警。設備向其他節點發送報文時,總線控制器向2條總線同時發送相同的報文;而接收報文時,仲裁電路在無電纜故障時,一直使用總線1(主總線)進行報文接收。如果總線2(從總線)出現故障,故障監測電路就向主控計算機發出中斷信號報故障,同時處于正常狀態的總線1仍承擔正常通訊任務;如果總線1出現故障,故障監測電路在向主控計算機發出中斷信號的同時,自動切換成總線2,以保證設備正常工作??偩€切換動作只會出現在正在使用的電纜發生故障時,這樣可提高通訊的穩定性,降低應答失敗的幾率。
        6.2 接收數據時ID不濾波的實現
        在CAN總線的接收過程中,一般實現的都是發送ID和接收ID相匹配的方式,也就是說在接收方要進行接收,而ID濾波,而本設計實現任意接收方式,只要有數據就開始接收不進行ID號的濾波,這樣可更好進行測試,例如某個設備所攜帶的ID號,由于各種原因與接收方所接收的ID不匹配,這樣就可判斷出所發設備可能收到干擾,或者所發設備自身出現了問題。這種ID號不過濾的方法主要通過對接收設備的命令請求寄存器、消息掩碼寄存器、仲裁寄存器、消息控制寄存器和命令掩碼寄存器的設置來實現。其實現程序如下:


        7 結論
        本文提出一種CAN總線器的實現方案。利用具有CAN總線控制器的C8051F系列單片機實現了CAN智能節點,增加CAN節點的冗余設計,提高通訊的穩定性,降低應答失敗的幾率;實現不濾波的CAN數據接收,可更好測試系統的可靠性和監測功能,當接收到不是已知設備發來的消息時,能夠準確定位設備故障的位置。此方案實現的CAN總線器已成功于某型號飛行器的地面測試臺中,經測試和調試后,系統工作穩定,達到設計要求。并且由于采用內嵌的CAN總線控制器,可為以后的系統升級預留大量空間。

        隔離器相關文章:隔離器原理

        上一頁 1 2 3 下一頁

        關鍵詞: 應用 設計 隔離 總線 CAN

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赤壁市| 宜兰市| 洮南市| 长顺县| 东方市| 门源| 公安县| 柞水县| 东乡| 广昌县| 黄冈市| 东辽县| 赣榆县| 绍兴市| 永修县| 政和县| 密山市| 绍兴县| 乌什县| 台湾省| 格尔木市| 潞城市| 大厂| 蕉岭县| 北宁市| 八宿县| 宁乡县| 油尖旺区| 澄迈县| 融水| 嵊州市| 洱源县| 沧源| 大田县| 沐川县| 科技| 南昌市| 阿城市| 浦江县| 大丰市| 新巴尔虎左旗|