歡迎您光臨本站 登入註冊首頁

概述

摘要:設計了一個結構簡單、使用方便、應用面廣的CAN節點與RS232串口通信轉換模塊.詳細介紹了該模塊的工作原理和實現方法,即通過軟硬體相結合實現電平標準和通信協議的轉換,從而完成兩者之間的信息傳輸.……

摘要:設計了一個結構簡單、使用方便、應用面廣的CAN節點與RS232串口通信轉換模塊.詳細介紹了該模塊的工作原理和實現方法,即通過軟硬體相結合實現電平標準和通信協議的轉換,從而完成兩者之間的信息傳輸.

1 引言
    RS232作為標準的計算機串列介面已被廣泛使用,與此同時,隨著現場匯流排技術的飛速發展,具有實時性好、可靠性高、結構簡單等優點的CAN匯流排在測控系統中也越來越多地被採用。但由於兩者的匯流排結構、通信協議及傳輸特點各不相同,因而給不同設備之間的連接帶來諸多不便,因此,如何以最簡單的方式實現CAN節點與RS232串列口的通信就成為工程實踐中一個不可迴避的問題。
    本文採用典型的不具備CAN通信能力的AT89C51單片機作為微處理器,設計了一個簡單、實用的通信轉換模塊。該通信轉換模塊具有體積小、結構簡單、通用性好、使用方便等特點。

2 工作原理
    CAN-RS232通信轉換模塊通過硬體電路的電平標準轉換和軟體編程的通信協議轉換實現相關功能。
2.1 電平標準轉換
    RS232採用的不是TTL電平的介面標準,而是負邏輯,即邏輯“1”為-3 V—-15 V:邏輯“0”為+3 V-+15 V;而CAN匯流排是採用“顯性”和“隱性”兩個互補的邏輯值表示“0”和“1”,其信號是以兩線之間的“差分”電壓形式出現的。這樣導致兩匯流排之間的信號電壓不匹配.無法直接進行正常的通信,因此.需要相應的硬體介面電路實現電平標準轉換。

2.2 通信協議轉換
    RS232通信屬於非同步串列通信,一般為兩點傳輸 其每幀的數據格式通常為:起始位+數據位+奇偶校驗位(可省略)+停止位;每個數據包的格式通常為:數據包頭+數據位元組+校驗和(溢出不計)。而CAN通信屬於匯流排通信,可以同時存在多個節點,因此通信協議相對也比較複雜,這裡以標準幀傳輸為例,其數據格式通常如表1所列。因此,需要軟體處理實現通信協議的轉換。
 

3 硬體設計
    模塊採用Atmel公司生產的AT89C51型單片機作為微處理器.採用SJA1000和TJA1050分別作為CAN控制器和驅動器.採用MAX202E作為
RS232串列介面驅動器,其硬體連接電路圖如圖1所示。
 
    AT89C51採用外接晶體振蕩器提供時鐘輸入.通過并行地址/數據復用的方式訪問CAN控制器SJA1000.P2.0引腳作為片選埠;SJA1000作為CAN控制器,也採用單獨的外部時鐘輸入,由於集成了CAN協議的物理層和數據鏈路層功能,可完成對通信數據的幀處理, 其地址為0x00-0xFF:TJA1050作為CAN控制器和物理匯流排之間的介面.採用高速工作模式,用於提供匯流排的差動發送能力和CAN控制器差動接收能力;MAX202E用於實現RS232電平到微控制器介面電路的TTL電平轉換。

4 軟體設計
    模塊的軟體設計主要包括RS232通信程序和CAN通信程序兩部分,採用中斷方式。其中,RS232通信數據傳輸的波特率為115200 bit/s,數據格式為1位起始位、8位數據位、1位停止位;CAN匯流排的傳輸波特率為500 kbit/s,採用PeliCAN模式的標準數據幀格式.每條報文的標識符ID為11位,有效數據為0-8個位元組。其軟體流程如圖2所示。
 
    在RS232中斷程序中,微處理器對接收的串口數據進行處理后提取出數據位元組,通過增加幀結構信息、幀類型、位元組長度和標識符等生成CAN報文格式.然後由CAN控制器的發送緩衝區發送出去;
    在CAN中斷程序中.微處理器對接收的有效CAN報文進行解析,提取出位元組長度和位元組內容,通過增加數據頭、數據尾和校驗和轉換為RS232通信格式,完成數據傳輸。

5 結束語
    該設計已應用於筆者開發的項目一某型低空紅外預警系統。用CAN—RS232通信轉換模塊將CAN匯流排收到的角度感測器測出的空中目標方位角和高低角(10 ms一組測角、波特率為500 kbifs)實時轉換為RS232(波特率為115200 bit/s)串列口數據,使主控計算機(PC104工控機)接收、處理和顯示;同時將RS232輸出的主控計算機命令轉換為CAN匯流排數據。經實踐證明,該模塊工作穩定、可靠,且成本低,完全能夠滿足系統的指標要求.取得了良好的應用效果

參考文獻:
[1]李廣第,朱月秀,王秀山.單片機基礎.北京:北京航空航天出版社.2001.
[2]饒運濤,鄒繼軍,鄭勇芸.現場匯流排CAN原理與應用技術.北京:北京航空航天出版社,2003.
[3]仇玉章.32位微型計算機原理與介面技術.北京:清華大學出版社。2000.
[4]吳志偉,丁鉑.USB—CAN—RS232匯流排轉換電路設計與實現[J].國外電子元器件,2006(6):31—34.
[5]朱小燕,景新幸,王傳傑.控制區域網(CAN)中的數據轉換的設計與實現.現代電子技術,2004,27(7):19—21.


[admin via 研發互助社區 ] CAN-RS232通信轉換模塊的設計與實現已經有3993次圍觀

http://cocdig.com/docs/show-post-44818.html