基于XC164的六通道ABS開(kāi)發(fā)板設(shè)計(jì)
ABS的匹配是一個(gè)非常復(fù)雜的過(guò)程,需要做大量的實(shí)車(chē)試驗(yàn)。由于試驗(yàn)存在著很大的危險(xiǎn)性,所以在進(jìn)行實(shí)車(chē)試驗(yàn)之前一定要先對(duì)控制軟件做一定程度的驗(yàn)證,如輪速、輪加減速度、滑移率計(jì)算的準(zhǔn)確性,以及電磁閥、報(bào)警燈、電機(jī)的正確運(yùn)轉(zhuǎn)等。車(chē)載的ABS電子控制單元不具備信號(hào)發(fā)生和數(shù)據(jù)顯示的功能,而開(kāi)發(fā)板彌補(bǔ)了這一缺陷。
總體結(jié)構(gòu)介紹
開(kāi)發(fā)板基本上具有六通道ABS電子控制單元的所有模塊,包括單片機(jī)、電磁閥驅(qū)動(dòng)、電機(jī)驅(qū)動(dòng)、電源模塊、輪速處理等,另外還有輪速發(fā)生模塊和顯示模塊等。液晶屏下方的電路板(簡(jiǎn)稱(chēng)電路板1)用來(lái)產(chǎn)生方波信號(hào),發(fā)送到主控芯片XC164CS的高速輸入捕捉口(CAPCOM),加速、減速、制動(dòng)按鈕用來(lái)控制方波信號(hào)的頻率,可模擬車(chē)輛的加速、減速和制動(dòng)過(guò)程。主控芯片經(jīng)過(guò)計(jì)算后,又通過(guò)串口將計(jì)算結(jié)果,如輪速、輪加減速度、滑移率等發(fā)送給電路板1,再驅(qū)動(dòng)液晶屏顯示數(shù)據(jù)。同時(shí)主控芯片根據(jù)不同的計(jì)算結(jié)果驅(qū)動(dòng)報(bào)警燈、電機(jī)、繼電器和閥等外圍設(shè)備,以此模擬ABS的工作過(guò)程。
開(kāi)發(fā)板的芯片大部分采用Infineon公司生產(chǎn)的專(zhuān)用芯片,它們被國(guó)內(nèi)外的ABS生產(chǎn)商廣泛采用。主要功能模塊及使用的芯片如表1所示:
表1 功能模塊及使用芯片
下面對(duì)主控芯片XC164CS和監(jiān)控芯片C505CA作較為詳細(xì)的介紹。
主控芯片XC164CS
XC164CS是Infineon公司近年推出的16位高檔單片機(jī)。該單片機(jī)有如下優(yōu)點(diǎn):
運(yùn)算速度快:能達(dá)到40MHz的CPU頻率。
存儲(chǔ)器容量大:
-2kB雙口RAM用于變量,寄存器池和系統(tǒng)堆棧;
-附加的2kB高速數(shù)據(jù)SRAM用于變量和用戶(hù)堆棧;
-2kB高速SRAM用于代碼和數(shù)據(jù);
-128k的flash支持在線(xiàn)編程。
中斷源多:接收70種中斷,分為16個(gè)中斷優(yōu)先級(jí)(ILVL),每個(gè)中斷優(yōu)先級(jí)中分為4個(gè)組優(yōu)先級(jí)(GLVL),數(shù)字越高,優(yōu)先級(jí)越高。
具有在片調(diào)試接口OCDS,OCDS接口標(biāo)準(zhǔn)測(cè)試協(xié)議(與IEEE1149.1兼容),主要用于芯片內(nèi)部測(cè)試?,F(xiàn)在的多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線(xiàn):TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線(xiàn)。OCDS接口擴(kuò)充了JTAG接口。
TMS 模式選擇
OCDS接口大大方便了軟件調(diào)試工作,這在下面部分將詳細(xì)描述。
另外該芯片還具備外圍IO口多、時(shí)鐘多、AD轉(zhuǎn)換口多等優(yōu)點(diǎn),并且具有兩個(gè)CAN接口。
XC164CS開(kāi)發(fā)方法
XC164CS可以通過(guò)三種方式跟上位機(jī)連接進(jìn)行在片仿真:串口方式(即bootloader模式)、并口方式(LPT)和USB口方式(即OCDS)。其中并口方式要求上位機(jī)的主頻小于800MHz,給應(yīng)用帶來(lái)不便。串口方式,速度較慢。需要占用一個(gè)串口,而且調(diào)試過(guò)程中經(jīng)常出現(xiàn)連接丟失的情況,因此也不予采用。OCDS接口是XC164CS專(zhuān)門(mén)提供的調(diào)試接口,也是其不同于Infineon其它164系列單片機(jī)的主要特征之一,因此在開(kāi)發(fā)板研制過(guò)程中采用OCDS的調(diào)試方式。
軟件采用的編譯器是Keil uVision2 (PK166,摘編者注),該編譯器調(diào)試功能強(qiáng)大,不僅能夠進(jìn)行純軟件仿真,而且上位機(jī)能夠通過(guò)并口或者USB口跟用戶(hù)板進(jìn)行連接,實(shí)現(xiàn)在片調(diào)試。連接關(guān)系如圖3所示。
其中的ULINK是一種USB接口到OCDS接口的適配器,它具有如下特性:
通過(guò)USB口實(shí)現(xiàn)上位機(jī)和用戶(hù)板的快速連接;
通過(guò)在片調(diào)試接口OCDS實(shí)現(xiàn)在片調(diào)試功能;
通過(guò)OCDS實(shí)現(xiàn)片上flash的燒寫(xiě)功能。
監(jiān)控芯片C505CA
監(jiān)控芯片跟主控芯片進(jìn)行實(shí)時(shí)通信,從而保證主控的正確運(yùn)行,監(jiān)控芯片還行使故障診斷的職能。
C505CA是Infineon公司的一款8位單片機(jī),它基于8051內(nèi)核,優(yōu)點(diǎn)在于:
有較高的運(yùn)算速度,能達(dá)到20MHz的工作頻率;
具有片上CAN接口,方便跟主控芯片通信;
支持在片仿真;
采用貼片封裝。
開(kāi)發(fā)板工作過(guò)程
開(kāi)發(fā)板上電后,液晶屏顯示一些說(shuō)明信息,同時(shí)開(kāi)始模擬ABS在實(shí)際車(chē)輛中的上電自檢:報(bào)警燈亮快閃幾秒,然后模擬電機(jī)和12個(gè)電 磁閥的LED依次點(diǎn)亮,最后,所有的LED閃一次。
自檢之后,液晶屏開(kāi)始顯示XC164CS傳送的輪速計(jì)算值,輪速脈沖是由電路板1產(chǎn)生的;如果當(dāng)前輪速較低,則模擬電機(jī)和12個(gè)電磁閥的LED會(huì)循環(huán)點(diǎn)亮,表示ABS系統(tǒng)在較低車(chē)速下,不會(huì)進(jìn)行防抱制動(dòng),只進(jìn)行常規(guī)的在線(xiàn)檢查;如果當(dāng)前輪速較高,則除報(bào)警燈外的所有LED會(huì)同時(shí)閃爍,表明ABS系統(tǒng)在該速度下會(huì)起作用。
對(duì)于輪速的改變,需要用到開(kāi)發(fā)板上的3個(gè)按鍵,按住UP鍵不動(dòng),則輪速升高,按住DOWN鍵不動(dòng),則輪速降低,按一下STOP鍵,則當(dāng)前輪速會(huì)迅速減至0。
開(kāi)發(fā)板在A(yíng)BS開(kāi)發(fā)過(guò)程中的應(yīng)用
由于以前使用Intel公司196系列單片機(jī)作為主控芯片,現(xiàn)改用XC164CS,將代碼從196移植到XC164CS是一個(gè)非常煩雜的工作,鑒于實(shí)車(chē)試驗(yàn)的危險(xiǎn)性,在進(jìn)行實(shí)車(chē)試驗(yàn)以前必須對(duì)代碼進(jìn)行嚴(yán)格的驗(yàn)證,開(kāi)發(fā)板很好的起到了這個(gè)作用。
首先,開(kāi)發(fā)板能觀(guān)察輪速、輪加減速度等控制量,通過(guò)改變脈沖發(fā)生的頻率,觀(guān)察液晶屏的顯示即可知道計(jì)算結(jié)果的對(duì)錯(cuò),非常直觀(guān)。
其次,可以驗(yàn)證主控芯片和監(jiān)控芯片對(duì)報(bào)警燈、繼電器、電機(jī)、電磁閥等外部設(shè)備的操作。
第三,通過(guò)閥旁邊的開(kāi)關(guān),可以模擬閥的通斷,實(shí)現(xiàn)故障診斷的功能。
第四,通過(guò)主控芯片與監(jiān)控芯片的CAN通信驗(yàn)證主控芯片和監(jiān)控芯片代碼的正確性。
另外,通過(guò)開(kāi)發(fā)板還可以驗(yàn)證ABS的進(jìn)退出條件等。
開(kāi)發(fā)板和實(shí)際AB系統(tǒng)的區(qū)別
開(kāi)發(fā)板僅用于A(yíng)BS系統(tǒng)功能和單片機(jī)功能的驗(yàn)證,無(wú)法做到很全面,有些功能尚不能演示,比如:
XC164CS和C505CA提供了強(qiáng)大的CAN接口,同時(shí)在設(shè)計(jì)過(guò)程中,又在板子上擴(kuò)展了K-line/LIN總線(xiàn)接口,但是其在汽車(chē)網(wǎng)絡(luò)中的實(shí)時(shí)數(shù)據(jù)傳輸,無(wú)法演示。
完善的診斷功能也不能完成,因?yàn)橛脕?lái)演示電機(jī)和電磁閥的LED同實(shí)際使用的電機(jī)和電磁閥比較起來(lái),需要的驅(qū)動(dòng)電流很小,而在A(yíng)BS中使用的Infineon TLE6228驅(qū)動(dòng)芯片會(huì)把這種情況樣認(rèn)為是故障。
結(jié)語(yǔ)
六通道ABS的開(kāi)發(fā)板驗(yàn)證了ABS軟件代碼的正確性。該開(kāi)發(fā)板自成體系,具有輪速發(fā)生、數(shù)據(jù)顯示、故障診斷、外圍電路驅(qū)動(dòng)和實(shí)時(shí)通信功能。另外,主控芯片XC164CS采用了先進(jìn)的在片調(diào)試接口(OCDS),大大提高了開(kāi)發(fā)效率。
評(píng)論