新聞中心

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

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

作者: 時間:2010-04-23 來源:網(wǎng)絡 收藏

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

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

本文引用地址:http://2s4d.com/article/173363.htm

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


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


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

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


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