-
1 # 金日老油條
-
2 # IT自動化交流
我曾經在都汽車電子廠家從事過幾年的汽車電子的研發,軟體和硬體都有涉及。
為國內的幾家合資車的新上市的車輛研發遙控中控以及車身控制系統。
主要功能包括車燈控制(比如,大燈,位置燈,頂燈,轉向燈的開關檢測以及邏輯控制),門鎖的檢測以及控制(包括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匯流排應該成了標配,車上的電器狀況可以輕而易舉透過診斷儀以及行車電腦進行診斷,所謂的汽車電子維修變成了診斷工具的使用以及元件替換,越來越沒有技術含量,變成單純的體力勞動。
-
3 # 一木窗2020
一般使用C語言程式設計。ECU一般採用通用且功能整合,開發容易的CPU;軟體一般用C語言來編寫,並且提供了豐富的驅動程式庫和函式庫,有程式設計器,模擬器,模擬軟體,還有用於calibration的軟體。汽車電腦維修是個前景很廣闊的職業,隨著中國步入汽車社會,越來越多的家庭或者個人購買汽車,這就給了汽車維修,尤其是高階汽車維修更廣闊的空間。
-
4 # Ren
ECU維修,或者說是改裝,實際上用不到程式語言,維修改裝所謂的“程式設計”,實際上是“重新刷寫資料或者軟體”,資料、軟體都是專門的改裝公司做好一套一套的,這個資料是高增壓的,那個資料匹配某種排氣,那個資料提升50馬力,那個資料遮蔽了尿素噴射的,那個資料不限扭……你所要做的就是確保刷寫的資料和目標機型相匹配,不會出門就拉缸,就行了。真正的ECU軟體設計門檻是很高的,不是單槍匹馬能做的了,涉及到汽車理論、硬體、平臺軟體、作業系統、演算法、資料結構、標定、測試、通訊、試驗,各種各樣的行業標準等等,就算是沒吃過豬肉也要看過豬跑才行,否則沒法做這個行當。
別問我怎麼知道的,我就是吃豬肉的。
-
5 # Vstar607
不要學,工作環境髒亂差,沒銀子只能買一堆盜版裝置,主要客戶就是汽修廠,說白了就是接點修理廠幹不好的疑難雜症,又限於當今4s技術壟斷你很難獲取一些技術伺服器的賬號,只能花錢到處求人才能線上程式設計設碼,所謂的工程師軟體培訓也只能一知半解。不建議你學。
-
6 # 汽車技術Wind
汽車ecu就是通常講的汽車電腦。
汽車ecu程式語言目前90%都是c語言編寫,其中部分組合語言,還有部分c++語言也會在汽車ecu使用。
汽車ecu目前主要還只是16位微控制器,因此資源有限,需要特定的驅動程式碼和配置。汽車電腦的維修,一般能做的也是重新刷寫軟體,刷寫引數。真正的電路板損壞或者其他元器件壞了,只能重新更換新的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,但這是有風險的,輕則環保不過關,重則損壞發動機。