03.05 汽車ECU用什麼語言編程,汽車電腦維修的前景如何?

來神之腿


看情況,我設計過車用ECU,不過不是汽油發動機,只是柴油發動機或發電機。上位機軟件C++自編,沒用INCA,太貴了,為客戶省錢。發動機ECU都是用單片機,發電機ECU用的是DSP(不好意思,用的是德州DSP,希望國產普及),都是C語言編程,前面有人說用C++或者彙編,我說你真他媽本事。車用ECU無非是模擬量,開關量測控都有,主要特點:

1、帶了大容量控制脈譜圖(MAP),一般MAP二維橫縱起碼16點以上(各模塊不同),但是MAP裡的數據必須做大量實驗標定,這就需要實現快速通信及讀寫,或者先在大容量RAM裡標定,最後好了一次性寫到存儲器裡。

2、通信:我們將標定通信和平時監控通信分開的,標定通信數據量大,我們用485或K線,平時數據通信用CAN。

普通單缸:用STC單片機,很意外吧?很多人特別是三腳貓的些人很鄙視用STC的,就因為它國產?就因為它老闆看上去像吹牛?單片機這玩意要選就選適合的,反正我們用下來蠻可靠的,沒遇到什麼莫名其妙的問題。唯一不好的是他們號稱要出汽車級芯片,一直難產。

多缸機:freescale,飛思卡爾,汽車上廣泛應用,編程沒什麼難度,也有協處理XGATE,自帶CAN收發器,方便很多。

發電機:DSP28系列,其實是是發動機發電機一起集成控制,帶液晶操作界面,關鍵要實時採集計算三相交流電電壓電流功率頻率各項參數(本來有專用芯片,沒用),DSP難度比單片機稍難,但實際上很多模塊都配有專門頭文件跟c文件,因此很方便,現在市場上牛逼轟轟的STM32(我沒用過,看別人編程,狗屎水平)我看就是學DSP。

至於汽車維修,ECU壞了,也沒必要修的,檢測比修還費錢,一般也不容易壞,壞也是外圍模塊容易壞,如果改裝,一般不會去也沒那個本事改ECU程序,只是涉及到數據重新標定,弄到標定軟件即可。但改裝無非是加大噴油量,改變提前角,更改一些模塊的控制MAP,但這是有風險的,輕則環保不過關,重則損壞發動機。


夏日風41


我曾經在都汽車電子廠家從事過幾年的汽車電子的研發,軟件和硬件都有涉及。

為國內的幾家合資車的新上市的車輛研發遙控中控以及車身控制系統。

主要功能包括車燈控制(比如,大燈,位置燈,頂燈,轉向燈的開關檢測以及邏輯控制),門鎖的檢測以及控制(包括RF遙控控制以及開關的手動控制),還有雨刮控制,車速檢測,20km自動上鎖,CAN,LIN通信等功能。

這些基本上都不直接涉及人身安全,我們國內沒有哪一個汽車電子廠家能涉及出涉及安全的控制系統,比如發動機控制系統,助力轉向系統等,不能研發不出來,而是沒辦法保證可靠性。受囿於國內的研發機制以及急功近利的心態。

那些聲稱可以研發,是對顧客生命的不負責任。

這些安全件不是幾個工程師隨便鼓搗就能出來的,需要包括物料、研發、測試、生產等環節長期系統性科學化的驗證。

對於沒有CAN,LIN通信功能的遙控中控功能由於功能簡單,運算量小,選用了8位,最高主頻為8MHz的microchip的PIC系列處理器,如PIC16F1936,該系列處理器最大優點是抗干擾性能好,但是ROM,RAM資源非常有效,運算效率也非常低,一條指令週期需要4個時鐘週期,不支持硬件乘法,做乘法操作可能需要耗時上百毫秒。

多數產品採用c語言編寫程序,通過PICC編譯器編譯成機器碼。

編譯出來代碼有的時候有些冗餘,執行效率不能達到最優。

為了達到最優的執行效率,有時會在c語言中嵌套匯編代碼。

