<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 關于數字信號控制器在汽車設計中的應用

          關于數字信號控制器在汽車設計中的應用

          作者: 時間:2010-08-21 來源:網絡 收藏
          簡介

            從過去單純的機械式系統(tǒng),到如今常常包含多達100個的現(xiàn)代汽車,已經走過了很長的歷程。傳統(tǒng)汽車上用到電子器件的部分僅僅是那些娛樂設施,最常見的是汽車收音機。直到有關諸如量和節(jié)油性等汽車各方面性能的政府規(guī)定出臺以后,對汽車功能的電子控制才開始變得越來越普遍。最初,某些功能是依靠分立式硬件元件或數字邏輯執(zhí)行的。隨著單片機(MCU)等嵌入式處理器解決方案的出現(xiàn),使用MCU來代替固定硬件的好處正逐步顯現(xiàn),這是因為設計者可以對MCU進行編程以執(zhí)行模塊所要求的特定任務。中大量采用了各種MCU,從用在轉動擋風玻璃雨刮器和開門等功能的最簡單的8位MCU到控制引擎的復雜32位MCU。這個范圍的中間是大量的16位MCU,它們本身在計算能力、存儲容量、功耗和外設特性方面也呈現(xiàn)出相當大的多樣性。為每個獨立的汽車子系統(tǒng)選擇合適的處理器,并在不同的子系統(tǒng)間合理地分配處理能力,對汽車產品的性能、可靠性和增強功能起著至關重要的作用。

            :單片機和數字信號處理器領域的佼佼者

            大多數汽車控制和監(jiān)視操作都需要大量的數學運算。例如,在引擎預熱階段,空氣流量(MAF)傳感器和引擎轉速計(以每分鐘轉數(RPM)表示)的輸出數據會被MCU采樣,然后需要根據測得的數值,計算出要求噴射到每個汽缸的燃油量,公式如下:

            F=MAF/(K*N*RPM/120)

            其中,K是給定潤滑劑溫度下的理想(常數)空氣-燃油比,N是汽缸的數量。

            上面的計算不僅涉及精確的乘法和除法,還必須對要射入的燃油量進行重復計算以適應快速變化的引擎工作條件。因此,當廢氣含氧量(EGO)傳感器已預熱充分,能夠測量廢氣的質量時,必須持續(xù)監(jiān)視EGO傳感器的輸出數據,以調節(jié)燃油噴射速率,從而獲得最佳的引擎性能并減少廢氣的排放量。

            計算密集型操作的其他實例還有:

            a)對來自各種傳感器的數據進行有限沖激響應(FIR)或無限沖激響應(IIR)濾波,以消除噪聲。應用實例:引擎爆震檢測、熄火檢測或在持續(xù)監(jiān)視燃油液位時消除油料晃動的影響。

            b)進行快速傅立葉變換(FFT)對數據進行分析,以在后續(xù)的處理階段使用頻譜。應用實例:主動振動控制或排氣噪聲消除。

            c)根據傳感器輸入數據的數量級,對其進行定標,以及歸一化和線性化處理。

            d)比例-積分(PI)或比例-積分-微分(PID)控制算法。應用實例:導航控制。

            圖1描繪了一個簡化的引擎控制系統(tǒng),它本身就是汽車中各種處理器所執(zhí)行任務的一部分。

          簡化的引擎控制系統(tǒng)

            

          pid控制器相關文章:pid控制器原理



          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();