ECU的運作(下)ECU的三五事!!

減少你的荷包大失血  
隨著房車的引擎動力愈來愈快,意味著散熱的效率要求更加嚴格,車廠的工程師不曉得生產的市售車最終會往哪個緯度運送去,也不知道冷卻系統是否能適應當地環境,基本上ECU裡面的軟體設定通常很保守和標準化(也有部分車款會因進口地點的環境而特別調校)。只要感知器探測到水溫、油溫、渦輪增壓過高時,ECU就會啟動保護模式並鎖住變速箱,限制引擎的輸出。
 
 
ECU愈來愈多  CAN為此而生
 
時下新車的控制系統多達70幾個ECU,大多被應用在ABS、EPS、定速巡航、安全氣囊、車道偏移、音響系統等等,而ECU需要好幾個感知器的回饋資訊來作出判斷,那如果有兩個ECU要同時交換資訊,就會產生資訊傳遞的問題。為了簡化電路,因此在80年代德國Bosch開發了控制器區域網路(Controller Area Network,簡稱CAN或CAN-bus),將不同的ECU系統用通信網路直接互相連線,不再需要主機來控制通訊,使整車的ECU形成一個網路系統。
 
▲CAN能在網路上直接跟ECU或通訊設備互相聯繫,即使在網路中增加節點也不用對軟硬體作出調整,降低車內的銅線和電板腳位的使用量,成為ECU工作的主流模式,也應用到到其他行業。

CAN的工作原理其實有點像一家大公司的運作模式,比如說不同的ECU就是各個部門的經理,感知器如同該部門的員工要匯報給經理,交由他分析並下指令執行。假設引擎ECU內的轉速和油門踏板這兩個訊號需要傳遞給變速箱ECU,藉此來發出換檔的指令,CAN將ECU之間都利用兩條數據線(又稱「CAN匯流排」)進行交換,不管訊號容量的大小都能夠傳遞,可想而知在每個ECU都連接到兩條CAN總線上,進行訊號的共享,讓整個系統的效率提高很多,可以大量減少銅線和腳位的數量,簡化了整車的佈線。
▲CAN-bus的工作原理跟大眾運輸很類似,每個站點代表一個ECU,而行駛路線代表CAN總線,傳送的是ECU的數據,簡化了過去訊號個別用數據線傳送的複雜。
 
其實CAN總線系統跟大城市的交通運輸網路很像,不同的總線系統之間需要共享資訊,但同時會存在不同的傳送速率問題,所以車載網路系統中設置俗稱「網關(Gate-way)」的ECU,類似轉運站的功能,能同時連接不同的CAN總線系統,並在傳送訊號時發起翻譯解讀的作用。舉例來說,室外溫度感知器訊號傳給儀錶板ECU,這時儀錶板ECU將訊號傳回CAN驅動總線,引擎ECU也會採集到,透過網關的解讀並繼續傳送到CAN車身總線,這時車身總線內的恆溫空調控制ECU就會收到訊號,下令執行調整風量和冷度,完成CAN的資訊共享。

▲為了將不同的CAN總線系統完成精確的傳送資訊,車載網路中必須設置很重要的「網關(Gate-way)」,能同時接收各種的CAN總線系統並在傳送中起到解讀作用,跟轉運站很類似。

為什麼早期的ECU會增加佈線的複雜度?
 
早期ECU的每項訊號都是以獨立的數據線進行交換,比如說兩個ECU之間要傳遞5項訊號,就需要5條獨立的數據線,意味著訊號愈多,數據線和ECU電板腳位的數量愈多,不僅車重會增加,整體的佈線也變得很困難。

▲早期的ECU都是用獨立的數據線傳送每項訊號,愈多訊號要傳送就要增加腳位連接數據線,造成電板造型龐大,無形中增加車重。
 

ECU的運作(上)大家都聽過的ECU是如何主宰汽車的一切?

ECU(Eletronic Control Unit)其實就是汽車專用的微控制器,和我們每天用著的電腦一樣,由CPU、記憶卡、A/D轉換器等集成的電路所組成,簡單來說就是汽車的大腦,,最主要的目的是精準控制引擎的性能,擺脫過去的機械式噴射或化油器帶來的誤差,還有各式各樣的控制系統都被掌控之中,但要怎麼同時處理多種訊號來源又是另外一回事了。
 
