汽車儀表系統軟件設計分為主程序、CAN通信、數據采集處理和數據顯示等4個模塊。主程序模塊通過調用各個子模塊程序來處理數據處理:CAN通信模塊負責發送和接收數據;數據采集及處理模塊完成對各種類型數據的采集以及計算;數據顯示模塊將車速、油壓以及信號燈等信息顯示在儀表上。
其主程序流程分為五個部分:
1)系統初始化。系統初始化主要包括初始化系統時鐘、CAN節點、LCD液晶屏、步進電機等,并使能CAN中斷,設置CAN屏蔽碼和驗收碼。CAN節點初始化主要是初始化CAN控制器并中斷CAN控制器。
2)讀取傳感器以及CAN總線數據,并驅動指針以及LCD等顯示,同時等待CAN接收中斷。
3)CAN接收中斷產生,進入接收中斷子程序讀取數據。判斷數據是否符合數據接收條件,如果符合,則接收數據。此過程逐位比較接收到的29位標識符與驗收碼、屏蔽碼,只有標識符相應位與驗收碼相應位相同,系統才開始接收數據。
4)處理器將接收的報文進行解析,提取需要的數據并進行處理。處理器對傳感器傳來的數據和CAN總線讀取的數據進行處理計算,得到相應的指針驅動參數,計算出指針轉角,并根據初始化的 步進電機的參數計算出指針轉動速度。指針轉動速度與相應的參數變化速度成正比。同時計算出車輛行駛里程并累加到總路程上。 5)處理器將包含車輛工況的一組脈沖序列發送至步進電機驅動器,驅動器驅動步進電機以微步方式轉動,指示出相應的發動機轉速、車速、水溫以及油壓等;處理器將包含車輛總路程等信息的數據發送至LCD控制器,控制器控制LCD顯示相應的總路程等:處理器改變相應的I/O引腳狀態直接點亮/關閉相應的指示燈。資料來源:www.samsrmotor.com.cn |