當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]目前工業(yè)設(shè)備之間的通信很多采用RS232接口,但由于RS232通信距離短(根據(jù)EAT/TAI-232標準,僅為15 m)、接口易損,而且只能進行點到點通信,不能直接組成多點通信網(wǎng)絡(luò)。為了延

目前工業(yè)設(shè)備之間的通信很多采用RS232接口,但由于RS232通信距離短(根據(jù)EAT/TAI-232標準,僅為15 m)、接口易損,而且只能進行點到點通信,不能直接組成多點通信網(wǎng)絡(luò)。為了延長RS232的通信距離,并將RS232節(jié)點組成通信網(wǎng)絡(luò),目前廣泛使用 RS232/RS485信號轉(zhuǎn)換器。但是,由于RS485通信本身的局限性,在實際應(yīng)用中存在許多不足:總線效率低、系統(tǒng)的實時性差、通信的可靠性低、網(wǎng)絡(luò)工程調(diào)試復(fù)雜、傳輸距離不理想、單總線可掛接的節(jié)點少、應(yīng)用不靈活等。

基于CAN通信的優(yōu)越性,本文介紹一種可以將RS232通信網(wǎng)絡(luò)轉(zhuǎn)換成CAN通信網(wǎng)絡(luò)的方法,以更好地解決用戶建立遠程通信網(wǎng)絡(luò)的問題。

1 CAN總線簡介

1.1 CAN總線概述

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

1.2 CAN總線工作機制

1.2.1 CAN的報文類型

CAN系統(tǒng)中節(jié)點之間以報文的形式進行通信,其報文有五種類型:數(shù)據(jù)幀、遠程幀、錯誤幀、過載幀和幀空間[2]。每種幀都有相應(yīng)固定的格式,其中數(shù)據(jù)幀和遠程幀與應(yīng)用密切相關(guān),其他類型幀由CAN控制器根據(jù)具體的情況自動傳輸。

 

1.2.2 CAN節(jié)點的仲裁機制

只要總線空閑,任何單元都可以開始發(fā)送報文(多主控制)。最先訪問總線的節(jié)點可獲得總線控制權(quán)。若多個節(jié)點同時開始傳送報文,就會有總線訪問沖突,可使用識別符的位形式仲裁解決這個沖突。仲裁期間,每一個發(fā)送器都對發(fā)送位的電平與被監(jiān)控的總線電平進行比較。如果電平相同,則這個節(jié)點繼續(xù)發(fā)送。若發(fā)送的是隱性電平而監(jiān)控到的是顯性電平,則這個節(jié)點失去了仲裁,必須退出發(fā)送狀態(tài)。ID越小優(yōu)先權(quán)越高,發(fā)送高優(yōu)先級 ID 消息的節(jié)點可獲得發(fā)送權(quán)。

1.2.3 CAN節(jié)點的報文濾波機制

CAN 控制器監(jiān)聽接收總線上的所有報文,只有通過CAN控制器的報文篩選器篩選的報文才能進入CAN 的報文接收緩沖區(qū),為該節(jié)點所接收并傳送給應(yīng)用程序。

1.2.4 CAN節(jié)點狀態(tài)

CAN總線上每個節(jié)點都處于“錯誤主動”、“錯誤被動”和“總線關(guān)閉”三種狀態(tài)之一。區(qū)分這幾種狀態(tài)的主要依據(jù)是發(fā)送錯誤計數(shù)器和接收錯誤計數(shù)器的值,并且這三種狀態(tài)可以在一定條件下相互轉(zhuǎn)化。

處于錯誤主動狀態(tài)的節(jié)點,當發(fā)現(xiàn)總線上有錯誤傳輸時,將向總線上發(fā)“主動出錯幀”;處于錯誤被動狀態(tài)的節(jié)點,當發(fā)現(xiàn)總線上有錯誤傳輸時,將向總線上發(fā)“被動出錯幀”;當節(jié)點進入總線脫離狀態(tài)時,將完全退出總線操作。

2 硬件電路設(shè)計

2.1 硬件設(shè)計原理

