首頁 > 書法

看完這篇,你就知道了什麼是汽車ECU軟體

作者:由 歸藏的汽車世界 發表于 書法日期:2022-12-28

楊守梁簽名怎麼好籤

汽車軟體與大家常見的計算機軟體有很大的不同。

具體差別在:

看完這篇,你就知道了什麼是汽車ECU軟體

汽車ECU軟體的主要功能為物理量的測量和控制、監測和診斷及實現裝置之間的通訊。

簡單的微控制器應用軟體可以不依賴於作業系統而單獨執行。這些軟體一般是無限迴圈的形式,例如迴圈測量感測器的測量資料、進行資料處理以及根據測量結果對執行器進行控制。這種情況下應用軟體直接對硬體進行控制,讀取測量資料或者根據內部時鐘執行定時性的任務。

當軟體的複雜度增高時,對硬體直接程式設計的方式就會變得不再適用。程式人員在實現某種應用時,不能夠專注於軟體演算法,而是必須要分散注意力,考慮對基礎的硬體程式設計。另外,像在特定的時間啟動特定的程式等一些基本功能,對於不同的硬體來說無論是發動機電控單元還是電子穩定程式(ESP)電控單元都是相同的。所以一些獨立於硬體的重複性的任務要依靠一個共同的軟體層來實現這個軟體層就是作業系統。

ECU軟體的基本架構如下圖:

看完這篇,你就知道了什麼是汽車ECU軟體

基於作業系統執行的應用軟體,不再直接和硬體互動,而是透過作業系統的呼叫或中斷來完成任務。只有在完成一些實時任務時,應用程式才直接和硬體互動。但隨著效能的提升,這種直接互動越來越少見。未來的趨勢是儘量避免應用軟體和硬體的直接互動。如今的個人計算機的硬體控制也是完全透過作業系統來進行的,這就是為什麼一些老的依賴硬體執行的遊戲不能相容如今的作業系統的原因。

除了軟體之外,電控單元中需要用到不同的引數型別,例如“當前的冷卻液溫度”這一類引數為變數,而“最高許可冷卻液溫度”這一類引數為常量。

電控單元需要嚴將常量和軟體進行分離。程式人員可以在軟體程式中用程式碼#define

TEMP COOLMAX 110(C語言語法中,本句用來定義 TEMPCOOLMAX的值為110

C語言中常常使用相似的句型來定義常量。)來定義冷卻液的最高許可溫度為110℃

隨後如果整車廠確定的最高溫度實際上是115℃時,需要對軟體進行修改,將常和軟

件分離的一個優勢在於,零部件供貨商可以對其軟體進行加密,而整車廠可以有足夠的

自由度來針對其車型設定引數以及進行除錯。引數設定的過程稱為標定。

總之,軟體結構一般分為三層:

作業系統、應用軟體和引數。

下圖為基於硬體的三層軟體層架構。除此以外,微控制器的OM中也儲存了一些專用程式。防止私自改變設定( Chip tuning)的各種方法和軟體也都儲存在ROM中。ROM中還集成了引導載入程式,用於設定硬體出廠後是否允許軟體以及許何種軟體載入到硬體上。這種測試雖然不直接和微控制器相關,但當硬體重新啟動時,微控制器的自檢也可以擴充套件到此類測試。

看完這篇,你就知道了什麼是汽車ECU軟體

作業系統和軟體都寫入快閃記憶體中。由於快閃記憶體( Flash Memory)的速度比記憶體(RAM)要慢,在啟動之後,對於速度要求很快的軟體和作業系統要首先被讀入到記憶體中。永久性的資料儲存在快閃記憶體中的獨立區域。

常量也儲存在快閃記憶體中,變數則儲存在控制器的記憶體中。

另外,還有一些特殊資料,雖然是變數但在發動機起動幾次的過程中要進行儲存。例如,當汽車熄火時,整車自檢資料會在下次汽車起動時進行分析;由於防盜鎖止系統需要利用變化的編碼,這些編碼在熄火之後也要進行儲存;一些出錯資訊,甚至需要儲存到下次去修理廠做汽車保養的時候才能被維修人員用專用的裝置讀出。類似的儲存一般使用 EEPROM,出於空間以及成本的考慮, EEPROM一般採用序列介面和微控制器進行通訊。EEPROM也可以利用快閃記憶體的一部分進行模擬實現。