


















摘 要:由于柴油發動機電子控制單元(ECU)品牌類型多樣,發動機艙內的傳感器信號種類繁雜,所以在進行信號模擬的過程中,會面臨多種傳感器信號特征復雜化和時序信息多樣化的問題。基于ECU傳感器信號的基本結構和工作原理,研發了一種基于物聯網技術的ECU多通道傳感器信號發生系統。該系統包含感知層、控制層和管理層。感知層主要負責提取和分析ECU傳感器信號特征。控制層和管理層采用模塊化和層次化的設計思想,通過動態調參,實現特定信號的合成輸出。其中,控制層采用STM32與FPGA進行多通道設計,涵蓋硬件、軟件、移動端APP和原型裝置外殼封裝方面的設計;管理層包括云端數據庫和Web端設計。該系統在多通道信號輸出的同時能夠滿足ECU激勵信號的同步校準需求,并驅動噴油器正時點火。在對發動機電腦板進行聯調測試時,選擇小松品牌的康明斯6缸、日立品牌的五十鈴6HK1和五十鈴新版4HK1這三種不同型號的發動機電腦板作為實車測試對象。通過移動端APP進行參數調控,由終端系統輸出激勵信號,以確保ECU能夠正常驅動噴油器工作。
關鍵詞:發動機電子控制單元;多通道傳感器信號;信號模擬;參數調控;STM32;FPGA
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2025)07-00-10
0 引 言
工程車柴油發動機的性能與工作效率和可靠性直接相關,是工程車產業發展的關鍵因素[1-2]。發動機電子控制單元(Electronic Control Unit, ECU)是一種集成了微處理器、傳感器和執行器的智能系統,負責監測和控制發動機的運行[3]。
工程車輛通常面臨著高強度、多變性的工作環境。為了確保工程車輛在各種惡劣條件下依然能夠高效、穩定地工作,發動機ECU需要具備更高的智能化和適應性[4]。此外,不同型號和品牌的工程車輛所搭載的發動機存在差異,傳感器信號也復雜多樣,因此研發的信號發生系統需要具備一定的通用性和可配置性,以適應不同車型發動機ECU的需求[5-6]。由于柴油發動機ECU品牌類型的多樣性,以及發動機艙內存在品種繁雜的多種傳感器信號,因此在進行信號模擬的過程中,會涉及到多種傳感器信號特征復雜化和時序信息多樣化的問題。
針對工程車輛中不同品牌和型號的發動機ECU,傳感器信號存在多樣化和復雜化的問題,本文設計了一種基于物聯網技術的ECU多通道傳感器信號發生系統。測試結果顯示,該系統能夠準確模擬多種傳感器激勵信號,并啟動不同型號的ECU工作,從而根據信號特征成功驅動相應執行器。
1 系統組織架構
本文運用物聯網技術對信號發生系統進行設計。在感知層,通過實車傳感器采集信號,對ECU的不同傳感器信號進行特征提取和分析;在控制層,通過信號采集器對曲軸信號、凸輪軸信號、進氣壓力信號和進氣溫度信號這四種信號的波形數據進行采集,并將采集到的數據存儲到云端數據庫,隨后依據信號特征參數加以分析,再結合本文設計的信號發生系統裝置對信號進行模擬發生;在管理層,涵蓋云端數據庫和Web應用端,其中數據庫主要負責后端數據存儲和信息管理,Web應用端結合配置參數,將不同信號的特征參數同步到移動端Android APP,APP通過藍牙通信將特征參數傳輸到終端系統,終端系統通過DAC數模轉換將模擬信號傳輸到ECU單元,從而驅動相應執行器工作。系統總體設計框架如圖1所示。
本文設計的信號發生系統主要針對ECU的傳感器信號模擬發生領域。本文通過實車傳感器進行信號采集,主要采集了曲軸信號、凸輪軸信號、進氣壓力信號和進氣溫度信號這四種不同信號,其中包含五種不同車型,共24 600條數據。通過對這些實車信號的特征進行深入分析,研發了一款支持多通道參數調控的ECU傳感器信號發生系統裝置。
本文研發的信號發生系統裝置分為終端系統和用戶端系統,其中終端系統分為STM32部分和FPGA部分[7]。STM32部分基于C語言開發,編譯環境是Keil5,芯片型號是STM32F103RBT6。FPGA部分基于Verilog語言開發,編譯環境是Quartus Ⅱ 13.0,芯片型號是EP4CE10F17C8N。DAC模塊采用MCP4822進行數模轉換輸出。用戶端系統分為移動APP端和Web端,主要使用Spring Boot框架和基于Android Studio開發[8],其云端數據庫采用的是阿里云服務器CentOS系統。
2 終端系統設計
2.1 硬件設計
2.1.1 電路設計
本系統設計了以STM32微控制器為核心的電路控制板,包括電源電路、STM32集成控制電路、STM32-FPGA分配電路、DAC運算放大電路、USB接口電路和藍牙通信電路。電源電路負責對整體電路控制板的各個模塊進行供電。STM32集成控制電路負責各個模塊的整體控制和電路交互。STM32-FPGA分配電路負責STM32和FPGA的連接引腳分配,同時也包括FPGA和DAC的引腳分配,以便于進行數據通信和各通道信號波形輸出。DAC運算放大電路包括三個高速DAC運算放大電路和兩個低速DAC運算放大電路,且高速DAC運算放大電路由FPGA負責信號輸出,低速DAC運算放大電路由STM32負責信號輸出。USB接口電路和藍牙通信電路是電路控制板的擴展接口,作為能夠與外部其他設備正常通信的預留功能設計。圖2為系統電路設計框架,圖3為系統電路設計圖。
2.1.2 PCB布局布線設計
本系統使用的FPGA是Cyclone IV E系列的EP4CE10F1 7C8N系統板,STM32部分是進行PCB布局布線的集成電路設計板。設計板主要分為電源電路、STM32集成控制電路、STM32-FPGA分配電路、DAC運算放大電路、藍牙通信電路、USB電路共六個部分。圖4為PCB設計的效果圖。在PCB設計時,需要注意以下幾個方面:
(1)拼板間距:為實現STM32和FPGA依據引腳接口進行拼板設計,需調整PCB上三個牛角插座的位置以及FPGA的三個預留插座位置,以保證兩者的布局和間距一致。
(2)接口位置:在PCB設計中,預留的藍牙接口和USB接口應該在其邊緣部分,對于其他的接口插針,例如通道輸出的排針接口、下載接口和電源接口等,統一布局排放,便于后續測試和連接。
(3)電子元件布局:在調整具體電子元件的物理位置時,應當考慮走線的方向和長度,盡可能縮短信號傳輸線的長度,以減小串擾,并提高冷卻效率。
(4)布局分區:對于電源電路、STM32集成控制電路、DAC運算放大電路、藍牙電路、USB電路這五個主要部分的布局,按照功能合理規劃,將功能區域設計成模塊化的單元。將信號線和其相關元件放置在同一功能區域,考慮元件的封裝類型和尺寸,適應不同的功能區域。
(5)電源線路:電源線應盡量短而寬,降低線路電阻。電源線和地線在布線中的相對位置和寬度相似,使二者的連接點均勻分布,以提供均勻的電流回流路徑。
(6)地線布局:盡量使地線與電源線分開,以降低電源線噪聲對地線的影響。確保地線連接牢固,避免地線環路和回流問題,例如斷路或未連接到接地點。
2.2 軟件設計
2.2.1 STM32軟件設計
針對多種傳感器信號的特征分析,設計了一種波形特征合成算法,如圖5所示。該算法主要包含兩部分,前半部分為基礎波形構建,后半部分為特征波形合成。
前半部分的主要流程為:首先,輸入參數類型,生成波形類型列表,同時定義波形數組,根據數學函數模型構建基礎波形,將波形段以及波段長度存儲到波形數組中。該基礎波形類型包括正弦波、方波、圓弧波形、線性波形等。然后,遍歷基礎波形數組,計算各個基礎波形長度,并將其存儲在數組中。最后,根據計算得到的長度信息,將各個基礎波形按順序合并到一個數組中,從而構建基礎波形庫。
該算法前半部分的關鍵在于,根據輸入的基礎波形類型和參數以及波形數組,生成相應的基礎波形,并將其合并成一個波形庫,為后續的波形處理和分析提供了基礎數據。
該算法的后半部分是根據已構建的基礎波形庫,結合各傳感器合成信號的數學模型進行特征分析,最后進行特征波形合成。主要流程如下:首先,生成波形類型列表與每種波形類型對應的參數數據列。然后,進行波形類型和參數的校驗,獲取波形類型列表和參數列表的長度,確保兩者的長度一致。因為每種波形類型對應一組參數,如果兩者的長度不相等,則拋出錯誤。接著,根據波形類型列表和對應的參數列表,依次調用各個波形類型的基礎波形。隨后,將生成的各個基礎波形按順序合成一個完整的特定波形。最后,將合成的特定波形作為算法的輸出結果。
該算法后半部分的關鍵在于,根據輸入的波形類型列表和參數列表,調用相應的基礎波形,并將其合成一個完整的特定波形。該特定波形可用于后續的波形處理和分析,為系統提供了具有特定特征的完整波形數據。
STM32軟件設計結構如圖6所示。
(1)STM32工作時鐘由晶振產生,能夠為整個工作流程提供所需要的時鐘頻率。
(2)控制模塊是通過產生特定參數去拼接波形的,適用于在波形特征合成算法中對所需波形進行控制生成。
(3)針對信號波形,通過波形特征合成算法生成相應的數據之后,將WAVE_DATA存儲到STM32的片上RAM中,供串口輸出和DAC輸出,而后給控制模塊一個T_DONE的反饋,表示數據已經生成成功。
(4)片上RAM將部分所需要的WAVE_DATA傳輸到UART串口中,再通過串口通信發送到FPGA中。
2.2.2 FPGA軟件設計
FPGA軟件設計結構如圖7所示。
(1)移動端APP通過藍牙模塊與FPGA進行數據通信,負責傳輸用戶端輸出的特定參數。
(2)控制模塊通過配置參數,選擇所需要輸出的通道號和其他特定參數,去模擬生成相應的波形,并在相應的通道號中輸出波形。
(3)串口通信傳輸過來的數據經過FPGA的PLL進行時鐘域同步,若達到同一時鐘頻率,則能夠同步輸出信號波形。
(4)DDS經過參數傳遞后進行邏輯判斷,在RAM中按地址讀取數據,并將數據由DDS_OUT輸出到DAC驅動中,最后通過選擇通道號進行波形輸出。
FPGA的控制模塊被設定為MCP4822_CTRL,根據用戶端系統給定的參數產生特定的曲軸信號和凸輪軸信號。在本研究中將傳輸數據的結果記錄在RAM中,相位寄存器的創建隨著時鐘信號的上升而增加,將增加的值加載到RAM中以改變尋址的方式并將數據輸出。對于每個周期重復此操作,當遇到特定缺齒信號部分時,則將缺齒周期轉換成設定的水平電壓值。
圖8為FPGA軟件設計的RTL視圖。其中system_reg用于存儲所有模塊,O_data代表輸入到MCP4822的參數值。首先從RAM中依次讀取一個周期的數據,然后從DAC輸出,此時示波器能夠檢測到一個周期的波形。根據用戶端系統配置的參數O_data,可以連續輸出想要的周期數量的波形,之后再根據參數保持某個電平任意數量的波形。循環整個過程,即可得到最終的波形圖。
3 用戶端系統設計
3.1 Web端設計
Web端波形配置參數管理系統采用Java語言結合Spring Boot框架進行開發,主要用于高效管理波形配置參數和用戶信息。管理員用戶可以方便地查看和修改用戶信息,并且具有對發動機型號、類型和參數進行增加、刪除、修改和查詢等操作的權限。波形配置參數管理系統的操作界面如圖9所示。
3.2 Android APP端設計
Android端波形參數助手APP主要包括藍牙配對通信和波形參數選擇與發送等功能。用戶通過藍牙與終端系統建立數據通信,系統根據用戶選擇的選項在數據庫中查詢所需的參數并生成數據幀格式。在確認查詢結果無誤后,用戶點擊“發送”按鈕即可將參數通過藍牙通信發送到終端系統。如果終端系統接收成功,系統會將反饋信息發送到APP上。波形參數助手APP如圖10所示。
4 原型裝置實現及測試
4.1 外殼封裝設計
圖11(a)所示是根據PCB印刷電路板和元器件焊接而成的STM32實物電路板。在該電路板的左上角,設計了插拔式接線端子,用于提供24 V直流電作為電路板的供電輸入。中間的四個白色尼龍塑料螺絲用于固定FPGA成品板。圖11(b)展示的是基于STM32和FPGA協同搭建的ECU信號發生系統裝置原型,FPGA成品板通過牛角座與插針的方式倒扣在STM32實物電路板上。
本產品外殼設計采用塑料面板金屬機箱,箱體上下鐵皮厚度為1 mm,鐵皮顏色為深灰色,前后是3 mm ABS塑料面板,表面做黑色噴塑處理。整體外部尺寸為258 mm(長)× 280 mm(寬)×80 mm(高)。針對PCB板做外殼保護,兩面開孔散熱,前后面板采用卡槽結構,安裝拆卸方便,易操作。根據設備布局的需求,在箱體原有基礎上進行開孔加工,包括4 mm×16 mm航空插頭孔、47 mm×27.5 mm電源開關孔和5.08 mm鈕子開關孔。外殼封裝設計如圖12所示。其中,標號1代表原型裝置的供電輸入接220 V電壓;紅色按鈕是電源總開關,鈕子開關是發動機電腦板的電源開關;標號2代表輸出航空插頭,共有4個,包括10路信號輸出通道、2路ECU供電通道;標號3代表24 V/1.5 A開關電源,用于為STM32和FPGA電路板供電;標號4代表24 V/5 A開關電源,用于為發動機電腦板供電;標號5代表STM32-FPGA信號發生系統裝置的原型電路板。
4.2 測試環境搭建
搭建物理測試環境如圖13所示。ECU多通道傳感器信號發生系統裝置基于STM32和FPGA兩種板卡共同實現。其中用戶端系統包括Web端波形配置參數管理系統和Android端波形參數助手APP。Web端負責管理不同品牌和車型發動機的波形特征參數的定義和配置;Android APP通過藍牙通信向ECU多通道傳感器信號發生系統裝置傳遞波形特征參數。ECU多通道傳感器信號發生系統裝置為發動機ECU提供激勵信號;同時為提高實用性和便捷性,封裝設計中采用了開關電源進行供電,為ECU和該信號發生系統裝置提供電源和點火開關信號。示波器用于觀察激勵信號波形和噴油器驅動波形。
在信號發生系統裝置測試過程中,根據實際工況采用了不同品牌和型號的實車發動機進行電腦板聯調測試。測試環境如圖14所示,以小松品牌的康明斯6缸車型為例,圖中①代表小松-8系列的發動機ECU,②代表噴油器,③代表信號發生系統裝置,④代表Android APP,⑤代表示波器。
4.3 ECU聯調測試
本測試過程中將分別對日立品牌的五十鈴6HK1、小松品牌的康明斯6缸以及日立品牌的五十鈴新版4HK1三種車型的發動機ECU進行聯調測試,如圖15所示。
根據波形特征合成模型的建模方法,設計了滿足實際測試需求的信號參數配置文件。根據文件的參數要求,通過PC機編輯頁面配置信號的具體參數,然后由Android APP將這些參數值傳遞給信號發生系統裝置。圖16展示了不同品牌和車型的曲軸信號和凸輪軸信號的配置參數,圖17展示了不同品牌和車型的信號波形。這樣的配置和波形可以滿足不同車型的實際測試需求。
結合用戶端系統的參數化配置和指令下達情況,反饋到終端系統后,根據功能程序設計,在相應通道號中輸出特定波形。通過示波器對ECU多通道傳感器信號發生系統裝置各個通道的輸出信號進行測試,以確保信號發生系統裝置符合設計技術功能要求[9-10]。
5 結 語
本文針對多種傳感器信號特征進行分析,根據不同類型發動機的ECU和傳感器信號特征進行波形合成,結合物聯網技術,研發了一款支持多通道參數調控的ECU傳感器信號發生系統。根據研發的多通道傳感器信號發生系統裝置,設計了封裝外殼,并完成了ECU信號發生原型裝置以及相關功能性測試。測試結果表明,ECU原型裝置能夠正常啟動不同型號的ECU工作,并能根據信號特征成功驅動相應執行器。本系統提高了傳感器信號模擬發生的泛化能力,具有一定的普適性,便攜性強且易于操作,為信號發生模擬的發展提供了一種思路和解決方法。在未來的研究中,可以進一步將更精確和更輕量級的參數模型加載到嵌入式系統中來模擬不同的信號。
注:本文通訊作者為葛永琪。
參考文獻
[1] 張紀寶,張欣,秦智晗,等. 高壓共軌柴油機 ECU 熱測試分析[J]. 北京交通大學學報,2017,41(6):101-106.
[2] 程路. 內燃機機械維修中常見問題及控制措施[J]. 內燃機與配件,2022(2):152-154.
[3] 段春霞. 電控發動機ECU控制系統及整機匹配簡介[J]. 辦公自動化,2016,21(4):47-48.
[4] 孫立行,周文華,聶飛. 高壓共軌ECU下線測試系統設計與開發[J]. 機電工程,2018,35(9):1001-1005.
[5] 李然捷. 高壓共軌柴油機燃油系統各部組成及其維修[J]. 農機使用與維修,2017(11):39-40.
[6] 王書力,熊志浩,馬杰,等. 電控柴油發動機的故障檢測與維修方式探討[J]. 汽車維修與保養,2023(9):89-91.
[7] 張晉頊,任勇峰,單彥虎,等. 基于 FPGA 的可調節信號發生器的設計與實現[J]. 電子設計工程,2019,27(22):137-141.
[8] 張紅雨,張宇峰,馬俊. 基于 Android Studio 的藍牙通信開發與設計[J]. 科技創新與應用,2017(21):18-19.
[9] 呂霞付,張爽,王乾永,等. 汽車發動機 ECU 診斷檢測系統設計 [J]. 汽車零部件,2020(3):1-4.
[10] 蔣波. ECU信號模擬器在發動機故障診斷中的研究與應用[J]. 機械工程師,2017(12):146-147.
收稿日期:2024-05-09 修回日期:2024-06-13
基金項目:寧夏回族自治區重點研發計劃(2022BDE03007)