新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 支持汽車電子的嵌入式軟件編程接口庫設計

支持汽車電子的嵌入式軟件編程接口庫設計

——
作者:吉林大學物理學院應用物理系 李志強 朱澄 李軍 時間:2007-01-26 來源:電子設計應用 收藏

摘  要:本文介紹了一種支持的嵌入式軟件平臺編程接口庫的內(nèi)容和設計方法。該接口庫提供了以領域常用算法為主的基礎編程接口庫和以底層硬件驅(qū)動函數(shù)為主的專用編程接口庫,以及針對特定系統(tǒng)而設計的函數(shù)庫。系統(tǒng)以MPC555為硬件運行平臺,用戶通過調(diào)用接口庫提供的函數(shù),就可實現(xiàn)運算和硬件操作。這種層次分明的設計思想也便于維護接口庫和移植新的平臺。

關鍵詞;;

引言

近年來,隨著電子科學和計算機技術的飛速發(fā)展,設備的應用越來越多。目前,國內(nèi)汽車電子技術水平跟國外汽車廠商相比還有很大差距,尤其是在發(fā)動機電控方面,國內(nèi)尚無獨立開發(fā)先例。本文介紹的柴油機電控系統(tǒng)嵌入式軟件平臺就是面向汽車電子,遵循OSEK標準,應用于汽車動力總成控制的系統(tǒng)平臺。

軟件平臺由微型系統(tǒng)內(nèi)核和應用編程接口庫組成。嵌入式操作系統(tǒng)內(nèi)核負責任務調(diào)度及事件處理等,編程接口庫負責將開發(fā)常用的算法和MPC555底層硬件的驅(qū)動函數(shù)進行控件級封裝,供用戶調(diào)用。在中,開發(fā)人員通過調(diào)用編程接口庫中已有的API函數(shù),就可以實現(xiàn)常用運算功能以及常規(guī)硬件操作。


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

整個電控系統(tǒng)包括硬件平臺、、嵌入式軟件平臺和上層用戶四個層次。各個層次關系,如圖1所示。

硬件平臺簡介

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


圖2 發(fā)動機電控系統(tǒng)硬件電路結構框圖

以MPC555為核心控制單元,輔以相應的輸入信號處理、輸出控制和通訊單元設計的發(fā)動機電控系統(tǒng)硬件電路結構框圖,如圖2所示。

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

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

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

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

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

嵌入式編程接口庫設計

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


圖4 支持汽車電子的嵌入式編程接口庫結構圖

該嵌入式編程接口庫的結構,如圖4所示。

嵌入式基礎編程接口庫

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

1. 2D、3D線性插值算法接口庫:
    在二維、三維表中,經(jīng)過線性插值得到與輸入量對應的函數(shù)值,用于發(fā)動機控制參數(shù)查表算法。

2. PID控制器算法接口庫:
    PID控制器是一種線性控制器。它根據(jù)給定值與實際輸出值構成控制偏差,將偏差的比例、積分和微分通過線性組合構成控制量,主要用于控制噴油輸出信號。

3. 平滑濾波處理算法接口庫:
    主要用于對采集的模擬信號進行平滑和去抖處理。

4. 其他汽車電子控制系統(tǒng)中,常用的控制算法和信號處理函數(shù)接口庫。
    嵌入式基礎編程接口庫的設計有兩個目的:一是方便調(diào)用應用程序,增加程序可靠性和編程效率;二是希望通過將處理方法標準化,在不改變程序結構的情況下,可以將程序言在不同的硬件平臺上進行移植,免去了軟件開發(fā)人員對一些典型算法和操作的重復編程。

嵌入式專用編程接口庫

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

嵌入式專用編程接口庫主要包括:

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

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

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

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

嵌入式API函數(shù)庫

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

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

結語

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

參考文獻:
1. MPC555 / MPC556  USER’S  MANUAL,Motorola公司資料;
2. 朱軍主編,電子控制發(fā)動機電路波形分析,機械工業(yè)出版社 2003.09;
3. 皇甫鑒主編,現(xiàn)代汽車電子技術與裝置,北京理工大學出版社 1999.09;
4. 王尚勇,楊青主編,柴油機電子控制技術,機械工業(yè)出版社 2005.01;

pid控制器相關文章:pid控制器原理




評論


相關推薦

技術專區(qū)

關閉