日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

首頁 > 汽車技術 > 正文

汽車電子中的debounce防抖機制

2025-06-07 12:05:57·  來源:汽車電子與軟件  
 

01、debounce防抖機制介紹


debounce防抖機制既出現(xiàn)在車輛電子領域,也出現(xiàn)在互聯(lián)網(wǎng)領域,是一種基本的信號平滑機制。

車輛電控的防抖機制旨在確保傳感器信號穩(wěn)定,避免因信號抖動引發(fā)系統(tǒng)誤判,特別是故障診斷系統(tǒng)的誤判。車輛行駛時,油門、剎車、方向盤、液位、振動NVH等傳感器會產(chǎn)生高頻信號,若直接傳輸至電控單元(ECU),可能導致執(zhí)行器異常動作。為此,車輛采用硬件和軟件雙重防抖。硬件上,通過 RC 濾波電路等器件,衰減信號中的高頻噪聲;軟件層面,則利用閾值判定、延時采樣、滑動平均濾波等算法,設定信號有效范圍,只有當信號變化超過閾值,或多次采樣值一致時,才被認定為有效信號,從而保障 ESP、ABS 等關鍵系統(tǒng)接收到穩(wěn)定可靠的信息,提升駕駛安全性與舒適性。

圖片

圖  matlab/simulink表達的一個防抖模塊,來自mathwork文檔


網(wǎng)頁的防抖機制則是為優(yōu)化高頻事件觸發(fā)而設計的前端技術。在網(wǎng)頁交互中,窗口 Resize、輸入框輸入、按鈕點擊等操作可能短時間內(nèi)多次觸發(fā)函數(shù),造成頁面卡頓或服務器壓力過大。網(wǎng)頁防抖基于 Javascript 定時器(setTimeout)實現(xiàn),當事件觸發(fā)后,設置延遲時間,若延遲期內(nèi)事件再次觸發(fā),便清除舊定時器并重新計時,直至延遲結束且無新觸發(fā)時,才執(zhí)行函數(shù)。其分為非立即執(zhí)行和立即執(zhí)行兩種模式,適用于搜索框?qū)崟r搜索、表單驗證、按鈕防重復提交等場景,有效減少資源消耗,提升用戶體驗。

所以在網(wǎng)絡不佳或者計算機性能不佳時的暴力連擊并無作用,只會執(zhí)行一次。

雖然在不同領域都有涉及,但共同點是一樣的,就是短時間內(nèi)針對特定類型事件的一連串類似信號到達,每一個的信號強度或者持續(xù)時間又不足以構成足夠強烈或者明確的判定閾值。debounce防抖機制就是做一個判官,根據(jù)規(guī)則來判斷該類型的事件是否實際發(fā)生。


02、車輛電控中的防抖機制


車輛電控的防抖就是來一串信號忽明忽暗似有似無,判斷到底是有還是沒有。而這種判斷規(guī)則相當?shù)娜藶榛?,有的是根?jù)強度,有的是根據(jù)時延(比如上一節(jié)),有的是強度和時間二者結合。

下面一個圖判斷規(guī)則就是信號強度和時延二者的結合。

圖片

圖 抖動的信號影響事件判斷,圖片來自網(wǎng)絡


上圖形象的說明了信號的若有若無忽明忽暗。在最上面一欄,信號除了兩次(綠線)以外,都在在預失敗prefailedprepassed預通過之間上下跳動,信號強度不夠,可謂若有如無。

那么怎么判斷事件到底是passed還是failed呢?從圖中觀察,是時延+強度的混合規(guī)則,具體規(guī)則如下:

如果預失敗,且在t_failed時延內(nèi)沒有反方向轉(zhuǎn)變,就認為是正式失敗failed;

如果預通過,但在t_passed時延內(nèi)沒有轉(zhuǎn)正成passed強度,還保持正式失敗狀態(tài)failed;

如果預通過,但在t_passed時延沒有出現(xiàn)預失敗或者失敗,也就是預通過持續(xù)的時間夠長,超過t_passed時延,則轉(zhuǎn)為正式通過狀態(tài)passed;

如果強度達到passed(圖中第一欄從左往右第一條綠線),直接就是正式通過passed;

如果強度達到failed((圖中第一欄從左往右第二條綠線)),直接就是正式失敗failed;


