LIN2.1協(xié)議在車窗控制系統(tǒng)中的應用
當從節(jié)點獲得有條件分配NAD的請求后,將根據(jù)下面的步驟判斷是否要修改NAD:
①根據(jù)ID讀取從節(jié)點的相關信息。
②根據(jù)Byte提取相關信息中一個8位數(shù)據(jù),例如Byte=1,則提取D1。
③與Invert進行異或運算。
④與Mask進行與運算。
⑤如果結(jié)果為0,則修改NAD。
例如:本產(chǎn)品被新增到一個LIN網(wǎng)絡中,初始NAD為0x06,但網(wǎng)絡中已有了一個NAD為0x06的從節(jié)點。于是,用戶可以利用本產(chǎn)品的Func tion ID,假設為0x0000,分配新的NAD為0x08。這里似設已存在的從節(jié)點的Function ID不為0x0000。這樣,只有新增節(jié)點的NAD會被修改,而已存在從節(jié)點的NAD維持為0x06不變。
(3)保存配置
保存配置是LIN2.1添加的新功能,用來將從節(jié)點的當前配置存入非易失的存儲空間中,下次上電時可以讀出配置數(shù)據(jù),這里主要是保存NAD和幀ID。
(4)分配一系列幀ID
這一功能可以配置最多4個幀ID,注意診斷幀ID和保留幀ID是不能配置的。
主節(jié)點的請求幀在D1中給出需要分配幀ID的第一個幀在幀數(shù)組中的序號,一般來說,從節(jié)點所用到的所有幀的ID會被排列成一個幀數(shù)組。如果要分配幀ID,則通過D2到D5給出新的幀ID;如果要禁止某個幀,則將這個幀對應的PID設為0x00;如果要繼續(xù)使用現(xiàn)在的幀ID,則將這個幀對應的PID設為0xFF。
(5)讀取從節(jié)點信息
讀取節(jié)點信息根據(jù)D1中ID的值,可以讀取不同的從節(jié)點信息。目前,只規(guī)定了ID為0和ID為1的情況,其他可保留或由用戶自己確定。
3 LIN通信的實現(xiàn)
3.1 TLE9832的LIN模塊
TLE9832是一款由英飛凌公司生產(chǎn)的8位功率級單片機,專門用于車窗控制。其中的LIN總線模塊支持LIN2.1和LIN2.0,并向下兼容LIN 1.3。該模塊可以工作在普通模式、接收模式和禁止模式下。各個模式的特點如表1所列。
其中,普通模式又可根據(jù)傳輸速率的大小分為低速模式、中速模式、高速模式和Flash模式。低速模式的最大傳輸速率為10.4 kbps;中速模式是普通的LIN傳輸模式,最大傳輸速率為20 kbps;高速模式的最大傳輸速率為40 kbps;Flash模式的最大傳輸速率為11 5 khps。為了避免打斷傳輸過程,在普通模式下禁止改變傳輸速率。正確的做法是先禁止發(fā)送功能,再改變傳輸速率,最后允許發(fā)送功能。
LIN模塊在普通模式下還建立了一種自動省電機制。當發(fā)送隊列中沒有數(shù)據(jù)時,將自動禁止發(fā)送功能;當有發(fā)送請求時,將自動開啟發(fā)送功能。
3.2 基于TLE9832的車窗防夾控制系統(tǒng)
基丁TLE9832的防夾車窗控制系統(tǒng)是英飛凌-同濟微控制器與嵌入式系統(tǒng)實驗室的最新研究成果。用戶可以通過按鍵或者LIN總線控制車窗的上升和下降?;赥LE9832的防夾車窗系統(tǒng)原理圖如圖4所示。可通過控制PWM信號控制電機的轉(zhuǎn)速,而霍爾傳感器TLE4966又會采集電機的轉(zhuǎn)速并傳送給TLE9832,這樣就構成了閉環(huán)控制。此外,電機的電樞電流在轉(zhuǎn)化為電壓信號后,被傳送給TLE9832的ADC模塊。如果車窗在上升過程中遇到不正常的阻力,電樞電流和電機轉(zhuǎn)速都會發(fā)生異常的變化,TLE9832可以根據(jù)這種變化判斷是否執(zhí)行防夾算法,避免傷害乘客。
3.3 LIN通信部分的軟件設計
LIN通信部分的程序流程如圖5所示。可將車窗控制器中LIN通信部分的程序分為兩個部分:
①第一部分為初始化,在每次重新上電后,程序都會首先讀取Flash中的數(shù)據(jù),若0x8000中的數(shù)據(jù)為0x78,則判斷產(chǎn)品在出廠后執(zhí)行過保存配置的功能。所以程序會將存儲在Flash中的NAD和幀ID讀出來,作為當前的NAD和幀ID。接著是初始化LIN模塊,包括設置與LIN通信相關的定時器和UART等外設,設置從節(jié)點的各個參數(shù)、波特率等。
評論