精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

基于J1939協議和擴展器件實現CAN擴展節點的設計

電子設計 ? 來源:電子設計工程 ? 作者:金佛榮;唐臻宇; ? 2020-03-14 08:07 ? 次閱讀

1 、引言

CAN總線以其成本低廉、通信實時性好、糾錯能力強等優點廣泛應用于汽車工業電力系統變電站自動化、智能大廈等系統。J1939協議是SEA于1998年提出的,主要應用于運輸、農林機車、船舶等大型交通工具。Microchip公司推出的MCP2502X/2505X CAN I/O系列擴展器可獨立作為CAN擴展節點,通過配置實現不同的CAN協議。本文以J1939為通信協議,基于該器件設計CAN擴展節點,方便實現汽車的前端測控功能,并且與整個車載CAN網絡相連。

2、 MCP2502X/05X CAN I/O擴展器簡介

MCP2502X/5X器件可作為CAN系統的I/O擴展器使用,支持CANV2.0B Active,可在原始數據與CAN報文之間進行協議轉換,總線速率最大可達1 Mb/s。MCP2502X/5X器件具有多個外設,包括數字I/O、4通道10位A/D轉換器和能夠在引腳狀態變化時自動發送報文的PWM輸出,包括超過預設門限值的模擬輸入,提供1個屏蔽寄存器和2個接收過濾器,使得在設計系統時與器件響應標識符相關部分具有最大限度的靈活性。該器件也可配置為在任何時候發生一個或多個錯誤時,能夠自動發送唯一報文。可在非易失性存儲器中對器件進行預編程,這樣器件在配置過程可默認為特定配置。

3、擴展節點配置

基于MCP2502X/5X的CAN網絡必須有一個具有CAN接口CPU做為主節點,MCP2502X/05X只能作為擴展節點,通過配置完成工作。器件配置方法有兩種:預編程用戶寄存器和CAN報文在線配置。MCP2502X/05X器件的用戶E-PROM出廠時是空白的,所以在上電前要對其預編程,編程結果在上電復位后自配置為默認配置。為了與主節點之間實現基于J1939協議通信,上電前先按J1939標識符格式對CAN模塊寄存器預編程。對MCE2502X/05X器件的用戶寄存器預編程有三種方法,分別為用MPLAB IDE配套PROMATE II編程器;在線串行編程(ICSP);根據ICSP的原理設計專門的編程電路,配合微芯公司的編程軟件MCP250XXProgrammer對器件預編程。這里采用第三種方法。

3.1 預編程用戶寄存器

3.1.1 預編程電路設計

編程需要VDD(2.0~6.0 V)和VPP(12~14 V)兩個電源,如圖1所示。圖1中,通用開關穩壓器LM78S40CN輸出可調的1.25~40 V的穩定電壓產生所需的VPPPC機通過場效應管MTSF2P02控制VPP和VDD的通斷,實現編程邏輯。

基于J1939協議和擴展器件實現CAN擴展節點的設計

圖2為編程數據、時鐘邏輯電路以及編程電路與PC機的接口電路。編程電路通過并口與PC機連接。在編程電路和PC機連接后,利用Microchip公司提供的具有形象圖形化界面的軟件(MCP250X X Programmer)方便對器件預編程。

基于J1939協議和擴展器件實現CAN擴展節點的設計

3.1.2 預編程CAN相關寄存器

預編程CAN相關寄存器就是實現不同CAN協議,并通過CAN報文配置和操作其他寄存器。MCP2502X/05X系列器件在實現對器件本身控制的前提下,用戶通過配置CAN模塊相關寄存器,并根據實際情況設計協議的具體內容。擴展節點的CAN協議必須與主節點的CAN協議相匹配。該設計采用J1939協議標準配置CAN模塊寄存器,由于CAN擴展節點與主節點之間要求點對點通信,所以采用PDU1格式,其29位標識符各位的含義如圖3所示。

基于J1939協議和擴展器件實現CAN擴展節點的設計

