LIN主從節(jié)點設(shè)計與實現(xiàn)
2 軟件設(shè)計
LIN主節(jié)點是LIN總線的控制者,它將決定在什么時候發(fā)送哪個報文到LIN總線上,同時它需要檢測從節(jié)點和總線的工作狀態(tài)。因為LIN主節(jié)點是通訊的發(fā)起者,在每個報文幀開始時它需要發(fā)送出同步間歇,同步字段以及標(biāo)識字段。如果這個報文幀是發(fā)送控制命令到從節(jié)點,主節(jié)點接著將發(fā)送出數(shù)據(jù)字段及校驗和字段;而如果這個報文幀是發(fā)送查詢命令到從節(jié)點,此時主節(jié)點將從LIN總線讀取從節(jié)點發(fā)送的數(shù)據(jù)字段和校驗和字段。
LIN從節(jié)點用UART實現(xiàn)通訊,從中檢出主節(jié)點發(fā)送給本從節(jié)點的命令,并執(zhí)行相應(yīng)動作。要正確實現(xiàn)LIN總線的通信,主從節(jié)點的初始化是非常重要的,圖3、圖4給出了主從節(jié)點的初始化流程圖。其余還有LIN主節(jié)點UART接收數(shù)據(jù)流程圖,LIN從節(jié)點中斷服務(wù)流程圖等限于篇幅不一一列出。
3 LIN總線通信測試
如前所述,一個LIN網(wǎng)絡(luò)由一個LIN主節(jié)點和多個從節(jié)點組成,報文的傳送方向和時間由主節(jié)點決定。從節(jié)點是根據(jù)報頭中的ID號來決定是否接收一幀數(shù)據(jù),在檢測到正確的報文ID號后,從節(jié)點將根據(jù)ID號判斷后續(xù)操作:是否接收后續(xù)數(shù)據(jù)或者發(fā)送數(shù)據(jù)到LIN總線,并初始化相應(yīng)操作。在本子系統(tǒng)中,設(shè)計了兩個從節(jié)點,定義的報文ID號如表1所示。
在LIN總線波特率設(shè)為9 600 b/s時,利用數(shù)字存儲示波器對LlN從接點通信過程進(jìn)行了測試。另外,還利用ZLGCANtest軟件對LIN網(wǎng)絡(luò)的通信功能做了測試,一切結(jié)果顯示均正常,證明設(shè)計LIN網(wǎng)絡(luò)的通信程序設(shè)計是正確的。
4 結(jié)語
在歐美、日本等發(fā)達(dá)國家,LIN總線被越來越多地應(yīng)用到車身網(wǎng)絡(luò)中,但在我國LIN總線的應(yīng)用還處在起步階段,因此對LIN總線通信的研究顯得尤為重要。本文設(shè)計了基于PIC單片機(jī)的LIN總線主從節(jié)點,并實現(xiàn)了主從節(jié)點間的通信,其中,位定時的設(shè)定是影響通信速度的重要因素。該研究為下一步將LIN總線應(yīng)用到汽車的聯(lián)合裝配控制單元中打下良好的基礎(chǔ)。
評論