基于英飛凌的CAN總線智能測控節(jié)點(diǎn)的設(shè)計
DesignOfCANBusIntelligentNodeBasedOnINFINEON
LiSongHuYu-lan
(ShenyangLigongUniversity,Shenyang110168,China)
(沈陽理工大學(xué)信息科學(xué)與工程學(xué)院,遼寧沈陽110168)
摘要:提出了一種基于英飛凌微控制器XC164CS的CAN總線分布式智能測控節(jié)點(diǎn)的設(shè)計,給出了系統(tǒng)硬件框圖、軟件流程圖、電路原理圖,所設(shè)計節(jié)點(diǎn)實(shí)現(xiàn)方法簡單,外擴(kuò)器件少,結(jié)構(gòu)合理,可靠性高,且節(jié)點(diǎn)擴(kuò)展方便,已用于某工業(yè)現(xiàn)場,波特率為10Kbps。
關(guān)鍵詞:CAN總線;XC164CS;英飛凌微控制器;網(wǎng)絡(luò)節(jié)點(diǎn);CAN通信
中圖分類號:TP文獻(xiàn)標(biāo)識碼:A
Abstract:ControllerAreaNetwork(CAN)isakindofserialcommunicationnetworkthatsupportsthedistributedcontrol,andhascharacteristicsofhighcapabilityandhighreliability.PutforwarddesignofCANbusintelligentdatacollectnodewhichbasedonINFINEONsingle-chipXC164CS.Giventhesystemhardwareframediagram、programdesign、circuitprincipledrawing,Thedesignwassuitableforsomeindustryscene,BandRateequation10kbps.
Keywords:CANBus;INFINEON;XC164-8F20Micro-Controller;NetworkNode;CANCommunication
在工業(yè)現(xiàn)場,如何將采集到的數(shù)據(jù)及時安全地傳送給數(shù)據(jù)監(jiān)控與處理系統(tǒng)是工業(yè)控制系統(tǒng)首要解決的一個實(shí)際問題.對于這一實(shí)際問題通常采用現(xiàn)場總線技術(shù),控制器局域網(wǎng)(CAN)屬于總線的范疇,它是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò).CAN總線與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性、實(shí)時性和靈活性.由于CAN本身的特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車行業(yè),而擴(kuò)展到了機(jī)械工業(yè)、紡織機(jī)械、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械、家用電器及傳感器等領(lǐng)域發(fā)展,CAN總線已成為工業(yè)采集領(lǐng)域中首選的現(xiàn)場總線之一。
1CAN總線系統(tǒng)的組成模式
1.1CAN總線特點(diǎn)
(1)CAN采用多主方式工作,不分主從。
(2)CAN采用非破壞總線仲裁技術(shù),大大節(jié)省了總線沖突仲裁時間。尤其是在網(wǎng)絡(luò)負(fù)載很重的情況下,也不會出現(xiàn)網(wǎng)絡(luò)癱瘓情況。
(3)在速率5kpbs以下時,CAN的直接通信距離最遠(yuǎn)可達(dá)10km;在通信距離為40m以下時,CAN的通信速率最高可達(dá)1mbps;CAN上的節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動電路,目前可達(dá)110個。
(4)CAN總線數(shù)據(jù)段長度最多為8個字節(jié),因此可保證很短的傳輸時間,而且實(shí)時性強(qiáng),受干擾的概率低,CAN的每幀信息都有CRC校驗(yàn),具有極好的檢錯效果,能夠滿足工業(yè)領(lǐng)域中對一個工作點(diǎn)的控制命令或數(shù)據(jù)采集的要求。
(5)CAN總線節(jié)點(diǎn)在嚴(yán)重錯誤的情況下,可自動切斷與總線的聯(lián)系,以使總線上的其他操作不受影響。
1.2CAN總線系統(tǒng)的組成模式
CAN總線技術(shù)的控制系統(tǒng)一般采用總線式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其組成模式如圖1所示.主要由監(jiān)控站和若干智能測控節(jié)點(diǎn)構(gòu)成,上位監(jiān)控站選用PC機(jī),它是整個系統(tǒng)的中心,可實(shí)現(xiàn)強(qiáng)大的監(jiān)控、管理功能。CAN通信卡通過串口與PC機(jī)通訊,承擔(dān)上位機(jī)和CAN節(jié)點(diǎn)之間的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)。
圖1CAN總線系統(tǒng)結(jié)構(gòu)框圖
2基于英飛凌的CAN總線智能測控節(jié)點(diǎn)硬件設(shè)計
2.1英飛凌XC164CS的特點(diǎn)
性價比高是CAN總線智能測控節(jié)點(diǎn)設(shè)計力求的設(shè)計目標(biāo),所以在選用作為核心器件的控制器時選用片內(nèi)資源豐富的英飛凌XC164CS,XC164CS具有令人印象深刻的DSP性能和先進(jìn)的中斷處理,加上一種集成高效的外設(shè)集成高性能在片F(xiàn)LASH或ROM存儲器,這些使得XC164CS成為工業(yè)和汽車應(yīng)用設(shè)備的理想選擇。其靈活的智能PWM單元簡化了AC,DC或阻抗馬達(dá)的控制。高速、高分辨ADC處理復(fù)雜的模擬環(huán)境的快速和精確轉(zhuǎn)換。網(wǎng)絡(luò)化的方案完全可以采用高效的通信接口來解決,如具有自動網(wǎng)關(guān)功能的高速TwinCAN模塊。
2.2基于英飛凌的CAN總線智能測控節(jié)點(diǎn)的硬件結(jié)構(gòu)
CAN總線測控節(jié)點(diǎn)主要任務(wù)為數(shù)據(jù)采集、處理與CAN通信,其硬件結(jié)構(gòu)框圖如2所示.設(shè)計中,上位機(jī)通過CAN總線適配卡可與多個CAN總線智能數(shù)據(jù)測控節(jié)點(diǎn)進(jìn)行信息交換.CAN總線智能測控節(jié)點(diǎn)把采集到的現(xiàn)場信號,經(jīng)過預(yù)處理后,進(jìn)入MCU處理,由CAN收發(fā)器經(jīng)由總線與上位機(jī)進(jìn)行CAN協(xié)議的數(shù)據(jù)交換,上位機(jī)對檢測到的現(xiàn)場信號進(jìn)一步分析、處理或存儲,完成系統(tǒng)的在線檢測、計算機(jī)分析,處理完畢后,將數(shù)字量結(jié)果重新轉(zhuǎn)換為相應(yīng)的模擬量,用于驅(qū)動顯示儀表、記錄設(shè)備和反饋控制系統(tǒng),去執(zhí)行相應(yīng)的操作。
圖2CAN總線測控節(jié)點(diǎn)的硬件結(jié)構(gòu)框圖
3基于英飛凌的CAN總線智能測控節(jié)點(diǎn)軟件設(shè)計
軟件所實(shí)現(xiàn)的功能主要包括:采集數(shù)據(jù)的誤差校正、標(biāo)度換算、系統(tǒng)自身的調(diào)零、校準(zhǔn),系統(tǒng)的故障檢測、CAN協(xié)議轉(zhuǎn)換、CAN通訊等,軟件流程如圖3所示。
①上電初始化:包括A/D初始化,CAN控制器初始化,定時器初始化,中斷優(yōu)先級設(shè)置等。
②標(biāo)度換算:每一個數(shù)字量都和不同的物理量相對應(yīng),標(biāo)度換算就是把數(shù)字量變成物理量的過程,經(jīng)過換算的物理量是符合上、下位機(jī)通信協(xié)議的數(shù)字量。
③數(shù)字調(diào)零;數(shù)字調(diào)零手段主要是為了消除模擬開關(guān)、放大電路以及A/D轉(zhuǎn)換器本身的偏差,削弱各種隨時間和溫度變化的漂移的影響。
④非線性補(bǔ)償:輸入的數(shù)字量與對應(yīng)的物理量呈非線性關(guān)系,對輸入的數(shù)字量進(jìn)行線性化處理,本設(shè)計采用的線性差值法。
⑤數(shù)字濾波:數(shù)字濾波是通過簡單的計算或者判斷程序,對采樣信號進(jìn)行平滑處理,分離出有用的信號,消除或減少各種干擾和噪聲。本案將使用程序判斷濾波法、中值濾波法、算術(shù)平均濾波法、加權(quán)平均濾波法等。
⑥溫度補(bǔ)償:測試點(diǎn)的環(huán)境溫度將直接影響測量,需要對測量結(jié)果進(jìn)行溫度補(bǔ)償,首先要測出測量點(diǎn)的溫度,該溫度信號作為多路采樣開關(guān)采集信號的一路送入單片機(jī)。測溫元件的輸出經(jīng)放大及A/D轉(zhuǎn)換送到單片機(jī),單片機(jī)通過并行接口接收溫度數(shù)據(jù),并暫存溫度數(shù)據(jù)。信號采樣結(jié)束,單片機(jī)運(yùn)行溫度誤差補(bǔ)償程序,對輸入信號進(jìn)行溫度補(bǔ)償
⑦系統(tǒng)自檢:上電初始化后即進(jìn)行系統(tǒng)自檢,包括CPU自檢,外部存儲單元的自檢等。
⑧故障診斷:故障診斷將采用以下四種方法進(jìn)行力所能及的故障診斷,有以下四種方法:a.值域判定法b.時域判定法c.功能判定法d.邏輯判定法。
圖3軟件流程圖
4設(shè)計實(shí)例
4.1設(shè)計實(shí)例
在本設(shè)計中,測控節(jié)點(diǎn)可以采集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進(jìn)行輸入。5路脈沖量通過鑒相器處理后由CPU計數(shù)。SPI和SCI信號直接連接到MCU的SPI和SCI控制器。硬件電路只需要在XC164CS的TD1(CAN1的發(fā)送器輸出腳)與RD1(CAN1的接收器輸入腳)外接CAN總線驅(qū)動器即可.圖4中CAN總線驅(qū)動器使用的是PCA82C250T,它是連接CAN控制器和物理總線之間的接口。為了進(jìn)一步提高CAN總線節(jié)點(diǎn)的抗干擾能力,XC164CS的TD1和RD1分別通過高速光耦6N137與PCA82C250T的TXD和RXD相連.光耦部分電路所采用的兩個電源必須完全隔離。為了提高網(wǎng)絡(luò)節(jié)點(diǎn)的拓?fù)淠芰?CAN總線兩端需要接有120Ω的抑制反射的終端電阻。為了減小現(xiàn)場對節(jié)點(diǎn)的干擾,采用屏蔽雙絞線。本設(shè)計中,XC164既作為主控制器,還作為CAN網(wǎng)絡(luò)的節(jié)點(diǎn)控制器,與網(wǎng)絡(luò)中的其他節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)傳輸,設(shè)計原理圖如圖4所示。
A/D轉(zhuǎn)換部分采用的自動掃描連續(xù)轉(zhuǎn)換模式,對選中的通道組進(jìn)行重復(fù)轉(zhuǎn)換。每次轉(zhuǎn)換結(jié)束后進(jìn)入中斷進(jìn)行數(shù)據(jù)讀取。
CAN通信開啟接收和中斷,當(dāng)接收到主機(jī)命令的時候,進(jìn)入接收中斷,發(fā)送被選擇的報文對象。當(dāng)發(fā)送錯誤時進(jìn)入發(fā)送中斷,進(jìn)行重發(fā)相關(guān)的報文對象。
通用定時器模塊啟用鑒相器模式。通過JTAG接口在線程序下載、調(diào)試。
圖4設(shè)計原理圖
4.2試驗(yàn)結(jié)果
在實(shí)際應(yīng)用中,設(shè)有8個CAN總線智能測控節(jié)點(diǎn),波特率為10K,通信距離約為2km,每個CAN總線智能測控節(jié)點(diǎn)根據(jù)制定的協(xié)議以大約200ms的時間間隔發(fā)送采集的數(shù)據(jù),采集了溫度、濕度、位置等多個信號,通過軟硬件數(shù)據(jù)處理方法,大大提高了采集數(shù)據(jù)的精度,總線的負(fù)載遠(yuǎn)低于可允許的范圍。根據(jù)對上傳上位機(jī)的數(shù)據(jù)驗(yàn)證,數(shù)據(jù)可靠及時。可實(shí)現(xiàn)主機(jī)的遠(yuǎn)程控制,對節(jié)點(diǎn)系統(tǒng)進(jìn)行實(shí)時檢測及故障診斷,進(jìn)一步提高了在關(guān)鍵環(huán)境中使用的可靠性。
5結(jié)論
基于英飛凌的CAN總線智能測控節(jié)點(diǎn)外圍電路少,成本低,接口豐富,可實(shí)現(xiàn)輸入多種信號,一般無需加額外擴(kuò)展接口即可滿足工業(yè)需求??蓪?shí)現(xiàn)遠(yuǎn)距離數(shù)據(jù)通信,抗干擾能力強(qiáng),在復(fù)雜工業(yè)環(huán)境下,仍然可以保持正常工作。網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目最多可達(dá)到128,可以擴(kuò)大上位機(jī)的監(jiān)控范圍。也可實(shí)現(xiàn)對電機(jī)的實(shí)時控制,做到檢測和控制一體?;谟w凌的CAN總線智能測控節(jié)點(diǎn)的體積小,可在很多對體積有特殊要求的環(huán)境中應(yīng)用。
參考文獻(xiàn):
[1]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社.1996
[2]饒?jiān)茲?現(xiàn)場總線CAN原理與應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社.2003.6
[3]胡偉,季曉衡.單片機(jī)C程序設(shè)計及應(yīng)用實(shí)例.北京:人民郵電出版社.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