圖3中,源地址的高5位可編程,低3位與擴展器硬件相關聯,用于實現特定的CAN命令,比如將報文源地址低3位寫“000”,讀取A/D轉換器的寄存器。PS(PDU格式)要小于240,其他各位由應用層確定。按照協議標識符格式寫配置寄存器。MCP2502X/5X器件包含3個獨立的發送報文ID:TX-ID0、TXID1和TXID2。

配置相應的寄存器預定義各種輸出報文中每一個報文的數據長度碼以及直接從器件外設寄存器輸入待發送數據。器件按照預定義格式發送報文。配置接收屏蔽寄存器來定義CAN ID與可編程過濾器相比較的位。在29位標識符格式中,RXMEID0寄存器的EID2:EID0位設置為無關位。MCP2502X/5X定義2個獨立的接收過濾器:RXF0和RXF1。其中,RXF0用于信息請求報文,而RXF1用于輸入報文。按照預定標識符格式對過濾器進行預編程配置,過濾器的每一位與CAN ID的位相對應。為了接收報文,CAN ID中的每一位(相應屏蔽位設置為1時)必須和對應的過濾器位相匹配。忽略未滿足屏蔽/過濾條件的報文。同時擴展節點配置為自動發送模式,即當采集輸入信號變化或經一定時間間隔將自動發送信息。

3.2 用CAN報文配置擴展器

由于配置寄存器通過CAN總線訪問,因此除了采用預編程配置擴展器外,通信建立后,主節點通過命令報文配置器件,也可在線修改已配置的寄存器。命令報文種類由源地址的低3位確定。

4 、擴展節點硬件結構及系統網絡結構

圖4為擴展節點的硬件結構,MCP2502X/05X器件通過CAN驅動器與CAN總線相連。圖5為系統網絡結構。

基于J1939協議和擴展器件實現CAN擴展節點的設計

CAN總線本身是一種多主總線,理論上每個節點都可作為主節點,但基于MCP25132X/5X器件的CAN網絡中必須有一個具有CAN接口的CPU作為主節點,來執行控制算法,并做出相應控制決策。而擴展節點只能作為從節點。其他節點則通過主節點與對應的從節點通信。

5 、主節點軟件設計

在主節點軟件設計過程中,將主節點和其對應的擴展節點看成同一個ECU(電控單元)的不同CA(控制器應用程序),并且地址可仲裁,主節點與擴展節點之間點對點通信,總線上所有ECU都遵循J1939協議進行通信,其他ECU通過主節點訪問擴展節點。

主節點軟件由主處理、接收處理和發送處理3部分構成。其中,接收處理負責接收與本ECU地址相匹配的消息,并處理地址聲明消息和地址請求消息,將應用消息填充到接收緩沖區;發送消息負責將發送緩沖區的數據發送到CAN總線。圖6為主處理軟件流程。

基于J1939協議和擴展器件實現CAN擴展節點的設計

6、 結論

基于MCP2502X/05X器件設計CAN擴展節點無需大量編程,只需配置相關寄存器,連接簡單電路就能實現與主節點的通信。在無需微控制器下擴展一個CAN節點,用戶自行設置協議內容,非常靈活,其豐富的外設滿足一般測控需要。將MCP2502X/05X器件與J1939協議相結合,可方便設計汽車的前端測控模塊,并與整個車載CAN網絡相連。這種設計方案系統結構簡單、成本降低、提高信號傳輸的可靠性,在車載CAN網絡,尤其是前端測控模塊中具有廣泛的應用前景。

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 轉換器
    +關注

    關注

    27

    文章

    8500

    瀏覽量

    145944
  • 寄存器
    +關注

    關注

    31

    文章

    5250

    瀏覽量

    119187
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2662

    瀏覽量

    462427
