《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > CAN-485協(xié)議控制器在列車控制網(wǎng)絡中的應用
CAN-485協(xié)議控制器在列車控制網(wǎng)絡中的應用
來源:微型機與應用2013年第15期
錢存元,施招東
(同濟大學 鐵道與城市軌道交通研究院,上海 201804)
摘要: 設計了一種適用于列車控制網(wǎng)絡的CAN-485協(xié)議控制器來實現(xiàn)RS-485網(wǎng)絡與CAN網(wǎng)絡互聯(lián),對于研究CAN總線在列車控制網(wǎng)絡中的應用具有一定的價值。
Abstract:
Key words :

 CAN總線是一種雙向、串行、多節(jié)點網(wǎng)絡,被廣泛應用于各種分布式和實時控制系統(tǒng)中,被認為是一種很有發(fā)展前景的現(xiàn)場總線。

 列車控制網(wǎng)絡就是一種分布式計算機系統(tǒng),它通過車輛總線來傳遞控制、監(jiān)測及故障診斷等信息。由于列車控制網(wǎng)絡對于安全性的要求極高,為排除單一故障影響系統(tǒng)功能的可能性,對于控制系統(tǒng)的重要部分要求采取冗余設計[1]。CAN總線是一種支持構成多主結構或冗余結構的現(xiàn)場總線,對于實現(xiàn)提供多機備份、提高系統(tǒng)可靠性、簡化系統(tǒng)結構和降低安裝難度具有十分積極的作用。這種特性正好符合了列車上對于監(jiān)測控制系統(tǒng)布線精簡的要求,非常適合應用于列車控制網(wǎng)絡的設計。
 與RS-485總線相比,CAN總線有其自身不可替代的優(yōu)勢。CAN總線發(fā)送、回收電平都需相互校驗,而且每一幀都有響應位,再加上硬化的CRC校驗,使得CAN總線在強噪聲環(huán)境下較RS-485總線的安全性更高。CAN總線系統(tǒng)還具有良好的故障隔離能力,在任意時刻CAN_H的電平只能處于高電平和懸浮狀態(tài),而CAN_L端的電平則只能是低電平和懸浮狀態(tài)。基于這種電平特性,當多個節(jié)點向總線發(fā)送數(shù)據(jù)時,不會呈現(xiàn)RS-485總線那樣的低電平短路狀態(tài)。此外,當總線節(jié)點在發(fā)生嚴重錯誤時能夠及時關閉與總線的連接,即當有節(jié)點損壞時,不會導致整個總線停止工作,保證了列車通信的安全性,降低了故障風險。
 但是在實際應用中,由于RS-485是一種相對經(jīng)濟的、傳輸速率高、傳輸距離遠和寬共模范圍的總線技術,仍廣泛地應用于工業(yè)現(xiàn)場。由于列車上大多數(shù)的PLC或微控制器,特別是中小型PLC還不具備與CAN直接通信的能力,但一般的PLC或微控制器都具有RS-232/RS-485串行通信口,因此開發(fā)一款適用于列車通信接口的CAN-485協(xié)議控制器對于搭建CAN通信網(wǎng)絡顯得極為重要。控制網(wǎng)絡示意圖如圖1所示。

1 硬件電路設計
 傳統(tǒng)的CAN-485協(xié)議控制器設計一般采用SJA1000和51單片機來實現(xiàn),但是由于其硬件電路較為復雜,不利于系統(tǒng)集成化。本文介紹的協(xié)議控制器以PIC18F258為核心處理芯片,該芯片自帶CAN收發(fā)接口,是一款高性能的PIC系列單片,有著先進的精簡指令集構架、增強型內核、32級堆棧,片內具有Flash程序存儲器、EEPROM數(shù)據(jù)存儲器、自編程功能、在線調試器(ICD)和多種內部、外部中斷源[2],應用十分廣泛。與傳統(tǒng)的設計方式不同,它并不需要通過訪問外部設備的方式來對CAN模塊進行控制,而只需對芯片內部的寄存器進行操作即可,降低了設計難度。
 此外,為減少分立元件的數(shù)量,精簡電路設計,系統(tǒng)采用了ZLG公司帶隔離的485模塊RSM485C和高速CAN隔離收發(fā)器CTM1050。RSM485C和CTM1050模塊在內部集成了高速光耦合器6N137及DC隔離模塊,并具有極高的電磁抗干擾性(EMI)。不僅如此,還在CAN總線和RS485總線上添加了差分電阻,使總線的抗干擾能力更強,保證了數(shù)據(jù)傳輸質量,非常適用于列車中的高電磁噪聲環(huán)境。在數(shù)據(jù)操作方面,設計者只需要在程序編寫過程中操作TXD和RXD兩根線即可。這樣的設計使電路達到最簡,極大地提高了硬件電路的可靠性。硬件電路圖如圖2所示。

 PIC18F258的RA、RB、RC均可作為I/O口進行使用,其中RB5/PGM、RB6/PGC、RB7/PGD可復用為ICSP下載端口,可直接通過連接下載器對程序進行燒寫和在線調試。RB2/CANTX、RB3/CANRX復用為CAN數(shù)據(jù)收發(fā)線,直接與CAN收發(fā)器連接進行通信。
