摘 要:網(wǎng)絡控制是客車技術發(fā)展的趨勢??蛙嚲W(wǎng)絡控制系統(tǒng)設計過程中需要對系統(tǒng)層與節(jié)點層的一些關鍵問題進行研究,以助于提高網(wǎng)絡控制的性能。文中對控制其局域網(wǎng)CAN的相關概念,如CAN協(xié)議、幀格式、CAN控制器操作模式等進行辨析;對與系統(tǒng)結(jié)構設計有關的幀格式選取、標識符分配、網(wǎng)絡結(jié)構與實時性等進行了研究,并提供了一般分析方法與原則;對節(jié)點硬件設計中的通信器件與傳輸介質(zhì)選取進行了分析,并探討了控制策略在軟件設計中的實現(xiàn)。
關鍵詞:客車;CAN;網(wǎng)絡控制
1 相關概念辨析
1.1 CAN1.2與CAN2.0
CAN1.2與CAN2.0[1]是CAN技術規(guī)范的兩個不同的版本,CAN2.0兼容CAN1.2。
1.2 CAN2.0A與CAN2.0B
CAN2.0包括A部分和B部分,即CAN2.0A與CAN2.0B。其中,CAN2.0A是按CAN1.2規(guī)范定義的CAN報文格式的說明,規(guī)定CAN控制器必須有一個11位的標識符;CAN2.0B是對CAN報文的標準格式和擴展格式的說明,CAN控制器的標識符長度可以是11位或29位。遵循CAN2.0B協(xié)議的CAN控制器可以發(fā)送和接收11位標識符的標準幀或29位標識符的擴展幀。如果禁止CAN2.0B,則CAN 控制器只能發(fā)送和接收11位標識符的標準幀,而忽略擴展格式的報文結(jié)構,但不會出現(xiàn)錯誤。
1.3 標準幀與擴展幀
CAN2.0B有兩種不同的幀格式,不同之處為仲裁域的長度不同:具有11 位標識符的幀為標準幀,具有29位標識符的幀為擴展幀,兩種幀格式如圖1所示。
標準幀理論上最多可以標識211(2048)個數(shù)據(jù)類型,由于協(xié)議規(guī)定標識符最高7位不能同時全是隱性位,所以最多可以標識211-24(2032)個數(shù)據(jù)類型。擴展幀使用29位標識符,最多可標識5億多個數(shù)據(jù)類型。
圖1 CAN標準幀與擴展幀格式
1.4 BasicCAN與PeliCAN
BasicCAN和PeliCAN是Philips公司生產(chǎn)的獨立CAN控制器的2個不同操作模式。BasicCAN模式是上電后默認的操作模式,它能夠傳輸標準幀格式的報文。PeliCAN模式是新的操作模式,它能夠處理所有CAN2.0B規(guī)范的幀類型(標準幀/擴展幀),而且還具有一些支持錯誤分析的增強功能。在CAN控制器中,不同操作模式的寄存器配置和參數(shù)設置方法也是不一樣的。
2 影響網(wǎng)絡系統(tǒng)設計的主要因素
2.1 標準幀與擴展幀的選擇
采用CAN2.0B傳輸報文時,需對標準幀和擴展幀進行選擇。從延遲的角度分析,它用于表示網(wǎng)絡響應速度,延遲越少,響應越快,性能越好。CAN最高位速率可達1Mbps,此時每位的傳輸時間是1μs。總線競爭獲勝的標準格式報文在傳輸不被中斷的情況下,長度為最大值的報文總線訪問時間只有111μs,加填充位為134μs;擴展幀格式最大長度報文的總線訪問時間為131μs,加填充位為159μs。從總線吞吐量分析,它在數(shù)值上等于網(wǎng)絡或信道在單位時間內(nèi)成功傳輸?shù)目傂畔⒘?,單位為bps。標準格式信息幀的長度為47+8*DLC,數(shù)據(jù)域在一幀報文中所占比率為(8*DLC)/(47+8*DLC),在1Mbps位速率時的總線吞吐量為(8*DLC)/(47+8*DLC)*1Mbps。擴展格式信息幀的長度為67+8*DLC,數(shù)據(jù)域在一幀報文中所占比率為(8*DLC)/(67+8*DLC),在1Mbps位速率時的總線吞吐量為(8*DLC)/(67+8*DLC)*1Mbps。當數(shù)據(jù)域長度為8字節(jié)時,若不考慮填充位,則標準幀的總線吞吐量為577Kbps,而擴展幀的總線吞吐量為488Kbps。
從以上分析可見,雖然擴展幀格式可以表示的數(shù)據(jù)類型比標準幀格式多得多,但在總線訪問時間和總線吞吐量方面,標準幀格式明顯優(yōu)于擴展幀格式,所以在滿足節(jié)點數(shù)量要求的條件下應采用標準幀格式。
2.2 標識符分配
CAN只提供與物理層和數(shù)據(jù)鏈路層相關的協(xié)議,并沒有制定與特定應用相關的應用層的內(nèi)容。因此,根據(jù)具體應用的特點,在總線協(xié)議的基礎上定義詳細的標識符分配及網(wǎng)絡配置管理的具體方式是開發(fā)基于CAN的客車網(wǎng)絡控制系統(tǒng)的前提。標識符分配可以通過兩種方式來實現(xiàn),一是用戶自定義,二是采用CAN的高層協(xié)議標準,如SAEJ1939、CANOpen等。無論采用哪種方式,都必須保證與安全性相關的高實時性的信息能夠獲得高優(yōu)先級。如SAEJ1939中,信息優(yōu)先級順序為控制參數(shù)、驅(qū)動狀態(tài)參數(shù)、驅(qū)動系控制、驅(qū)動系配置參數(shù)、信息參數(shù)、信息狀態(tài)參數(shù)等。
2.3 網(wǎng)絡結(jié)構設計
隨著客車電子控制單元的增多和信息通訊性能要求的不同,單總線網(wǎng)絡結(jié)構引發(fā)網(wǎng)絡通訊負載大、通信效率低、實時性能差和通信距離—網(wǎng)絡性能矛盾突出等問題。因此,一般采用多網(wǎng)段結(jié)構來構建基于CAN的客車網(wǎng)絡控制系統(tǒng)。
多網(wǎng)段結(jié)構適合于連接功能相對獨立的網(wǎng)段,信息交換通過網(wǎng)關來實現(xiàn)。其特點是:同一網(wǎng)段的節(jié)點通過總線方式連接;不同網(wǎng)段之間通過網(wǎng)關連接,并實現(xiàn)相互通信;網(wǎng)絡管理和集中控制的功能由網(wǎng)關實現(xiàn)。如采用低速總線連接低實時性要求的車身控制單元,增加通信傳輸距離,提高抗干擾能力;采用高速總線連接動力傳動系統(tǒng),以滿足與行駛安全相關信息的高實時性要求;采用帶雙通道CAN控制器的微處理器實現(xiàn)兩條CAN總線信息的通信和控制功能。
2.4 網(wǎng)絡實時性分析
客車網(wǎng)絡控制系統(tǒng)是分布式實時系統(tǒng),許多任務具有嚴格實時性和硬實時性,信息傳輸與控制必須滿足任務截止期要求??蛙嚲W(wǎng)絡控制系統(tǒng)的實時性可以通過信息的響應時間來衡量,典型的理論方法有Worst-case、Actual-case、Average和Maximum等。Actual-case同時考慮到周期性信息和非周期性信息,Worst-case考慮到信息傳輸過程中的最壞情況,一般將二者結(jié)合進行實時性分析。位速率是網(wǎng)絡實時性分析的一個重要參數(shù),它的確定必須考慮到通信距離,尤其在高速通信的情況下,距離的增加帶來的傳輸延遲是不可忽略的。表1為CAN通信位速率與總線長度的關系。
表1位速率與總線長度的關系
3 節(jié)點硬件設計主要內(nèi)容
3.1 基于CAN的客車網(wǎng)絡控制系統(tǒng)典型節(jié)點結(jié)構
基于CAN的客車網(wǎng)絡控制系統(tǒng)的典型節(jié)點結(jié)構如圖2所示。CAN收發(fā)器、光電耦合器、和CAN控制器共同完成報文的發(fā)送和接收;微控制器對CAN控制器進行初始化,設定CAN控制器工作參數(shù),控制CAN控制器實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通訊任務,同時還可以接收外圍設備和傳感器信號,并控制執(zhí)行器工作狀態(tài);傳感器/執(zhí)行器完成信號檢測上傳/執(zhí)行控制指令的任務;外圍設備負責人機交互。
圖2基于CAN的客車網(wǎng)絡控制系統(tǒng)典型節(jié)點結(jié)構圖
3.2 CAN控制器
CAN控制器可以分為獨立CAN控制器和與微處理器集成的CAN控制器,以完成CAN協(xié)議數(shù)據(jù)鏈路層(DLL)的功能,實現(xiàn)媒體訪問控制子層(MAC)的報文分幀、仲裁、應答、錯誤檢測和標定,以及邏輯鏈路控制子層(LLC)的報文濾波、過載通知、恢復管理等具體服務。
獨立CAN控制器有PCA82C200、SJA1000和82526/82527等。與微處理器集成的CAN控制器有P8xC591、LPC2290/2292/2294、MC68HC05X4/X16/X32、MC68HC705X4和TMS320C2000系列DSP芯片等獨立CAN控制器能夠與各種型號的微處理器相連接,與集成CAN控制器相比,其使用更靈活。目前使用最廣泛的獨立CAN控制器是SJA1000。
3.3 CAN收發(fā)器
CAN收發(fā)器完成CAN協(xié)議物理層的功能,是CAN控制器和物理傳輸線路之間的接口。CAN收發(fā)器有PCA82C250/251[2]、TJA1050/1040[3-4]、TJA1054[5]和TJA1041[6]等,部分特性比較如表2所示。由于客車為24v直流供電,因此,一般采用PCA82C251作為客車用CAN收發(fā)器。
表2 不同型號CAN收發(fā)器的部分特性比較
3.4 CAN總線的傳輸介質(zhì)
用于CAN總線的傳輸介質(zhì)有雙絞線、同軸電纜和光纖,雙絞線具有較高的性價比。在高速工作模式下,CAN發(fā)送器輸出級晶體管將以盡可能快的速度開閉。在這種模式下,不采取任何措施限制上升斜率和下降斜率,應使用屏蔽電纜以避免射頻干擾RFI問題。在斜率控制模式下,允許使用非屏蔽雙絞線。但為了降低射頻干擾RFI,并考慮電磁兼容性EMC問題,應限制上升斜率和下降斜率。同時,總線的兩個末端應接有120Ω的負載電阻以抑制反射。位于ECU內(nèi)部的負載電阻應該取消,因為如果其中一個ECU從總線上斷開時,總線將丟失終端,影響信息傳輸。
4 節(jié)點軟件設計
4.1 CAN控制器初始化與信息收發(fā)
基于CAN的客車網(wǎng)絡控制系統(tǒng)的CAN控制器軟件設計主要包括三大部分:CAN控制器初始化、信息發(fā)送和信息接收。不同的CAN控制器,雖然軟件實現(xiàn)方法不一樣,但基本原理是相同的。
以SJA1000[7]為例,其初始化在復位模式下進行,主要工作是設置控制器工作方式、接收濾波方式、接收碼和屏蔽碼、波特率和中斷允許等寄存器的參數(shù)與狀態(tài);信息發(fā)送程序負責進行相關條件判斷,將報文發(fā)送至發(fā)送緩沖區(qū),并啟動發(fā)送命令;信息接收程序中,對總線狀態(tài)、錯誤報警、報文格式等情況進行判斷處理后,啟動接收命令即可。
4.2 控制策略的研究與實現(xiàn)
控制策略是客車網(wǎng)絡控制系統(tǒng)實現(xiàn)控制功能的基礎,直接影響系統(tǒng)應用的正確性、可靠性和有效性。同時, CAN是事件觸發(fā)型協(xié)議,研究客車行駛過程中基于事件的系統(tǒng)控制策略也是客車網(wǎng)絡控制系統(tǒng)設計的一項基礎性工作。
客車網(wǎng)絡控制系統(tǒng)控制策略的研究必須針對我國城市道路交通現(xiàn)狀,并綜合考慮人—車—路—環(huán)境系統(tǒng)因素,主要作用為:當客車在行駛過程中遇到特定事件時,系統(tǒng)應用智能控制理論和技術方法,產(chǎn)生控制策略和控制任務,各功能控制裝置按照已設定好的控制策略實現(xiàn)各電子控制單元的信息傳遞,實施關聯(lián)、實時控制,確保車輛行駛的安全性??刂撇呗缘闹悄芸刂品椒╗8]有遞階控制、專家控制、模糊控制、神經(jīng)控制和學習控制等。
5 總結(jié)
本文從概念、系統(tǒng)和節(jié)點等不同角度對客車網(wǎng)絡控制系統(tǒng)設計過程中的一些關鍵問題進行了研究,分析了設計過程中影響系統(tǒng)工作性能的主要因素,提出了相關設計方法與設計原則。本文工作有助于提高網(wǎng)絡控制性能,為系統(tǒng)開發(fā)提供了理論與技術基礎。
參考文獻
[1]CAN Specification 2.0, Robert Bosch GmbH, 1991.
[2]PCA82C250/251 CAN Transceiver, Philips Semiconductors, 1996.
[3] TJA1050 CAN High-speed transceiver, Philips Semiconductors, 2000.
[4] TJA1040 High speed CAN transceiver, Philips Semiconductors, 2001.
[5] Fault-tolerant CAN Transceiver PCA82C252 / TJA1053 / TJA1054 / TJA1054A Version 3.1, Philips Semiconductors, 2001.
[6]TJA1041 CAN High-speed transceiver, Philips Semiconductors, 2001.
[7]SJA1000 Stand-alone CAN controller, Philips Semiconductors, 1997.
[8]蔡自興.智能控制[M].電子工業(yè)出版社,2004.8.