比較正式地表述,在車輛電控系統(tǒng)中,防抖機制對于保障信號的穩(wěn)定性與系統(tǒng)的可靠性運行起著至關重要的作用。信號抖動,通常是指在信號傳輸過程中出現(xiàn)的不穩(wěn)定、不規(guī)則的波動現(xiàn)象,這種抖動如果不加以處理,可能會導致系統(tǒng)誤判、執(zhí)行錯誤指令等問題,嚴重影響車輛的性能與安全性。

目前,車輛電控中主要采用軟件防抖、硬件防抖以及Autosa 的模塊內(nèi)置防抖這三種方式,各自有著獨特的原理與應用場景。 

1、軟件防抖 

軟件防抖是通過編寫特定的程序代碼來實現(xiàn)信號防抖功能的一種方式。

其核心原理是利用軟件算法對輸入信號進行時間上的判斷與處理。常見的軟件防抖算法包括延時防抖和濾波防抖(根據(jù)強度防抖)。

延時防抖,顧名思義,是在檢測到信號變化后,并不立即響應,而是先進行一段短暫的延時。在這段延時時間內(nèi),如果信號保持穩(wěn)定,不再出現(xiàn)抖動,則認為該信號是有效信號,系統(tǒng)才會做出相應的處理;如果在延時期間信號再次發(fā)生變化,說明信號仍處于抖動狀態(tài),此時會重新開始計時,直到信號穩(wěn)定下來。例如,在車輛的按鍵控制信號處理中,當駕駛員按下一個按鍵時,可能會由于按鍵的機械結構等原因產(chǎn)生短暫的抖動。通過延時防抖算法,設定一個合適的延時時間(如 10 - 20 毫秒),可以有效過濾掉這些抖動信號,確保系統(tǒng)只對穩(wěn)定的按鍵按下操作做出響應。 

濾波防抖則是借鑒信號處理中的濾波原理,通過對連續(xù)多個信號采樣值進行處理,來平滑信號,去除抖動成分。常見的濾波算法有均值濾波、中值濾波等。以均值濾波為例,它會在一定時間窗口內(nèi)對多個信號采樣值進行平均計算,將計算結果作為最終的有效信號。在車輛的傳感器信號處理中,如車速傳感器,由于路面顛簸等因素可能會導致傳感器輸出信號產(chǎn)生抖動,采用均值濾波算法,可以使車速信號更加平滑穩(wěn)定,為車輛的動力控制系統(tǒng)、巡航控制系統(tǒng)等提供準確可靠的車速信息。

軟件防抖的優(yōu)勢在于靈活性高,可以根據(jù)不同的應用場景和需求,方便地調(diào)整防抖算法和參數(shù)。同時,不需要額外增加硬件成本,只需在軟件層面進行開發(fā)和優(yōu)化。

當然,軟件防抖也存在一定的局限性,由于需要執(zhí)行算法和延時操作,可能會導致信號處理存在一定的延遲,對于一些對實時性要求極高的信號處理場景,可能不太適用。


2、硬件防抖 

硬件防抖是通過在電路中添加特定的硬件電路或器件來實現(xiàn)信號防抖功能的方式。常見的硬件防抖電路包括RC濾波電路、LC濾波電路,施密特觸發(fā)器等。 

RC 濾波電路由電阻(R)和電容(C)組成,其原理是利用電容的充放電特性對信號進行平滑處理。電阻和電容類似于緩沖海綿,當輸入信號發(fā)生變化時,電容會根據(jù)信號的變化進行充電或放電,由于電容的充放電需要一定時間,這就使得輸出信號的變化變得相對緩慢,從而過濾掉信號中的高頻抖動成分。在車輛的電子控制系統(tǒng)中,對于一些模擬信號,如溫度傳感器輸出的模擬電壓信號,可能會受到電磁干擾等因素產(chǎn)生抖動,通過在傳感器與信號處理電路之間接入 RC 濾波電路,可以有效去除這些抖動,使輸入到控制系統(tǒng)的信號更加穩(wěn)定。 

圖片

  πRC濾波電路,來自網(wǎng)絡


