基于MC9S12XS128的汽車(chē)BCM的設計與實(shí)現
2 軟件設計
2.1 軟件流程設計
BCM的軟件設計采用初始化+循環(huán)體的軟件結構,軟件流程圖如圖3所示。首先進(jìn)行全局變量和所用外設(包括IO、ADC、SPI、PWM、TIME-R、SCI)的初始化,然后在循環(huán)體內依次進(jìn)行開(kāi)關(guān)信號檢測、LIN通信、RKE通信以及負載控制。對負載控制邏輯而言,開(kāi)關(guān)信號、LIN信號和RKE信號都是觸發(fā)其控制操作的輸入信號,而且由于需要把若干開(kāi)關(guān)信號填充到LIN幀中,所以把負載控制放在循環(huán)體的最后,各軟件模塊次序如圖3所示。本文引用地址:http://dyxdggzs.com/article/197475.htm
2.2 開(kāi)關(guān)信號檢測軟件設計
在BCM的開(kāi)關(guān)控制邏輯中,開(kāi)關(guān)信號的狀態(tài)及其變化經(jīng)常作為某個(gè)控制邏輯的背景條件和激勵信號,所以在程序設計時(shí),對單個(gè)物理開(kāi)關(guān)信號需要確定其當前狀態(tài)及狀態(tài)跳變(包括開(kāi)關(guān)閉合到斷開(kāi)和開(kāi)關(guān)斷開(kāi)到閉合的變化)。由于BCM需要采集的開(kāi)關(guān)信號比較多,為了程序的簡(jiǎn)潔和邏輯的清晰,定義一個(gè)結構體將各路開(kāi)關(guān)信號統一起來(lái),利用結構體的位變量特性節約變量空間,利用結構的統一性節約開(kāi)關(guān)信號檢測函數的代碼空間。設計結構體如下:
評論