0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于SAE J1939 CAN接口實現(xiàn)車輛網(wǎng)絡(luò)通信系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:單片機與嵌入式系統(tǒng)應(yīng)用 ? 作者:謝俊紅,林軼 ? 2021-03-31 09:16 ? 次閱讀

作者:謝俊紅,林軼,陳三鑒,黃土琛

引言

隨著車輛電子化和自動化程度的提高,車輛上的ECU日益增多。為了提高信號的利用率,要求在不同的ECU間,大量的數(shù)據(jù)狀態(tài)信息能夠?qū)崿F(xiàn)共享,大量的控制信號能夠?qū)崟r交換。這樣,傳統(tǒng)線束已遠遠不能滿足這種需求。

CAN總線及基于CAN的車輛網(wǎng)絡(luò)通信協(xié)議提供了解決上述問題的途徑。SAE J1939協(xié)議是美國汽車工程師協(xié)會(SAE)在CAN2.0B協(xié)議基礎(chǔ)上制定的重型貨車和客車網(wǎng)絡(luò)通信協(xié)議,是目前汽車電子網(wǎng)絡(luò)中應(yīng)用最廣泛的應(yīng)用層協(xié)議之一。該協(xié)議使用多路復(fù)用技術(shù)為車輛各傳感器、執(zhí)行器和控制器提供建立在CAN總線基礎(chǔ)上的標(biāo)準(zhǔn)化高速網(wǎng)絡(luò)連接,在不同的ECU間實現(xiàn)高速數(shù)據(jù)共享,以有效減少線束數(shù)量并提高車輛電子控制系統(tǒng)的靈活性、可靠性、可維修性。

目前,車輛的ECU產(chǎn)品大都帶有SAE J1939 CAN接口。針對具有SAE J1939 CAN接口的ECU產(chǎn)品(如發(fā)動機、變速器及其緩速器和ABS等ECU),自定義若干ECU,集成實現(xiàn)基于SAE J1939協(xié)議的車輛網(wǎng)絡(luò),完成自定義ECU的信息采集和各ECU間的信息交換。

1 車輛網(wǎng)絡(luò)拓撲結(jié)構(gòu)

具有SAE J1939 CAN接口的ECU產(chǎn)品接上儀表板連成網(wǎng)絡(luò)后,已基本滿足車輛駕駛的要求。為了使自定義ECU對外通信盡量不影響ECU產(chǎn)品間的通信,整個網(wǎng)絡(luò)分為兩個網(wǎng)段,必要時可合并成一個網(wǎng)段。網(wǎng)段A包含信息交互ECU,發(fā)動機ECU,變速器及其緩速器ECU,ABS ECU;網(wǎng)段B包括信息交互ECU,發(fā)動機外圍、I橋及II橋ECU,分動器ECU,III橋及IV橋ECU。信息交互ECU用兩個CAN端口分別與兩個網(wǎng)段連接,具有報文轉(zhuǎn)發(fā)功能。車輛網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示。

基于SAE J1939 CAN接口實現(xiàn)車輛網(wǎng)絡(luò)通信系統(tǒng)的設(shè)計

2 車輛網(wǎng)絡(luò)通信設(shè)計

按照SAE J1939協(xié)議,車輛網(wǎng)絡(luò)通信設(shè)計包括以下幾方面內(nèi)容:

◆物理層與SAEJI939-11兼容;

◆數(shù)據(jù)鏈路層與SAE J1939-21兼容;

◆網(wǎng)絡(luò)層與SAE J1939-31兼容;

◆應(yīng)用層與SAE J1939-71兼容;

◆應(yīng)用層診斷與SAE J1939-73兼容;

◆網(wǎng)絡(luò)管理層與SAE J1939-81兼容。

2.1 物理層

物理層實現(xiàn)網(wǎng)絡(luò)上所有ECU的電氣連接。物理介質(zhì)采用特征阻抗為120 Ω的屏蔽雙絞線,CAN_H為黃色、CAN_L為綠色。網(wǎng)段盡可能使用線性拓撲結(jié)構(gòu),其波特率為250 kbps。網(wǎng)段干線兩端均以120 Ω電阻做終端匹配。ECU使用短支線與網(wǎng)段干線連接,在網(wǎng)段中采用不相等布置以防止產(chǎn)生駐波。

