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