国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機的CAN總線與串口轉(zhuǎn)換電路的設計

2016-08-09 10:38張國志齊曉娜
中國新通信 2016年12期
關鍵詞:CAN總線串口

張國志 齊曉娜

【摘要】 介紹了一種基于C8051F502單片機的CAN總線和串口轉(zhuǎn)換電路,介紹了電路的基本器件選型,并對軟件的設計思路與流程進行了詳細描述。通過測試,證明此種轉(zhuǎn)換方式高速可靠,可廣泛應用。

【關鍵詞】 C8051F502 CAN總線 串口

Based on MCU of CAN bus and serial port conversion circuit design

Zhang Guo-zhi Qi Xiao-na(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

Abstract: Introduced a C8051F502 microcontroller based on the CAN bus and serial port conversion circuit, this paper introduces the basic components of the circuit selection, and the design idea and process of software were described in detail. Through test that this kind of transformation way high-speed and reliable, and can be widely used.

Keywords: C8051F502:CAN Bus; serial port

一、引言

CAN總線[1] 是國際上應用最廣的現(xiàn)場總線之一,適用于大數(shù)據(jù)量短距離或者長距離小數(shù)據(jù)量通信,實時性要求比較高的現(xiàn)場中使用。目前CAN總線已經(jīng)廣泛應用于工業(yè)控制領域。在工業(yè)控制領域還有一種應用的相當廣泛的通信方式即串口通信,串口有多種通信標準和接口形式,如RS-232、RS-422、RS-485等,各種形式接口的管腳數(shù)量和定義也不盡相同。不論哪種形式,均用來進行設備通信。相比較CAN總線方式,串口通信只能實現(xiàn)點對點通信,多個設備需要互相通信時需要有專門設備實現(xiàn)協(xié)議轉(zhuǎn)換,而CAN總線則不存在此問題,總線上的所有設備均能互相通信,因此設計一種CAN總線到串口轉(zhuǎn)換電路,可將沒有CAN總線接口的串口設備轉(zhuǎn)換為CAN總線,減少設備數(shù)量,降低走線復雜程度。

二、硬件設計

本電路由單片機模塊、CAN接口模塊、串口轉(zhuǎn)換模塊組成,模塊框圖如圖1所示:

單片機模塊選用Silicon Labs公司的C8051F502單片機[2] ,該單片機是完全集成的混合信號片上系統(tǒng)型MCU,其集成了CAN控制器和串行接口,因此只需要很少的外圍電路就可實現(xiàn)系統(tǒng)功能。該單片機具有看門狗,能夠防止程序跑飛,提高系統(tǒng)健壯性。

CAN接口模塊選用TJA1040,將C8051F502單片機的CAN信號轉(zhuǎn)換為差分信號以便接入系統(tǒng)總線當中。為提高抗干擾能力,使用光電隔離芯片(6N137)進行信號隔離 。

串口轉(zhuǎn)換芯片選用Max3160,通過進行端口配置,即可方便的實現(xiàn)RS232,RS422和RS485電平的轉(zhuǎn)換。

三、系統(tǒng)軟件設計

系統(tǒng)軟件主要劃分為系統(tǒng)初始化模塊、CAN接口收發(fā)模塊、串口收發(fā)模塊和協(xié)議轉(zhuǎn)換模塊。程序編寫使用了 C8051F502單片機提供的Silicon Laboratories IDE開發(fā)套件,集成KEIL的C語言編譯器進行編譯。程序編寫完成后使用下載器直接進行程序加載與在線調(diào)試。

3.1系統(tǒng)初始化

系統(tǒng)上電后首先進行初始化,單片機初始化流程如圖2所示:

系統(tǒng)初始化包括看門狗設置、時鐘源設置、輸入輸出端口設置、串口初始化、CAN初始化等。具體如下:

a)看門狗初始化:允許看門狗,設置復位時間;

b)時鐘初始化:在本系統(tǒng)中將內(nèi)部晶振作為系統(tǒng)時鐘(24MHz);

c)輸入輸出端口初始化:C8051F502的端口可配置為推挽式和開漏式兩種,在本系統(tǒng)中設置為推挽方式,當配置為推挽方式工作時向端口寫邏輯“0”,引腳被拉倒數(shù)字地;

d)串口初始化:設置串行口工作方式、設置波特率,校驗方式,起始位,停止位,允許響應中斷;

e)CAN初始化:設置CAN總線波特率,發(fā)送和接收消息對象初始化;

f)定時器初始化:設置定時器0為10ms定時,程序中所有的定時任務均由定時器0完成;

g)完成初始化,開啟中斷。

3.2 CAN總線接收和發(fā)送處理

CAN總線的接收處理采用中斷方式,中斷處理流程如圖2所示。

3.3串口接收和發(fā)送處理

串口接收處理同樣采用中斷方式,中斷處理流程如圖3所示。

3.4協(xié)議轉(zhuǎn)換處理

協(xié)議轉(zhuǎn)換模塊主要是實現(xiàn)串口和CAN口的數(shù)據(jù)協(xié)議重新封裝。在CAN接收模塊中,接收到的數(shù)據(jù)幀是由發(fā)送者ID和具體協(xié)議內(nèi)容組成,協(xié)議轉(zhuǎn)換模塊將ID和具體內(nèi)容進行打包,組成一幀數(shù)據(jù)交由串口發(fā)送模塊進行發(fā)送。在串口接收模塊中,根據(jù)串口收到的數(shù)據(jù)內(nèi)容,將數(shù)據(jù)組成CAN標準幀,并通過CAN總線發(fā)送的指定ID上去。

四、結(jié)語

本文使用了帶CAN控制器的C8051F502單片機,搭建了一款CAN總線與串口轉(zhuǎn)換電路,并編寫了相應的程序。經(jīng)過實際測試,可實現(xiàn)串口與CAN總線的數(shù)據(jù)互通,且總線頻率在250K是無丟幀現(xiàn)象。此設計電路簡單,抗干擾能力強,故可廣泛應用于工業(yè)控制領域。

參 考 文 獻

[1] 鄔寬明. CAN總線原理和應用系統(tǒng)設計[M]. 北京航空航天大學出版社, 1996.

[2] 蔡華鋒, 廖冬初, 潘健. C8051F040中CAN控制器的應用[J]. 單片機與嵌入式系統(tǒng)應用. 2005(1): 55-58.

猜你喜歡
CAN總線串口
51單片機與PC機串口通信的仿真與實現(xiàn)
MCS—51單片機中的多串口通訊技術的應用
論網(wǎng)絡通信技術
基于嵌入式的汽車輔助制動系統(tǒng)研究
CAN總線通信技術在電梯監(jiān)控系統(tǒng)中的應用
基于CANoe的J1939協(xié)議在ECU通信中的應用
基于VB的RS-485 串口通信方法
全國計算機等級考試機房準備工作探討
微機串口的測試診斷
基于VC串口通信的實現(xiàn)
安义县| 延庆县| 定襄县| 肇源县| 永吉县| 墨竹工卡县| 平定县| 江永县| 合肥市| 福泉市| 宁化县| 龙山县| 东莞市| 股票| 肃南| 莲花县| 兴山县| 平江县| 广州市| 招远市| 浙江省| 柏乡县| 噶尔县| 邓州市| 余干县| 丽水市| 竹北市| 英德市| 河西区| 红安县| 青铜峡市| 顺昌县| 安仁县| 乌鲁木齐县| 星座| 阳西县| 昌吉市| 科技| 迭部县| 万州区| 临颍县|