熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > CAN總線與RS-485總線的通信接口設計

CAN總線與RS-485總線的通信接口設計

時間:2008-02-01 11:33:00來源:mahaiyan

導語:?本文設計的CAN-RS485通信接口電路能夠很好地解決這兩種串行數據總線之間的相互轉換問題,并已成功應用于某地區的智能交通控制系統
1 CAN總線及RS-485總線簡介 CAN總線(Controller Area Network)是由德國Bosch公司于20世紀80年代專門為汽車電子控制系統開發的一種串行數據通信協議,特別適合應用于分布式控制或實時控制領域。它的應用范圍遍及高速網絡和低成本的分布式控制系統。CAN具有以下特點: (1) 無破壞的依據優先權的仲裁; (2) 多主站點依據優先級進行總線訪問; (3) 嚴格的錯誤檢測和界定; (4) 支持遠程數據請求; (5) 借助接收濾波的多地址幀傳送; (6) 通信介質多樣,組合方式靈活; (7) 全系統數據兼容,系統靈活; (8) 最遠傳輸距離為10Km(總線傳輸速率為5kbps), 最大傳輸速率為1Mbps(總線傳輸距離為40m)。 RS-485標準是美國EIA(電子工業聯合會)公布的串行通信協議。它比RS-232C標準信號傳輸距離長、速度快、抗干擾性能好,廣泛應用于各種工業、樓宇、能源等領域。在實際應用中,許多工業控制設備(如PLC)都帶有RS-485接口。因此,有必要設計CAN總線與RS-485總線的通信接口電路。 2 硬件設計 整個通信接口電路由單片機AT89C52、CAN控制器SJA1000、CAN收發器82C250、高速光電耦合器6N137和RS-485收發器MAX485組成。如圖1所示。單片機AT89C52主要完成SJA1000的初始化,及CAN總線 和RS-485總線之間的數據通信任務。SJA1000是CAN控制器82C200的替代產品。它主要由下列功能模塊構成:接口管理邏輯、發送緩沖器、接收緩沖器、接收過濾器、位流處理器、位時序邏輯和錯誤管理邏輯。除了與82C200兼容之外,它增加了許多新功能:PeliCAN工作模式、讀/寫訪問的錯誤計數器、標準和擴展結構信息的接收和發送、可編程的錯誤限制報警、只聽模式和仲裁丟失中斷。單片機對SJA1000內部寄存器的控制是以訪問外部寄存器的方式進行的。CAN收發器82C250是CAN總線控制器和物理總線之間的接口,主要負責提供對總線的差分發送能力和對CAN控制器的差分接收能力。它的引腳8(RS)控制3種不同的工作方式的選擇:待機、斜率控制和高速。 (1) 給RS接上高電平,則82C250以低電流待機方式工作; (2) 若RS通過連接電阻接地,則進入斜率控制方式,該方式可以通過改變電阻的阻值來調節斜率,適用于低速和較短的總線長度的應用場合; (3) 如果RS接地,就選擇了高速工作方式。高速光電耦合器6N137實現了CAN控制器和收發器之間的電氣隔離,增強了系統的穩定性和抗干擾能力。RS-485收發器MAX485是一種差分平衡型的小功率收發器,包含一個驅動器和一個接收器,使用單+5V電源供電,專門用于TTL協議(即通用于各型CPU的通信協議)和485標準之間的相互轉換,使微控制器可以利用RS-485串行通信協議直接進行串行通信。 整個轉換過程可分為:CAN總線轉換到RS-485總線和RS-485總線轉換到CAN總線。CAN總線轉換到RS-485總線的流程如下:微控制器接收到CAN總線節點發送的報文,根據CAN總線規定的數據格式取出報文的有用信息,然后由微控制器通過MAX485將信息發送到RS-485總線。而RS-485總線轉換到CAN總線則是上述流程的逆過程。
3 軟件設計 軟件設計的主要任務是實現數據和控制命令在CAN總線網絡和RS-485總線之間的傳輸。它主要包括RS-485和CAN接口的初始化程序、報文發送和接收程序、中斷服務程序和錯誤處理程序等。其中,SJA1000的初始化程序是軟件設計中的難點,需要完成各種工作參數的設置。其中,控制寄存器用來改變CAN控制器的行為,包括進入復位狀態,激活不同類型的中斷源,如接收中斷、發送中斷和數據溢出中斷等。驗收代碼寄存器和驗收屏蔽寄存器共同作用定義了能被節點所接收報文的條件:所收信息的標識符的相應位與驗收代碼寄存器驗收碼的相應位相等。 驗收屏蔽寄存器的作用是確定驗收碼的哪些位對于驗收濾波是相關的或不相關的。總線時序寄存器0定義了波特率的預設值及同步跳轉寬度;總線時序寄存器1則定義了位周期的長度、采樣點的位置和采樣數目。輸出控制寄存器可以設置不同的輸出模式(如正常輸出模式、雙相輸出模式和時鐘輸出模式等)。時鐘分頻寄存器不僅可以控制SJA1000的輸出頻率及屏蔽CLKOUT引腳,而且還能夠對Basic CAN和Peli CAN模式進行選擇。具體的SJA1000初始化程序流程如圖2所示。 CAN總線轉換到RS-485總線的程序如下: CAN-RS485_TRANSITION: MOV DPTR, #SR; 狀態寄存器 MOVX A, @DPTR; JNB ACC.0, CAN_QUIT; 是否接收到信息,無數據則退出轉換程序 CAN-RS485_HANDLE: MOV DPTR, #CANR ;接收緩沖區首地址 MOVX A , @DPTR ;接收幀的格式 JNB ACC.6 , RECEIVE _ FRAME ;RTR=1則報文是遠程請求幀 LCALL TRANSMIT_ DATA ;發送對方請求的數據 LJMP CAN_QUIT ;退出轉換程序 RECEIVE_ FRAME: MOVX A, @DPTR; ANL A, #0FH; ADD A, #05H ;獲得接收數據的長度 MOV R7, A MOV R0,#43H ;設定MCU接收數據緩沖區 DATAFRAME: MOVX A, @DPTR ;接收數據 MOV @R0, A LCALL RS485_SEND ;將有效信息通過MAX485轉發到RS-485總線 INC DPTR INC R0 DJNZ R7, DATAFRAME ;判斷接收是否結束 RECOUT: MOV DPTR, #CMR MOV A, #04H ;釋放接收緩沖區 MOVX @DPTR, A CAN_QUIT: RET ;退出轉換程序
4 結束語 CAN總線是當前應用最為廣泛的現場總線之一,而RS-485總線則是常用的串行總線,兩者之間的相互轉換具有很高的實用價值。本文設計的CAN-RS485通信接口電路能夠很好地解決這兩種串行數據總線之間的相互轉換問題,并已成功應用于某地區的智能交通控制系統。

標簽:

點贊

分享到:

上一篇:論電氣火災自動保護型斷路器

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 新野县| 铜山县| 郎溪县| 永昌县| 花莲市| 青冈县| 两当县| 互助| 瑞丽市| 神木县| 巴南区| 桃园市| 永嘉县| 曲沃县| 东方市| 海伦市| 松江区| 武穴市| 白水县| 惠水县| 深水埗区| 泰安市| 漳平市| 庄河市| 巴彦淖尔市| 武威市| 西畴县| 虞城县| 页游| 大方县| 金塔县| 彰化市| 玛纳斯县| 凤冈县| 石泉县| 合江县| 资中县| 嵊泗县| 托克逊县| 青神县| 杨浦区|