《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 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亚洲国产精品_日韩亚洲一区二区
激情av一区二区| 国产一区二区毛片| 亚洲欧美成人网| 99精品福利视频| 亚洲欧洲日韩综合二区| 国产精品美女www爽爽爽| 母乳一区在线观看| 久久精品国产69国产精品亚洲| 夜夜嗨av一区二区三区免费区| 欧美在线亚洲一区| 亚洲一区二区三区在线| 亚洲乱码久久| 在线看国产日韩| 国产曰批免费观看久久久| 国产精品a久久久久| 欧美电影免费观看高清完整版| 久久精品国产清高在天天线| 亚洲综合第一页| 一本色道久久综合亚洲精品按摩| 亚洲第一区在线| 欧美在线免费观看亚洲| 亚洲一区二区三区777| 日韩亚洲精品视频| 91久久线看在观草草青青| 在线成人激情黄色| 国产主播一区二区三区| 国产精品美女999| 欧美日韩在线一二三| 欧美3dxxxxhd| 欧美18av| 欧美成人精品| 久热re这里精品视频在线6| 欧美在线亚洲在线| 午夜精品福利视频| 亚洲自拍偷拍麻豆| 亚洲男人第一av网站| 亚洲在线免费视频| 亚洲一区高清| 亚洲欧美激情诱惑| 亚洲欧美日韩另类| 午夜亚洲性色福利视频| 午夜视频一区| 午夜精品久久久久久久久久久久| 一区二区三区高清视频在线观看| 亚洲精品1234| 亚洲高清自拍| 亚洲电影网站| 亚洲高清不卡av| 亚洲高清视频在线| 在线观看日韩| 国产精品都在这里| 国产精品一二一区| 国产欧美日韩亚洲精品| 国产农村妇女毛片精品久久莱园子 | 日韩视频在线观看| 在线精品视频一区二区三四| 国产视频一区二区在线观看| 欧美日本一区二区三区| 欧美日本高清视频| 欧美刺激午夜性久久久久久久| 欧美激情欧美狂野欧美精品| 欧美国产综合视频| 欧美日韩亚洲一区在线观看| 国产精品看片资源| 国产日韩欧美91| 红桃视频一区| 亚洲欧洲日本在线| 亚洲视频一区二区在线观看 | 欧美劲爆第一页| 欧美日韩亚洲综合| 国产精品影片在线观看| 好吊视频一区二区三区四区| 亚洲第一综合天堂另类专| 亚洲免费av观看| 午夜视频久久久| 亚洲人成免费| 亚洲欧美国产日韩中文字幕| 久久精品在线| 欧美精品一区三区| 国产精品久久久99| 国内精品久久久| 亚洲美女色禁图| 性欧美xxxx大乳国产app| 亚洲黄色成人| 中文在线不卡| 久久婷婷国产综合国色天香| 欧美激情91| 国产欧美日本一区二区三区| 亚洲国产成人精品久久| 亚洲小视频在线观看| 亚洲国产精品成人| 亚洲一区二区三区免费在线观看| 久久九九国产| 欧美日韩一区在线观看| 国产精品视频九色porn| 亚洲国产精品第一区二区三区| 国产精品99久久久久久宅男| 午夜视频一区在线观看| 91久久精品美女| 亚洲欧美国产日韩天堂区| 久久精品国产综合| 欧美日韩直播| 国产一区在线免费观看| 亚洲黄色在线看| 午夜精品视频在线观看| 夜夜嗨一区二区三区| 欧美一站二站| 欧美精品一区在线播放| 国产午夜精品美女毛片视频| 红桃视频一区| 亚洲女同在线| 亚洲精品美女久久久久| 久久精品二区三区| 国产精品多人| 亚洲欧洲日产国产综合网| 欧美亚洲一区| 日韩一级免费| 久久精品观看| 国产精品一区二区三区乱码| 极品少妇一区二区| 亚洲制服丝袜在线| 亚洲精品免费网站| 欧美一区午夜精品| 欧美久久久久久蜜桃| 国产一区二区三区黄| 亚洲天堂男人| 中日韩高清电影网| 久久夜色精品国产欧美乱| 国产精品久久久久毛片软件| 亚洲国产婷婷| 亚洲国产成人91精品| 久久成人综合视频| 欧美日韩国产精品一区| 国内精品视频一区| 亚洲免费在线观看| 99热在线精品观看| 欧美国产第二页| 国产亚洲欧洲一区高清在线观看| 亚洲视频一区在线| 亚洲自拍偷拍网址| 欧美揉bbbbb揉bbbbb| 国产日韩视频| 中日韩视频在线观看| 国产精品99久久久久久久久| 久久嫩草精品久久久久| 国产精品看片资源| 亚洲三级免费电影| 91久久国产自产拍夜夜嗨| 欧美亚洲综合久久| 国产精品视频| 夜夜爽99久久国产综合精品女不卡| 久久精品视频免费播放| 久久精品国产免费观看| 国产精品久久久久7777婷婷| 亚洲高清不卡在线| 久久精品道一区二区三区| 亚洲精品久久| 久久国产精品久久精品国产| 国产欧美午夜| 欧美一区二区三区免费在线看| 久久爱www久久做| 国产亚洲一级高清| 久久精精品视频| 欧美成人免费全部观看天天性色| 亚洲国产高清在线| 一本久道综合久久精品| 久久精品免费电影| 伊甸园精品99久久久久久| 91久久精品日日躁夜夜躁欧美 | 欧美日韩国产亚洲一区| 亚洲人成在线观看网站高清| 日韩网站免费观看| 欧美三级日韩三级国产三级| 在线一区二区三区四区| 午夜视频精品| 精品成人国产| 亚洲六月丁香色婷婷综合久久| 欧美老女人xx| 亚洲视频你懂的| 久久se精品一区二区| 尤物九九久久国产精品的分类| 亚洲毛片在线免费观看| 欧美午夜精品电影| 欧美一级理论性理论a| 久久精品一二三区| 狠狠色丁香婷婷综合| 日韩亚洲欧美高清| 国产精品区一区| 亚洲女女女同性video| 久热re这里精品视频在线6| 欧美成人在线影院| 亚洲国产日韩一区二区| 一区二区免费在线视频| 欧美三级网址| 亚洲香蕉在线观看| 裸体素人女欧美日韩| 亚洲毛片av在线| 欧美影院久久久| 亚洲激情影视| 欧美伊人久久久久久久久影院|