考慮到實際應用的需要和調試的便利性,為了表征系統(tǒng)的通信狀況,在硬件設計中,將RA0、RA1、RA2這3個I/O口分別與2個LED指示燈和1個蜂鳴器相連,用于系統(tǒng)的故障監(jiān)測。LED燈用于指示當前系統(tǒng)的通信狀況,而蜂鳴器則用于報警,具體的監(jiān)測邏輯可在程序中根據(jù)需要進行修改。
2 程序設計
 程序的設計采用Microchip公司提供的開發(fā)工具Mplab,用C語言進行編寫,并選用了Microchip公司的PICkit 3編程器/調試器對程序進行在線調試和下載。PICkit 3是一款支持硬件和軟件開發(fā)的調試器系統(tǒng),用于基于在線串行編程ICSP(In-Circuit Serial Programming)和增強型在線串行編程雙線串行接口的Microchip PIC單片機(MCU)和dsPIC數(shù)字信號控制器DSC(Digital Signal Controller)[3]。
為了提高可靠性和可理解性,軟件設計采用了模塊結構,主要包括初始化函數(shù)、CAN接收中斷服務程序、USART接收中斷服務程序以及主程序。
2.1 初始化程序
 初始化程序用于設置串口初始化、CAN模塊通信波特率、工作方式、發(fā)送優(yōu)先級、接收郵箱、發(fā)送郵箱及對應的接收過濾器和接收屏蔽器等。初始化程序框圖如圖3所示。

 首先,對串口進行初始化設置。由于串口的初始化較為簡單,主要是對中斷優(yōu)先級、波特率等進行設置, 在此不作過多的敘述,串口初始化的程序如下所示:
void SCIInit()
{
SPBRG=51;
/*8 MHz晶振波特率為9 600=Fosc/16(X+1)*/
TXSTA=0x04;
/*選擇異步高速方式傳輸8位數(shù)據(jù)*/
RCSTA=0x80;/*允許串口工作使能*/
TRISC=(TRISC|0x80)&0xBF;
/*設置RX/RC7為輸入,TX/RC6為輸出*/
PIE1=PIE1|0x20;/*允許串行通信接收中斷使能*/
PIE1=PIE1|0x10;/*允許串行通信發(fā)送中斷使能*/
IPR1bits.TXIP=0;
/*設置SCI發(fā)送中斷為低優(yōu)先級中斷*/
IPR1bits.RCIP=0;
/*設置SCI接收中斷為低優(yōu)先級中斷*/
RCSTAbits.CREN=1;/*允許串口接收數(shù)據(jù)*/
}
 PIC18F258系列CAN模塊有6種操作方式:配置方式、關閉方式、正常工作方式、監(jiān)聽方式、自檢方式及錯誤識別方式。在實際應用時,首先使單片機進入配置方式,CAN模塊的初始化也只能在配置模式下進行。配置完成后使單片機進入正常方式,也就是標準的工作方式。在該方式下,模塊會主動地監(jiān)控所有總線信息和產生應答位、錯誤幀等。這也是可以在CAN總線上發(fā)送信息的唯一方式。在系統(tǒng)的開發(fā)測試過程中,配置完CAN模塊參數(shù)后,可以使其進入自檢方式。自檢方式允許信息不發(fā)到CAN總線,而在發(fā)送緩沖器和接收緩沖器之間內部進行信息發(fā)送與接收。在該方式下,ACK位被忽略,單片機可以接收來自自身的信息,就像來自其他節(jié)點一樣[4]。
2.2 接收中斷程序
 考慮到更好地處理實時數(shù)據(jù)、實時響應控制命令,CAN報文和USART數(shù)據(jù)均采用中斷控制的接收方法。PIC18系列單片機提供了可配置的高低中斷優(yōu)先級的方式,由于CAN通信的傳輸速率較快,為避免長時間占用總線,提高傳輸速率,可將CAN接收中斷設置為高優(yōu)先級中斷。
 中斷函數(shù)的處理邏輯十分簡單,若產生CAN接收中斷,則將CAN通信數(shù)據(jù)傳遞給串口通信數(shù)據(jù)緩存區(qū);反之,若產生串口接收中斷,則將串口通信數(shù)據(jù)傳遞給CAN模塊接收數(shù)據(jù)緩存區(qū)。經(jīng)過這樣的設計,可實現(xiàn)多節(jié)點網(wǎng)絡的雙向通信,提高了系統(tǒng)的互操作性。在對系統(tǒng)進行監(jiān)控時,既可以及時獲取各個節(jié)點的工作狀態(tài)信息,又可以通過上位機對各節(jié)點進行網(wǎng)絡配置和發(fā)送指令。
