基于XC886單片機的門控系統(tǒng)LIN總線通信模塊設計
0 引言
隨著汽車業(yè)的飛速發(fā)展,汽車電控系統(tǒng)的配置不斷升級,使得車輛上的電子元件越來越多,其相互連接的網(wǎng)絡結構也越來越復雜。過去所采用的電纜連接方式所帶來的龐大布線負擔,容易造成車體過重和線路的磨損老化。在這種情況下,就需要引入標準的總線技術,從而降低車身重量,同時提高各個電控元件之間的通信可靠性。上世紀80年代,根據(jù)車用通信網(wǎng)絡在不同控制層面的不同功能要求,SAE (Societv ofAuto-mobile Engineering)將其分為A,B,C三類。其中A類為低速網(wǎng),數(shù)據(jù)傳輸速率通常為1~10kb/s,LIN總線通信網(wǎng)絡就屬于此類。LIN總線一般應用于不需要高性能及帶寬和復雜性較大的低端系統(tǒng),如車門控制模塊、座椅調(diào)節(jié)、車燈控制和空調(diào)系統(tǒng)中傳感器和執(zhí)行器之間的通信。由于其LIN總線成本較低,也可以獨立用于不是特別復雜的車身控制網(wǎng)絡中。
1 LIN總線協(xié)議簡介
LIN協(xié)議標準于1998年由Audi、BMW、Mo-torola、Daimlerehrysler、VCT、Volvo和Volkswa-gen等七家公司在A類網(wǎng)已有協(xié)議的基礎上聯(lián)合提出。LIN總線在當今汽車電子的網(wǎng)絡結構中被廣泛使用,它基于通用的UART/SCI接口,使用單線信號傳輸,從節(jié)點無需晶振或陶瓷振蕩器就能實現(xiàn)自同步,因此成本低廉。LIN總線網(wǎng)絡采用單主多從模式,圖1所示是UN總線網(wǎng)絡的結構示意圖,它由一個主節(jié)點和一個或若干個從節(jié)點組成,不需要總線仲裁。LIN總線協(xié)議基于ISO參考模型中的物理層,數(shù)據(jù)鏈路層采用NRZ (Not Re-turn Zero)編碼方式,電平分為隱性電平(‘1’)和顯性電平(‘0’)。
1.1 物理層
LIN總線一般采用單總線(12 V)串行通訊,總線長度最大可達到40 m,傳輸速率最高可達到20 Kb/s,通常使用2.4Kb/s、9.6 Kb/s和19.2 Kb/s這三個波特率進行數(shù)據(jù)傳輸。由于從節(jié)點的個數(shù)除了受標識符數(shù)量的限制中,也受到總線的物理特性限制,節(jié)點過多必然減少網(wǎng)絡阻抗,從而導致通訊條件變差,所以協(xié)議規(guī)定:一個LIN總線網(wǎng)絡上的節(jié)點數(shù)目不能超過16個。
1.2 數(shù)據(jù)鏈路層
LIN總線協(xié)議的一個報文幀由報文頭和響應組成,圖2所示是LIN總線協(xié)議的報文幀結構。一般情況下,報文頭都是由主節(jié)點發(fā)送,而響應則是由一個主節(jié)點或者一個從節(jié)點發(fā)送。LIN總線網(wǎng)絡中的數(shù)據(jù)通訊都是由主節(jié)點發(fā)送一個報文頭來初始化的。報文頭包含一個空白場、一個同步場和一個標識符場,而響應則包括1到9個字節(jié)場(0~8個數(shù)據(jù)場和一個校驗和場)。其中,字節(jié)場由字節(jié)間的間隔分開,報文頭和響應則由幀內(nèi)響應間隔分開,它們的最小長度皆為0。
報文頭中的空白場可使節(jié)點能夠識別一個報文的開始??瞻讏鰹?3位或者持續(xù)更長時間的顯性電平(‘0’)加上持續(xù)1個位時間以上的隱性電平(‘1’)組成。同步場則為一個字節(jié)長度(ox55),可用來使相關從節(jié)點進行主從節(jié)點的時鐘同步。
標識符場格式如圖3所示,定義報文的信息,長度為一個字節(jié),其中前6位為標識符位,可定義26=64個標識符(其中保留4個標識符作為命令和擴展幀標識符),后2位為奇偶校驗位。
標識符用于定義數(shù)據(jù)的傳輸方向和響應中數(shù)據(jù)場的長度,并從節(jié)點根據(jù)標識符判斷報文是否與自己相關,從而對報文做出反應,進行通訊。當主節(jié)點發(fā)送的報文頭被相關從節(jié)點接受并對標識符判斷之后,從節(jié)點被要求進行數(shù)據(jù)發(fā)送,而主節(jié)點要接收從節(jié)點發(fā)送的數(shù)據(jù),則需要將此標識符定義為接收標識符,對于從節(jié)點來說,則需定義為發(fā)送標識符,反之亦然。
響應中數(shù)據(jù)場的長度由標識符位中的第4位和第5位(ID5和ID4)決定,它們將所有的標識符分成四組。每組有16個標識符,這些標識符代表著2、4和8個數(shù)據(jù)場。數(shù)據(jù)場的傳輸由低位到高位,包含了各個節(jié)點需要傳輸?shù)臄?shù)據(jù)。校驗和場是數(shù)據(jù)場所有字節(jié)的和的反碼,當節(jié)點收到數(shù)據(jù)并進行校驗時,要求所有數(shù)據(jù)字節(jié)和與校驗和場的字節(jié)相加必須是0xFF。
評論