基于MC9S12DP256B的汽車防抱死系統(tǒng)設(shè)計
故障碼存儲及傳輸
MC9S12DP256B自帶4KB的EEPROM,地址從0x400到0xFFF。 無須外擴EEPROM,可用于對故障碼的存儲,便于數(shù)據(jù)長期保存。
擦、寫操作前必須通過設(shè)置EEPROM時鐘分配寄存器 ECLKDIV,將模塊時鐘配置在150KHz至200KHz之間。系統(tǒng)中的晶振為16MHz,總線頻率8MHz,經(jīng)計算,取ECLKDIV=0x4A,即預(yù)分頻因子PRDIV8=1,分頻因子EDIV[5:0]=001010,模塊的時鐘為182KHz。
因為每次寫操作均以字進行,所以為安全起見,擦除時每次擦兩個字。擦除操作的時序與寫操作完全相同,只不過相應(yīng)地址寫入的數(shù)據(jù)均為“0”。
此外,系統(tǒng)結(jié)合自身CAN模塊,選用Philips公司的PCA82C250,設(shè)置了CAN的接口電路,便于故障碼的傳輸。接口電路如圖4(圖略,請參看《電子設(shè)計應(yīng)用》2005.8)所示。
系統(tǒng)中的其他電路,像輪速信號處理電路、傳感器靜態(tài)檢測電路、電源監(jiān)控電路等由于篇幅所限,在此不作詳細介紹。
系統(tǒng)軟件及VHDL語言設(shè)計
系統(tǒng)的控制CPU MC9S12DP256B用C和匯編語言進行開發(fā),而CPLD用VHDL語言進行編程。
MC9S12DP256B程序的功能是: 程序存儲器及數(shù)據(jù)存儲器的自檢; 對輪速傳感器進行靜態(tài)、動態(tài)檢測;采集輪速信號,計算出車輪速度和減速度,根據(jù)控制邏輯輸出制動壓力調(diào)節(jié)信號;實時存儲故障代碼;CAN通信。
CPLD程序的功能是:控制數(shù)字開關(guān)CD4066的通斷;檢測數(shù)字輸入通道;監(jiān)測電磁閥驅(qū)動芯片和電磁閥的工作狀態(tài);向控制CPU傳送故障情況。 CPLD的設(shè)計由四個步驟組成:設(shè)計輸入、實現(xiàn)、校驗和芯片編程。設(shè)計中采用VHDL語言文本輸入,經(jīng)綜合、仿真、實現(xiàn)后通過并行線纜下載至Xilinx 芯片中。圖5和圖6(圖略,請參看《電子設(shè)計應(yīng)用》2005.8)分別是系統(tǒng)控制CPU及CPLD的流程圖。
結(jié)語
本系統(tǒng)以其獨特的雙CPU結(jié)構(gòu),集防抱死制動、系統(tǒng)故障檢測于一體,同時能實現(xiàn)對故障檢測碼的傳輸。 同時雙CPU均預(yù)留了一定的輸入/輸出端口, 為進一步擴展汽車電子控制裝置的功能提供了可能。
評論