工控網(wǎng)首頁
>

應(yīng)用設(shè)計(jì)

>

S3C44B0X微處理器在汽車防抱死控制系統(tǒng)中的應(yīng)用

S3C44B0X微處理器在汽車防抱死控制系統(tǒng)中的應(yīng)用

2007/10/29 14:59:00
引言:基于ARM微處理器和µC/OS-Ⅱ開發(fā)的嵌入式防抱死制動(dòng)系統(tǒng)具有實(shí)時(shí)性好,可靠性高等特點(diǎn),能在很大程度上提高控制器的可靠性和車輛的制動(dòng)性能。 一 S3C44B0X微處理器和µC/OS-Ⅱ操作系統(tǒng)的結(jié)合是我們開發(fā)的基礎(chǔ)。 1、微處理器:一個(gè)成功的汽車電子控制單元,取決于設(shè)計(jì)時(shí)對所用微處理器的選擇?,F(xiàn)代發(fā)動(dòng)機(jī)和自動(dòng)變速箱的電子控制單元一般需要采用32位的CPU來處理實(shí)時(shí)算法。而在汽車的底盤、安全和車身系統(tǒng)等領(lǐng)域,就可以根據(jù)控制的復(fù)雜程度使采用16位或者32位兩種微處理器。但是,底盤控制器在其大部分工作時(shí)間內(nèi),要對傳感器進(jìn)行掃描,而CPU又必須時(shí)時(shí)刻刻能夠提供相應(yīng)的處理能力,能在僅僅幾個(gè)毫秒的時(shí)間內(nèi)完成整個(gè)判定程序,并起動(dòng)應(yīng)用程序。三星公司的S3C44B0X是一種主頻達(dá)66MHz的高性能微處理器,具有豐富的接口資源,已經(jīng)在眾多行業(yè)得到了高性價(jià)比的驗(yàn)證。據(jù)悉,在上海浦東張江已經(jīng)有某家汽車產(chǎn)品開發(fā)公司在使用該微處理器開發(fā)汽車相關(guān)控制方面的產(chǎn)品。 2、編程語言:在過去,軟件工程師們開發(fā)基于8位處理器和16位處理器汽車電控單元時(shí),大多采用匯編語言來編制程序。而當(dāng)今隨著開發(fā)周期的縮短和軟件復(fù)雜性的提高,使得設(shè)計(jì)師們不得不采用PLM,C語言等高級語言,總的看來,汽車嵌入式系統(tǒng)的開發(fā)中,軟件的趨勢是向C語言發(fā)展。將µC/OS-Ⅱ移植到ARM7TDMI微處理器上所采用的是可產(chǎn)生可重入代碼的C編譯器,而且因?yàn)椴僮飨到y(tǒng)本身其代碼大部分就是用C語言編寫的 3、操作系統(tǒng):控制器設(shè)計(jì)師必須分析控制性能對操作系統(tǒng)的要求。隨著嵌入式系統(tǒng)復(fù)雜程度的增加,汽車工業(yè)將采用實(shí)時(shí)操作系統(tǒng)RTOS和更復(fù)雜的軟件開發(fā)工具。高度綜合的娛樂、話音識(shí)別和路況引導(dǎo)系統(tǒng),早已用實(shí)時(shí)軟件處理來自用戶和通信信息源的異步輸入。但是,汽車嵌套系統(tǒng)的設(shè)計(jì)師們還是抱怨,對于容量大而存儲(chǔ)器少的車輛控制系統(tǒng),商用的RTOS還是太大,功能也過多。為了解決這些抱怨,歐洲汽車制造商們規(guī)定OSEK標(biāo)準(zhǔn)為汽車嵌套控制器開發(fā)的公共平臺(tái)的應(yīng)用編程接口。(OSEK的名稱來源于德國的一種叫法:“車內(nèi)電子設(shè)備的開放系統(tǒng)和接口 ”)。一種免費(fèi)的源代碼公開的實(shí)時(shí)操作系統(tǒng)µC/OS-Ⅱ于上世紀(jì)90年代初應(yīng)運(yùn)而生,國外界內(nèi)專業(yè)人士已經(jīng)在非常廣泛的領(lǐng)域使用了該操作系統(tǒng),適用于該操作系統(tǒng)的芯片幾乎包含了全球各主要芯片生產(chǎn)商,如Intel,AMD等,國內(nèi)同行較多在Motorola芯片上成功使用了該操作系統(tǒng),越來越多的用戶已經(jīng)在Intel的16位微處理器比如8XC196KC上成功的實(shí)現(xiàn)了µC/OS-Ⅱ的運(yùn)行。 基于此,我們選擇三星公司的這種微處理器和已經(jīng)得到廣泛應(yīng)用的源代碼公開的操作系統(tǒng)來開發(fā)我們的電控單元。 二 防抱死制動(dòng)系統(tǒng)的控制原理 一般的,防抱死制動(dòng)系統(tǒng)就是在每一個(gè)車輪上車輪轉(zhuǎn)速傳感器,用以測量轉(zhuǎn)速。這些傳感器將車輪轉(zhuǎn)速轉(zhuǎn)變?yōu)殡娦盘栞斎腚娍貑卧?,而在每一個(gè)車輪附近都安裝有開關(guān)電磁閥,電控單元根據(jù)轉(zhuǎn)速信號計(jì)算車輪和車輛本身的運(yùn)動(dòng)狀態(tài),當(dāng)發(fā)現(xiàn)車輪制動(dòng)趨于抱死時(shí),就向這些或常開或常閉型的電磁閥發(fā)出電信號,以執(zhí)行開或關(guān)的動(dòng)作,使得一部分制動(dòng)液從制動(dòng)輪缸中流出,從而減小輪缸的制動(dòng)壓力,即減壓;在制動(dòng)壓力減小到一定程度時(shí),車輪抱死趨勢消除,就保持制動(dòng)輪缸的制動(dòng)壓力,即保壓;當(dāng)車輪在慣性作用下又加速到一定程度時(shí),在增大制動(dòng)輪缸的制動(dòng)壓力,即增壓;當(dāng)車輪又被制動(dòng)到趨于抱死的狀態(tài)時(shí),再執(zhí)行減壓過程,如此往復(fù)循環(huán),確保車輪在制動(dòng)過程中得到最大的路面附著力,最短的制動(dòng)距離,避免了抱死現(xiàn)象的發(fā)生。下面是某車型防抱死制動(dòng)系統(tǒng)結(jié)構(gòu)分布圖(圖一):
三 硬件設(shè)計(jì) ABS 的硬件原理圖見圖二
1、MCU:該控制器所采用的微處理器為Samsung公司的S3C44B0X,采用0.25µmCMOS工藝,其CPU采用ARM公司的主頻為66MHz并帶8KB緩存的ARM7TDMI RISC結(jié)構(gòu),支持片上ICE中斷調(diào)試,并具有32位硬件乘法器。它還有兩個(gè)DMA通道,5個(gè)PWM定時(shí)器及1個(gè)內(nèi)部定時(shí)器,8個(gè)外部中斷源,8個(gè)10位的ADC,71個(gè)通用I/O口;另外,在能耗控制方面的性能顯得尤為突出,它總共有四種能量控制模式,包括正常、低、休眠和停止。片上ICE中斷調(diào)試支持JTAG調(diào)試方式,是該微處理器最顯著的特點(diǎn),這也是與以往單片機(jī)開發(fā)方式最明顯的區(qū)別之一。它的接口資源也及其豐富,有IIS總線接口,I2C總線接口,同步串行I/O口。 2、ROM電路:采用AM29F010-120/BUA(32)型DIP-32封裝的Flash,既可以滿足ABS數(shù)據(jù)容量的需要,又可以為后續(xù)設(shè)計(jì)擴(kuò)容。見圖三:
圖三 擴(kuò)展ROM電路 3、UART電路,S3C44B0X有2個(gè)帶DMA和中斷的UART,即有兩路TXD1、RXD1,TXD0、RXD0;支持5位、6位、7位、8位串行數(shù)據(jù)傳送與接收及傳送與接收時(shí)的雙向握手;每一個(gè)通道有2個(gè)內(nèi)部32位FIFO。 4、電磁閥(12V)驅(qū)動(dòng)電路,電機(jī)(12V)驅(qū)動(dòng)電路 用最新AG4的ECU電磁閥專用驅(qū)動(dòng)芯片。 四 軟件設(shè)計(jì):軟件設(shè)計(jì)是整個(gè)ABS電控單元設(shè)計(jì)的核心。因?yàn)椴捎迷?2位的微處理器,在很大程度上是為了簡化硬件的結(jié)構(gòu),并可以利用其豐富的I/O和接口,在現(xiàn)有基礎(chǔ)上實(shí)現(xiàn)底盤集成控制系統(tǒng)的研制。為了充分協(xié)調(diào)各項(xiàng)控制功能并提高CPU的利用率,軟件采用模塊化設(shè)計(jì),將每一模塊當(dāng)作一獨(dú)立的任務(wù)來管理。 1、 控制邏輯的進(jìn)一步分析:ABS的主要任務(wù)是控制邏輯算法以保持高制動(dòng)力,同時(shí)通過調(diào)整產(chǎn)生符合要求的側(cè)傾力以保持車輛的操縱穩(wěn)定性。這些信息要靠制動(dòng)及回轉(zhuǎn)時(shí)對附著系數(shù)-滑移率(µ-s)曲線和車輛行駛狀態(tài)的假定來獲得。控制規(guī)則是要對車輪轉(zhuǎn)速進(jìn)行調(diào)節(jié)而不是制動(dòng)壓力,它解決了車輪制動(dòng)壓力到底要減少多少這個(gè)問題。如果車輪減速太快,那么就意味著制動(dòng)壓力的減少;而又因?yàn)橹苿?dòng)壓力的減少,車輪又會(huì)加速,那么相應(yīng)的制動(dòng)壓力又會(huì)增長。壓力的增加要逐步進(jìn)行,以減少車輪運(yùn)轉(zhuǎn)狀態(tài)中瞬時(shí)現(xiàn)象的影響,而如果減速度很大的話,就可以快速減少制動(dòng)壓力。為了更好的進(jìn)行控制邏輯的研究和改進(jìn),要建立各項(xiàng)模型,并對其邏輯進(jìn)行純軟件仿真。
2、 操作系統(tǒng)的移植: 1) 程序下載至Flash的過程:要在ARM7的Boot模式下把程序裝入AM29F010,此時(shí)該Flash的地址為0x70000000,CS0是其片選信號。ARM內(nèi)部有個(gè)128B的ROM,存放初始化ARM內(nèi)部COM口的程序,還有一個(gè)2K的SRAM。采用Boot模式啟動(dòng)ARM后,初始化程序即對COM口進(jìn)行初始化,并從該口接受2K程序到內(nèi)部SRAM,程序接受完畢即自動(dòng)跳轉(zhuǎn)到這段2K程序執(zhí)行,用這段程序再次初始化內(nèi)部COM口,然后就可以通過該COM口接受µC/OS-Ⅱ到DRAM了,完成了這些過程,就可以把程序由DRAM裝入AM29F010了。裝入完畢后,要將模式切換到運(yùn)行一般程序用的Normal模式,并重新啟動(dòng)系統(tǒng),改變模式后的Flash地址變?yōu)?x00000000,重新啟動(dòng)后的系統(tǒng)會(huì)自動(dòng)跳到該地址開始運(yùn)行µC/OS-Ⅱ。 2) 用typedef聲明10個(gè)數(shù)據(jù)類型(OS_CPU.H),并用#define聲明三個(gè)宏: #define OS_ENTER_CRITICAL() ARMDisableInt() #define OS_EXIT_CRITICAL() ARMEnableInt() #define OS_STK_GROUTH 1 以C語言編寫6個(gè)與µC/OS-Ⅱ相關(guān)的函數(shù)。包括OSTaskStkInit(),OSTaskCreateHook(),OSTaskSwHook(),OSTaskStatHook(),OSTimeTickHook(); 3) 用匯編語言編寫4個(gè)和S3C44B0X相關(guān)的函數(shù)。包括OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR(); 五 總結(jié) 本文從實(shí)時(shí)性的角度描述了采用S3C44B0X微處理器和µC/OS-Ⅱ操作系統(tǒng)開發(fā)防抱死控制器的基本過程。主要分析了防抱死控制原理和操作系統(tǒng)的移植,并給出了部分硬件電路原理圖。經(jīng)過硬件在環(huán)仿真初步驗(yàn)證了軟硬件的可行性,實(shí)踐證明,采用實(shí)時(shí)操作系統(tǒng)以及基于ARM7TDMI核的32位微處理器,大大的提高了系統(tǒng)的實(shí)時(shí)性能,并使得系統(tǒng)的擴(kuò)展有了更大的可行性和更優(yōu)的簡易性。真正的嵌入式系統(tǒng),將在汽車電子控制單元的開發(fā)中得到更為廣泛的應(yīng)用。 參考文獻(xiàn): 1. 嵌入式系統(tǒng)構(gòu)件 (美)Jean J.Labrosse 著 袁勤勇 黃紹金 唐菁 等譯 機(jī)械工業(yè)出版社 2002年2月第一版 2. 嵌入式系統(tǒng)編程源代碼解析 (美)Dreamtech 軟件研發(fā)組 著 王勇 蓋江南 閻文麗 等譯 電子工業(yè)出版社 2002年9月第一版 3. µC/OS-Ⅱ——源碼公開的實(shí)時(shí)嵌入式操作系統(tǒng) Jean J.Labrosse 著 邵貝貝 譯 中國電力出版社 2001年8月第一版 4. 2001年嵌入式系統(tǒng)及單片機(jī)國際學(xué)術(shù)交流會(huì)論文集 沈緒榜 何立民 主編 北京航空航天大學(xué)出版社 2001年10月第一版 5. S3C44B0X RISC MICROPROCESSOR 用戶手冊 英文版 6. 嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)——基于ARM微處理器與µC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng) 王田苗 主編 清華大學(xué)出版社2002年9月第一版 7. 汽車?yán)碚?余志生 主編 機(jī)械工業(yè)出版社 8. 其它網(wǎng)絡(luò)資料
投訴建議

提交

查看更多評論
其他資訊

查看更多

超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型

新大陸自動(dòng)識(shí)別精彩亮相2024華南國際工業(yè)博覽會(huì)

派拓網(wǎng)絡(luò)被Forrester評為XDR領(lǐng)域領(lǐng)導(dǎo)者

智能工控,存儲(chǔ)強(qiáng)基 | ??低晭砭手黝}演講

展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)