位時間內(nèi)實現(xiàn)同步、網(wǎng)絡(luò)延時補償及采樣點位置確定等總線管理功能,其段組成如圖2所示。同步是相位緩沖段1加長或相位緩沖段2縮短,其上限為同步跳轉(zhuǎn)帶寬 (SJW)。采樣點盡量位于(但不超過)位時間的7/8,能實現(xiàn)傳播延遲和時鐘誤差最佳折中。時鐘頻率為16 MHz時,推薦分頻因子=4、SJw=ltq、TSEGl=13tq、TSEG2=2tq(tq為時鐘周期)。

2.2 數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路層在物理層之上提供了可靠的數(shù)據(jù)傳輸功能,實現(xiàn)了應(yīng)用層報文的數(shù)據(jù)交換。通過數(shù)據(jù)鏈路層的組織,實現(xiàn)了發(fā)送數(shù)據(jù)幀必須具有的同步、順序控制、錯誤控制和流控制等功能。

數(shù)據(jù)鏈路層通過協(xié)議數(shù)據(jù)單元(PDU)組織數(shù)據(jù)幀中的協(xié)議相關(guān)信息。PDU由數(shù)據(jù)幀中29位ID和O~8字節(jié)數(shù)據(jù)場組成,其數(shù)據(jù)結(jié)構(gòu)如圖3所示。P場決定報文優(yōu)先級;R位保留;DP位是數(shù)據(jù)頁位;PF場決定PDU格式(PDUl或PDU2);PS場為PDU細節(jié),由PF場決定是目標(biāo)地址DA還是對PF、的組擴展GE;SA為源地址。

數(shù)據(jù)鏈路層提供的報文有命令報文、請求報文、廣播/響應(yīng)報文、應(yīng)答報文及組功能報文。此外,數(shù)據(jù)鏈路層還實現(xiàn)了傳輸協(xié)議功能,用于將大于8字節(jié)報文進行打包重組、連接管理,分為廣播公告的BAM協(xié)議和點對點會話的RTS/CTS協(xié)議。

2.3 網(wǎng)絡(luò)層

網(wǎng)絡(luò)層定義了為不同網(wǎng)段間提供互聯(lián)功能的設(shè)備需求和服務(wù)。當(dāng)多個網(wǎng)段存在時需要網(wǎng)絡(luò)互聯(lián)ECU,其功能包括報文轉(zhuǎn)發(fā)、報文過濾、報文地址轉(zhuǎn)換、報文重組及數(shù)據(jù)庫管理。網(wǎng)絡(luò)層功能對于特定ECU來說是可選的,網(wǎng)絡(luò)中僅信息交互ECU用到網(wǎng)絡(luò)層功能。

2.4 應(yīng)用層

應(yīng)用層定義了針對車輛應(yīng)用的信號(參數(shù))和報文(參數(shù)組)。應(yīng)用層通過參數(shù)描述信號,給每個參數(shù)分配了一個19位的可疑參數(shù)編號(SPN);通過參數(shù)組描述報文,給每個參數(shù)組分配了一個24位的參數(shù)組編號(PGN)。SPN用來標(biāo)識與ECU相關(guān)的故障診斷元素、部件或參數(shù)組中參數(shù);PGN用來唯一標(biāo)識一個特定參數(shù)組。除已分配的參數(shù)和參數(shù)組外,用戶還可通過分配未使用的SPN給自定義參數(shù)和定義專有報文對應(yīng)用層進行補充。

2.5 應(yīng)用層診斷

應(yīng)用層診斷定義了診斷報文DMl-19,其作用如表1所列。這19種報文在網(wǎng)絡(luò)中并不都可用。目前,網(wǎng)絡(luò)中僅用到報文DMl、DM2、DM3及DMll。

表l中的診斷故障代碼(DTC)為4字節(jié),由19位可疑參數(shù)編號(SPN)、5位故障失效模式(FMI)、7位故障發(fā)生次數(shù)(OC)以及1位SPN轉(zhuǎn)換方式(CM)組成,如圖4所示。

2.6 網(wǎng)絡(luò)管理層

網(wǎng)絡(luò)管理層通過提供地址分配管理和網(wǎng)絡(luò)錯誤管理的定義和過程描述,來唯一識別網(wǎng)絡(luò)上的控制器。其功能包括:請求網(wǎng)絡(luò)上控制器的地址和名字、為控制器聲明一個地址、公告不能聲明的地址和命令其他控制器使用新的地址等。

3 車輛網(wǎng)絡(luò)信息交互設(shè)計

車輛網(wǎng)絡(luò)信息交互選用的液晶顯示器為8寸、640×480像素、RS-232通信,具有6個無源P9接口薄膜按鍵,其顯示布局如圖5所示。圖中左半部分:上部為紅色信號指示燈及其報警提示,其下為其他顏色信號指示燈:中部為儀表模擬模式下表盤指針或數(shù)字模式下數(shù)字,其下為小儀表報警提示;下部為組成員數(shù)據(jù)及各組報警提示。圖中右半部分:上部為日期時間、環(huán)溫/氣壓、單/全里程,其下為診斷指示燈及DMl來源、菜單;下部為信息分頁,包括基本信息、各ECU 產(chǎn)品未處理的信息、DMl及DM2內(nèi)容、DMl及DM2下載應(yīng)答、DM3應(yīng)答、DMll應(yīng)答、單里程清零應(yīng)答和日期時間交互修改等。

液晶顯示器的功能有:在指定位置顯示8×16英文字符,在指定位置畫線,在指定位置顯示預(yù)置位圖,在指定位置按指定方式自動顯示日期時間、讀取年月日、讀取時分秒、設(shè)置日期時間、顯示/關(guān)閉光標(biāo)、打開/關(guān)閉背光。當(dāng)進行不同程度的報警時,通過蜂鳴器發(fā)出的緩和或尖銳兩種不同的聲音進行提示。

4 車輛網(wǎng)絡(luò)軟件設(shè)計

4.1 信息交互ECU

信息交互ECU選用Freescale公司S12X系列中的MC;9S12XDP512作為主芯片,使用了嵌入式操作系統(tǒng)uC/()S-II。S12X的從CPU——中斷協(xié)處理器XGate,處理μC/OS-II時鐘節(jié)拍中斷并作任務(wù)切換,提高了系統(tǒng)的實時性,減輕了主CPU的負荷。XGate還用于處理與液晶顯示器串口通信、與PC串口通信、查詢鍵盤的有效輸入,并管理報警蜂鳴器。

信息交互ECU在μC/0S-II下創(chuàng)建了5個任務(wù):系統(tǒng)初始任務(wù)、指示燈任務(wù)、儀表數(shù)據(jù)任務(wù)、鍵盤相關(guān)任務(wù)、J1939處理任務(wù)。系統(tǒng)初始任務(wù)打開 RTI中斷,上電自檢,打開日期時間顯示;指示燈任務(wù)周期性地顯示信號指示燈及紅色信號指示燈報警提示,顯示診斷指示燈及DMl來源,處理報警事件;儀表數(shù)據(jù)任務(wù)周期性地按選定模式顯示儀表及小儀表報警提示,顯示組成員數(shù)據(jù)及組報警提示,顯示環(huán)溫/氣壓及單/全里程,并處理報警事件;鍵盤相關(guān)任務(wù)在有效輸入下根據(jù)按鍵及菜單進行分頁顯示切換、系統(tǒng)設(shè)置修改等;JI939處理任務(wù)周期性地遍歷兩個端口的協(xié)議棧進行報文收發(fā)、報文轉(zhuǎn)發(fā)和提取應(yīng)答等。

4.2 其余自制ECU