收藏 人收藏

    評論

    相關推薦

    基于J1939協議的組合儀表的設計與實現

    基于J1939協議的組合儀表的設計與實現摘要:本文首先介紹了CAN 總線和J1939 協議,然后
    發表于 05-17 11:45

    DSP28335實現J1939協議???

    請問DSP28335自帶CAN模塊能否用來實現J1939協議通信?
    發表于 09-10 20:38

    J1939基礎入門知識分享

    通信。J1939描述了CAN總線的一種網絡應用,包括CAN網絡物理層定義、數據鏈路層定義、應用層定義、網絡層定義、故障診斷、和網絡管理。在SAE J1939
    發表于 04-11 07:00

    基于LabVIEW和J1939協議CAN總線通訊平臺構建

    最近在公司搭建J1939協議CAN通訊,查了資料,非常不錯,可以學習一下
    發表于 04-24 09:58

    J1939協議理解

    J1939協議理解
    發表于 05-06 15:23

    基于J1939協議的組合儀表的設計與實現

    摘要:本文首先介紹了CAN 總線和J1939 協議,然后重點介紹了基于J1939 協議應用AT90CAN
    發表于 05-16 18:55 ?36次下載

    基于J1939的汽車CAN總線教學實驗系統

    針對J1939協議培訓要求,構建了一個基于J1939協議的汽車總線培訓實驗系統。系統硬件由計算機、Kvaser CAN總線分析儀以及基于
    發表于 08-06 10:25 ?50次下載

    SAE J1939協議分析指南

    SAE J1939協議是由汽車工程協會(SAE)定義的,SAE J1939協議在商用車輛、艦船、軌道機車、農業機械和大型發動機中是應用最廣泛的應用層
    發表于 03-13 13:50 ?189次下載

    基于MCP2502X的CAN總線節點設計

    針對當前CAN總線及J1939協議在汽車電子中的廣泛應用,給出一種通過配置在低成本CAN I/O擴展器MCP2502X/05X
    發表于 12-29 18:08 ?28次下載

    基于SAE J1939協議的車輛網絡通信

    目前,車輛的ECU產品大都帶有SAE J1939 CAN接口。針對具有SAE J1939 CAN接口的ECU產品(如發動機、變速器及其緩速器和ABS等ECU),自定義若干ECU,集成
    發表于 09-24 00:49 ?5647次閱讀
    基于SAE <b class='flag-5'>J1939</b><b class='flag-5'>協議</b>的車輛網絡通信

    基于LabVIEW和J1939協議CAN總線通訊平臺開發

    基于J1939 協議的商用車CAN總線,針對單片機微控制器MCU 節點的MCU + CAN 控制器 +
    發表于 04-15 16:59 ?5097次閱讀
    基于LabVIEW和<b class='flag-5'>J1939</b><b class='flag-5'>協議</b>的<b class='flag-5'>CAN</b>總線通訊平臺開發

    CAN高層協議J1939的基礎和應用以及開發介紹

    CAN做為應用比較廣泛的通信總線,受到了越來越多的客戶喜歡和青睞,廣泛應用于工業和汽車,常見的高層協議有CANopen,J1939,DeviceNet等,在公眾號曾經分享過超過15篇有關CAN
    的頭像 發表于 04-02 10:45 ?4542次閱讀
    <b class='flag-5'>CAN</b>高層<b class='flag-5'>協議</b><b class='flag-5'>J1939</b>的基礎和應用以及開發介紹

    J1939協議理解

    PDU是J1939傳輸數據的格式,它基于CAN協議擴展幀傳輸方式。即它的標識符是29位的。蝕優先級:最高0(000)設置到最低7(111)。所有控制報文的缺省優先級是3(011)
    發表于 04-20 09:56 ?6次下載

    J1939協議理解

    J1939協議基礎知識講解。
    發表于 05-06 15:34 ?13次下載

    基于恩智浦MPC5744P的SAE J1939協議棧開發

    的,MPC5744P 支持CAN2.0B。CAN 的高層協議J1939 是基于CAN2.0B的擴展
    的頭像 發表于 09-24 16:15 ?8030次閱讀
    基于恩智浦MPC5744P的SAE <b class='flag-5'>J1939</b><b class='flag-5'>協議</b>棧開發