《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > RS232通信網絡與CAN總線通信網絡互聯設計
RS232通信網絡與CAN總線通信網絡互聯設計
來源:電子技術應用2010年第9期
王 強1, 張建喜2
1.許昌職業技術學院信息工程系,河南 許昌461000; 2.蘭州交通大學,甘肅 蘭州 730070
摘要: 基于CAN總線原理,結合CAN控制器SJA1000、CAN收發器CTM和ATmega128的特性,針對CAN總線和RS232互聯問題,提出了RS232-CAN接口模塊的設計方案,詳細介紹了硬軟件設計模塊以及本設計的具體應用。
中圖分類號: TP368.1
文獻標識碼: A
文章編號: 0258-7998(2010)09-0158-03
Design of connection between RS232 communication network and CAN bus communication network
WANG Qiang1, ZHANG Jian Xi2
1. Information Engineering Department, Xuchang Vocational Technology College, Xuchang 461000, China;2. Lanzhou Jiaotong University, Lanzhou 730070, China;
Abstract: Based on the principle of CAN and the feature of CAN controller SJA1000,CAN transceiver CTM1050 and MCU ATmega128,the paper provided the communication and connection issues between CAN bus line and RS-232 bus line.The paper also provided the RS232-CAN interface module for the issues.The paper introduced the design and application of the hardware module and the software module.
Key words : CAN; ATmega128; SJA1000; RS232

    目前工業設備之間的通信很多采用RS232接口,但由于RS232通信距離短(根據EAT/TAI-232標準,僅為15 m)、接口易損,而且只能進行點到點通信,不能直接組成多點通信網絡。為了延長RS232的通信距離,并將RS232節點組成通信網絡,目前廣泛使用RS232/RS485信號轉換器。但是,由于RS485通信本身的局限性,在實際應用中存在許多不足:總線效率低、系統的實時性差、通信的可靠性低、網絡工程調試復雜、傳輸距離不理想、單總線可掛接的節點少、應用不靈活等。
    基于CAN通信的優越性,本文介紹一種可以將RS232通信網絡轉換成CAN通信網絡的方法,以更好地解決用戶建立遠程通信網絡的問題。
1 CAN總線簡介
1.1 CAN總線概述

    控制器局域網絡CAN(Controller Area Network),屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡, 最初由德國Bosch公司于20 世紀80 年代用于汽車內部測試和控制儀器之間的數據通信[1]。其總線規范已被ISO國際標準組織定為國際標準,CAN 協議經ISO 標準化后有ISO11898 標準和ISO11519標準兩種,這兩種標準對于數據鏈路層定義是相同的,但物理層不同。ISO11898是通信速度為125 kb/s-1 Mb/s的CAN高速通信標準; ISO11519是通信速度為125 kb/s以下的CAN低速通信標準。CAN協議建立在國際標準組織的開放系統互聯模型基礎上,但其模型結構只有三層:ISO底層的物理層、數據鏈路層和應用層;其信號傳輸介質可采用雙絞線、同軸電纜和光纖等;通信最大距離可達10 km;最大通信波特率可達1 Mb/s,可掛設備最多達110個。CAN總線具有的特點,越來越廣泛地被應用于各種工業現場,并被公認為是最有前途的現場總線之一。
1.2 CAN總線工作機制
1.2.1 CAN的報文類型

    CAN系統中節點之間以報文的形式進行通信,其報文有五種類型:數據幀、遠程幀、錯誤幀、過載幀和幀空間[2]。每種幀都有相應固定的格式,其中數據幀和遠程幀與應用密切相關,其他類型幀由CAN控制器根據具體的情況自動傳輸。幀種類及用途如表1所示。

1.2.2  CAN節點的仲裁機制
    只要總線空閑,任何單元都可以開始發送報文(多主控制)。最先訪問總線的節點可獲得總線控制權。若多個節點同時開始傳送報文,就會有總線訪問沖突,可使用識別符的位形式仲裁解決這個沖突。仲裁期間,每一個發送器都對發送位的電平與被監控的總線電平進行比較。如果電平相同,則這個節點繼續發送。若發送的是隱性電平而監控到的是顯性電平,則這個節點失去了仲裁,必須退出發送狀態。ID越小優先權越高,發送高優先級 ID 消息的節點可獲得發送權。
1.2.3  CAN節點的報文濾波機制
    CAN 控制器監聽接收總線上的所有報文,只有通過CAN控制器的報文篩選器篩選的報文才能進入CAN 的報文接收緩沖區,為該節點所接收并傳送給應用程序。
1.2.4  CAN節點狀態
    CAN總線上每個節點都處于“錯誤主動”、“錯誤被動”和“總線關閉”三種狀態之一。區分這幾種狀態的主要依據是發送錯誤計數器和接收錯誤計數器的值,并且這三種狀態可以在一定條件下相互轉化。
 處于錯誤主動狀態的節點,當發現總線上有錯誤傳輸時,將向總線上發“主動出錯幀”;處于錯誤被動狀態的節點,當發現總線上有錯誤傳輸時,將向總線上發“被動出錯幀”;當節點進入總線脫離狀態時,將完全退出總線操作。
