控制器局域網(wǎng)系統(tǒng)CAN總線的實現(xiàn)
控制器局域網(wǎng)總線(CAN,Controller Area Network)是一種用于實時應(yīng)用的串行通訊協(xié)議總線,它可以使用雙絞線來傳輸信號,是世界上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN協(xié)議用于汽車中各種不同元件之間的通信,以此取代昂貴而笨重的配電線束。該協(xié)議的健壯性使其用途延伸到其他自動化和工業(yè)應(yīng)用。CAN協(xié)議的特性包括完整性的串行數(shù)據(jù)通訊、提供實時支持、傳輸速率高達1Mb/s、同時具有11位的尋址以及檢錯能力。
隨著CAN總線在各個行業(yè)和領(lǐng)域的廣泛應(yīng)用,對其的通信格式標(biāo)準(zhǔn)化也提出了更嚴(yán)格的要求。1991年CAN總線技術(shù)規(guī)范(Version2.0)制定并發(fā)布。該技術(shù)規(guī)范共包括A和B兩個部分。其中2.0A給出了CAN報文標(biāo)準(zhǔn)格式,而2.0B給出了標(biāo)準(zhǔn)的和擴展的兩種格式。美國的汽車工程學(xué)會SAE在2000年提出了J1939協(xié)議,此后該協(xié)議成為了貨車和客車中控制器局域網(wǎng)的通用標(biāo)準(zhǔn)。CAN總線技術(shù)也在不斷發(fā)展。傳統(tǒng)的CAN是基于事件觸發(fā)的,信息傳輸時間的不確定性和優(yōu)先級反轉(zhuǎn)是它固有的缺陷。當(dāng)總線上傳輸消息密度較小時,這些缺陷對系統(tǒng)的實時性影響較小;但隨著在總線上傳輸消息密度的增加,系統(tǒng)實時性能會急劇下降。為了滿足汽車控制對實時性和傳輸消息密度不斷增長的需要,改善CAN總線的實時性能非常必要。于是,傳統(tǒng)CAN與時間觸發(fā)機制相結(jié)合產(chǎn)生了TTCAN(Time-Triggered CAN),ISO11898-4己包含了TTCAN。 TTCAN總線和傳統(tǒng)CAN總線系統(tǒng)的區(qū)別是:總線上不同的消息定義了不同的時間槽(Timer Slot)。
電子送經(jīng)卷取系統(tǒng)是紡織工藝流程的一個重要環(huán)節(jié),其控制性能的優(yōu)劣直接影響著工藝過程及織機的效率。然而,通信又是該系統(tǒng)的關(guān)鍵技術(shù),使得電子送經(jīng)卷取系統(tǒng)通信的設(shè)計受到國內(nèi)外紡織公司(德國的百格拉,意大利的舒美特等公司)的高度重視,提出了多種設(shè)計方案。然而,中國用戶仍然面臨著劍桿織機送經(jīng)和卷取系統(tǒng)的價格昂貴、操作復(fù)雜,數(shù)據(jù)傳輸效率低等問題。
CAN(控制器局域網(wǎng))總線是一種有效支持分布式控制和實時控制的串行通信網(wǎng)絡(luò),與其它通訊相比,其數(shù)據(jù)通信具有突出的靈活性和可靠性。ARM控制器可以滿足一般的工業(yè)控制的需要,其具有減少系統(tǒng)硬件設(shè)計的復(fù)雜度和性價比高等優(yōu)點而得到廣泛應(yīng)用。
1 送經(jīng)卷取系統(tǒng)的總體設(shè)計
根據(jù)技術(shù)及經(jīng)濟需求,本設(shè)計選取ARM7-LPC2194為主控制器,作為CAN網(wǎng)絡(luò)節(jié)點控制器,(其中LPC2194內(nèi)部集成有四路CAN控制器而不必外接CAN控制器),應(yīng)用CAN總線技術(shù)和接口電路,實現(xiàn)了節(jié)點間的高效數(shù)據(jù)交換和傳輸。系統(tǒng)總體框圖如圖1所示。

2 系統(tǒng)的硬件設(shè)計
2.1 系統(tǒng)CAN總線的實現(xiàn)
送經(jīng)卷取系統(tǒng)主要由內(nèi)部集成有四路CAN控制器的ARM7-LPC2194芯片、光電隔離器TLP2631、CAN收發(fā)器PCA82C250及送經(jīng)卷取驅(qū)動器等元件組成,其結(jié)構(gòu)如圖2所示。