LC 濾波電路是由電感(L)和電容(C)組合構成的濾波電路,屬于無源濾波器 ,可對信號頻率進行選擇性篩選和衰減,廣泛用于電源系統(tǒng)、通信設備、無線電接收機等領域。信號中的抖動往往表現(xiàn)為高頻噪聲或雜波。LC 濾波電路基于電感和電容對不同頻率信號呈現(xiàn)不同阻抗的特性 。電感電流不能突變、電容電壓不能突變。當信號受外界干擾瞬間,電感抑制電流突變,電容抑制電壓突變 。以電機控制電路為例,電機啟停產(chǎn)生電流沖擊會造成信號抖動,LC 濾波電路能緩沖能量變化,穩(wěn)定電路信號狀態(tài),起到防抖效果。

圖片

圖  LLC濾波電路,來自網(wǎng)絡


施密特觸發(fā)器是一種具有特殊電壓傳輸特性的數(shù)字電路器件,它具有回差特性,即輸入信號上升和下降時的觸發(fā)閾值不同。當輸入信號上升到一定閾值時,施密特觸發(fā)器輸出高電平;當輸入信號下降到另一個較低的閾值時,施密特觸發(fā)器輸出低電平。這種回差特性使得施密特觸發(fā)器能夠有效抑制信號在閾值附近的抖動。在車輛的數(shù)字信號處理中,如車門開關信號、發(fā)動機點火信號等,利用施密特觸發(fā)器可以將不規(guī)則的抖動信號轉(zhuǎn)換為穩(wěn)定的數(shù)字信號,便于后續(xù)的邏輯處理。

圖片

圖  斯密特觸發(fā)器,來自網(wǎng)絡


硬件防抖的優(yōu)點是能夠在信號進入系統(tǒng)之前就對抖動進行處理,實時性好,不會引入軟件防抖可能帶來的計算延遲。而且,硬件防抖電路一旦設計完成,其性能相對穩(wěn)定可靠。但硬件防抖也存在一些缺點,例如需要額外增加硬件成本,占用電路板空間,并且硬件電路的設計和調(diào)整相對復雜,靈活性不如軟件防抖。

最關鍵的,對車輛OEM,硬件防抖主要在于硬件選型,一般而言不會自己去修改硬件防抖,也就是改不動,除非OEM自身同時也是tier1供應商。


3、Autosar的模塊內(nèi)置防抖 

AutosarAutomotive Open System Architecture,汽車開放系統(tǒng)架構)作為一種應用于汽車電子領域的開放式標準架構,旨在提高汽車電子系統(tǒng)的開發(fā)效率和軟件的可重用性。它的介紹已經(jīng)非常多。

圖片

   ECU有無Autosar的直觀對比,圖片來自網(wǎng)絡


Autosar的防抖機制本身也屬于軟件防抖,但太重要了,所以單獨列出一欄。

Autosar中不少模塊涉及防抖功能,為車輛電控系統(tǒng)的信號處理提供了標準化的解決方案。 

DEMDiagnostic Event Manager,診斷事件管理器)是被舉例最多的帶有防抖機制的模塊,因為抖動的信號需要確認是否真的是故障。

DEM模塊的防抖功能基于事件觸發(fā)機制,它可以對各種診斷相關的信號或事件進行監(jiān)控和防抖處理。在DEM 模塊中,可以通過配置參數(shù)來定義防抖策略,例如設置防抖時間窗口、防抖計數(shù)器等。當信號發(fā)生變化時,DEM模塊會根據(jù)預設的參數(shù)進行判斷。如果在防抖時間窗口內(nèi)信號狀態(tài)多次改變,說明信號存在抖動,DEM模塊不會立即觸發(fā)相關的診斷事件;只有當信號在設定的時間窗口內(nèi)保持穩(wěn)定狀態(tài)時,DEM模塊才會確認該信號變化為有效事件,并觸發(fā)相應的診斷動作。 

例如,在車輛的故障診斷系統(tǒng)中,當某個傳感器檢測到異常信號時,該信號會輸入到 DEM模塊。DEM模塊利用其內(nèi)置的防抖功能,對信號進行處理,避免因信號抖動而誤觸發(fā)故障診斷報警。通過合理配置DEM模塊的防抖參數(shù),可以有效提高故障診斷的準確性和可靠性。 

AutosarDEM模塊內(nèi)置防抖的優(yōu)勢在于它符合汽車電子行業(yè)的標準規(guī)范,便于不同汽車電子系統(tǒng)之間的集成和交互。同時,通過參數(shù)化配置的方式,既具有一定的靈活性,又能夠保證在不同項目中的可重用性。此外,它與整個Autosar架構緊密結合,能夠更好地與其他模塊協(xié)同工作,實現(xiàn)對車輛電控系統(tǒng)的全面管理和診斷。在一些車輛發(fā)動機傳感器故障檢測場景中,通過合理配置DEM模塊防抖參數(shù),將誤報率降低了30% - 40%。

