新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 持汽車電子的嵌入式軟件編程接口庫(kù)設(shè)計(jì)

持汽車電子的嵌入式軟件編程接口庫(kù)設(shè)計(jì)

——
作者:李志強(qiáng) 朱澄 李軍 時(shí)間:2006-11-28 來(lái)源:無(wú)憂電子開發(fā)網(wǎng) 收藏

引言    

近年來(lái),隨著電子科學(xué)和計(jì)算機(jī)技術(shù)的飛速發(fā)展,設(shè)備的應(yīng)用越來(lái)越多。目前,國(guó)內(nèi)技術(shù)水平跟國(guó)外汽車廠商相比還有很大差距,尤其是在發(fā)動(dòng)機(jī)電控方面,國(guó)內(nèi)尚無(wú)獨(dú)立開發(fā)先例。本文介紹的柴油機(jī)電控系統(tǒng)嵌入式軟件平臺(tái)就是面向,遵循OSEK標(biāo)準(zhǔn),應(yīng)用于汽車動(dòng)力總成控制的系統(tǒng)平臺(tái)。    軟件平臺(tái)由微型系統(tǒng)內(nèi)核和應(yīng)用編程接口庫(kù)組成。嵌入式操作系統(tǒng)內(nèi)核負(fù)責(zé)任務(wù)調(diào)度及事件處理等,編程接口庫(kù)負(fù)責(zé)將開發(fā)常用的算法和MPC555底層硬件的驅(qū)動(dòng)函數(shù)進(jìn)行控件級(jí)封裝,供用戶調(diào)用。在中,開發(fā)人員通過(guò)調(diào)用編程接口庫(kù)中已有的函數(shù),就可以實(shí)現(xiàn)常用運(yùn)算功能以及常規(guī)硬件操作。

發(fā)動(dòng)機(jī)電控系統(tǒng)層次圖

                

                                      圖1 發(fā)動(dòng)機(jī)電控系統(tǒng)層次圖 

整個(gè)電控系統(tǒng)包括硬件平臺(tái)、底層驅(qū)動(dòng)、嵌入式軟件平臺(tái)和上層用戶四個(gè)層次。各個(gè)層次關(guān)系,如圖1所示。

硬件平臺(tái)簡(jiǎn)介    

發(fā)動(dòng)機(jī)電控系統(tǒng)硬件平臺(tái)主控CPU為MPC555,它是一款高性能的32位,是專為汽車電子、航空航天、智能系統(tǒng)等高端嵌入式控制系統(tǒng)所設(shè)計(jì)的芯片。其獨(dú)特之處在于其具有浮點(diǎn)運(yùn)算單元,支持浮點(diǎn)代碼的直接編程;此外,MPC555還具有可編程的時(shí)間處理模塊,可通過(guò)對(duì)該模塊的獨(dú)立編程,實(shí)現(xiàn)對(duì)發(fā)動(dòng)機(jī)曲軸、凸輪軸等復(fù)雜周期信號(hào)的處理,無(wú)需外接單獨(dú)的CPU,從而大大簡(jiǎn)化了軟、硬件設(shè)計(jì)。

發(fā)動(dòng)機(jī)電控系統(tǒng)硬件電路結(jié)構(gòu)框圖

                                                   圖2 發(fā)動(dòng)機(jī)電控系統(tǒng)硬件電路結(jié)構(gòu)框圖 

以MPC555為核心控制單元,輔以相應(yīng)的輸入信號(hào)處理、輸出控制和通訊單元設(shè)計(jì)的發(fā)動(dòng)機(jī)電控系統(tǒng)硬件電路結(jié)構(gòu)框圖,如圖2所示。

嵌入式操作系統(tǒng)內(nèi)核簡(jiǎn)介    

該嵌入式操作系統(tǒng)是以MPC555/MPC556為硬件運(yùn)行平臺(tái),參照歐洲OSEK標(biāo)準(zhǔn),構(gòu)建的超微型實(shí)時(shí)安全的嵌入式操作系統(tǒng)內(nèi)核。該系統(tǒng)為用戶提供各種任務(wù)調(diào)度、事件處理及中斷響應(yīng)機(jī)制,并由操作系統(tǒng)管理各個(gè)任務(wù)之間的切換和信息傳遞。    

