<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于OSEK/VDX的電動(dòng)助力系統設計

基于OSEK/VDX的電動(dòng)助力系統設計

作者:燕山大學(xué) 臧懷泉 田超 劉敏 時(shí)間:2008-08-11 來(lái)源:?jiǎn)纹瑱C與嵌入式系統應用 收藏

  3 軟件設計

本文引用地址:http://dyxdggzs.com/article/86793.htm

  隨著(zhù)應用進(jìn)一步復雜化和對性、可靠性要求的提高,為了合理調度多種任務(wù)并利用系統資源,基于進(jìn)行軟件設計逐漸成為了嵌入式系統設計開(kāi)發(fā)的主流。當前嵌入式有數百種,它們各具特色。開(kāi)放源碼的嵌入式實(shí)時(shí)在成本和技術(shù)上具有獨特的優(yōu)勢,并占有越來(lái)越重要的地位。本文選擇開(kāi)源的嵌入式實(shí)時(shí)操作系統PICOS18作為的軟件開(kāi)發(fā)平臺。PICOS18是按照OSEK/VDX標準實(shí)現的實(shí)時(shí)操作系統。PICOS18是一個(gè)多任務(wù)可剝奪型微實(shí)時(shí)內核,非常小巧,占程序空間(ROM)小于1KB,占數據空間(RAM)僅為7B,系統代碼容量及運行所需的ROM和RAM也非常少;提供了任務(wù)管理、定時(shí)器管理、事件管理、中斷管理等功能;基于優(yōu)先級進(jìn)行任務(wù)調度,具有16個(gè)優(yōu)先級,系統占用1個(gè),用戶(hù)可創(chuàng )建15個(gè)任務(wù),每個(gè)任務(wù)最多還可以擁有8個(gè)事件[4].

  3.1 應用軟件開(kāi)發(fā)

  嵌入式實(shí)時(shí)操作系統將面向功能的應用開(kāi)發(fā)轉化為面向任務(wù)的應用開(kāi)發(fā),因此軟件開(kāi)發(fā)的過(guò)程就是將應用系統按照功能細分為多個(gè)任務(wù),然后實(shí)現每個(gè)任務(wù),并為任務(wù)確定合適的優(yōu)先級;對于實(shí)時(shí)性要求高的操作,需要編寫(xiě)相關(guān)的中斷服務(wù)程序。

  根據的工作原理,可分為8個(gè)任務(wù)。

 ?。?) Task1——車(chē)速信號采集

  擴展任務(wù),用于計算車(chē)速。上電運行后Task1處于等待狀態(tài), 等待車(chē)速計算事件EventSpeed.利用定時(shí)器/計數器TMR0模塊當計數器溢出時(shí)(數量的轉速信號脈沖后)產(chǎn)生中斷,進(jìn)入轉速中斷服務(wù)程序,記錄脈沖周期總時(shí)間,然后設置事件EventSpeed,激活Task1.這時(shí)Task1處于就緒狀態(tài),在操作系統調度機制(完全搶占式)的管理下,等到就緒隊列中優(yōu)先級高于Task1的任務(wù)都運行完成時(shí),Task1運行,根據所記錄的脈沖時(shí)間和脈沖個(gè)數,計算出車(chē)速,并進(jìn)行濾波。執行完后,激活Task2,清除事件EventSpeed,Task1又處于等待狀態(tài)。

 ?。?) Task2——扭矩信號采集

  基本任務(wù),用于采集扭矩信號。該任務(wù)由Task1激活,執行頻率與Task1相同。因為車(chē)速信號和扭矩信號是EPS系統最重要的兩個(gè)參數,所以必須使這兩個(gè)參數及時(shí)地更新,以保證助力模式的選擇和助力大小的確定得到及時(shí)準確的控制。

 ?。?) Task3——電流反饋信號采集

  基本任務(wù),用于采集電機反饋電流。該任務(wù)由Task5激活,系統只有在助力控制時(shí)才會(huì )激活此任務(wù)。該參數與目標電流的差值,通過(guò)PID調節器的控制,使電機迅速提供相應的扭矩,達到助力的目的。

 ?。?) Task4——故障診斷

  擴展任務(wù),用于故障的監測和診斷。上電運行后,等待消息MsgSpeedErr,確定車(chē)速正常;等待消息MsgVoltErr,確定電壓正常;等待消息MsgTorqueErr,確定扭矩正常。一旦發(fā)生故障,該任務(wù)將立即斷開(kāi)繼電器,使轉向系統處于機械轉向狀態(tài),避免事故發(fā)生。

 ?。?) Task5——助力模式選擇

  基本任務(wù),用于選擇助力方式以及確定助力控制方式下的目標電流。此任務(wù)由Task2激活,通過(guò)車(chē)速和扭矩的大小,判斷助力模式,在助力控制下通過(guò)助力特性曲線(xiàn)得到目標電流。此任務(wù)的執行次數與Task1和Task2相同,以保證助力方式和助力大小實(shí)時(shí)準確。

 ?。?) Task6——助力控制

  基本任務(wù),助力控制,由Task3激活。通過(guò)Task5得到的目標電流,以及Task3電機反饋電流,采用PID調節器進(jìn)行閉環(huán)控制,最后通過(guò)PWM脈寬調制控制助力電機。

 ?。?) Task7——回正控制

  基本任務(wù),回正控制,由Task5激活。當汽車(chē)車(chē)速很高時(shí),使電機兩端短路,產(chǎn)生回正阻尼,減小回正超調;當汽車(chē)處于低速時(shí),使電機兩端迅速斷路,減小電機阻力,使轉向迅速回正。

 ?。?) Task8——阻尼控制

  基本任務(wù),阻尼控制,由Task5激活。阻尼控制用于高速時(shí)的各種狀態(tài)(回正、轉向和直線(xiàn)行駛)?;卣龝r(shí),阻尼控制可減小系統超調;轉向時(shí),可增加阻力,使駕駛員得到較好的路感;直線(xiàn)行駛時(shí),可減小路面對方向盤(pán)的沖擊。

  3.2 任務(wù)優(yōu)先級

  PICOS18采用占先式調度方式,即所有任務(wù)都是可占先的,每個(gè)任務(wù)都有一個(gè)確定的唯一的優(yōu)先級,任務(wù)越重要優(yōu)先級越高。由于助力控制(Task6)任務(wù)必須在合適的時(shí)刻運行,所以Task6優(yōu)先級最高,回正控制(Task7)、阻尼控制(Task8)次之,其次是故障診斷任務(wù)(Task4),其余任務(wù)優(yōu)先級按其激活的執行順序確定。Task4在開(kāi)始運行時(shí)處于等待狀態(tài)如未監測到不正常信號則不再執行。Task1、Task2和Task5在按順序執行完一個(gè)循環(huán)后,繼續響應轉速中斷,重新執行。這種調度方式不僅能采集到最新的車(chē)速信號和扭矩信號,使EPS系統實(shí)時(shí)準確地提供助力,還能提高CPU利用率,充分利用硬件資源。

  3.3 任務(wù)配置(OIL)

  PICOS18通過(guò)taskdesc.c定義任務(wù)的各個(gè)參數,并且是用OSEK/VDX規范中的OIL(OSEK/VDX的實(shí)現語(yǔ)言,類(lèi)似于一個(gè)C結構定義)編寫(xiě)的[5].由于PICOS18沒(méi)有提供GUI用于任務(wù)的配置,因此只能逐句編寫(xiě)。任務(wù)的參數定義結構如下:

  4 結論

  本文分析了EPS系統的結構、工作原理和3種控制方式。通過(guò)PIC18F458單片機的ECCP模塊控制電機,實(shí)現了EPS系統在各種情況下的助力方式。采用嵌入式實(shí)時(shí)操作系統,不僅提高了CPU的利用率,確保了EPS系統的實(shí)時(shí)性要求,還提高了系統運行的穩定性、可靠性以及移植性。

  OSEK/VDX是汽車(chē)電子開(kāi)發(fā)的國際性標準,采用OSEK/VDX規范開(kāi)發(fā)的實(shí)時(shí)系統能夠提高軟件模塊的移植效率、實(shí)現軟件模塊的重復利用及在不同電子控制單元之間的通信。采用OSEK/VDX進(jìn)行汽車(chē)電控單元開(kāi)發(fā)已成為發(fā)展趨勢。

  參考文獻

  [1] 胡建軍,李彤,龔為倫,等。汽車(chē)轉向技術(shù)進(jìn)展分析[J].液壓與氣動(dòng),2006(12):17-20.

  [2] 陳卓,熊忠陽(yáng),李銀國?;贠SEK/VDX操作系統的任務(wù)管理機制設計[J].計算機工程。2006,12(36):82-84.

  [3] 羅玉濤?,F代汽車(chē)電子控制技術(shù)[M].北京:國防工業(yè)出版社,2006:174-202.

  [4] 龔黎明,辜承林?;贠SEK/VDX標準的嵌入式實(shí)時(shí)操作系統PICOS18[J].電子技術(shù)。 2004(5):10-13.

  [5] OSEK/VDX.OSEK Implementation Language Version 2.5. 2004[OL].http://www.osekvdx.org.

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>