RS232串口通信與CAN通信是兩種不同的傳輸方式,無論是數(shù)據(jù)的傳輸方式還是邏輯電平的電壓表示都是不同的,本設(shè)計主要完成RS232接口與CAN總線協(xié)議之間的轉(zhuǎn)換,以及數(shù)據(jù)的雙向傳輸。設(shè)計原理如圖1所示。

RS232接口端信號經(jīng)過RS232電平轉(zhuǎn)換成TTL電平,直接輸入到微控制器的通用同步/異步串行接口(USART),微控制器控制CAN控制器讀出有效的數(shù)據(jù)經(jīng)光電隔離的CAN收發(fā)器發(fā)送到CAN總線上。

本設(shè)計采用的RS232電平轉(zhuǎn)換器為MAX232,微控制器為ATmega128,CAN總線控制器采用SJA1000,CAN總線收發(fā)器采用高速的具有收發(fā)和隔離功能的CTM1050控制器。ATmega128是整個模塊的控制中心,控制著RS232接口和CAN總線的通信。

 

RS232接口的發(fā)送數(shù)據(jù)端和接收數(shù)據(jù)端經(jīng)MAX232電平轉(zhuǎn)換分別與Atmega128串口、接收數(shù)據(jù)端PE0/RXD0、發(fā)送數(shù)據(jù)端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;收發(fā)器 CTM1050的RX0、TX0分別連接SJA1000T的RX0、TX0, CANH、CANL連接到CAN總線上。

2.2 主要芯片

RS232用正負電壓來表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計算機接口或終端的TTL器件連接,必須在RS232接口與TTL電路之間進行電平和邏輯關(guān)系的變換。MAX232芯片可完成TTL⇔RS232電平的雙向轉(zhuǎn)換。

ATmega128單片機是基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS 微處理器,為AVR單片機系列中的高性能單片機。ATmega128單片機內(nèi)部帶有128 KB的系統(tǒng)內(nèi)可編程Flash程序存儲器,具有同時讀寫能力;4 KB的E2PROM;4 KB的SRAM;53個通用I/O端口線;32個通用工作寄存器;4個靈活的具有比較模式和PWM功能的定時器/計數(shù)器(T/C);2個USART;串行外圍設(shè)備接口(SPI);與IEEE1149.1規(guī)范兼容的JTAG測試接口,可以用于片上調(diào)試;6種省電模式;53個可編程I/O端13線;由于其先進的指令集以及單周期指令執(zhí)行時間,數(shù)據(jù)吞吐率高達1 MIPS/MHz等。

SJA1000是一種獨立的CAN控制器,主要用于移動目標和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制,具有新的PeliCAN操作模式,這種模式兼容 CAN2.0A 和CAN2.0B 兩種技術(shù)規(guī)范[3]。SJA1000可完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能,由CAN核心模塊、發(fā)送緩沖區(qū)、接收FIFO、驗收濾波器和接口管理邏輯組成[4]。

CTM1050是一款帶隔離的高速CAN收發(fā)器芯片,該芯片內(nèi)部集成了所有必需的CAN隔離及CAN收、發(fā)器件,其主要功能是將CAN 控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平并且具有直流2 500 V的隔離功能及ESD 保護作用。該芯片符合ISO 11898標準,可與其他遵從ISO 11898標準的CAN 收發(fā)器互連。[!--empirenews.page--]

3 軟件設(shè)計

本設(shè)計程序主要包括:串口初始化程序、SJA1000初始化程序、單片機接收串口中斷服務(wù)子程序、單片機發(fā)送數(shù)據(jù)到串口中斷服務(wù)子程序、單片機接收CAN數(shù)據(jù)子程序、單片機發(fā)送CAN數(shù)據(jù)程序以及一些異常錯誤處理子程序等等。

 

本設(shè)計可以將RS232通信網(wǎng)絡(luò)轉(zhuǎn)換成CAN通信網(wǎng)絡(luò),能夠很方便地實現(xiàn)RS232多點組網(wǎng)、遠程通信,且不需要更改原有RS232通信軟件,用戶可直接嵌入原有的應(yīng)用領(lǐng)域,使系統(tǒng)設(shè)計達到更先進的水平。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