比如遙控信號接收的程序,遙控信號採用3E碼進行編碼,接收程序需要以100us左右的週期在中斷程序檢測遙控信號輸入,如果用c語言編寫,大概100us可能要佔用50us以上,還有不到一半的時間處理其他邏輯,而如果嵌套匯編進行處理,則僅需要30us語言。

遙控數據採用數據編號進行滾動加密,避免被人空中截獲,破解或者重發攻擊,而數據解密進行大量移位運算,非常耗時,因此也用匯編語言編寫解密代碼。

對於功能要求很強大一點,比如有LIN,CAN通信功能的控制器,我們選擇ROM/RAM資源更豐富,運算速度更快,來自於freescale的8位處理器DZ96,以及16位處理器DZ128。

由於性能得到了提升,所有代碼都用C語言開發,沒有在嵌入彙編代碼。

考慮到實時性自己可靠性的要求,所有控制器都沒有基於freeRTOS,linux等操作系統開發。

這都是幾年前的事情了,這幾年電子技術飛速發展,32位cortex-Mx的單片機以極高的性價比橫掃一切,以前大行其道的PIC系列處理器應該已經慢慢退出了歷史舞臺。

我想現在CAN,LIN總線應該成了標配,車上的電器狀況可以輕而易舉通過診斷儀以及行車電腦進行診斷,所謂的汽車電子維修變成了診斷工具的使用以及元件替換,越來越沒有技術含量,變成單純的體力勞動。


IT自動化交流


汽車ecu就是通常講的汽車電腦。

汽車ecu編程語言目前90%都是c語言編寫,其中部分彙編語言,還有部分c++語言也會在汽車ecu使用。

汽車ecu目前主要還只是16位單片機,因此資源有限,需要特定的驅動代碼和配置。汽車電腦的維修,一般能做的也是重新刷寫軟件,刷寫參數。真正的電路板損壞或者其他元器件壞了,只能重新更換新的ecu,然後刷寫軟件配置參數。

汽車電腦維修,沒有手機電腦維修那麼複雜,也沒有太多技術含量。

但也許未來不久,汽車也會變成一個大的電腦。到那時候維修可能就會和手機電腦維修一樣,市場廣闊,收益很大的。


汽車技術Wind


ECU維修,或者說是改裝,實際上用不到編程語言,維修改裝所謂的“編程”,實際上是“重新刷寫數據或者軟件”,數據、軟件都是專門的改裝公司做好一套一套的,這個數據是高增壓的,那個數據匹配某種排氣,那個數據提升50馬力,那個數據屏蔽了尿素噴射的,那個數據不限扭……你所要做的就是確保刷寫的數據和目標機型相匹配,不會出門就拉缸,就行了。真正的ECU軟件設計門檻是很高的,不是單槍匹馬能做的了,涉及到汽車理論、硬件、平臺軟件、操作系統、算法、數據結構、標定、測試、通訊、試驗,各種各樣的行業標準等等,就算是沒吃過豬肉也要看過豬跑才行,否則沒法做這個行當。

別問我怎麼知道的,我就是吃豬肉的。


Ren


不要學,工作環境髒亂差,沒銀子只能買一堆盜版設備,主要客戶就是汽修廠,說白了就是接點修理廠幹不好的疑難雜症,又限於當今4s技術壟斷你很難獲取一些技術服務器的賬號,只能花錢到處求人才能在線編程設碼,所謂的工程師軟件培訓也只能一知半解。不建議你學。


Vstar607


用C語言!應用前景一般。


用戶7774817081805


修ecu應該和編程沒一毛錢關係吧?


elecabbage


一般使用C語言編程。ECU一般採用通用且功能集成,開發容易的CPU;軟件一般用C語言來編寫,並且提供了豐富的驅動程序庫和函數庫,有編程器,仿真器,仿真軟件,還有用於calibration的軟件。汽車電腦維修是個前景很廣闊的職業,隨著中國步入汽車社會,越來越多的家庭或者個人購買汽車,這就給了汽車維修,尤其是高級汽車維修更廣闊的空間。


分享到:


相關文章: