<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è) > 嵌入式系統 > 設計應用 > 支持汽車(chē)電子的嵌入式編程接口庫的內容和設計方法介紹

支持汽車(chē)電子的嵌入式編程接口庫的內容和設計方法介紹

作者: 時(shí)間:2012-07-12 來(lái)源:網(wǎng)絡(luò ) 收藏

 

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

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

  該庫的結構,如圖4所示。

  

  圖4 編程接口庫結構圖

  嵌入式基礎編程接口庫

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

  該函數庫主要包括:

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

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

  3. 平滑濾波處理算法接口庫:主要用于對采集的模擬信號進(jìn)行平滑和去抖處理。4. 其他控制系統中,常用的控制算法和信號處理函數接口庫。

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

  嵌入式專(zhuān)用編程接口庫

  嵌入式專(zhuān)用編程接口庫,是指針對特定柴油機和ECU的硬件特殊需要設計的系統專(zhuān)用編程接口庫。該接口庫的設計符合OSEK操作系統調用規范,為用戶(hù)提供底層硬件MPC555的各個(gè)功能模塊的驅動(dòng),并針對完成了基本的數據處理工作,提供軟件方面的可調用函數。嵌入式專(zhuān)用編程接口庫主要包括:

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

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

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

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

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

  嵌入式API函數庫

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

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

  結語(yǔ)

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

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

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



上一頁(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>