▲早期還在化油器時代的汽車,油門踏板非常機械化,只用鋼線開啟節氣門的開度。
 
ECU的介入 為了提昇可靠性
 
60-70年代的老車都是以純機械式來控制引擎噴油和變速箱的換檔,那種用鋼線帶動的直接回饋有人車一體的感覺,反而現今主流的車款並沒有這樣的效果,踩下油門踏板時總是覺得引擎反應慢了一點,那是因為訊號傳給ECU去計算給引擎的噴油量和檔位的過程需要一點時間,在ECU未應用在汽車前,大部分的引擎參數都是固定的,所以每一個汽缸的注油量是由化油器來決定,在低轉速行駛還行,一旦到高轉速很容易造成供油不穩定的現象。
 
▲當ECU取代油門線後,ECU會先從油門踏板、進氣管路和噴油嘴訊號的蒐集來判定當下最適當的節氣門開度,達到最佳的空燃比。
 
ECU會透過各種感知器去蒐集引擎各部分的工作狀態信號,再由傳輸線路回傳到ECU,當收到這些信號後就會進行各別分析和比較,才能知道各零件目前處於什麼樣的運作情況,根據ECU裡頭事先寫好的程式碼自行運算,判斷哪些零件在當下應該做哪些事情,再將指令發送並執行工作,透過不斷循環的運算來調整當下最佳的狀態,有寫過程式語言的人應該知道這就是「閉迴圈」設定,正好也符合引擎的運轉。
 
▲設置許多ECU控制這些電子系統和機械零件,使車子愈來愈電腦化已經是不可擋的趨勢。

比如說,車廠透過寫好的程式來設定引擎的工作規律,在排氣觸媒轉換處加裝氧氣感知器,判斷目前的油量多寡,再決定節氣門的開度;在進氣管路加裝流量計,判斷吸到的空氣溫度高低,避免高溫產生汽缸內的爆震而降低動力的輸出;又或者水溫感知器可以判斷引擎燃燒室的溫度來判定是否要修正供油量等等,將當下的狀態傳送給ECU,根據它們的回饋,不斷的調整噴油量和點火正時,大幅度提高引擎的效率。


▲ECU利用工程師編好的程式碼自行運算,以循環的方式來調整當下的最佳狀態,就像圖中的O2 Sensor回饋排氣觸媒的氧氣殘餘量訊號給引擎ECU參考噴油量。
 
▲ECU都具備自我診斷的功能,系統發生故障時能在RAM中記錄故障代碼,在固有的程式中讀取替代程式來維持引擎的運轉,同時在儀錶亮燈提醒車主趕快檢查。
 
當軟硬體逐步成熟
     ECU架構也標準化
 
時代的演進,汽車的控制功能愈來愈多,連網的軟體數量一直增加,但初期每家車廠都有自己的一套方案,後來全球汽車製造商、零件供應商、軟體和半導體公司組成AUTOSAR(汽車開放系統架構)聯盟,建立起的合作關係讓電子控制裝置形成開放式及標準化的軟體架構。
 
▲AUTOSAR使ECU的介面標準化,讓軟體可以在原本的ECU內持續的更新,未來可能車主就能自行下載更新版本,不用再回到原廠,加速軟體供應商的發展。
 
AUTOSAR制訂的標準規範包括基礎軟體模組化、運行環境(RTE)和應用層面,其中的基礎軟體模組化能提供不同車廠生產的車款和電子零件供應商,足夠降低研發成本,藉由「運行環境」實現不同ECU之間的訊息交換(說白一點就是指定軟體也要能應用在不同的硬體),能適應複雜的軟體架構。為了提高性能、增加安全性和環保效益,ECU變得像家用電腦一樣,可以下載軟體更新。透過標準的介面設定,讓軟體的重用性及交換性不再受硬體的限制,車廠可以選擇的供應商相對增加,造就龐大的市場。
 
▲AUTOSAR採用三層軟體架構,分別是基礎軟體、運行環境和應用軟體。

▲ECU發展至今,開始從「自我診斷功能」演變到「主動學習功能」,RAM會不斷的記錄駕駛者的行車數據,根據駕駛記錄提供最佳的控制狀態,達到主動安全的目的,但這項技術還有待觀察。