當前位置:首頁 > 通信技術 > 通信技術
[導讀]摘要:為了實現(xiàn)對CAN總線和RS-232串口雙向通信需求,提出了一種基于C8051F040單片機的數(shù)據(jù)通信方案,并完成系統(tǒng)設計。分析了CAN總線和RS-232串口的通信特點,介紹了單片機硬件,并對軟件的設計思路與流程做了詳盡描述

摘要:為了實現(xiàn)對CAN總線RS-232串口雙向通信需求,提出了一種基于C8051F040單片機的數(shù)據(jù)通信方案,并完成系統(tǒng)設計。分析了CAN總線和RS-232串口的通信特點,介紹了單片機硬件,并對軟件的設計思路與流程做了詳盡描述,完成功能檢測。實驗結果表明,該設計達到了要求。

目前工業(yè)設備之間的通信很多采用RS-232接口,但由于RS-232通信距離短、接口易損,而且只能進行點到點通信,不能直接組成多點通信網(wǎng)絡。而CAN通信速率高、容易實現(xiàn)、且性價比高等諸多特點,本文介紹一種可以實現(xiàn)RS-232與CAN總線通信的方法,以更好地適應現(xiàn)代工業(yè)發(fā)展的需要。

控制器局域網(wǎng)CAN(Controller Area Network)是德國Bosch公司為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而應用開發(fā)的一種通信協(xié)議。在國外,尤其是歐洲,CAN網(wǎng)絡已被廣泛地應用在汽車上,如BENZ、BMW、PORSCHE、ROLLS、ROYCE、JAGUAR等車。

它是一種串行通信網(wǎng)絡,支持分布式實時控制,最大傳輸速度可達1 Mbids,最大傳輸距離為10 km。CAN規(guī)范已被ISO國際標準組織制訂為國際標準,即CAN標準,現(xiàn)在最常用的是2.0標準,分為2.0A和2.0B。其區(qū)別僅在通信數(shù)據(jù)位數(shù),前者是11位的標準幀,后者是29位的擴展幀。CAN協(xié)議建立在國際標準組織的開放系統(tǒng)互連參考模型基礎上的,主要工作在數(shù)據(jù)鏈路層和物理層,用戶可在其基礎上開發(fā)適合系統(tǒng)實際需要的應用層通信協(xié)議。而串口RS-232作為標準計算機串行接口,與CAN網(wǎng)的結構、通信協(xié)議、傳輸特性等方面都不相同,所以不同設備間無法進行直接通信。因此實現(xiàn)二者之間的信息數(shù)據(jù)交互成為問題的關鍵。

本設計完成了CAN總線與RS-232軟件設計。本設計的創(chuàng)新點是:CAN總線與RS-232接口數(shù)據(jù)通信速率以及通信幀格式都不同,解決了這兩點不同,從而實現(xiàn)了數(shù)據(jù)在CAN總線與RS-232接口之間的交互傳輸。本文完成了基于C8051F040單片機控制的CAN與RS-232轉換的研究與設計,設計了C8051F040單片機對RS-232串口和CAN總線的控制,解決了CAN總線與RS-232接口數(shù)據(jù)通信速率以及通信幀格式不同的技術問題,實現(xiàn)了RS-232接口數(shù)據(jù)與CAN總線數(shù)據(jù)的相互傳輸。

1 概述

1. 1 CAN總線

Silicon Labs CAN的工作位速率可達1M位/秒,實際速率可能受CAN總線上所選擇的傳輸數(shù)據(jù)的物理層的限制。CAN處理器有32個消息對象,可以被配置為發(fā)送或接收數(shù)據(jù)。輸入數(shù)據(jù)、消息對象及其標識掩碼存儲在CAN消息RAM中。

標準CAN的標志符長度是11位,而擴展格式CAN的標志符長度可達29位。CAN協(xié)議2.0A版本規(guī)定CAN控制器必須有一個11位的標識符。而2.0B版本中規(guī)定,CAN控制器的標志符長度可以是11位或者29位。遵循CAN2.0B協(xié)議的CAN控制器可以發(fā)送和接收11位標識符的標準格式報

