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