2.3 主函數(shù)

 


 主函數(shù)的作用主要是對CAN模塊、串口進行初始化,并不斷地掃描CAN和串口的中斷標志位。若經(jīng)查詢得知產生了CAN接收中斷或串口接收中斷,則在發(fā)送數(shù)據(jù)之前對接收到的數(shù)據(jù)進行相應的處理,通過對數(shù)據(jù)的一系列處理,使得在上位機上可以直觀地了解到各節(jié)點的運行狀況。程序的整體流程圖如圖4所示。

3 系統(tǒng)測試
 在軟硬件搭建完成后,對系統(tǒng)進行測試,系統(tǒng)的測試共分為兩個部分。
 第一部分是利用PIC單片機CAN模塊的自檢模式,實現(xiàn)單一CAN-485協(xié)議控制器的自通信,即并不要求CAN數(shù)據(jù)對外傳輸,而是將數(shù)據(jù)收回,發(fā)送到上位機端,用于檢測單一模塊的功能是否正常。
第二部分是組建RS-232→RS-485→CAN→CAN→RS-485→RS-232通信網(wǎng)絡,用于實現(xiàn)雙機通信,充分驗證了CAN-485協(xié)議控制器的雙向數(shù)據(jù)傳輸能力。測試結果如圖5所示。

 至此,系統(tǒng)的測試基本完成,若對于系統(tǒng)的應用有進一步的要求,只需對程序作相應的修改,并測試驗證即可。由測試結果可知,CAN-485協(xié)議控制器的設計是可行的。