2 硬件電路設計
2.1 硬件設計原理

   RS232串口通信與CAN通信是兩種不同的傳輸方式,無論是數據的傳輸方式還是邏輯電平的電壓表示都是不同的,本設計主要完成RS232接口與CAN總線協議之間的轉換,以及數據的雙向傳輸。設計原理如圖1所示。
    RS232接口端信號經過RS232電平轉換成TTL電平,直接輸入到微控制器的通用同步/異步串行接口(USART),微控制器控制CAN控制器讀出有效的數據經光電隔離的CAN收發器發送到CAN總線上。
    本設計采用的RS232電平轉換器為MAX232,微控制器為ATmega128,CAN總線控制器采用SJA1000,CAN總線收發器采用高速的具有收發和隔離功能的CTM1050控制器。ATmega128是整個模塊的控制中心,控制著RS232接口和CAN總線的通信。器件連接示意圖如圖2所示。

    RS232接口的發送數據端和接收數據端經MAX232電平轉換分別與Atmega128串口、接收數據端PE0/RXD0、發送數據端PE1/TXD0相連;SJA1000的AD0~AD7連接到Atmega128的PA口,INT與Atmega128的INT0相連,ALE與Atmega128的PG2/ALE相連,讀寫端RD、WR分別連接Atmega128的PG1/RD、PG0/WR,CS連接到Atmega128的PC6,Atmega128的時鐘取自SJA1000的振蕩器,即SJA1000的CLKOUT連接到Atmega128的XTAL1;收發器CTM1050的RX0、TX0分別連接SJA1000T的RX0、TX0, CANH、CANL連接到CAN總線上。
2.2 主要芯片
   RS232用正負電壓來表示邏輯狀態,與TTL以高低電平表示邏輯狀態的規定不同。因此,為了能夠同計算機接口或終端的TTL器件連接,必須在RS232接口與TTL電路之間進行電平和邏輯關系的變換。MAX232芯片可完成TTL⇔RS232電平的雙向轉換。
   ATmega128單片機是基于AVR RISC結構的8位低功耗CMOS微處理器,為AVR單片機系列中的高性能單片機。ATmega128單片機內部帶有128 KB的系統內可編程Flash程序存儲器,具有同時讀寫能力;4 KB的E2PROM;4 KB的SRAM;53個通用I/O端口線;32個通用工作寄存器;4個靈活的具有比較模式和PWM功能的定時器/計數器(T/C);2個USART;串行外圍設備接口(SPI);與IEEE1149.1規范兼容的JTAG測試接口,可以用于片上調試;6種省電模式;53個可編程I/O端13線;由于其先進的指令集以及單周期指令執行時間,數據吞吐率高達1 MIPS/MHz等。
   SJA1000是一種獨立的CAN控制器,主要用于移動目標和一般工業環境中的區域網絡控制,具有新的PeliCAN操作模式,這種模式兼容CAN2.0A 和CAN2.0B 兩種技術規范[3]。SJA1000可完成CAN總線的物理層和數據鏈路層的所有功能,由CAN核心模塊、發送緩沖區、接收FIFO、驗收濾波器和接口管理邏輯組成[4]。
   CTM1050是一款帶隔離的高速CAN收發器芯片,該芯片內部集成了所有必需的CAN隔離及CAN收、發器件,其主要功能是將CAN 控制器的邏輯電平轉換為CAN總線的差分電平并且具有直流2 500 V的隔離功能及ESD 保護作用。該芯片符合ISO 11898標準,可與其他遵從ISO 11898標準的CAN 收發器互連。
3 軟件設計
    本設計程序主要包括:串口初始化程序、SJA1000初始化程序、單片機接收串口中斷服務子程序、單片機發送數據到串口中斷服務子程序、單片機接收CAN數據子程序、單片機發送CAN數據程序以及一些異常錯誤處理子程序等等。程序流程圖如圖3所示。

    本設計可以將RS232通信網絡轉換成CAN通信網絡,能夠很方便地實現RS232多點組網、遠程通信,且不需要更改原有RS232通信軟件,用戶可直接嵌入原有的應用領域,使系統設計達到更先進的水平。
參考文獻
[1]  王黎明,夏立,邵英,等.CAN現場總線系統的設計與應用[M]. 北京:電子工業出版社,2008.
[2]  饒運濤,鄒繼軍,鄭勇蕓,等.現場總線CAN 原理與應用技術[M].北京:北京航空航天大學出版社,2003.
[3]  PHILIPS Corporation.SJA 1000 stand-alone CAN controller product specification[S].2000.
[4]  夏繼強.現場總線工業控制網絡技術[M].北京:北京航空航天大學出版社,2005.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 偷亚洲偷国产欧美高清 | 日本三级网站 | 国产亚洲欧美日韩综合另类 | 在线丝袜 | 国产成人乱码一区二区三区 | 在线亚州| 宅男午夜剧场 | 亚洲插| 午夜想想爱午夜剧场 | 综合99| 一个人看的www视频高清免费 | 热热色网站 | a亚洲欧美中文日韩在线v日本 | 国产1卡2卡三卡四卡网站 | 在线看片一区 | 成人看片免费 | 国内精品视频在线播放一区 | 免费看的黄色小视频 | 国产福利麻豆精品一区 | 在线观看日本一区 | 成人福利在线视频 | 清清草免费视频 | 亚洲一区色 | 日韩精品欧美精品中文精品 | 国产全黄三级三级 | 久久午夜鲁丝片午夜精品 | 欧美日韩一区二区在线观看视频 | 欧美一级鲁丝片 | 1717she永久精品免费 | 日韩一区二区三区四区五区 | 亚洲欧洲日产国码二区首页 | 日韩成人中文字幕 | 欧美一级夜夜爽 | 男女做羞羞的视频 | 亚洲欧美在线观看首页 | 欧美国产日韩精品 | 欧美国产成人一区二区三区 | 欧美人成人亚洲专区中文字幕 | 日本黄色影院在线观看 | 在线免费观看色片 | 最近日本中文字幕免费完整 |