基于MPC555的發動機電控系統的嵌入式編程接口庫設計
該函數庫主要包括:
1. 2D、3D線性插值算法接口庫:在二維、三維表中,經過線性插值得到與輸入量對應的函數值,用于發動機控制參數查表算法。
2. PID控制器算法接口庫:PID控制器是一種線性控制器。它根據給定值與實際輸出值構成控制偏差,將偏差的比例、積分和微分通過線性組合構成控制量,主要用于控制噴油輸出信號。
3. 平滑濾波處理算法接口庫:主要用于對采集的模擬信號進行平滑和去抖處理。4. 其他汽車電子控制系統中,常用的控制算法和信號處理函數接口庫。
嵌入式基礎編程接口庫的設計有兩個目的:一是方便調用應用程序,增加程序可靠性和編程效率;二是希望通過將處理方法標準化,在不改變程序結構的情況下,可以將程序言在不同的硬件平臺上進行移植,免去了軟件開發人員對一些典型算法和操作的重復編程。
嵌入式專用編程接口庫
嵌入式專用編程接口庫,是指針對特定柴油機和ECU的硬件特殊需要設計的系統專用編程接口庫。該接口庫的設計符合OSEK操作系統調用規范,為用戶提供底層硬件MPC555的各個功能模塊的驅動,并針對汽車電子完成了基本的數據處理工作,提供軟件方面的可調用函數。嵌入式專用編程接口庫主要包括:
1. 模擬量輸入檢測及處理接口庫:發動機的溫度、壓力等傳感器信號以電壓形式被電控單元ECU的模擬量通道采集。信號采集方式可以是需要時調用采集函數,也可以設置成QADC單元自動按定時器周期順序采集。在系統初始化時,用戶可根據具體情況分別設定各個通道的采集方式。
2. 開關量輸入/輸出接口庫:用于對離合器、剎車等開關量信號采集并做去抖處理,結果賦值給指定的全局變量,供用戶需要時讀取。傳感器電源、渦輪增壓器控制等開關量輸出,則通過直接調用相應函數由引腳輸出高低電平實現。I/O口的引腳方向在系統初始化時根據硬件設計設定。
3. 周期量輸入檢測及輸出控制接口庫:MPC555單片機內部集成的時間處理單元TPU自帶曲軸/凸輪軸信號檢測功能和噴油信號輸出控制功能。為方便用戶使用,我們將各個功能封裝為底層驅動函數形式,用戶可以調用這些函數設定TPU的工作方式。
4. 其他和單片機硬件相關的驅動函數接口庫。
底層驅動接口庫是汽車電子開發人員和底層硬件系統之間的橋梁,使開發人員可以最大限度地脫離底層硬件轉而專注于汽車控制算法設計。用戶通過對底層驅動接口函數的調用,就可以方便地完成對MPC555底層硬件的操作。
嵌入式API函數庫
基于上述算法和底層驅動函數庫,針對該控制系統的具體需求和功能,兼顧在汽車電子領域的通用性,我們對函數和算法以及各種操作進行了更高一層的封裝,為用戶提供了更標準的API函數庫,更大程度地方便了用戶。API函數庫包含了發動機各種信號的輸入處理和輸出控制函數,能夠實現更加具體的功能。
以發動機噴油控制函數為例,當系統檢測到曲軸信號缺齒位置時,產生中斷。系統根據測得的發動機轉數,以及各種溫度和壓力參數,結合怠速、剎車等開關的狀態,設定噴油輸出信號的起始時刻和脈沖寬度,從而實現對發動機性能的控制。
結語
本文介紹了一種支持汽車電子的嵌入式編程接口庫的內容和設計方法。接口庫提供了可供系統直接調用的各種API函數,以實現常規算法和硬件操作。接口庫的設計相對獨立,實現了與硬件平臺、操作系統和控制算法的并行開發,最后統一聯調,大大縮短了開發的時間。同時,這種層次分明的設計思想,也使得接口庫設計更加通用和標準化,可以通過簡單修改移植到新的軟、硬件平臺之上,提高了代碼的重復利用率,有較高的使用價值。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)pid控制器相關文章:pid控制器原理
評論