[align=center]Design Of CAN Bus Intelligent Node Based On INFINEON
Li Song Hu Yu-lan
(Shenyang Ligong University ,Shenyang 110168 ,China)
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院, 遼寧 沈陽 110168)[/align]
摘 要: 提出了一種基于英飛凌微控制器XC164CS的CAN總線分布式智能測控節(jié)點的設(shè)計,給出了系統(tǒng)硬件框圖、軟件流程圖、電路原理圖,所設(shè)計節(jié)點實現(xiàn)方法簡單,外擴器件少,結(jié)構(gòu)合理,可靠性高,且節(jié)點擴展方便,已用于某工業(yè)現(xiàn)場,波特率為10Kbps。
關(guān)鍵詞:CAN總線;XC164CS; 英飛凌微控制器;網(wǎng)絡(luò)節(jié)點;CAN通信
中圖分類號:TP 文獻標識碼: A
Abstract: Controller Area Network(CAN)is a kind of serial communication network that supports the distributed control, and has characteristics of high capability and high reliability. Put forward design of CAN bus intelligent data collect node which based on INFINEON single-chip XC164CS.Given the system hardware frame diagram、program design、circuit principle drawing, The design was suitable for some industry scene,Band Rate equation 10 kbps.
Keywords: CAN Bus;INFINEON;XC164-8F20 Micro-Controller; Network Node;CAN Communication
在工業(yè)現(xiàn)場,如何將采集到的數(shù)據(jù)及時安全地傳送給數(shù)據(jù)監(jiān)控與處理系統(tǒng)是工業(yè)控制系統(tǒng)首要解決的一個實際問題.對于這一實際問題通常采用現(xiàn)場總線技術(shù),控制器局域網(wǎng)(CAN)屬于總線的范疇,它是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò).CAN 總線與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性.由于CAN本身的特點,其應(yīng)用范圍目前已不再局限于汽車行業(yè),而擴展到了機械工業(yè)、紡織機械、農(nóng)用機械、機器人、數(shù)控機床、醫(yī)療器械、家用電器及傳感器等領(lǐng)域發(fā)展,CAN總線已成為工業(yè)采集領(lǐng)域中首選的現(xiàn)場總線之一。
1 CAN總線系統(tǒng)的組成模式
1.1 CAN總線特點
(1)CAN采用多主方式工作,不分主從。
(2)CAN采用非破壞總線仲裁技術(shù),大大節(jié)省了總線沖突仲裁時間。尤其是在網(wǎng)絡(luò)負載很重的情況下,也不會出現(xiàn)網(wǎng)絡(luò)癱瘓情況。
(3)在速率5kpbs以下時,CAN的直接通信距離最遠可達10km;在通信距離為 40m 以下時,CAN的通信速率最高可達1mbps;CAN上的節(jié)點數(shù)主要取決于總線驅(qū)動電路,目前可達110個。
(4)CAN總線數(shù)據(jù)段長度最多為8個字節(jié),因此可保證很短的傳輸時間,而且實時性強,受干擾的概率低,CAN的每幀信息都有CRC校驗,具有極好的檢錯效果,能夠滿足工業(yè)領(lǐng)域中對一個工作點的控制命令或數(shù)據(jù)采集的要求。
(5)CAN總線節(jié)點在嚴重錯誤的情況下,可自動切斷與總線的聯(lián)系,以使總線上的其他操作不受影響。
1.2 CAN總線系統(tǒng)的組成模式
CAN總線技術(shù)的控制系統(tǒng)一般采用總線式網(wǎng)絡(luò)拓撲結(jié)構(gòu),其組成模式如圖1所示.主要由監(jiān)控站和若干智能測控節(jié)點構(gòu)成,上位監(jiān)控站選用PC機,它是整個系統(tǒng)的中心,可實現(xiàn)強大的監(jiān)控、管理功能。CAN通信卡通過串口與PC機通訊,承擔上位機和 CAN 節(jié)點之間的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)。
[align=center]
圖 1 CAN總線系統(tǒng)結(jié)構(gòu)框圖[/align]
2 基于英飛凌的CAN總線智能測控節(jié)點硬件設(shè)計
2.1 英飛凌XC164CS的特點
性價比高是CAN總線智能測控節(jié)點設(shè)計力求的設(shè)計目標,所以在選用作為核心器件的控制器時選用片內(nèi)資源豐富的英飛凌XC164CS,XC164CS具有令人印象深刻的DSP性能和先進的中斷處理,加上一種集成高效的外設(shè)集成高性能在片F(xiàn)LASH或 ROM存儲器,這些使得XC164CS成為工業(yè)和汽車應(yīng)用設(shè)備的理想選擇。其靈活的智能PWM單元簡化了AC, DC或阻抗馬達的控制。高速、高分辨ADC處理復(fù)雜的模擬環(huán)境的快速和精確轉(zhuǎn)換。網(wǎng)絡(luò)化的方案完全可以采用高效的通信接口來解決,如具有自動網(wǎng)關(guān)功能的高速TwinCAN模塊。
2.2 基于英飛凌的CAN總線智能測控節(jié)點的硬件結(jié)構(gòu)
CAN總線測控節(jié)點主要任務(wù)為數(shù)據(jù)采集、處理與CAN通信,其硬件結(jié)構(gòu)框圖如2所 示.設(shè)計中,上位機通過CAN總線適配卡可與多個CAN總線智能數(shù)據(jù)測控節(jié)點進行信息交換.CAN 總線智能測控節(jié)點把采集到的現(xiàn)場信號,經(jīng)過預(yù)處理后,進入MCU處理,由CAN收發(fā)器經(jīng)由總線與上位機進行 CAN 協(xié)議的數(shù)據(jù)交換,上位機對檢測到的現(xiàn)場信號進一步分析、處理或存儲,完成系統(tǒng)的在線檢測、計算機分析,處理完畢后,將數(shù)字量結(jié)果重新轉(zhuǎn)換為相應(yīng)的模擬量,用于驅(qū)動顯示儀表、記錄設(shè)備和反饋控制系統(tǒng),去執(zhí)行相應(yīng)的操作。
[align=center]
圖2 CAN總線測控節(jié)點的硬件結(jié)構(gòu)框圖[/align]
3 基于英飛凌的CAN總線智能測控節(jié)點軟件設(shè)計
軟件所實現(xiàn)的功能主要包括:采集數(shù)據(jù)的誤差校正、標度換算、系統(tǒng)自身的調(diào)零、校準,系統(tǒng)的故障檢測、CAN協(xié)議轉(zhuǎn)換、CAN通訊等,軟件流程如圖3所示。
①上電初始化:包括A/D初始化,CAN控制器初始化,定時器初始化,中斷優(yōu)先級設(shè)置等。
②標度換算:每一個數(shù)字量都和不同的物理量相對應(yīng),標度換算就是把數(shù)字量變成物理量的過程,經(jīng)過換算的物理量是符合上、下位機通信協(xié)議的數(shù)字量。
③數(shù)字調(diào)零;數(shù)字調(diào)零手段主要是為了消除模擬開關(guān)、放大電路以及 A/D轉(zhuǎn)換器本身的偏差,削弱各種隨時間和溫度變化的漂移的影響 。
④非線性補償:輸入的數(shù)字量與對應(yīng)的物理量呈非線性關(guān)系,對輸入的數(shù)字量進行線性化處理 ,本設(shè)計采用的線性差值法。
⑤數(shù)字濾波:數(shù)字濾波是通過簡單的計算或者判斷程序,對采樣信號進行平滑處理,分離出有用的信號,消除或減少各種干擾和噪聲。本案將使用程序判斷濾波法、中值濾波法、算術(shù)平均濾波法、加權(quán)平均濾波法等 。
⑥溫度補償:測試點的環(huán)境溫度將直接影響測量,需要對測量結(jié)果進行溫度補償,首先要測出測量點的溫度,該溫度信號作為多路采樣開關(guān)采集信號的一路送入單片機。測溫元件的輸出經(jīng)放大及A/D轉(zhuǎn)換送到單片機,單片機通過并行接口接收溫度數(shù)據(jù),并暫存溫度數(shù)據(jù)。信號采樣結(jié)束,單片機運行溫度誤差補償程序,對輸入信號進行溫度補償
⑦系統(tǒng)自檢:上電初始化后即進行系統(tǒng)自檢,包括CPU自檢,外部存儲單元的自檢等。
⑧故障診斷:故障診斷將采用以下四種方法進行力所能及的故障診斷,有以下四種方法: a.值域判定法b.時域判定法c.功能判定法d.邏輯判定法。
[align=center]
圖3 軟件流程圖[/align]
4 設(shè)計實例
4.1設(shè)計實例
在本設(shè)計中,測控節(jié)點可以采集14路模擬量、8路開關(guān)量、2路SPI、2路SCI、5路脈沖量。14路模擬量先經(jīng)信號調(diào)理,轉(zhuǎn)換為 0~2.5V的直流電壓,再由 1∶1的隔離放大器送XC164的10位ADC.10位ADC的工作模式選擇與數(shù)據(jù)轉(zhuǎn)換操作由XC164 的內(nèi)部寄存器 ADDC 和 ADDR 的編程控制完成。8路開關(guān)量由 XC164的 8個GPIO進行輸入。5路脈沖量通過鑒相器處理后由CPU計數(shù)。SPI和SCI信號直接連接到MCU的SPI和SCI控制器。硬件電路只需要在XC164CS的TD1(CAN1的發(fā)送器輸出腳)與RD1(CAN1 的接收器輸入腳)外接CAN總線驅(qū)動器即可.圖4中CAN總線驅(qū)動器使用的是PCA82C250T,它是連接CAN控制器和物理總線之間的接口。為了進一步提高 CAN 總線節(jié)點的抗干擾能力, XC164CS的 TD1 和RD1分別通過高速光耦6N137與PCA82C250T的TXD和RXD 相連.光耦部分電路所采用的兩個電源必須完全隔離。為了提高網(wǎng)絡(luò)節(jié)點的拓撲能力,CAN總線兩端需要接有120Ω的抑制反射的終端電阻。為了減小現(xiàn)場對節(jié)點的干擾,采用屏蔽雙絞線。本設(shè)計中,XC164 既作為主控制器,還作為CAN網(wǎng)絡(luò)的節(jié)點控制器,與網(wǎng)絡(luò)中的其他節(jié)點實現(xiàn)數(shù)據(jù)傳輸,設(shè)計原理圖如圖4所示。
A/D轉(zhuǎn)換部分采用的自動掃描連續(xù)轉(zhuǎn)換模式,對選中的通道組進行重復(fù)轉(zhuǎn)換。每次轉(zhuǎn)換結(jié)束后進入中斷進行數(shù)據(jù)讀取。
CAN通信開啟接收和中斷,當接收到主機命令的時候,進入接收中斷,發(fā)送被選擇的報文對象。當發(fā)送錯誤時進入發(fā)送中斷,進行重發(fā)相關(guān)的報文對象。
通用定時器模塊啟用鑒相器模式。通過JTAG接口在線程序下載、調(diào)試。
[align=center]
圖4 設(shè)計原理圖[/align]
4.2 試驗結(jié)果
在實際應(yīng)用中,設(shè)有8個CAN總線智能測控節(jié)點,波特率為10K,通信距離約為2km,每個CAN總線智能測控節(jié)點根據(jù)制定的協(xié)議以大約200ms的時間間隔發(fā)送采集的數(shù)據(jù),采集了溫度、濕度、位置等多個信號,通過軟硬件數(shù)據(jù)處理方法,大大提高了采集數(shù)據(jù)的精度,總線的負載遠低于可允許的范圍。根據(jù)對上傳上位機的數(shù)據(jù)驗證,數(shù)據(jù)可靠及時??蓪崿F(xiàn)主機的遠程控制,對節(jié)點系統(tǒng)進行實時檢測及故障診斷,進一步提高了在關(guān)鍵環(huán)境中使用的可靠性。
5 結(jié)論
基于英飛凌的CAN總線智能測控節(jié)點外圍電路少,成本低,接口豐富,可實現(xiàn)輸入多種信號,一般無需加額外擴展接口即可滿足工業(yè)需求。可實現(xiàn)遠距離數(shù)據(jù)通信,抗干擾能力強,在復(fù)雜工業(yè)環(huán)境下,仍然可以保持正常工作。網(wǎng)絡(luò)節(jié)點數(shù)目最多可達到128,可以擴大上位機的監(jiān)控范圍。也可實現(xiàn)對電機的實時控制,做到檢測和控制一體?;谟w凌的CAN總線智能測控節(jié)點的體積小,可在很多對體積有特殊要求的環(huán)境中應(yīng)用。
參考文獻:
[1] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社.1996
[2] 饒云濤等.現(xiàn)場總線CAN原理與應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社.2003.6
[3] 胡偉,季曉衡.單片機C程序設(shè)計及應(yīng)用實例.北京:人民郵電出版社.2003.7
[4] 楊小平,牛秦洲,周德儉.智能測量系統(tǒng)中的數(shù)據(jù)處理新方法[J].桂林工學(xué)院學(xué)報,2003,23(4):394- 396.
[5] 陸利忠.測控系統(tǒng)中采樣數(shù)據(jù)的預(yù)處理[J]. 測控技術(shù),2000,19(8):15-16.
遼寧省沈陽市渾南新區(qū)沈陽理工大學(xué)
電子郵箱:yimianduwu@163.com 電話:13840480140
郵編:110168