文或29位標識符的標準格式報文。如果禁止CAN2.0B,則CAN控制器只能發(fā)送和接收11位標識符的標準格式報文,而忽略擴展格式的報文結構,但不會出現(xiàn)錯誤。C8051F040所集成的CAN控制器為2.0B。

數(shù)據(jù)幀是攜帶數(shù)據(jù)由發(fā)送器至接收器的幀,是CAN的4種幀格式之一,這4種幀格式分別是數(shù)據(jù)幀、遠程幀、出錯幀和超載幀,其中數(shù)據(jù)幀結構如圖1所示。

CAN總線數(shù)據(jù)幀由7個不同的位場組成:幀起始(stsrt of frame)、仲裁場(arbitration frame)、控制場(control frame)、數(shù)據(jù)場(data frame)、CRC場(CRC frame)、應答場(ACK frame)和幀結尾(end of frame)。數(shù)據(jù)場的長度可以為0。

1)幀起始:標志數(shù)據(jù)幀的起始,僅由一個“顯性”位組成,只在總線空閑時才允許節(jié)點開始發(fā)送信號;2)仲裁場:標準格式幀與擴展格式幀的仲裁場格式不同。標準格式里,仲裁場由11位識別符和遠程發(fā)送請求位組成,識別符位為ID-28~ID-18。擴展格式里,仲裁場包括29位識別符、替代遠程請求位、識別符擴展位和遠程發(fā)送請求位。其識別符為ID-28~ID-0;3)控制場:由6個位構成,前2位為保留位,為顯性,后4位為數(shù)據(jù)長度碼,表示數(shù)據(jù)場中數(shù)據(jù)的字節(jié)數(shù),必須在0~8范圍內(nèi)變化;4)數(shù)據(jù)場:由被發(fā)送數(shù)據(jù)組成,數(shù)目為控制場中決定的0~8個字節(jié),第一個字節(jié)的最高位首先被發(fā)送;5)CRC場:包括CRC序列和CRC界定符;6)ACK場:長度為2位,包含應答間隙和應答界定符;7)幀結尾:由7個位“隱形”位組成,此期間無位填充。

1. 2 RS-232

RS-232是PC機與通信工業(yè)中應用最廣泛的一種串行接口,具有連線簡單、通訊距離長等優(yōu)點。同樣也有一些缺點,接口的信號電平值較高,易損壞接口電路的芯片,傳輸速率較低,傳輸距離有限等。RS-232被定義為在低速率串行通訊中增加通訊距離的單端標準。RS-232采取不平衡傳輸方式,即所謂單端通訊。UART通信可用查詢TI和RI或通過中斷來控制通信。UART有兩種中斷源:數(shù)據(jù)發(fā)送完畢時,TI置1;數(shù)據(jù)完整接受到時,RI置1。TI和RI中任何一個標志位置1,均能引發(fā)UART中斷。TI和RI中斷標志位需軟件清0。

2 系統(tǒng)硬件描述

Cygnal公司的51系列單片機C8051F040是集成在一塊芯片上的混合信號系統(tǒng)級單片機,在一個芯片內(nèi)集成了構成一個單片機數(shù)據(jù)采集或控制的智能節(jié)點所需要的幾乎所有模擬和數(shù)字外設以及其他功能部件,代表了目前8位單片機控制系統(tǒng)的發(fā)展方向。芯片上有1個12位多通道ADC,2個12位DAC,2個電壓比較器,1個電壓基準,1個32kB的FLASH存儲器,與MCS-51指令集完全兼容的高速CIP-51內(nèi)核,峰值速度可達25 MIPS,并且還有硬件實現(xiàn)的UART串行接口和完全支持CAN2.0A和CAN2.0B的CAN控制器。

