<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于單片機MC9S12XS128的汽車(chē)BCM的設計

基于單片機MC9S12XS128的汽車(chē)BCM的設計

作者: 時(shí)間:2012-05-10 來(lái)源:網(wǎng)絡(luò ) 收藏

  基于單片機MC9S12XS128的汽車(chē)BCM的設計
圖2 硬件電路圖

  MC33993通過(guò)SPI和處理器通信,可檢測22路開(kāi)關(guān)量輸入信號,并可以設置哪些開(kāi)關(guān)通道可以觸發(fā)中斷。首先XS128通過(guò)SPI向MC33993發(fā)送控制命令字,進(jìn)行初始化設置,設定MC33993的工作方式,并使能那些中斷喚醒的開(kāi)關(guān)通道的可觸發(fā)中斷功能。在正常工作模式下XS128通過(guò)SPI接口周期讀取MC33993的開(kāi)關(guān)狀態(tài),在低功耗模式下可觸發(fā)中斷的開(kāi)關(guān)通道狀態(tài)發(fā)生變化時(shí),便可以喚醒XS128,進(jìn)入正常工作模式。

  2 軟件設計

  2.1 軟件流程設計

  的軟件設計采用初始化+循環(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所示。

  基于單片機MC9S12XS128的汽車(chē)BCM的設計
圖3 軟件流程圖

  2.2 開(kāi)關(guān)信號檢測軟件設計

  在的開(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)到閉合的變化)。由于需要采集的開(kāi)關(guān)信號比較多,為了程序的簡(jiǎn)潔和邏輯的清晰,定義一個(gè)結構體將各路開(kāi)關(guān)信號統一起來(lái),利用結構體的位變量特性節約變量空間,利用結構的統一性節約開(kāi)關(guān)信號檢測函數的代碼空間。設計結構體如下:

基于單片機MC9S12XS128的汽車(chē)BCM的設計

  在上述結構體中Switch表示開(kāi)關(guān)信號的當前狀態(tài),Swon_event和Swoff_event分別表示開(kāi)關(guān)從斷開(kāi)到閉合和從閉合到斷開(kāi)的變化,CurSw和Detect_cnt用于開(kāi)關(guān)信號采集、的軟件消抖功能。設計一10 ms的定時(shí)器,周期讀取開(kāi)關(guān)當前狀態(tài),3次確認以判斷Switch、Swon_event、Swoff_event。其代碼實(shí)現如下:



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>