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