基于LIN總線的汽車后視鏡控制模塊設(shè)計
2.2 后視鏡控制系統(tǒng)軟件設(shè)計
LIN總線的軟件設(shè)計主要是基于主控芯片MC9SDG128的SCI(Serial Communication Interface)編程,SCI串行通信接口,是MCU與外界進行串行通信的重要方式,同時也是LIN協(xié)議實現(xiàn)的重要基礎(chǔ)。系統(tǒng)的軟件設(shè)計主要包括實現(xiàn)控制器與LIN總線通訊的中斷程序以及控制器對后視鏡單元控制的主程序。為確保通訊的實時性,系統(tǒng)采用高優(yōu)先級中斷來接收LIN總線上的信號。為保證系統(tǒng)的實時性,在中斷處理時除了進行一些簡單的判斷和數(shù)據(jù)接收外,其他部分都在主程序中處理。系統(tǒng)軟件流程圖如圖5所示。本文引用地址:http://butianyuan.cn/article/159373.htm
2.3 LIN指令
由于設(shè)計的從控制器內(nèi)部集成了LIN收發(fā)器,這樣控制器可以直接從總線上進行讀取指令,然后分析指令對底層設(shè)備進行相應(yīng)的控制。 LIN總線的數(shù)據(jù)格式是固定的,但數(shù)據(jù)長度及指令的定義由用戶自行設(shè)定,同時用戶可以根據(jù)LIN總線協(xié)議添加網(wǎng)絡(luò)子單元。LIN總線中后視鏡節(jié)點數(shù)據(jù)格式如表1所示,其數(shù)據(jù)幀長度為5 Byte,受保護標識符為0x50,讀取后視鏡運行狀態(tài)的命令:長度2 Byte0x55,0x92。
2.4 SCI初始化
編程時首先訪問波特率寄存器以設(shè)置串行通信的波特率,然后在SCI控制寄存器中設(shè)置通信格式、是否校驗、是否允許SCI發(fā)送接收、是否允許中斷等。最后通過SCI中斷來解決發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。其中,SCI0模塊用于與上位機測控界面的通信,而SCI1模塊用于LIN總線通信。
2.5 LIN協(xié)議的實現(xiàn)
LIN協(xié)議的發(fā)送是由報文實現(xiàn),每個報文由主機節(jié)點發(fā)出的幀頭和主機或從機節(jié)點發(fā)出的報文響應(yīng)組成。LIN網(wǎng)絡(luò)的每次通信都是由主機節(jié)點發(fā)起,主機節(jié)點控制整個網(wǎng)絡(luò)的通信配置。主機節(jié)點的任務(wù)是首先發(fā)送喚醒總線,然后發(fā)送報文幀頭中的同步間隔和同步場,使從機與主機同步,然后發(fā)送標示符。從機任務(wù)接收標示符后對標示符進行濾波確認,當標示符表明節(jié)點與本次通信有關(guān)時,發(fā)送由數(shù)據(jù)和校驗組成的響應(yīng)。
3 結(jié)束語
基于LIN總線的汽車后視鏡控制模塊控制系統(tǒng),具有結(jié)構(gòu)簡單、性能可靠、功能較齊、價格低廉等特點。此系統(tǒng)利用軟件編程實現(xiàn)各種特性,并通過軟硬件功能增添新的特性、實現(xiàn)使用同—個硬件或者軟件平臺下不同的功能模塊,具有較強的拓展性和廣泛的應(yīng)用前景。
評論