為滿足系統(tǒng)實(shí)時(shí)性的要求,操作系統(tǒng)任務(wù)管理采用基于任務(wù)優(yōu)先級(jí)的可搶占式任務(wù)機(jī)制,任務(wù)之間通過(guò)消息郵箱和消息隊(duì)列傳遞變量和信息。另外,系統(tǒng)內(nèi)核利用開放源碼機(jī)制,通過(guò)裁減與移植,可以支持多種國(guó)際主流處理器。 

該嵌入式操作系統(tǒng)內(nèi)核的功能結(jié)構(gòu),如圖3所示。

支持汽車電子的嵌入式操作系統(tǒng)內(nèi)核結(jié)構(gòu)圖
 圖3支持汽車電子的嵌入式操作系統(tǒng)內(nèi)核結(jié)構(gòu)圖

嵌入式編程接口庫(kù)設(shè)計(jì)    

應(yīng)用編程接口庫(kù)的設(shè)計(jì)是將發(fā)動(dòng)機(jī)電控系統(tǒng)需要的常規(guī)算法和硬件基本操作封裝為函數(shù)形式,嵌入在操作系統(tǒng)中,為開發(fā)人員提供一個(gè)友好安全的軟件平臺(tái)。 

該嵌入式編程接口庫(kù)的結(jié)構(gòu),如圖4所示。

支持汽車電子的嵌入式編程接口庫(kù)結(jié)構(gòu)圖

                                         圖4 支持汽車電子的嵌入式編程接口庫(kù)結(jié)構(gòu)圖

嵌入式基礎(chǔ)編程接口庫(kù)    

嵌入式基礎(chǔ)編程接口庫(kù)是指各行業(yè)在電子控制方面通用的編程接口庫(kù)。該庫(kù)利用現(xiàn)有車輛數(shù)據(jù)作為模擬數(shù)據(jù)進(jìn)行控制算法和線性插值算法庫(kù)函數(shù)驗(yàn)證,數(shù)據(jù)結(jié)構(gòu)符合 ASAP2標(biāo)準(zhǔn)。該接口庫(kù)為用戶提供了一整套開發(fā)中常用的算法函數(shù)和基本操作,對(duì)典型的算法和操作進(jìn)行控件級(jí)封裝,為應(yīng)用程序提供一個(gè)完整的通用的系統(tǒng)調(diào)用函數(shù)庫(kù)。

該函數(shù)庫(kù)主要包括:

1. 2D、3D線性插值算法接口庫(kù):在二維、三維表中,經(jīng)過(guò)線性插值得到與輸入量對(duì)應(yīng)的函數(shù)值,用于發(fā)動(dòng)機(jī)控制參數(shù)查表算法。
 
2. PID控制器算法接口庫(kù):PID控制器是一種線性控制器。它根據(jù)給定值與實(shí)際輸出值構(gòu)成控制偏差,將偏差的比例、積分和微分通過(guò)線性組合構(gòu)成控制量,主要用于控制噴油輸出信號(hào)。

3. 平滑濾波處理算法接口庫(kù):主要用于對(duì)采集的模擬信號(hào)進(jìn)行平滑和去抖處理。4. 其他汽車電子控制系統(tǒng)中,常用的控制算法和信號(hào)處理函數(shù)接口庫(kù)。    

嵌入式基礎(chǔ)編程接口庫(kù)的設(shè)計(jì)有兩個(gè)目的:一是方便調(diào)用應(yīng)用程序,增加程序可靠性和編程效率;二是希望通過(guò)將處理方法標(biāo)準(zhǔn)化,在不改變程序結(jié)構(gòu)的情況下,可以將程序言在不同的硬件平臺(tái)上進(jìn)行移植,免去了軟件開發(fā)人員對(duì)一些典型算法和操作的重復(fù)編程。

嵌入式專用編程接口庫(kù)    

嵌入式專用編程接口庫(kù),是指針對(duì)特定柴油機(jī)和ECU的硬件特殊需要設(shè)計(jì)的系統(tǒng)專用編程接口庫(kù)。該接口庫(kù)的設(shè)計(jì)符合OSEK操作系統(tǒng)調(diào)用規(guī)范,為用戶提供底層硬件MPC555的各個(gè)功能模塊的驅(qū)動(dòng),并針對(duì)汽車電子完成了基本的數(shù)據(jù)處理工作,提供軟件方面的可調(diào)用函數(shù)。嵌入式專用編程接口庫(kù)主要包括:

