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