CAN總線技術的優(yōu)越性,使其在列車控制網(wǎng)絡方面的應用逐步得到推廣。在測試過程中,借助串口調試助手來發(fā)送和接收數(shù)據(jù),并將CAN模塊設定為自檢模式,驗證了本協(xié)議控制器的可靠性。在正常的工作模式下,組建的多主結構實現(xiàn)了RS-485網(wǎng)絡與CAN總線網(wǎng)絡的互聯(lián)。實踐證明,本協(xié)議控制器的轉換速率高、誤碼率低、抗干擾能力強、電路精簡、占用空間小,非常適用于搭建列車控制網(wǎng)絡系統(tǒng)。
參考文獻
[1] 陳帥.CAN總線在列車通信網(wǎng)絡系統(tǒng)中的應用研究[J].黑龍江科技信息,2009(12):67.
[2] 王義.CAN總線單片機PIC18F258在汽車電子控制單元中的應用[J].貴州師范大學(自然科學版),2010,28(1):117-120.
[3] PI18F258英文手冊[Z].Microchip Technology Inc, 2003.
[4] 劉和平,劉釗,鄭群英,等.PIC18Fxxx單片機程序設計及應用[M].北京:北京航空航天大學出版社,2005.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久中精品2020中文| 99这里有精品| 99香蕉国产精品偷在线观看| 欧美精品一区三区| 亚洲一区二区免费视频| 亚洲欧美成人一区二区在线电影 | 亚洲国产精品久久久久秋霞不卡| 老巨人导航500精品| 99亚洲一区二区| 亚洲国产毛片完整版| 最新中文字幕一区二区三区| 欧美日韩精选| 久久精品视频一| 亚洲久久视频| 亚洲欧美在线aaa| 日韩视频精品在线| 香蕉久久夜色精品| 国内精品久久久| 欧美理论视频| 久久av一区二区三区| 先锋影音国产精品| 亚洲你懂的在线视频| 亚洲欧美日韩高清| 亚洲欧美日韩在线| 欧美亚洲三级| 欧美影院成人| 99精品视频免费观看视频| 亚洲国产精品一区二区尤物区 | 99在线|亚洲一区二区| 亚洲美女精品久久| 中国亚洲黄色| 亚洲精品免费在线观看| 亚洲欧洲99久久| 午夜久久tv| 亚洲女性裸体视频| 亚洲欧美日韩系列| 小黄鸭精品密入口导航| 亚洲欧美视频在线观看| 久久精品国产96久久久香蕉| 夜夜狂射影院欧美极品| 国产亚洲精品bt天堂精选| 欧美日本高清视频| 欧美午夜激情小视频| 亚洲一区二区综合| 91久久在线播放| 欧美一区二区久久久| 久久精品理论片| 亚洲看片网站| 午夜视频精品| 麻豆成人精品| 久久天天躁狠狠躁夜夜av| 亚洲天堂免费观看| 午夜精品理论片| 亚洲一级在线观看| 欧美中文字幕不卡| 欧美国产日本高清在线| 久久精品国产免费看久久精品| 亚洲天堂免费观看| 久久精品国产成人| 欧美激情日韩| 国产欧美精品在线播放| 国产精品久久婷婷六月丁香| 欧美日韩精品免费看| 国产欧美日本在线| 亚洲人成在线观看网站高清| 亚洲愉拍自拍另类高清精品| 亚洲午夜精品一区二区| 99国产精品久久久久久久久久 | 日韩一级二级三级| 久久er精品视频| 欧美日韩色婷婷| 欧美日本网站| 国产一区二区无遮挡| 国产一区二区三区自拍 | 亚洲国产经典视频| 欧美一区=区| 日韩视频在线永久播放| 欧美一区二区福利在线| 亚洲欧美国产高清| 亚洲欧美变态国产另类| 久久色在线播放| 国产精品久久9| 国产精品嫩草99av在线| 影音先锋久久| 在线免费观看日韩欧美| 经典三级久久| 亚洲夫妻自拍| 亚洲欧美文学| 亚洲一区视频| 欧美多人爱爱视频网站| 欧美精品亚洲一区二区在线播放| 国产日本欧美视频| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 中文精品在线| 亚洲视频欧美在线| 亚洲精品永久免费| 久久资源在线| 国产亚洲欧美一级| 亚洲一区久久| 亚洲视频在线观看免费| 欧美激情一区二区| 亚洲电影免费在线| 久久精品一区二区三区中文字幕| 欧美一区二区三区成人| 欧美午夜性色大片在线观看| 亚洲国产专区校园欧美| 亚洲精品国产无天堂网2021| 99re66热这里只有精品3直播| 久久精品欧美| 久久综合九色综合欧美就去吻| 国产欧美日本一区视频| 亚洲在线观看视频网站| 亚洲免费视频网站| 国产精品高清在线| 亚洲视频碰碰| 午夜在线成人av| 国产精品午夜春色av| 国产综合av| 欧美亚洲一区在线| 欧美一区免费视频| 国产伦精品一区二区三区视频孕妇| 国产午夜久久| 午夜精品久久久久久久蜜桃app| 亚洲欧美日韩在线高清直播| 国产精品扒开腿做爽爽爽视频 | 欧美在线啊v| 久久久精品国产免费观看同学| 欧美另类69精品久久久久9999| 一区二区三区高清在线观看| 亚洲国产精品电影| 久久精品视频一| 狠狠久久亚洲欧美| 日韩视频在线永久播放| 午夜精品免费| 久久成人18免费网站| 国产日韩精品综合网站| 欧美一二三视频| 亚洲韩国青草视频| 亚洲国产精品久久久久| 欧美在线综合视频| 国产一区二区三区免费在线观看| 午夜久久美女| 久久久99国产精品免费| 国内久久视频| 99成人精品| 国产精品久久久久999| 午夜精彩视频在线观看不卡 | 国产在线欧美| 亚洲国内自拍| 欧美日韩高清在线| 亚洲一区精品在线| 久久色中文字幕| 亚洲精品中文字幕在线| 亚洲在线视频| 国产真实精品久久二三区| 亚洲黄一区二区三区| 欧美日韩成人在线| 亚洲免费在线精品一区| 久久久精品国产免费观看同学| 亚洲国产二区| 午夜亚洲福利在线老司机| 精品粉嫩aⅴ一区二区三区四区| 99香蕉国产精品偷在线观看| 国产精品入口福利| 亚洲国产精品一区二区第四页av | 99精品99久久久久久宅男| 国产精品高精视频免费| 欧美在线视频观看免费网站| 亚洲第一在线视频| 欧美理论视频| 欧美在线观看一区| 欧美日韩国产一中文字不卡| 小黄鸭精品aⅴ导航网站入口| 欧美人与禽性xxxxx杂性| 中文亚洲免费| 欧美 亚欧 日韩视频在线| 国产精品视频一区二区三区| 亚洲成人资源| 久久夜色精品一区| 亚洲精品在线观看免费| 欧美一级专区| 亚洲七七久久综合桃花剧情介绍| 羞羞漫画18久久大片| 亚洲精品在线免费| 久久久综合香蕉尹人综合网| 日韩亚洲欧美成人| 久久在线免费| 亚洲视频在线观看视频| 免费观看欧美在线视频的网站| 一区二区三区高清在线| 一区二区三区日韩| 国产一区高清视频| 亚洲一区欧美| 亚洲国产激情| 久久久青草婷婷精品综合日韩 | 久久精品首页| 国产精品一区久久| 一本久道久久综合中文字幕| 韩日精品视频一区| 性色av一区二区三区|