基于AVR處理器at90can128的CAN總線應(yīng)用
1 前 言
本文引用地址:http://www.ex-cimer.com/article/195099.htm現(xiàn)場總線是當(dāng)前工業(yè)總線領(lǐng)域中最活躍的一個領(lǐng)域, CAN 總線是工業(yè)數(shù)據(jù)總線領(lǐng)域重要的現(xiàn)場總線之一。CAN 是Contro ller Area N etw ork的縮寫, 是國際標(biāo)準(zhǔn)化的串行通信協(xié)議。在當(dāng)今的汽車產(chǎn)業(yè)中, 出于對安全性、舒適性、方便性、低公害、低成本的要求, 各種各樣的電子控制系統(tǒng)被開發(fā)出來。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同, 由多條總線構(gòu)成的情況很多, 線束的數(shù)量也隨之增加。為減少線束的數(shù)量、通過多個LAN進行大量數(shù)據(jù)的高速通信, 1986年德國電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。而今CAN 在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。CAN 的初衷是為了解決汽車?yán)锒喾N復(fù)雜數(shù)據(jù)的通信, 后來證實在很多工業(yè)領(lǐng)域也能應(yīng)用自如。
2 CAN 總線特性及當(dāng)今狀況
CAN 總線與其他通訊網(wǎng)絡(luò)的不同之處在于: 報文傳送中不包括目標(biāo)地址, 以全網(wǎng)廣播為基礎(chǔ), 各接收站根據(jù)報文中反映數(shù)據(jù)性質(zhì)的標(biāo)識符過濾報文;強化了對數(shù)據(jù)安全性的關(guān)注, 滿足控制系統(tǒng)較高的數(shù)據(jù)需求。它具有如下顯著特征: 極高的總線利用率、低成本、高速的數(shù)據(jù)傳輸速率、遠距離傳輸、可靠的錯誤處理和檢錯機制、可根據(jù)報文的ID決定接收或屏蔽該報文, 節(jié)點在錯誤嚴(yán)重的情況下具有自動退出總線的功能等等。
CAN 總線所需完善的通信協(xié)議可由CAN 控制器芯片和接口芯片實現(xiàn), 大大降低了系統(tǒng)的開發(fā)難度、組成成本、縮短了開發(fā)周期, 其高性能高可靠性以及靈活的設(shè)計受到人們的重視, 應(yīng)用也越來越廣泛。目前比較流行的控制器芯片是飛利浦公司的SJA1000和收發(fā)器芯片TJA1050。
由于近幾年來CAN 總線技術(shù)逐步在我國推廣開來, CAN 總線技術(shù)的獨特特點 傳輸數(shù)據(jù)的可靠性和實時性, 已獲得國際自動化控制領(lǐng)域的認(rèn)可,其應(yīng)用前景十分光明。國內(nèi)推動CAN 總線技術(shù)進步的應(yīng)用事例不斷擴展, 積極促進了我國自動化技術(shù)的進步。由于CAN 總線本身的特點, 其應(yīng)用范圍己經(jīng)擴展到過程工業(yè)、機械工業(yè)、數(shù)控機床、醫(yī)療機械、家用電器及傳感器等領(lǐng)域, 而在電梯控制系統(tǒng)中, 主板需要接收不同樓層呼梯、轎廂里呼梯、調(diào)整電梯運行參數(shù)等多路信號, 因此CAN 總線的優(yōu)勢明顯。如圖1所示。
圖1 CAN總線應(yīng)用拓?fù)浣Y(jié)構(gòu)
3 集成CAN 控制器的ARM 微處理器
CAN 總線基于一組嚴(yán)格的協(xié)議, 一般來說在主CPU 外接一個專用CAN 控制器以實現(xiàn)。由于近年來微處理器的迅速發(fā)展, 出現(xiàn)了很多功能強大的集成CAN 控制器的CPU, 使得在CAN 總線應(yīng)用上又簡便了一些。而在價格上, 集成CAN 總線的微處理器和一般處理器加上專用CAN 控制器芯片的價格相當(dāng), 所以, 集成CAN 總線的微處理器必然成為今后CAN 總線應(yīng)用的趨勢。NXP 公司生產(chǎn)的ARM結(jié)構(gòu)LPC2294就是其中一款流行的帶CAN 總線控制器的CPU。它是基于一個支持實時仿真和跟蹤的32位ARM7TDM I- S CPU 的微控制器, 并帶有256k字節(jié)嵌入的高速Flash 存儲器。極低的功耗、多個32位定時器、8路10位ADC、4路CAN以及多達9個外部中斷使它們特別適用于工業(yè)控制, 因此,LPC2294也可作為電梯控制系統(tǒng)的主控制器。
4 集成CAN 控制器的高端8位AVR
上文提到, 電梯控制系統(tǒng)需要處理多路信息, 而且它們可能是具有不同傳輸速率的, 因此需要使用不同通道的CAN 總線控制器。對于控制系統(tǒng), 必須具有可操作性, 考慮到要減輕主CPU 的負(fù)擔(dān), 因此,設(shè)計一個簡單的操作系統(tǒng)對主系統(tǒng)進行操作, 而數(shù)據(jù)的交換方式就是采用CAN 總線傳輸, 此文中稱這個操作系統(tǒng)為副系統(tǒng)。副系統(tǒng)相對比較簡單, 其功能主要包括: ! 和主板進行信息交換; ? 具有按鍵供輸入; # 具有顯示信息的顯示器。針對功能的需要和程序的體積, 選用了ATMEL公司近年力推的8位AVR控制器at90can128。
評論