其余自制ECU選用Freescale公司S12系列中的M(29S12DGl28作為ECU主芯片。上電初始化后,在無限循環(huán)下先遍歷協(xié)議棧,對請求報文進行響應(yīng),然后采集數(shù)據(jù)更新報文。程序采集傳感器信息,周期性地更新應(yīng)用層報文。程序根據(jù)采集的信號、數(shù)據(jù)生成DTC,周期性地更新應(yīng)用層診斷報文,根據(jù)DTC數(shù)目決定是否發(fā)送及是否用傳輸協(xié)議。程序半固定數(shù)據(jù)如DTC信息、里程信息等均保存在EEPROM中,每次上電導(dǎo)入,發(fā)生變化后實時更新。

結(jié)語

通過對具備SAE J1939 CAN接口的ECU產(chǎn)品CAN總線功能進行分析,自定義若干ECU,集成實現(xiàn)基于SAE J1939協(xié)議的車輛網(wǎng)絡(luò)。在實驗室對比CAN卡、上車對比儀表板進行試驗研究的結(jié)果表明,所集成的車輛網(wǎng)絡(luò)工作穩(wěn)定、信息量豐富、能實時反映故障診斷信息,解決了車輛儀表盤信息量較少和故障診斷實時性不足的問題。

雙核單片機的從CPU可提高μC/OS-II的實時性,降低了主CPU的負荷。此外,SAEJ1939協(xié)議的完備通信策略和成熟的通信機制,使得協(xié)議完全可以在修改應(yīng)用層和應(yīng)用層診斷相關(guān)定義之后,推廣應(yīng)用到其他工業(yè)環(huán)境類似的CAN通信領(lǐng)域,如列車控制、工廠控制等。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6419

    瀏覽量

    110098
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8257

    瀏覽量

    149957
  • 通信系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    1141

    瀏覽量

    53200
收藏 人收藏

    評論

    相關(guān)推薦

    基于J1939協(xié)議的組合儀表的設(shè)計與實現(xiàn)

    為基礎(chǔ)的能夠使汽車中各個電控單元間實現(xiàn)自由通信網(wǎng)絡(luò)控制系統(tǒng),并制定了J1939 協(xié)議。2CAN
    發(fā)表于 05-17 11:45

    德國MicroControl公司的SAE J1939產(chǎn)品簡價

    德國MicroControl公司的SAE J1939產(chǎn)品簡價
    發(fā)表于 12-23 09:45

    J1939基礎(chǔ)入門知識分享

    通信。J1939描述了CAN總線的一種網(wǎng)絡(luò)應(yīng)用,包括CAN網(wǎng)絡(luò)物理層定義、數(shù)據(jù)鏈路層定義、應(yīng)用層
    發(fā)表于 04-11 07:00

    基于J1939的汽車CAN總線教學(xué)實驗系統(tǒng)

    針對J1939協(xié)議培訓(xùn)要求,構(gòu)建了一個基于J1939協(xié)議的汽車總線培訓(xùn)實驗系統(tǒng)系統(tǒng)硬件由計算機、Kvaser CAN總線分析儀以及基于
    發(fā)表于 08-06 10:25 ?50次下載

    SAE J1939協(xié)議分析指南

    SAE J1939協(xié)議是由汽車工程協(xié)會(SAE)定義的,SAE J1939協(xié)議在商用車輛、艦船、
    發(fā)表于 03-13 13:50 ?189次下載

    基于SAE J1939協(xié)議的發(fā)動機模擬系統(tǒng)開發(fā)

    1 引言    CAN總線以其優(yōu)異性能在汽車局域網(wǎng)中占有重要地位。IS011992,IS011783以及SAE J1939都是基于CAN總線的汽車
    發(fā)表于 05-16 10:55 ?3117次閱讀
    基于<b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b>協(xié)議的發(fā)動機模擬<b class='flag-5'>系統(tǒng)</b>開發(fā)

    基于SAE J1939協(xié)議的車輛網(wǎng)絡(luò)通信

    目前,車輛的ECU產(chǎn)品大都帶有SAE J1939 CAN接口。針對具有SAE
    發(fā)表于 09-24 00:49 ?5649次閱讀
    基于<b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b>協(xié)議的<b class='flag-5'>車輛</b><b class='flag-5'>網(wǎng)絡(luò)通信</b>

    基于SAE J1939協(xié)議的發(fā)動機總線數(shù)據(jù)模擬系統(tǒng)設(shè)計

    SAE J1939標(biāo)準(zhǔn)是美國汽車工程師協(xié)會(SAE)發(fā)布的以CAN總線為核心的車輛網(wǎng)絡(luò)串行通訊和
    發(fā)表于 09-17 08:38 ?1796次閱讀
    基于<b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b>協(xié)議的發(fā)動機總線數(shù)據(jù)模擬<b class='flag-5'>系統(tǒng)</b>設(shè)計

    柴油機動車J1939轉(zhuǎn)RS232運行數(shù)據(jù)串口(UART)標(biāo)準(zhǔn)

    SAE J1939協(xié)議被用于以CAN為基礎(chǔ)的車輛通信系統(tǒng)嵌入式
    發(fā)表于 05-08 10:09 ?1544次閱讀

    CAN高層協(xié)議J1939的基礎(chǔ)和應(yīng)用以及開發(fā)介紹

    協(xié)議J1939的有關(guān)內(nèi)容,今天起我們將連續(xù)分6次推文來詳細介紹CAN的高層協(xié)議J1939的基礎(chǔ)和應(yīng)用以及開發(fā),應(yīng)該算是比較全面系統(tǒng)的介紹,希望對大家有幫助。
    的頭像 發(fā)表于 04-02 10:45 ?4546次閱讀
    <b class='flag-5'>CAN</b>高層協(xié)議<b class='flag-5'>J1939</b>的基礎(chǔ)和應(yīng)用以及開發(fā)介紹

    基于恩智浦MPC5744P的SAE J1939協(xié)議棧開發(fā)

    的,MPC5744P 支持CAN2.0B。CAN 的高層協(xié)議,J1939 是基于CAN2.0B的擴展幀,29位標(biāo)識符,支持單幀和多幀收發(fā)通信
    的頭像 發(fā)表于 09-24 16:15 ?8030次閱讀
    基于恩智浦MPC5744P的<b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b>協(xié)議棧開發(fā)

    新功能發(fā)布 | TSMaster如何實現(xiàn)J1939多幀報文收發(fā)

    前言眾所周知,J1939協(xié)議是由美國汽車工程師協(xié)會(SAE)定義的一組標(biāo)準(zhǔn)。J1939標(biāo)準(zhǔn)用于卡車、公共汽車和移動液壓等重型車輛。如今大多數(shù)車輛
    的頭像 發(fā)表于 09-06 10:01 ?1685次閱讀
    新功能發(fā)布 | TSMaster如何<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>J1939</b>多幀報文收發(fā)

    【看點】淺析SAE-J1939CAN2.0B之間的關(guān)系

    一什么是SAE-J1939?SAE-J1939(以下簡稱J1939)是美國汽車工程協(xié)會(SAE)的推薦標(biāo)準(zhǔn),廣泛用于是商用車(重卡、大客車等道路車輛
    的頭像 發(fā)表于 01-06 09:52 ?1329次閱讀
    【看點】淺析<b class='flag-5'>SAE-J1939</b>與<b class='flag-5'>CAN</b>2.0B之間的關(guān)系

    CAN總線之J1939地址定義

    SAE J1939(以下簡稱J1939)是美國汽車工程協(xié)會(SAE)的推薦標(biāo)準(zhǔn),廣泛用于是商用車(重卡、大客車等道路車輛和工程機械、農(nóng)業(yè)機械
    的頭像 發(fā)表于 08-15 10:47 ?3378次閱讀
    <b class='flag-5'>CAN</b>總線之<b class='flag-5'>J1939</b>地址定義

    SAE J1939協(xié)議解讀

    在乘用車領(lǐng)域比較熟知的是CAN(FD)、LIN、FlexRay、Ethernet等通信協(xié)議,但對于J1939往往所知甚少。其實在CAN總線協(xié)議誕生之初,
    的頭像 發(fā)表于 11-09 08:25 ?1767次閱讀
    <b class='flag-5'>SAE</b> <b class='flag-5'>J1939</b>協(xié)議解讀