本設(shè)計分別將協(xié)議控制器通過串行數(shù)據(jù)輸出線TX和串行數(shù)據(jù)輸入線RX連接到光電隔離器TLP2631的3管腳和7管腳,實現(xiàn)了光電隔離。利用CAN收發(fā)器。PCA82C250將從光電隔離器TLP2631輸出的差動的總線信號轉(zhuǎn)換成邏輯信號電平并在RxD輸出,接收到的串行數(shù)據(jù)通過與總線電纜相連的差動發(fā)送和接收總線終端CANH和CANL將數(shù)據(jù)送到總線協(xié)議控制器譯碼,完成了普通電平到顯、隱性電平的傳輸。CAN總線獲取顯、隱性電平后,再經(jīng)過PCA82C250和光電耦合器TLP2631將數(shù)據(jù)傳輸給送經(jīng)驅(qū)動器、卷取驅(qū)動器的CAN接收端口,從而實現(xiàn)了基于CAN總線的數(shù)據(jù)傳輸。
2.2 系統(tǒng)抗干擾的設(shè)計
信號數(shù)據(jù)傳輸過程中,存在著擾動,為此本設(shè)計采取以下措施來克服干擾的影響:
1)為了滿足光電隔離的要求,本設(shè)計在協(xié)議控制器和CAN收發(fā)器之間加入了TLP2631光電隔離器,有效地抑制了傳輸線中由于耦合電容、電感造成的干擾,實現(xiàn)了不同電平的轉(zhuǎn)換。
2)為了匹配數(shù)據(jù)總線的阻抗和提高數(shù)據(jù)傳輸?shù)目垢蓴_能力,在CAN總線終端的兩端加有兩個120 Ω總線阻抗匹配電阻。若不接這兩個電阻,有時甚至無法通信。采用屏蔽雙絞線以減少現(xiàn)場環(huán)境對結(jié)點的干擾。
3 系統(tǒng)的軟件設(shè)計
送經(jīng)卷取系統(tǒng)的軟件設(shè)計是實現(xiàn)數(shù)據(jù)高效通信的關(guān)鍵,本文的軟件部分主要由數(shù)據(jù)采集程序和CAN總線通信程序設(shè)計兩部分組成。其中數(shù)據(jù)采集程序可參考文獻,本文重點論述CAN通訊程序的設(shè)計。
3.1 開發(fā)環(huán)境
軟件開發(fā)環(huán)境,選用ADS1.2集成開發(fā)環(huán)境,ADS是ARM微控制器集成開發(fā)工具。ADS1.2支持ARM10之前所有ARM系列,支持軟件調(diào)試及JTAG硬件仿真調(diào)試,支持匯編語言、C/C++源程序;具有編譯效率高、系統(tǒng)庫功能強等特點;可以在WINDOWS 98、WINDOWS XP、WINDOWS 2000上運行。
控制器局域網(wǎng)
1. ?基本定義與開發(fā)背景? ?12CAN總線全稱控制器局域網(wǎng)(Controller Area Network),是德國博世公司為解決汽車電子系統(tǒng)中復(fù)雜線束問題而設(shè)計的串行通信協(xié)議。其核心目標(biāo)是減少線束數(shù)量,實現(xiàn)多設(shè)備間高效、可靠的數(shù)據(jù)交換。
2. ?核心特點?
?多主通信?:所有節(jié)點平等,可隨時主動發(fā)送數(shù)據(jù),無需主從區(qū)分。
?非破壞性仲裁?:通過優(yōu)先級(ID值越小優(yōu)先級越高)解決總線沖突,高優(yōu)先級節(jié)點可繼續(xù)傳輸。
?高可靠性?:具備錯誤檢測(CRC校驗)、自動重發(fā)、故障節(jié)點隔離等功能。
?靈活拓撲?:支持雙絞線、同軸電纜或光纖,成本低且抗干擾強。
3. ?技術(shù)參數(shù)?
?通信速率與距離?:最高1Mbps(40m內(nèi)),遠距離時速率降低(如5Kbps下可達10km)。
?節(jié)點容量?:理論支持無限節(jié)點,實際可達110個。
?幀結(jié)構(gòu)?:短幀設(shè)計(8字節(jié)有效數(shù)據(jù)),包含數(shù)據(jù)幀、遠程幀、錯誤幀等5種類型。
4. ?應(yīng)用領(lǐng)域?
?汽車電子?:如發(fā)動機控制、車身網(wǎng)絡(luò)等,是現(xiàn)代車輛的標(biāo)準(zhǔn)協(xié)議。
?工業(yè)控制?:分布式系統(tǒng)(如PLC、傳感器網(wǎng)絡(luò))。
?智能交通?:交通信號控制、車載設(shè)備互聯(lián)等。
5. ?協(xié)議標(biāo)準(zhǔn)與物理層?
?國際標(biāo)準(zhǔn)?:ISO 11898(高速CAN)和ISO 11519(低速容錯CAN)。
?電平邏輯?:差分信號(CAN_H與CAN_L的電位差),顯性電平(邏輯0)優(yōu)先于隱性電平(邏輯1)。
?總結(jié)?:CAN總線以其高實時性、可靠性和靈活性成為分布式控制系統(tǒng)的核心通信方案,尤其在汽車電子和工業(yè)自動化領(lǐng)域占據(jù)主導(dǎo)地位。