車載防盜報警LIN節(jié)點的設計與實現(xiàn)
在未設防狀態(tài)下,MCU通過GPA端口檢測是否存在汽車蓄電池供電信號,如果不存在供電信號,系統(tǒng)在一定時間后通過連接NSLP的GPB管腳令TJA1020進入休眠狀態(tài),TJA1020則會通過INH管腳關閉MCU的電源供給,系統(tǒng)返回睡眠狀態(tài)。汽車蓄電池供電存在時,若收到LIN睡眠信息幀,系統(tǒng)也進入睡眠狀態(tài)。本文引用地址:http://cafeforensic.com/article/197500.htm
系統(tǒng)在非睡眠狀態(tài)時可以通過接收BCM的LIN命令信息幀在未設防狀態(tài)、設防狀態(tài)和報警狀態(tài)之間進行轉換。系統(tǒng)處于設防狀態(tài)和報警狀態(tài)時,不會進入睡眠狀態(tài)。
4 軟件流程
系統(tǒng)的軟件主要包括實現(xiàn)單片機與LIN總線通信的程序以及單片機對防盜報警喇叭控制的主程序。為確保通信的實時性,系統(tǒng)采用了高優(yōu)先級中斷來接收LIN總線上的信號。為了保證系統(tǒng)的實時性,在中斷處理時除了進行一些簡單的判斷和數(shù)據(jù)接收外,其他部分都在主程序中處理。
圖 4主程序流程圖
一旦總線上出現(xiàn)有效的顯性電平,控制器立即轉入高優(yōu)先級中斷處理函數(shù),首先判斷是否為主機節(jié)點發(fā)送的間隔場,如果是間隔場則接收同步場和標志符場,若不是同步場則退出等待下一次中斷。在接收到正確的標志符后,若標志符要求系統(tǒng)發(fā)送信息,系統(tǒng)則發(fā)送數(shù)據(jù)場及校驗和場,發(fā)送完成后又開始等待接收下一幀數(shù)據(jù)。若標志符不是要求本機進行數(shù)據(jù)發(fā)送,則接收隨后的數(shù)據(jù)場及校驗和場,在主程序中再根據(jù)標志符判斷所接收的數(shù)據(jù)是否對本機有效,有效的就進行相應的處理,無效就丟棄,處理完成后又開始等待接收下一幀數(shù)據(jù)。
評論