1. 模擬量輸入檢測(cè)及處理接口庫(kù):發(fā)動(dòng)機(jī)的溫度、壓力等傳感器信號(hào)以電壓形式被電控單元ECU的模擬量通道采集。信號(hào)采集方式可以是需要時(shí)調(diào)用采集函數(shù),也可以設(shè)置成QADC單元自動(dòng)按定時(shí)器周期順序采集。在系統(tǒng)初始化時(shí),用戶可根據(jù)具體情況分別設(shè)定各個(gè)通道的采集方式。

 2. 開關(guān)量輸入/輸出接口庫(kù):用于對(duì)離合器、剎車等開關(guān)量信號(hào)采集并做去抖處理,結(jié)果賦值給指定的全局變量,供用戶需要時(shí)讀取。傳感器電源、渦輪增壓器控制等開關(guān)量輸出,則通過(guò)直接調(diào)用相應(yīng)函數(shù)由引腳輸出高低電平實(shí)現(xiàn)。I/O口的引腳方向在系統(tǒng)初始化時(shí)根據(jù)硬件設(shè)計(jì)設(shè)定。

3. 周期量輸入檢測(cè)及輸出控制接口庫(kù):MPC555內(nèi)部集成的時(shí)間處理單元TPU自帶曲軸/凸輪軸信號(hào)檢測(cè)功能和噴油信號(hào)輸出控制功能。為方便用戶使用,我們將各個(gè)功能封裝為底層驅(qū)動(dòng)函數(shù)形式,用戶可以調(diào)用這些函數(shù)設(shè)定TPU的工作方式。

4. 其他和單片機(jī)硬件相關(guān)的驅(qū)動(dòng)函數(shù)接口庫(kù)。    

底層驅(qū)動(dòng)接口庫(kù)是汽車電子開發(fā)人員和底層硬件系統(tǒng)之間的橋梁,使開發(fā)人員可以最大限度地脫離底層硬件轉(zhuǎn)而專注于汽車控制算法設(shè)計(jì)。用戶通過(guò)對(duì)底層驅(qū)動(dòng)接口函數(shù)的調(diào)用,就可以方便地完成對(duì)MPC555底層硬件的操作。

嵌入式函數(shù)庫(kù)    

基于上述算法和底層驅(qū)動(dòng)函數(shù)庫(kù),針對(duì)該控制系統(tǒng)的具體需求和功能,兼顧在汽車電子領(lǐng)域的通用性,我們對(duì)函數(shù)和算法以及各種操作進(jìn)行了更高一層的封裝,為用戶提供了更標(biāo)準(zhǔn)的函數(shù)庫(kù),更大程度地方便了用戶。API函數(shù)庫(kù)包含了發(fā)動(dòng)機(jī)各種信號(hào)的輸入處理和輸出控制函數(shù),能夠?qū)崿F(xiàn)更加具體的功能。    

以發(fā)動(dòng)機(jī)噴油控制函數(shù)為例,當(dāng)系統(tǒng)檢測(cè)到曲軸信號(hào)缺齒位置時(shí),產(chǎn)生中斷。系統(tǒng)根據(jù)測(cè)得的發(fā)動(dòng)機(jī)轉(zhuǎn)數(shù),以及各種溫度和壓力參數(shù),結(jié)合怠速、剎車等開關(guān)的狀態(tài),設(shè)定噴油輸出信號(hào)的起始時(shí)刻和脈沖寬度,從而實(shí)現(xiàn)對(duì)發(fā)動(dòng)機(jī)性能的控制。

結(jié)語(yǔ)    

本文介紹了一種支持汽車電子的嵌入式編程接口庫(kù)的內(nèi)容和設(shè)計(jì)方法。接口庫(kù)提供了可供系統(tǒng)直接調(diào)用的各種API函數(shù),以實(shí)現(xiàn)常規(guī)算法和硬件操作。接口庫(kù)的設(shè)計(jì)相對(duì)獨(dú)立,實(shí)現(xiàn)了與硬件平臺(tái)、操作系統(tǒng)和控制算法的并行開發(fā),最后統(tǒng)一聯(lián)調(diào),大大縮短了開發(fā)的時(shí)間。同時(shí),這種層次分明的設(shè)計(jì)思想,也使得接口庫(kù)設(shè)計(jì)更加通用和標(biāo)準(zhǔn)化,可以通過(guò)簡(jiǎn)單修改移植到新的軟、硬件平臺(tái)之上,提高了代碼的重復(fù)利用率,有較高的使用價(jià)值。

pid控制器相關(guān)文章:pid控制器原理




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