控制器局域網(wǎng)(CAN2.0B)控制器,具有32個消息對象,每個消息對象有其自己的標識全速、非侵入式的在系統(tǒng)調(diào)試接口 (片內(nèi))。C8051 F040器件內(nèi)部有一個控制器局域網(wǎng)(CAN)控制器,使用CAN協(xié)議實現(xiàn)串行通信。該CAN控制器符合Bosch規(guī)范2.0A(基本CAN)和2.0B(全功能CAN),方便了CAN網(wǎng)絡通信設計。CAN控制器包含一個CAN核、消息RAM(獨立于C8051的RAM)、一個消息處理狀態(tài)機以及控制寄存器。CAN控制器可以工作在高達1M位/秒的位速率。Silicon Labs的CAN有32個消息對象,每個消息對象有其自己的標識掩碼,該標識掩碼用于對接收到的消息進行過濾。輸入數(shù)據(jù)、消息對象和標識掩碼存儲在CAN消息RAM中。與數(shù)據(jù)發(fā)送和接收過濾有關的所有協(xié)議處理均由CAN控制器完成,不需C8051 MCU干預。這就使得用于CAN通信的CPU帶寬最小。C8051通過特殊功能控制器(SFR)配置CAN控制器,讀取接收的數(shù)據(jù),寫入要發(fā)送的數(shù)據(jù)。

C8051F040的MCU內(nèi)部有兩個增強型全雙工UART、一個增強型SPI總線和SMBus/I2C。每種串行總線都完全用硬件實現(xiàn),都能向CIP-51產(chǎn)生中斷,因此需要很少的CPU干預。這些串行總線不“共享”定時器、中斷或端口I/O等資源,所以可以使用任何一個或同時使用多個。

CAN總線數(shù)據(jù)和RS-232串口數(shù)據(jù)的速率、數(shù)據(jù)格式都不同,為實現(xiàn)相互傳輸?shù)墓δ苄枨?,就需要RAM緩存。硬件結構圖如圖2所示。

3 軟件設計

系統(tǒng)采用Keil uVision4軟件編程,Keil uVision4是ARM公司推出軟件開發(fā)平臺,其編譯器、調(diào)試工具實現(xiàn)與ARM器件的完美匹配。程序由初始化和死循環(huán)兩部分構成。初始化完成對器件數(shù)據(jù)設置,循環(huán)完成數(shù)據(jù)在RS-232和CAN總線之間的雙向通信。

3. 1 初始化

初始化就是通過單片機向其片內(nèi)的各個寄存器寫入控制字的過程。void RS232_INI()函數(shù)設置UART為模式1,8位可變波特率通信。void CAN_INI()函數(shù)用來初始化CAN,總線接收、發(fā)送信道,并設置波特率。

3.2 RS-232轉CAN總線

RS-232傳輸1字節(jié),而CAN總線傳輸?shù)氖?字節(jié),這要求在通信過程中實現(xiàn)數(shù)據(jù)匹陪、格式匹配。該模塊采用,在串口接收中斷中,直接把接收到的串口數(shù)據(jù)存到8字節(jié)的緩存中,計數(shù)滿八位。則標志位置1,主函數(shù)中調(diào)用函數(shù)send_can1(),將數(shù)據(jù)發(fā)送到CAN總線。從而實現(xiàn)將數(shù)據(jù)從RS-232傳輸?shù)紺AN總線的功能。流程圖如圖3所示。

3.3 CAN總線轉RS-232

CAN總線數(shù)據(jù)發(fā)送到串口,原理相同,過程相反。CAN總線的數(shù)據(jù)接收也是在中斷中實現(xiàn),這樣實時性好。CAN總線的接收緩存中有數(shù)據(jù),則這8個字節(jié)的數(shù)據(jù)依次調(diào)用RS-232功能函數(shù)void RS232_PUTCHAR(),發(fā)送到串口。從而實現(xiàn)將數(shù)據(jù)從CAN總線傳輸?shù)絉S-232串口的功能。流程圖如圖4所示。

4 實驗檢測

為了驗證設計的正確性,文中使用Kvaser CanKing和SecureCRT軟件來測試。Kvaser CanKing用來接收、發(fā)送CAN總線數(shù)據(jù),SecureCRT用來接收、發(fā)送串口數(shù)據(jù),二者都有顯示功能。實驗結果如圖5所示,其證實了設計的正確性。

5 結束語

數(shù)據(jù)通信在嵌入式系統(tǒng)的功能中占據(jù)重要地位,串口通信與CAN總線相互通信都具有各自的重要作用,而兩者的交互通信也越來越重要,本文的設計功能明確、結構簡單、具有很強的通用性和實用性,并通過了測試驗證。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

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

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

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

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

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

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

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

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

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

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

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

關鍵字: BSP 信息技術
關閉
關閉