新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC18單片機的RS-485/CAN智能轉換器的設計

        PIC18單片機的RS-485/CAN智能轉換器的設計

        作者: 時間:2010-04-23 來源:網絡 收藏

        中所需電源均為+5 V 的直流電源,共需要3個獨立的+5 V電源,分別為MCU 的電源VCC1,CAN接口芯片一側所用電源VCC2。RS-485接口芯片一側所用電源VCC3。因此可以考慮使用1個輸入3個輸出的DC/DC模塊,實際當中沒有找到現成的3輸出的DC/DC模塊。因此中采用金升陽公司的B系列和D系列的DC/DC 模塊, 一輸入兩輸出的D050505N-1 W ,再加上一個單輸出的B0505D-1 W。DC/DC兩側的電感和電容構成濾波和穩壓電路,其大小值均為典型值。最后構成如下圖所示的的電源模塊。

        另外,3組電源不能共地。GND1,GND2,GND3必須相互獨立。否則光耦不能起到隔離的作用。

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

        2.2 軟件
        軟件通過Microchip的開發工具Mplab用匯編語言編制,主要包括初始化程序,CAN接收中斷服務程序,USART接收中斷服務程序,主程序。應用層通信協議轉換程序等。
        初始化程序用于設置CAN模塊的通信波特率,工作方式,接收郵箱和發送郵箱,對應的接收過濾器和接收屏蔽器,以及發送的優先級等。其流程圖如圖5所示。


        圖5 初始化程序
        CAN接收中斷服務程序主要用來接收CAN 總線傳輸過來的數據幀,并進行幀校驗,如果出錯則要求重發,若數據幀正確接收,則將完整的數據幀存入到提前開辟的環形緩沖器中,為后面的數據處理和協議轉換做好準備。其流程簡圖如圖6所示。


        圖6 CAN接收中斷服務程序
        USART接收中斷服務程序主要用于接收來自RS-485總線的串行數據。并將完整的數據幀傳送到另外一個環形緩沖器。其流程圖和設計思想與CAN 接收中斷程序類似,不再例舉。
        協議轉換程序需要參照現場RS-485系統原有的協議,然后由用戶通過配套軟件對通信幀的格式進行相應的設置。進行配置時PC 機必須通過RS-485接口訪問,通常PC機的RS-232接口必須使用RS-232/RS-485轉換器。設置成功后,就可以實現RS-485與CAN通信幀格式的相互轉換。
        主程序部分比較簡單。主要為調用初始化程序,掃描發送緩沖器是否為空,不空則在空閑時根據其優先級將CAN通信幀或RS-485串行通信幀發送出去。然后不斷掃描,等待中斷的產生。

        3 結語
        利用 轉換器,實現了RS-485網絡與CAN網絡的互連,而且轉換器的通信波特率可調,工作模式可以控制,對于不同協議的RS-485網絡,只需通過軟件對轉換器進行相應的初始化設置即可,而不必對硬件進行改動。可以滿足絕大多數場合的使用要求。但是這種利用智能轉換器實現RS-485網絡和CAN網絡互連的方案只是一種過渡性的方案,互連后整個系統的性能要受限于RS-485網絡,不能充分體現CAN系統的優越性。該方案僅適合新系統與舊系統并存,整體性能要求不太高,新舊系統運行機制差別不大的地方。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沽源县| 岑巩县| 长岭县| 涪陵区| 宁陕县| 兴仁县| 南康市| 高雄县| 泰来县| 南雄市| 钟山县| 正定县| 广饶县| 安顺市| 临夏市| 股票| 寻甸| 襄垣县| 格尔木市| 鄯善县| 班玛县| 云浮市| 衡山县| 庄河市| 如东县| 麻阳| 彭山县| 东乡县| 巴林左旗| 凤庆县| 苏州市| 唐山市| 武冈市| 屏边| 江西省| 河源市| 柯坪县| 承德县| 常州市| 龙泉市| 仁化县|