LIN總線節(jié)點的設計
摘要:介紹了汽車網絡系統(tǒng)A類串行總線通信標準LIN協(xié)議2.0版本(最新版本),設計了總線節(jié)點的硬件和通信程序,規(guī)劃了電動汽車車身網絡總線結構。
關鍵詞:LIN總線 通信 節(jié)點
隨著汽車電子業(yè)的飛速發(fā)展,車輛上的電子裝置越來越多,電子裝置之間的通信技術也越來越先進。傳統(tǒng)的電器系統(tǒng)大多采用點對點的單一通信方式,相互之間少有聯(lián)系,這樣必然造成布線系統(tǒng)龐大,因而現(xiàn)代車輛上的電子系統(tǒng)廣泛采用網絡技術來實現(xiàn)彼此之間的通信。
1998年,汽車制造商奧迪公司、寶馬公司、戴姆勒克萊斯勒公司、沃爾沃汽車公司、大眾汽車公司、通信領域的專業(yè)廠商火山通信技術公司以及半導體生產商摩托羅拉公司共同創(chuàng)建了LIN(Local Interconnect Network)協(xié)會,其目的是為汽車網絡系統(tǒng)提供一個開放的A類(數據傳輸位速率通常小于10kb/sv的低速車身網絡)串行總線通信標準,允許在此基礎上開發(fā)汽車低端網絡系統(tǒng),并且不需要使用者支持使用費用或版稅。
1 LIN協(xié)議的通信機制
1.1 主機和從機
從通訊協(xié)議的角度來看,一個LIN網絡由一個主機任務模塊(Master Task)若干個從機任務模塊(Slave Task)組成。主機節(jié)點中既有主機任務模塊又有從機任務模塊;其它節(jié)點中只有從機任務模塊。圖1是由一個主機節(jié)點、兩個從機節(jié)點組成的LIN網絡。
在LIN網絡中,主機任務模塊決定什么時候在總線上傳輸什么報文幀,而從機任務模塊則提供每一幀需要傳送的數據。主機任務模塊和從機任務模塊都是幀處理層的組成部分。
1.2 報文幀
一個報文幀由一個幀頭(由主機任務模塊提供)和一個響應幀(由從機任務模塊提供)組成。幀頭包括一個同步間隔場(SYNCH BREAK FIELD)、一個同步場(SYNCH FIELD)和一個標識符場。報文幀的用途由標識符唯一定義,約定的從機任務根據標識符提供相關的響應幀并發(fā)送到總線上(如圖2、圖3所示),響應幀由2、4或8字節(jié)的數據場(DATA FIELD)和一個校驗和場(CHECKSUM FIELD)組成。對這個標識符相聯(lián)的數據感興趣的從機任務將接收響應幀,校驗和檢驗通過后對數據進行處理。
這樣的通訊機制帶來了非常理想的效果:
*系統(tǒng)靈活性:在LIN網絡中可以直接增加節(jié)點而不需要對其它從機節(jié)點的硬件和軟件進行修改;
*報文路由:報文的內容由標識符定義;
*廣播:多個節(jié)點可以同時接收一個單獨的報文幀,并對報文作出反應。
2 LIN總線試驗平臺的軟硬件設計
2.1 MCU芯片
主機MCU選用了瑞薩(Renesas)公司的M16C/6N系列的M306NBFCTFP,其特點如下:
*128K ROM,5K RAM
*三路串行口(兩路UART/時鐘同步口,一路時鐘同步口)
*一路CAN模塊
*豐富的I/O資源
從機MCU選用Atmel公司的基于8051內核的微控制器AT89C2051,其特點為:
*2K字節(jié)的Flash
*128×8位的內部RAM
*兩個16位定時器/計數器
*可編程的串行UART口
采用M306NBFCTFP作為主機節(jié)點的MCU是因為它具有CAN接口模塊,而且增強型UART可用于支持LIN總線;采用AT89C2051作為從機節(jié)點的MCU是因為暫時不對從機節(jié)點所實現(xiàn)的具體功能進行設計,而只是著重于LIN網絡通訊部分的設計。要履行LIN規(guī)范的通訊時序,所有節(jié)點都必須配備一個精確的振蕩參考源,即主機節(jié)點(M306NBFCTFP)和從機節(jié)點(AT89C2051)上的晶振。M306NBFCTFP片內有一個專用的濾波特率發(fā)生器用于串口通訊,而AT89C2051則把定時器T1作為波特率發(fā)生器。M306NBFCTFP將I/O作為擴展區(qū)域。這兩種微控制器都具有增強型UART,可用于支持串行LIN傳輸。定時器T0可用于各種超時檢測。此外,由于LIN的同步間隔超過普通UART所能處理的長度,所以從機節(jié)點AT89C2051使用中斷來進行同步間隔檢測。
圖4和圖5分別為主機節(jié)點和從機節(jié)點的電路原理圖。
2.2 LIN總線通訊軟件的設計
LIN節(jié)點是通過應用程序中的主機任務和從機任務來實現(xiàn)LIN網絡通訊的。主機節(jié)點包含主機任務和從機任務,從機節(jié)點僅包含從機任務。主機任務流程圖如圖6所示,從機任務流程圖如圖7所示。
LIN主機任務包括以下內容:
*定義波特率(2kbit/s到20kbit/s);
*發(fā)送間隔場和同步場信號序列;*發(fā)送標識符場;
*監(jiān)控并檢查校驗和,驗證數據的有效性;
*請求從機進入睡眠模式,需要時再將有喚醒;
*對從機的喚醒進行響應。
從機任務包括以下內容:
*檢測間隔場信號;
*在同步區(qū)與網絡取得同步;
*解釋標識符,并作出相應動作;
——不需要任何通訊操作;
——接收數據場數據;
——發(fā)送響應幀;
*檢查/發(fā)送校驗和。
3 電動汽車車身總線網絡結構
根據LIN總線的物理層規(guī)定,LIN總線采用改進的ISO9141單總線標準,總線驅動為12V電源。編碼方式為NRZ(Not Return Zero),電平分為隱性電平“1”和顯性電平“0”兩種,其誤差要求如下:對于發(fā)出信息的節(jié)點,發(fā)出的隱性電平不得低于電源電壓的80%,顯性電平不得高于電源電壓的20%;對接收節(jié)點來說,接收到的隱性電平不得低于電源電壓的60%,顯性電平不得高于電源電壓的40%??紤]到信號衰弱等因素,LIN總線的長度最大不超過40米;同時一個LIN子網絡上的節(jié)點數目小于16個。
根據電動汽車A類網絡各功能單元對通訊功能的實時性、傳輸距離的要求,均衡考慮性能和成本等因素,確定LIN總線在電動汽車車身上的網絡結構,可以從圖8中幾個典型的A類網絡功能單元進行分析。
車身系統(tǒng)網絡規(guī)劃如圖9所示。圖9中將車身系統(tǒng)的A類網絡功能單元劃分為車門模塊、空調模塊、座椅模塊、控制面板模塊以及組模塊,這些模塊分別作為LIN子網絡的主機節(jié)點。
LIN總線的目標是為現(xiàn)有汽車網絡提供一種低速總線通訊標準,它能滿足CAN總線所不需求的帶寬和功能,使用LIN總線可大大節(jié)省成本。而在我國,對于汽車總線的研究只是處于初步階段。為了縮短同國外轎車技術水平的差距,提高自身的競爭力,單純靠技術引起不利于我國汽車電子技術的長期發(fā)展,研究和開發(fā)我國自己的汽車網絡應用系統(tǒng)勢在必行。本文確定了MCU+LIN接口芯片的LIN節(jié)點硬件結構,實現(xiàn)了主機/從機任務的LIN網絡通訊,規(guī)劃出了我國電動汽車車身系統(tǒng)LIN總線結構,為我國汽車LIN總線A類網絡高層通訊協(xié)議的制定奠定了基礎。
評論