有好處也有成本,使用DEM模塊內(nèi)置防抖功能需要遵循Autosar的開發(fā)流程和規(guī)范,對于開發(fā)人員的技術要求相對較高,招人不容易,成本也高,開發(fā)和調(diào)試過程也相對復雜。

 Autosar 架構中,除了廣為人知的DEM模塊帶有防抖機制外,還有其他一些模塊在特定功能實現(xiàn)中涉及防抖相關處理,列舉如下:

EthTSynEthernet Time Synchronization,以太網(wǎng)時間同步)模塊:該模塊用于確保分布式汽車系統(tǒng)中的精確時間同步。在同步過程中,它實現(xiàn)了消息防抖(也就是連續(xù)到達的同類消息只取一次有效)功能,避免高優(yōu)先級消息阻塞低優(yōu)先級消息。在汽車的高級駕駛輔助系統(tǒng)(ADAS)中,多個傳感器數(shù)據(jù)需要精確時間同步,EthTSyn 模塊的消息防抖功能可以優(yōu)化網(wǎng)絡帶寬使用,確保時間同步消息穩(wěn)定傳輸,進而保證攝像頭、雷達等傳感器數(shù)據(jù)時間一致性。在實際應用中,搭載該模塊且啟用消息防抖功能的車輛,ADAS 系統(tǒng)傳感器數(shù)據(jù)融合錯誤率降低了 20% 左右,有效提升了系統(tǒng)性能。


圖片

  Ethernet Time Synchronization以太網(wǎng)時間同步模塊,圖片來自網(wǎng)絡

消息防抖的主要原理是消息過濾:可能采用時間窗口時延或計數(shù)器機制,在設定時間窗口內(nèi)僅處理首次或最后一次有效時間同步消息,忽略中間冗余消息。

次要原理通過優(yōu)先級隊列動態(tài)調(diào)整消息處理順序,結合超時機制釋放阻塞資源。

復雜驅(qū)動(CDD,Complex Device Driver)模塊:當處理一些復雜硬件設備信號時,CDD 模塊可能會采用防抖機制。例如在處理特殊傳感器或執(zhí)行器信號時,由于其工作環(huán)境復雜,信號易受干擾產(chǎn)生抖動。CDD 模塊可通過設置采樣窗口、進行狀態(tài)比較、采用滑動平均或延時處理等方式來實現(xiàn)防抖。在某些高端車型的懸掛系統(tǒng)中,用于檢測懸掛位置的特殊傳感器信號經(jīng) CDD 模塊防抖處理后,懸掛控制的穩(wěn)定性得到顯著提升,車輛行駛舒適性和操控性也得以改善。

DCMDiagnostic Communication Manager,診斷通信管理)模塊

DEM 是數(shù)據(jù)生產(chǎn)者,生成并存儲診斷事件數(shù)據(jù)(故障碼、狀態(tài)、環(huán)境信息)。

DCM 是數(shù)據(jù)傳輸通道,通過診斷通信協(xié)議(如 ISO-15765-2)將 DEM 的數(shù)據(jù)傳遞給外部診斷工具,或接收外部工具對 DEM 的操作指令(如清除故障碼)。

其主要職責是處理診斷通信,在與外部診斷儀交互提供診斷通信服務(如 10、22 等服務),但在診斷數(shù)據(jù)流通過 CAN 驅(qū)動、CANIF 層、CANTP、PDUR 到達 DCM 模塊的過程中,可能會受到各種干擾導致信號抖動。DCM 模塊在某些情況下需要確保診斷數(shù)據(jù)的準確性和穩(wěn)定性,也會采用一些防抖策略 。比如,在處理多幀診斷數(shù)據(jù)傳輸時,DCM 模塊會對數(shù)據(jù)幀的連續(xù)性和穩(wěn)定性進行檢查,若出現(xiàn)信號抖動導致數(shù)據(jù)幀丟失或錯誤,它可能通過重傳機制等方式來保障數(shù)據(jù)準確傳輸,一定程度上起到類似防抖的效果,確保診斷通信的可靠進行。


