燃料電池城市客車數據支持系統設計
時鐘日歷模塊中,時鐘芯片與單片機的接口為8位地址/數據復用的并行接口。采用Motorola總線讀寫時序(如圖5所示),利用TPU模塊的16個端口模擬并口時序對時鐘的總線進行操作。時鐘芯片DS12CR887出廠時,計時鏈處于關閉狀態,因此,在燃料電池ECU的調試階段需要校準時鐘并使能時鐘的計時鏈。校準的方法為向時間日期寄存器直接寫入當前的時間日期,并置位DS12CR887芯片控制寄存器的計時鏈開啟標志位來啟動時鐘芯片運行。
正常工作后,TPU模塊通過讀取各內存的數據得到當前的絕對時間,并將各時間變量存入Parameter RAM,CPU通過讀取Parameter RAM得到當前的時間。
數據存儲模塊中,存儲器Micro-SD卡采用SPI協議與單片機進行通信。對該芯片的操作時序主要有四種:復位、初始化、讀、寫。相對于普通的SPI協議,Micro-SD卡通信協議較為復雜,一個基本的操作往往需要持續幾千個時鐘周期(如圖6所示的SD卡寫時序),TPU模塊的微碼編程只能實現比較簡單的條件分支以及運算。因此,本文在設計中,優化了程序結構以適應復雜的SPI時序;同時,考慮到TPU的程序內存只有8 KB,在編程時需要注意對程序優化,以節約代碼空間。程序運行過程中,CPU和TPU之間的數據交換依然通過Parameter RAM實現。
數字核心MPC561的TPU模塊中,Parameter RAM區總共只有256 B,但是SD卡一次寫入的最小單位為一個block,即512 B。為了將512 B的變量從CPU連續地寫入Micro-SD卡,本文設計了緩存協議,即TPU從RAM區的低地址開始寫,每寫入128 B后產生TPU中斷,通知CPU更新已讀區域的數據。這樣便保證了TPU對Micro-SD卡寫時序操作的連續性,其控制流程如圖7所示。
本文設計了一種針對燃料電池城市客車的數據支持系統。該系統可以持續實時記錄燃料電池客車的所有運行數據,在運行過程中為燃料電池客車提供絕對時間參照,并配套相應的上位機處理軟件對數據進行整理分析。相對于傳統的車用數據支持系統,本系統無論從數據記錄量上還是時間跨度上都具有明顯優勢。在處理器的選擇方面,本文采用了獨特的TPU模塊進行控制,使數字核心的資源得到了合理利用,在節約成本的同時不影響主控制任務運行的實時性。經過一段時間的使用,該系統能正常工作,記錄的數據對燃料電池的控制策略起到了一定的參考作用。
評論