專利名稱:分層式發動機電子控制程序構架的制作方法
技術領域:
發動機電子控制程序軟件是發動機電子控制系統的核心。本發明系適用于一切發動機電子控制單元的軟件。
背景技術:
隨著大量的嵌入式產品涌向市場,汽車產品開發商將面臨著激烈的市場競爭。誰能在最短的時間內推出高質量的產品,誰就能搶占先機。縮短開發周期,提高開發效率,成為汽車產品開發商重點關注的問題。在開發和管理與應用不相關的控制單元軟件時,尤其是像車用嵌入式軟件,存在重復的巨額開銷。隨著新的算法、模型和芯片的引入,對軟件的改動較大,甚至需要完全重新開發。
上述問題歸結到一點,就是車用控制軟件缺乏重用性和并行性。本發明基于上述需求提出一種分層式發動機電子控制程序構架,通過適當的設置和軟件的編程,可實現對各種傳感器信號和狀態的采集、對混合氣形成的控制、對混合氣點燃以及對發動機其它特殊功能與狀態的控制。
發明內容
程序框架采用模塊化設計,并設置配置選項,方便實現軟件系統的可裁剪特性。軟件實現方法采用分層思想。
從對象的角度出發,在嵌入式軟件范疇內可分為兩部分,即底層和應用層。而底層則劃分為三層底層基礎程序進行的是對物理層資源的直接控制,基于物理的寄存器控制,分為控制操作、狀態操作、數據操作;交互層程序處理的是接口電路,通過調用底層函數接口,對板上的接口電路芯片進行控制,進而對相關的外圍驅動、輸入電路實施有效控制;診斷層程序利用硬件電路提供的診斷功能實現各個輸入輸出端口的底層故障診斷功能。應用層程序考慮的是應用策略的實施,通過調用交互層函數接口,驅動同一應用層面的執行器件,同時從傳感器等信號輸入器件上得到數據輸入,根據功能也可以劃分為應用層接口層、應用層診斷層和應用層控制層三個子層面。
底層基礎程序的構建主要是基于發動機電子控制單元的核心控制主芯片內部資源和功能,建立完整的功能函數程序,采用宏定義的方式提供函數的完整參數列表,方便調用時對可選參數的取值范圍進行查找。對外提供的形式為接口函數。依據函數的相關性進行歸類,分別建立不同的庫文件。以Freescale的16位單片機9s12dp512為例,分別建立以下功能驅動函數MCU的初始化函數(包括時鐘的設置、看門狗、RTI、端口的初始化),ECT模塊函數(包括模塊的初始化、時鐘的設置、輸入捕捉的讀取、輸出比較的設置、中斷的開關控制、中斷入口),SPI模塊函數(包括模塊的初始化、波特率設置、數據極性的設置、發送函數、接收函數),PWM模塊(包括模塊的初始化,時鐘源的選擇、占空比的設置、PWM的使能與關閉),AD模塊(包括AD的初始化,AD數據的讀取),IO設置函數(包括IO的初始化,狀態的讀取、電平的設置),中斷模塊函數(包括中斷功能的初始化,中斷的入口函數),K線模塊函數,Flash、EEPROM函數,CAN模塊函數。
底層交互層程序的構建主要是基于發動機電控單元核心控制主芯片以外的芯片資源和功能,建立完整的功能函數程序,采用宏定義的方式提供函數的完整參數列表,方便調用時對參數范圍的查找和確定。對外接口函數采用針對電控單元管腳的方式,即每個功能有哪些管腳可以實現,則將管腳號作為參數提供給函數,即可實現該功能在該管腳上的實現。依據函數的硬件相關性予以劃分,分別建立不同的庫文件。以某電控單元為例,建立以下功能函數電源控制函數(常規電源和高電壓),小電流低位開關控制函數(6路),大電流低位開關控制函數(18路),氧傳感器控制函數(包括加熱控制,AD和通訊),步進電機控制函數,熱偶傳感器控制函數。底層診斷層程序也是針對發動機電控單元管腳的,不同類型的管腳提供不同的診斷范疇,主要包括驅動線圈的開路短路、傳感器開路短路和溫度過高等。以某電控單元為例,包括初始化函數(包括診斷和通訊功能的初始化),模擬量診斷函數,整形模塊診斷函數,高速響應電磁閥低位開關診斷函數(12路),點火線圈低位開關診斷函數(6路),小電流低位開關診斷函數(6路),步進電機診斷函數(雙路雙向),OBD診斷函數,K線通訊函數。
應用層分解為三個子層面應用接口層、應用診斷層和應用控制層。
應用層接口層則是面對發動機控制建立的一系列接口功能函數,實現具體的傳感器執行器對應的發動機控制量的實現。以某電控單元為例,包括曲軸信號處理函數(相位精確定位,轉速信號采集),凸輪信號處理函數(判缸,相位粗略定位),每缸噴射信號處理函數(持續角,提前角),點火信號處理函數(閉合角,提前角),MAP標定函數(窗口,存儲),開關量濾波函數,模擬量濾波及標定函數,高速響應電磁閥驅動函數,點火驅動函數,MAP查找函數(一維,二維)等。
應用層診斷層是根據法規要求,基于底層診斷層的管腳功能診斷建立的發動機電控系統的各個部件功能診斷,并具有詳細的存儲策略。例如,面對歐III標準提供的OBDII診斷策略。
應用層控制層是根據控制要求,建立的發動機控制策略,并基于應用層接口層予以實現,主要也是滿足排放法規和動力性需求。由于應用層控制層跟電控單元的硬件已經沒有任何關聯性,因此不受底層硬件改動的任何影響。
本發明的優點在于(1)本發明采用模塊化結構設計,同層各模塊與其他模塊之間沒有互相調用關系,因此可以同時開發,適合軟件工程的大批量生產方式。
(2)本發明采用由底層基礎層、底層交互層、底層診斷層、應用層組合形成不同的控制系統軟件結構,其中各個層面之間的耦合最小化,可以實現某一層面的修改對其他層面的影響最小化,利于實現軟件的重用性。例如由于噴嘴驅動芯片的更換,交互層軟件進行了更新,但是由于提供給應用層的接口不變,因此應用層程序不必修改。
(3)為了適應軟件開發的專業化和保密要求,給應用層提供的軟件接口采用基于管腳功能的函數形式,使用者不必了解電控單元軟硬件內部設計而把其作為一個黑盒整體使用,利于各層面的軟件開發同步進行,各自實現其專業化需要,更利于知識產權的保護。
圖1分層式發動機電子控制程序構架底層基礎層,2-底層交互層,3-底層診斷層,4-應用層接口層,5-應用層診斷層,6-應用層控制層。
圖2分層式發動機電子控制程序構架應用實例本圖是一個應用于天然氣發動機電子控制系統分層式程序構架的實例。針對于不同的軟件層面,對同一端口的解釋不盡相同。
相對于應用層軟件的輸入輸出接口定義,1-空調請求,2-空調開關,3-點火開關,4-機油壓力,5-怠速觸點開關,6-加速觸點開關,7-曲軸位置,8-凸輪位置,9-燃氣溫度,10-燃氣壓力,11-進氣溫度,12-進氣壓力,13-增壓器出口壓力,14-冷卻液溫度,15-加速踏板正向位移,16-加速踏板反向位移,17-燃氣開關,18-曲軸箱放氣,19-電子風扇,20-轉速表驅動,21-噴氣嘴高位驅動,22-噴氣嘴低位驅動,23-點火驅動,24-增壓器電子放氣閥,25-電子節氣門驅動,26-K線通訊,27-CAN通訊,28-節氣門正向位移,29-節氣門反向位移,30-線性氧傳感器輸入,31-排氣溫度信號輸入,32-電控單元ECU。
相對于底層軟件的輸入輸出接口定義,1-開關量,2-開關量(中斷),3-開關量,4-開關量,5-開關量,6-開關量,7-整形輸入量,8-整形輸入量,9-模擬量,10-模擬量,11-模擬量,12-模擬量,13-模擬量,14-模擬量,15-模擬量,16-模擬量,17-小電流低位,18-小電流低位,19-小電流低位,20-小電流pwm低位,21-大電流pwm高位,22-大電流pwm低位,23-點火低位,24-中等電流pwm低位,25-中等電流pwm低位,26-k線通訊,27-CAN通訊,28-模擬量,29-模擬量,30-模擬量,31-模擬量,32-電子控制單元ECU。
實施方式本發明根據不同應用層控制策略的要求通過適當配置軟硬件資源,可實現對各種傳感器信號和狀態的采集、對混合氣形成的控制、對混合氣點燃以及對發動機其它特殊功能與狀態的控制,從而可實現對特定燃料的發動機的電子控制系統的快速應用開發。
本發明用于天然氣發動機控制系統的實施實例為傳感器信號有空調請求,空調開關,點火開關,機油壓力,怠速觸電開關,加速觸點開關,曲軸位置,凸輪位置,車速信號,燃氣溫度、壓力,進氣歧管溫度,進氣歧管壓力,增壓器出口壓力,冷卻液溫度,加速踏板正向位移,加速踏板反向位移,節氣門正向位移,節氣門反向位移,線性氧傳感器和排氣溫度傳感器。
執行部件有6只高速電磁鐵控制的天然氣噴嘴、6只用于點燃混合氣的點火線圈,燃氣開關,三通電磁閥曲軸箱放氣,電子風扇,車輛轉速表,增壓器電子放氣閥、電子節氣門正反向驅動。
通信接口1個K線,2個CAN總線接口由于底層、交互層和診斷層軟件均采用基于管腳的方式,用戶只需對管腳解釋予以定義,然后制作具體的控制策略并在此基礎上編制應用軟件。
控制的實現過程應用軟件通過輸入接口采集凸輪軸位置傳感器信號,以識別發動機的缸序、壓縮上止點位置并計算出發動機轉速;根據加速踏板位置傳感器識別司機的控制意圖,再驅動電子節氣門進行正反轉運動,快速而精確的定位節氣門,根據進氣壓力傳感器、進氣溫度傳感器、冷卻水溫傳感器等信號通過本發明特有的高速響應電磁閥驅動方式控制電磁閥控制天然氣噴入氣缸的時刻和噴射量,通過點火線圈的驅動控制以獲得精確的點火時刻和閉合角,通過寬域氧傳感器的閉環反饋實現對空燃比的精確控制,通過對排氣溫度的反饋實現扭矩的精細控制,從而實現滿足排放法規標準下的精細控制的輸出扭矩;通過對怠速觸點開關、加速觸點開關、空調開關信號等的識別,按既定的策略控制發動機與車輛匹配的運行狀態。
本實施例僅用于說明本發明而不限制本發明,本發明在用于其它燃料發動機電子控制的實施方法依次類推。
權利要求
1.分層式發動機電子控制程序構架,其特征在于電子控制單元程序由底層基礎層、底層交互層、底層診斷層、應用層診斷層和應用控制層組成。
2.根據權力要求1所述的分層式發動機電子控制程序,其特征在于底層基礎程序是對采用本程序構架的電子控制單元微控制器(MCU)硬件資源的直接控制,基于微控制器的寄存器控制,分為控制操作、狀態操作、數據操作。
3.根據權力要求1所述的分層式發動機電子控制程序,其特征在于底層交互層程序處理的是采用本程序構架的電子控制單元接口電路,通過建立底層函數接口,對本程序構架所針對的電子控制單元的接口電路芯片進行控制,進而對相關的外圍驅動、輸入電路實施有效控制。
4.根據權力要求1所述的分層式發動機電子控制程序,其特征在于診斷層程序利用硬件電路提供的診斷功能實現采用本程序構架的電子控制單元各個輸入輸出端口及外接傳感器和執行器進行在線故障診斷功能。
5.根據權力要求1所述的分層式發動機電子控制程序,其特征在于應用控制層程序是采用本程序構架的電子控制單元運用于具體控制對象應用策略的實施,通過調用交互層函數接口,驅動同一應用層面的執行器件,同時從傳感器等信號輸入器件上得到數據輸入。
6.根據權力要求1所述的分層式發動機電子控制程序構架,其特征在于適用于任何采用以微控制器為核心的發動機電子控制系統。
全文摘要
本發明設計一種用于發動機電子控制單元的分層式程序構架,由底層基礎層、底層交互層、底層診斷層、應用層組成,底層基礎程序進行的是對物理層資源的直接控制,基于物理的寄存器控制,分為控制操作、狀態操作、數據操作;交互層程序處理的是接口電路,通過調用底層函數接口,對板上的接口電路芯片進行控制,進而對相關的外圍驅動、輸入電路實施有效控制;診斷層程序利用硬件電路提供的診斷功能實現各個輸入輸出端口的底層故障診斷功能;應用層程序考慮的是應用策略的實施,通過調用交互層函數接口,驅動同一應用層面的執行器件,同時從傳感器等信號輸入器件上得到數據輸入,應用層根據功能也可以劃分為應用層接口層、應用層診斷層和應用層控制層三個子層面,這些層次的不同組合適用于各種形式的基于單片機的發動機電控單元。
文檔編號G05B23/02GK101055470SQ200710107259
公開日2007年10月17日 申請日期2007年5月25日 優先權日2007年5月25日
發明者張育華, 孔峰, 宋雪樺, 王飛 申請人:鎮江恒馳科技有限公司