400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)業(yè)資訊 » 行(xíng)業(yè)資訊
內(nèi)部資訊行(xíng)業(yè)資訊

從(cóng)ECU系統視(shì)角理(lǐ)解CAN通(tōng)訊需求

發布日(rì)期:2024-07-26

      在軟件(jià₽♥★↑n)定義汽車(chē)這(zhè)個(gè)時(shí)代,汽車(c≈σ× hē)功能(néng)越來(lái)越豐♠♠★富,随之ECU越來(lái)越多(duō¥®≤₹),有(yǒu)些(xiē)功能(néng)靠ECU獨立實現(®≥xiàn),有(yǒu)些(xiē)功能(néng)則需要(yào)多(duō)¥Ω₽✔個(gè)ECU聯合實現(xiàn)。總體(tǐ)來(lái)說(✘≠↕×shuō),ECU絕大(dà)多(duō)數(shù)情況下(xià)都(dōu)需要λ$(yào)與其他(tā)ECU進行(xíng)信息交互,比如(rú)充電(↑♠diàn)功能(néng),車(chē)載充電(diàn)機(jī)OBC需要(yào)∑δΩ≈聯合電(diàn)池管理(lǐ)系統BMS和(hé)整車(chē)控制(δ≠<zhì)器(qì)VCU等聯合才能(néng)實現(xiàn)。因此,這(zhè)些(®π★¶xiē)ECU采取怎樣的(de)通(tōng)訊方式來(lái)實現(xiàn)信息交互?目前,¥∑常用(yòng)的(de)ECU通(tōng)訊方式有(yǒu) CAN,× LIN和(hé)FlexRay,同時(shí)随著(zhe)汽車(chē)®$電(diàn)子(zǐ)電(diàn)器(qì)架構©∞¶α朝著(zhe)中央集成控制(zhì)方向發展,以太網的(de)應用(yòng)也(yě)越來(l∏&ái)越廣泛。

圖片


source:the software Car: Buil ₽×✘ding ICT Architectures for Future Elect±✔§ric Vehicles

        ₹   

      當然不(bù)管汽車(chē±×)電(diàn)子(zǐ)電(diàn)器(qì)架構發α☆ 展多(duō)麽迅速,CAN通(tōng)訊仍将無處不(bù)在,持續對(duΩ↓∑ì)ECU之間(jiān)的(de)信息交互扮演著(zhe)極其關鍵的(de)角色。因此,本文(&βwén)從(cóng)ECU系統層級角度來(lái)探討(t♦€♠ǎo)CAN通(tōng)訊都(dōu)會(huì)有(yǒu×"§σ)怎樣的(de)需求,以及如(rú)何去(qù)理(l÷​§"ǐ)解與評估這(zhè)些(xiē)需求。   



#01 CAN通(tōng)訊需求的(de)分(fēn)析與分(fēn)解


      汽車(chē)ECU基本都(dα≥↓♦ōu)采用(yòng)V流程開(kāi)發,先由OEM提供功能(néng)開(kāi)發需求,α¶‍然後經過ECU系統的(de)分(fēn)析與評估,再分(fēn)配給ECU軟硬"® €件(jiàn)進行(xíng)相(xiànφ≠∑®g)應的(de)開(kāi)發與驗證,最後由系統進行(xíng)驗證和(hé)确認。


圖片