Autosar的資料浩如煙海,而且還在不斷進化,涉及防抖機制的模塊包括但不限于以上,其實幾乎所有涉及判斷和通信的模塊都會涉及防抖。


03、基于AI的防抖的探究


介紹一種筆者團隊正在探索的、基于神經(jīng)網(wǎng)絡的debounce新思路。

現(xiàn)在的debounce防抖規(guī)則,一般都是人為規(guī)則,比較硬性。

比如一個實際問題,PCU(動力域ECU)的供電不穩(wěn)定,頻繁出現(xiàn)電流過大或者過小,導致一晚上報幾百次錯誤碼,無論怎樣調(diào)整強度閾值和時延閾值都是顧此失彼。最后為了減少報錯次數(shù),干脆把強度預置調(diào)高到安全范圍以上,這樣絕大多數(shù)電流抖動都不會報錯,但是這是以燒壞器件風險為代價的。

類似的問題還有很多,僅僅是對debounce最優(yōu)參數(shù)調(diào)參本身就構成一個現(xiàn)實的算法問題。而且人為調(diào)參嘗試大量參數(shù)組合,這件事情就占用大量人力成本和試驗成本。

所以我們希望并嘗試引入一些軟性的”debounce方法,類似于某種模式識別,識別信號序列的時間和強度模式,決定是否判定事件發(fā)生。

這種軟性的模式識別是神經(jīng)網(wǎng)絡的長項。

考慮到信號序列是時空數(shù)據(jù),也就是有至少時間和強度兩個維度,有些情況下還有更多維度。我們采用了CNN卷積神經(jīng)網(wǎng)絡的形式來處理這種二維時空數(shù)據(jù)。

具體的,將時間和強度映射為二維矩陣(如時間為橫軸,強度為縱軸),形狀為 (時間步長, 1, 1)(單通道)。

考慮到嵌入式ECU寶貴的算力,我們目前采用了最簡單的結構:

卷積層→ 池化層 → 全連接層 → 輸出層。

也就是只有一個卷積+池化層,馬上就是全連接層,而輸出層只有兩個神經(jīng)元,用于輸出判斷結果yes或者no。目的是希望用卷積層提取局二維部特征(如強度隨時間的變化趨勢,信號前后的間隔長度等等)。

圖片

圖  卷積層示意圖,右邊表現(xiàn)的是卷積核權重共享,圖片來自網(wǎng)絡


圖片


圖  池化層示意圖,包括最大池化和平均池化,圖片來自網(wǎng)絡


實際做法中,對于時間戳,我們進行了離散化。離散化是指對指定時間長度,比如3s,劃分成100個均勻細密的時段(每個30ms),看每個時段內(nèi)發(fā)生的信號強度是多少。

敏感的讀者會問,如果30ms內(nèi)接連發(fā)生兩次信號,不止一次,怎么辦?這是我們做了一個簡化,就認為只發(fā)生了一次,取強度最大的信號作為代表,這也可以算是一種最大池化max pooling。當然,這里熟悉機器學習的人也可以做average pooling平均池化,取一個時段內(nèi)多次信號(如果有的話)的平均值。兩種做法都沒有問題。

而且我們對劃分時段的寬度是根據(jù)經(jīng)驗值,使得時段的寬度足夠小,多數(shù)情況只會發(fā)生一次信號。


另外所有數(shù)據(jù)都經(jīng)過歸一化。

歸一化是讓時間戳的數(shù)量級和強度的數(shù)量級差不多,避免二者數(shù)量級相差太遠效果不好。

訓練數(shù)據(jù)來源是多專家打分,對每條訓練數(shù)據(jù),是把一定時間長度內(nèi)的連續(xù)信號(時間和強度)給多個人看,人為根據(jù)經(jīng)驗判定passed或者failed,取意見占多數(shù)者作為train_label的取值。

后面我們會引入一些簡單的注意力機制或者試著增加兩層卷積+池化層,在不太增加算力需求的情況下看看能否進一步提高算法效果。


04、總  結

信號防抖debounce雖然不如車輛電子中各種高端技術那么顯眼,比如自動駕駛,端到端大模型等等。但防抖屬于底層原理,其重要性在于保證各類信號的正確判斷,或者消除信道阻塞,或者消除不必要的重復執(zhí)行。

對于從基礎的故障診斷到目前最火的端到端并且結合大語言模型的自動駕駛技術方案,信號防抖debounce都起著底層支撐作用,屬于基本功。

分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25