Source: 一(yī)文(wén)了(le)解汽車(chē)功能(néng)開(kāi)發要(yào)做(z≤≤ uò)什(shén)麽?怎麽做(zuò)?


      本文↔☆(wén)将側重點在ECU系統層面視(shì)角來(lái)看(kà♠§© n)這(zhè)些(xiē)CAN通(tōng)訊需求。通(tōng↔♦®)常ECU系統收到(dào)在客戶關于CAN通(tōng)訊的(de)需<Ω求會(huì)涉及以下(xià)幾個(gè)點:

      - ECU需要(yào)具備幾路(lù)CAN,每 §₽↕路(lù)CAN的(de)基本要(yào)求是♥α(shì)什(shén)麽;

      - 每條CAN需要(yào)§≈ 具備哪些(xiē)功能(néng);

      - CAN通(tōng)訊矩陣或DBC是(shì)怎樣的(de)。


      這(zhè)些(xiē)需求就(jiù)是(shì)→♦™×ECU CAN通(tōng)訊開(kāi)發的(de)起點,一(yī)般稱為(wèi)客戶需求或者₹₩≠↔利益相(xiàng)關者需求Stakeholder requirement。在ECU系&×統層面,系統工(gōng)程師(shī)收到(dào)這(zhè)"♥σσ些(xiē)需求後,會(huì)拉上(shàn±♠™g)相(xiàng)關利益者一(yī)起來(lái)評估這(zhè)些(xiē)需求,包括€'₩硬件(jiàn),軟件(jiàn)和(hé)功能(néng≥×)安全等項目內(nèi)部成員(yuán),同&♥時(shí)也(yě)會(huì)和(hé)客戶多(duō)次對(duì)齊,最終☆∑ 明(míng)确好(hǎo)這(zhè)些(xiē)CAN通(¥§>εtōng)訊需求。


      接著(zhe)系統工(gōng)∑'≥程師(shī)将在ECU系統層面将需求細化( $§huà)為(wèi)ECU系統需求,比如(rú)$©:

      - ECU需要(yào)兩路(lù)CAN,CAN1用(yòng)于ECU之間(j¥​εiān)的(de)信息交互,CAN2用(yò×★ng)于診斷和(hé)标定;   

      - 兩路(lù) εCAN都(dōu)為(wèi)CAN FD,仲裁段波特率500Kbps,數(sh∞γπù)據段波特率為(wèi)2Mbps,采樣點均為(wèi)80%,都(dōu)支持标準÷☆&幀和(hé)擴展幀格式;

      - CAN1需要(yào)根據已提供的(de)∞ ✔CAN通(tōng)訊矩陣或DBC進行(xíng)開("♥kāi)發;

      - CAN1需要(yào)支持特≤∑≈​定幀報(bào)文(wén)喚醒,支持局部網絡♥ε喚醒功能(néng)等。


      當然需求細化(huà)分(fēn)解出來(lái)了(l÷∏≈e)很(hěn)重要(yào),但(dàn)有(yǒu)沒有(yǒu)徹底∞‌吃(chī)透呢(ne)?接下(xià)來(lái€→♣)我們就(jiù)再進一(yī)步來(lái)探討(tǎo)。



#02 如(rú)何理(lǐ)解CAN通(tōng)訊需求 


      就(jiù)系統♦ 工(gōng)程師(shī)的(de)經曆Ω>來(lái)說(shuō),當看(kàn)到(dà≤¥o)這(zhè)些(xiē)需求,一(yī)方面要(yà §φ®o)理(lǐ)解需求本身(shēn),另一(₹↔σyī)方面需要(yào)知(zhī)道(dào)這(zhè)些(xiē≥♠£★)需求将會(huì)涉及的(de)相(xiàng)關利益方。下(xià)面我∞✘們就(jiù)逐一(yī)解析上(shàng)面∏≤γ所列舉的(de)CAN通(tōng)訊需求。


      2.1 ECU需要×₩♥<(yào)兩路(lù)CAN,CAN1用(yòng)于ECU之間(jiān)的(de)信息交互,↕®≠™CAN2用(yòng)于診斷和(hé)标定  

      為(wèi)什(shén)麽ECU↓↓£通(tōng)常需要(yào)兩路(lù)CAN或者更多(duō)?≤§≠主要(yào)考慮因素有(yǒu)CAN總線的(de)負載率以及功能(néng)需求等。所以OEMק‌↓定義一(yī)路(lù)用(yòng)作(zuò)通(tōng)訊,比如(r→γú)動力總成域上(shàng)挂VCU, MCU, BMS 和(hé)OBC等。另一(yī)路‍Ω≠α(lù)則用(yòng)于車(chē)輛(liàng)的(de)标定和(hé)​₽診斷通(tōng)訊功能(néng),其中标定功能(néng)在量産☆‌≈♦會(huì)被禁用(yòng),這(zhè)路(lù•♣)CAN與OBD接口相(xiàng)連,如(rú)下(xià)所示:

圖片


      當然也(yě)有(yǒu)有(yǒu)些(xi"≈δ₩ē)控制(zhì)器(qì)隻有(yǒu)1路(lù)CAN,既用<β✘↔(yòng)于通(tōng)訊也(yě)用(yòng)于診斷标定,比如(rú)有(≤<Ωyǒu)些(xiē)電(diàn)子(zǐ)泵産品。

        

      對(duì©∞>¶)于這(zhè)條需求,該如(rú)何評估,考慮點有(yǒu):

      - 主要(yào)評估當前的(de)控制(zhì)器(qì)硬件(ji★↓≤àn)是(shì)否滿足,即從(cóng)接插件(jiàn)Pin數(shù)量是÷¶₽(shì)否足夠提供兩路(lù)CAN_H和(hé)Ωσ∑×CAN_L;

     λ←↕ - PCB是(shì)否有(yǒu)足夠空(kōng)間(jiān)布置兩顆CAN收發器(qì)©$及其相(xiàng)應的(de)處理(lβ¶&ǐ)電(diàn)路(lù);

      - & 微(wēi)控制(zhì)器(qì)芯片中CAN控制(zhì)器(qì)數(shù)量是(shì)否足夠。

圖片


      因此實現(xiàn)的(de)關鍵點在于硬件(jiàn☆£),而對(duì)于軟件(jiàn)來(lái)說(shuō),主要(yào♣>₩)涉及工(gōng)作(zuò)量。


      2.2 兩路(lù)CAN都(dōu<≥Ω)為(wèi)CAN FD,仲裁段波特率500Kbps,數(shù)據段波特率為(→←∑ wèi)2Mbps,采樣點均為(wèi)80%,都(dōu)支持标準幀和(hé)γ♦擴展幀格式; 


      對(duì)于這(zhè)條需求,考慮因素有(yǒλπ€€u)兩個(gè)方面:

      - 一(yī)方面是(shì)控制(zhì)器(qì)硬件(jiàn),即CAN收發↕€₩器(qì)和(hé)MCU的(de)CAN控制(zhì)器(qì)需要(yào‍←)支持CAN FD;

      -♦π​ 另一(yī)方面是(shì)控制(zhì)器(qì)軟件(j↑≤iàn),CAN通(tōng)訊功能(néng)模塊需要(yào)支​®持CAN FD報(bào)文(wén)的(de)處 λ¶理(lǐ)。

      - 另外(wài)針對(duì)$←₹ΩCAN數(shù)據幀格式,傳輸速率及采樣,主要(₽ yào)涉及軟件(jiàn)開(kāi)發的(de)內(nèi)容,另外(wài)可(kě)能♠©∑(néng)需要(yào)确保測試設備支持CAN FD的(de)測試驗證。


圖片


       sour"≥₽ce:CANFD an introduction, from Vectoπ×≠₩r

              

      為(wèi)了(le)更好(hǎo)地(dì)理(<&→δlǐ)解這(zhè)些(xiē)需求,這♠"¥(zhè)裡(lǐ)對(duì)這(zhè)些(xiē)術(shù)語稍作(zuò)解釋:∏'    

      - CAN FD的(de)可(kě)變速率。CAN FD采用εβ→φ(yòng)了(le)兩種位速率:從(có≤¶ng)控制(zhì)場(chǎng)中的(de)BRS位到(dào)ACK場(chǎng)之↑≤±前(含CRC分(fēn)界符)稱為(wè×★i)數(shù)據段速率,如(rú)上(sh☆£π™àng)圖藍(lán)色部分(fēn),其餘部分(fēn)仲裁段速率α‌。兩種速率各有(yǒu)一(yī)套位時(shí)間​ <(jiān)定義寄存器(qì),它們除了±¶(le)采用(yòng)不(bù)同的(de)位時(shí)♣≈間(jiān)單位TQ外(wài),位時(shí)間(β≠±σjiān)各段的(de)分(fēn)配比例也(yě)可(kě)不∞→$(bù)同,所以兩者可(kě)以設置不(bù∏←♣)同的(de)波特率和(hé)采樣點。500Kbps表示1秒(miǎo)鐘ε¥(zhōng)可(kě)以傳輸500,000bit的(de)數(shù)據,2000Kbε↑ps表示1秒(miǎo)鐘(zhōng)可(kě)以≤±∏傳輸2000,000bit的(de)數(shù)據。

      - ™±↕≤标準和(hé)擴展格式的(de)數(shù)> ‌據幀。兩者的(de)區(qū)别在仲裁段,标準格式的(de)仲裁段包含11位基本ID位和(hε♠§±é)RTR位,而擴展格式的(de)仲裁段除了(le)11位基本I÷∑ D位和(hé)RTR位外(wài),還(hái)包含SRR位,I↔♠'DE位和(hé)18位擴展ID位。即标準格式φ$可(kě)表示的(de)CAN ID(11位)範圍為(wèi) 0X000~0X7FF,而擴展格式↔≈←♥可(kě)表示的(de)CAN ID(29位)範©✘♣®圍為(wèi)0X00000000~0X1FFFFFFF。如(rú)下♠↑(xià)所示:

圖片


      source:CAN_E: Data ¶©Frame (vector.com)


      2.★‌3 CAN1需要(yào)根據已提供的(de)CAN通(tōng)訊矩γ±♦₩陣或DBC進行(xíng)開(kāi)發  ‌©♦​;

      主要(y≤‌ào)工(gōng)作(zuò)內(nèi)容在軟件(jiàn),包括CA©✘∑N驅動的(de)配置,CAN報(bào)文(wén)的(de)收發,CAN報(bào'₽)文(wén)信号的(de)提取和(hé)轉換等 ♣↕£。對(duì)于CAN通(tōng)訊矩陣中的(de)信号不(bù)再做(÷₩zuò)詳細解釋,這(zhè)裡(lǐ)了(le✘∑★←)解下(xià)報(bào)文(wén)中包含保護或校(xiào)驗信息,比如(rú↑γ¥☆)校(xiào)驗和(hé)(Checksum)和(hé)滾動計(jì)數(shù)器(qìβ∞↔)(Rolling Counter)。

       -&nbs<±¥∏p;Checksum。它是(shì)用(yòng)來(lái)判斷CAN報(bào)文(wén)傳輸過₩↑↔程是(shì)否會(huì)出現(xiàn✔£↑↕)錯(cuò)誤,報(bào)文(wén)‍σ的(de)發送方采用(yòng)特定的(de)Checksum校(xiào)驗算(suàn)€' ε法計(jì)算(suàn)一(yī)條報(bào)文(wén)的(de)CRC™↕校(xiào)驗碼,再将該校(xiào)驗碼放(fàng)到(dào)該報(bào)文≥£β$(wén)數(shù)據中,與報(bào)文(wén)中的£★(de)其他(tā)信号一(yī)起發送到(dào)CAN總線♦'‍。然後報(bào)文(wén)的(de)接收方會(h ©uì)讀(dú)取到(dào)該校(xiào)驗碼,同時(shí)采用(yòng)相(xi↑§®àng)同的(de)Checksum校(xiào<≤♦ε)驗算(suàn)法計(jì)算(suàn‍♠)出CRC校(xiào)驗碼,再對(duì)比這(zhè)兩個(gè)校(xiào)驗碼,如(¶≈rú)果一(yī)緻,則說(shuō)明(míng)報(bào)文(wén)傳£γ輸過程沒有(yǒu)出現(xiàn)錯(cuò)誤,否則認為(wèi)報(bào)文(w₽×↕én)傳輸過程有(yǒu)誤,這(zhè)條報(bào&δק)文(wén)有(yǒu)問(wèn)題。

      &γ₽nbsp;- Rolling counter。它是(shì)用(yòng)來(lái)判斷報(bào€←φ‍)文(wén)傳輸過程是(shì)否出現(xiàn•©)丢幀,報(bào)文(wén)的(de)∑ε≈發送方發送一(yī)條報(bào)文(wén)就(jiù)計(jì)數(shù)器(qì)加δαα"1,從(cóng)0累加到(dào)15,然後不(bù)斷循環。如(rú)果出現(x♦&→♥iàn)計(jì)數(shù)器(qì)ε×γ‍不(bù)連續或首尾值不(bù)對(duì),報(bào)文(wén)的(de∑₩)接收方會(huì)認為(wèi)丢幀。

      其實對(duì)于整個(gè)​↑CAN通(tōng)訊需求開(kāi)發內(♠ ✘£nèi)容,CAN通(tōng)訊矩陣涉及內(nèi)容最多(duō),并且貫穿整個($♥gè)軟件(jiàn)開(kāi)發的(de)周期。 


      2.4 CAN1需要(yào)≥'¥←支持特定幀報(bào)文(wén)喚醒,支持局部網絡• 喚醒功能(néng)等  

      對(duì)于這(zhè)條需求,需 ★求明(míng)确要(yào)特定幀報(bào)文(wén)喚醒功能(néng),即÷← ∞對(duì)控制(zhì)器(qì)硬件(jiàn)設計(jì)↕>>有(yǒu)要(yào)求,選用(yòng)的(de)CAN收發器(qì)芯片要(y← ↓×ào)支持特定幀喚醒。其次需求要(yào)求支持局部網絡喚醒功能(nγβéng),因此涉及到(dào)複雜(zá)的(de)網絡管理(lǐ)"→€策略。以底盤域的(de)網絡喚醒例子(zǐ)來(lái)理(lǐ)解,如(rú)下(xià×↕)所示:   

圖片


      Source:一(yī)篇易懂(dǒng)的(de)整↑φγβ車(chē)網絡管理(lǐ)指南(nán)

      &nbs≤Ωp;   

      一(yī)個(gè)ECU可(kě)能(néng↕♠∞)存本地(dì)喚醒和(hé)網絡喚醒等,比如(rú)上(shàng)圖中假設IEB的(de)本‌≈地(dì)喚醒源是(shì)制(zhì)動踏闆行(×₩xíng)程傳感器(qì)BPS,即某個(gè)喚醒場(chǎng)景下(xià),BPS感知(zβ€♥♦hī)到(dào)變化(huà),以硬線δδ♥信号形式傳給IEB,那(nà)麽處于休眠的(de)IEB将被喚γβφ↑醒,對(duì)應著(zhe)圖中1區(qū)域。I×ελEB喚醒後将請(qǐng)求喚醒EPS和(hé)VCU參與功能(néng)控制(zhì),§★這(zhè)部分(fēn)與網絡喚醒策略相(xiàng)關。


      以上(shàng)就(jiù)列舉了(le)一(≤πyī)個(gè)典型的(de)網絡管理(lǐ)場(chǎng)€γΩ景,要(yào)實現(xiàn)這(zhè)樣的(de)場(chǎ∞Ω<✔ng)景,會(huì)涉及幾個(gè)方面內β∑↑ (nèi)容:

      - 喚醒功能(néng)♥←&↑邏輯需求,以怎樣的(de)邏輯精準識别喚醒源;

      •'‍- 網絡管理(lǐ)狀态機(jī)需求,采用(y ♣òng)怎麽樣形式,AutoSAR NM嗎(ma)?以及狀态之間(jiān∏♦✔₹)的(de)跳(tiào)轉條件(jiàn)和(hé)每個(gè)狀态下(xià)的(deπ₽✘)動作(zuò)是(shì)怎樣定義的(de);

      - ∏​≠網絡管理(lǐ)報(bào)文(wén)需求。網絡管理(lǐ)報↓σλ₹(bào)文(wén)內(nèi)容是(shì)怎麽定義,接收與發送的(de)規π✘←則是(shì)怎樣的(de)等。

圖片


      上(shàng)述這(zhè)些λΩδ™(xiē)內(nèi)容喚醒源檢測會(huì)涉及到(dào)硬件(jià ∑n)設計(jì),在硬件(jiàn)具備的(€λde)情況下(xià),那(nà)麽開(kāi)發的(de)內(nèi)容≈☆™∏均由軟件(jiàn)來(lái)實現(xiàn)。關于網絡管理(lǐ)需求的(de)實現γ ∏§(xiàn),除了(le)單個(gè)ECU自(zì)身(shēn)需求實現(xiàn✘÷'),其實與其他(tā)ECU強相(xiàng)關,因為(wèi)這(• zhè)些(xiē)喚醒場(chǎng)景由這(zhè)些(xiē)Eφ£CU共同實現(xiàn)。   



#03 CAN通(tōng)訊需求總結 


      上(shàng)文(wén)就(jiù)從(≈♦λcóng)ECU系統視(shì)角介紹完了(le)CAN通(tōng)訊主要(yào)需求有(y✔εǒu)哪些(xiē),怎麽理(lǐ)解這λ§∞(zhè)些(xiē)需求以及這(zhè)些(xiē)需求需要(yào)誰來(lái)實現(xiàn)。

      當然還(hái)有•ε≈∑(yǒu)很(hěn)多(duō)CAN通(tōng)訊需求本文(wén)還(hái∑")未提及展開(kāi),比如(rú):

      - CAN總線Bus off處理(lǐ)需求;

      - CAN報(bào)文(wén)的(de)診斷需求,比如(rú)ID檢測,超≥✘×時(shí)檢測,Checksum校(xiào)驗和(hé)故障後處理(lǐ)措施等;

      - 功能(néng)安全相(xiànσ♠± g)關的(de)E2E保護需求。


  總之,CAN通(tōng)訊其實是(sh×₹∞ì)一(yī)個(gè)非常大(dà)的(de)話(huà)題,內(nèi♥">≠)容非常多(duō)非常複雜(zá),不(bù)管在主機(j✘¥ī)廠(chǎng)還(hái)是(shì)供應商,不(bù)管‍₹$♠是(shì)ECU系統還(hái)是(shì)ECU軟硬件(jià ​n),都(dōu)有(yǒu)很(hěn)多(♣≥duō)相(xiàng)關的(de)工(gōng¥‌)作(zuò)需要(yào)做(zuò),很(hěn)多(duō)細節需要(yào)把控,→®↕更多(duō)CAN通(tōng)訊內(nèπφi)容,歡迎持續關注。


轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件(jiàn)

北京德智尚車聯科技有限公司版權所有(yǒu) 京ICP證000000号   技(jì)術(shù)支持:網站(zhàn)建設