那曲檬骨新材料有限公司

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

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

3天內不再提示

用于實現三種總線網絡通信的混合網關設計方案

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:牟文強,施國梁 ? 2021-03-31 09:31 ? 次閱讀

引言

隨著汽車電子的發展,傳統的點對點的通信已經不能滿足現代汽車通信的要求。汽車電子網絡技術正成為實現汽車控制系統的首選,它使汽車電子技術進入一個全新的時代。

20世紀90年代,美國汽車工程師協會SAE(Society of Automotive Engineers)將汽車數據傳輸網分成了A、B、C三類:A類網絡主要面向傳感器/執行器的低速網絡,數據傳輸位速率一般小于10 kb/s,目前A類網的首選標準為LIN(LocalInterconnect Network)協議;B類網絡主要面向獨立模塊間數據共享的中速網絡,數據傳輸位速率在10~125 kb/s,目前B類網絡主要采用低速容錯CAN標準ISO11898-3;C類網絡則主要面向高速、實時閉環控制的多路傳輸網,數據傳輸位速率在 125~1 Mb/s之間,歐洲的汽車制造商主要采用高速CAN標準ISO11898-2來實現該類網絡。下面簡要介紹一下CAN協議和LIN協議。

1986年2月,德國的Bosch公司在SAE大會上提出了CAN串行總線。時至今日,CAN已經形成國際標準,憑借自身的優點,不僅在汽車領域,而且在機械數控機床及傳感器等領域都得到廣泛應用。CAN總線的主要特點有:多主機的工作方式;最大傳輸速率可達1 Mb/s(通信距離最長40 m),直接通信距離可達10 km(速率小于5 kb/s);采用短幀結構,傳輸時間短;良好的檢錯能力;非破壞總線仲裁技術;較高的性價比。

LIN是1998年由BMW等五家汽車制造商、一家軟件工具制造商以及一家半導體廠商聯合提出的一個協議。LIN通信是基于SCI(UART)數據格式,采用單主/多從模式以及低成本的單線連接方式,最高傳輸速率可達20kb/s。LIN的從節點不用晶振或陶瓷振蕩器就能實現自同步。出于以上技術特點, LIN總線實現成本較低,且完全能夠滿足A類網絡的通信需求。

在實際的汽車電子網絡中,A、B、C三類網絡并不是完全獨立的。為了完成車輛的控制及信息共享,不同網絡間必須進行相應的數據交換。由于是三種不同的網絡,它們之間的通信是不能直接進行的,而必須作相應的協議轉換及數據處理后才能實現,這些工作是由網關來實現的。本文提出了一種網關的設計方案,用以實現高速CAN、低速CAN及LIN三種總線網絡之間的通信。

1 網關總體結構

本文所討論的網關其主要任務是解決車載網絡中A、B、C三類網絡的相互通信的問題,實現數據的存儲轉發及高、低速CAN協議之間或低速CAN與LIN協議之間的協議轉換,以便在不同網絡之間實現數據通信。網關主要分為4個部分:實現數據存儲轉發和協議轉換的主控制器,用于與高速CAN網絡連接的高速CAN 節點模塊,與低速CAN網絡連接的低速CAN節點模塊以及與LIN網絡連接的LIN節點模塊。網關系統的電路框圖如圖1所示。

用于實現三種總線網絡通信的混合網關設計方案

網關中三個節點電路分別與各自的網絡相連,且實現各自對應的網絡與主控制器之間的數據交換。這個數據交換過程是雙向的,既包括從網絡上接收數據并將數據存到主控制器中,又包括從主控制器相應的緩存器中讀取數據并將其發送到自己對應的網絡中。主控制器主要負責數據的存儲及協議的轉換,即將各個節點接收來的數據根據其目的網絡的不同,分別存入不同的緩沖區,并且根據目的網絡的不同,將數據轉化為能夠在目的網絡上傳送的數據格式。

2 網關電路設計

如上所述,網關的硬件電路主要由主控制器、高速CAN節點模塊、低速CAN節點模塊、LIN節點模塊4部分組成。為了滿足網關的正常通信要求,必須考慮主控制器的數據處理能力。另外,由于網關的工作環境為電磁干擾非常嚴重的汽車內部,故還須考慮網關的抗噪聲干擾性能。網關的硬件設計簡圖如圖2所示, AT91SAM7A3為網關的主控制芯片,TJA1020為LIN總線收發器,CTM1054為低速CAN收發器,CTM1050為高速CAN收發器。

2.1 主控制器的選擇

實現數據的高效率、高質量的存儲轉發是網關的重要目標,而主控制器是網關的核心器件,它的性能好壞直接決定了網關的效率高低。主控器對接收到的數據進行緩存,因此主控制器需要有較高的存儲容量。主控器還要對它所接收與轉發的數據進行協議轉換等數據處理,因此還要有較強的運算能力。

本設計選用了Atml公司的AT91SAM7A3作為網關的核心控制器。這是一顆基于ARM7TDMI內核的32位RISC處理器,具有執行速度快、效率高的特點,能夠滿足網關的數據處理要求。該芯片內置32 KB的SRAM和256 KB的高速Flash存儲器,存儲能力強,能夠滿足網關對數據存儲的要求。另外,該芯片內部集成有2個功能強大的CAN2.OB的控制器,可以處理所有類型的幀結構(數據幀、遠程幀、錯誤幀及過載幀),每個控制器有16個獨立的緩存區(mailbox),十分有利于實現網關高速、大容量的數據處理。集成的 CAN控制器還能夠減少器件數目和PCB布線數量,有利于提高系統的抗干擾性能。

2. 2 CAN節點設計

常用的CAN節點電路如圖3所示,它主要由MCU、CAN控制器及CAN收發器組成。為了增強電路的抗干擾性,還需要在控制器與收發器之間增加一個隔離電路。

本網關中的CAN節點共有2個:高速CAN節點和低速CAN節點。由于在汽車中電磁干擾現象非常嚴重,僅靠單個的CAN收發器難以滿足通信品質的要求,需要加上適當的隔離電路以提高電路的抗干擾性。

2個節點的MCU的功能由主控制芯片AT91SAM7A3實現,且AT91SAM7A3中集成了兩個高性能的CAN控制器,可以分別作為高低速CAN節點的控制器。

常用的隔離電路采用高速光耦6N137實現CAN節點之間的信號隔離,并且采用電源隔離模塊實現高速光耦的兩個電源的隔離。但是這種設計無疑增加了PCB 的走線,使電路的沒計變得復雜,同時隔離電路的隔離效果也受到影響。

本設計采用廣州致遠電子有限公司生產的CTM系列的CTM1050和CTM1054,分別作為高低速CAN收發器。CTM系列的CAN收發器集成了CAN 收發器以及必需的隔離,即在一塊芯片上實現了隔離電路和CAN收發器的功能。這樣就不必單獨設計隔離電路,提高了集成度,使得抗干擾性得到增強。

高速CAN收發器CTM1050,最高速率可達1 Mb/s,完全符合ISO11898-2標準的高速CAN通信,用它作為高速CAN網絡接口的收發器(電路連接方法見圖2)。容錯CAN收發器 CTM1054,最高通信速率可達125 kb/s,完全符合ISO11898-3標準,用它作為低速CAN網絡接口的收發器(電路連接方法見圖2)。需要注意的是,在CTM1054的連接中,有 2個電阻R1和R2的阻值要根據低速CAN網絡中節點的個數來確定。具體值的算法見CTM1054使用手冊。

2.3 LIN接口設計

LIN總線是一主多從的總線連接方式,節點有主從之分。在本設計中,將LIN節點設計為主節點。LIN是一個基于單線串行的通信協議,對于硬件的要求比較簡單。通常一個有SCI/UART接口的單片機和一個LIN收發器就可組成LIN節點。本設計利用AT91SAM7A3的UART口和LIN收發器 TJA1020組成一個LIN主節點。

TJA1020使用的波特率可從2.4~20 kb/s,有較好的保護功能:總線終端和電池引腳可防止汽車環境下的瞬變、總線終端對電池和地的短路保護以及過熱保護等,可以作為汽車通信中的LIN通信接口(具體電路連接見圖2)。

3 網關軟件設計

網關的軟件系統主要包括主監控程序、數據的發送、數據的接收、數據的處理(包括協議轉換和緩沖區內數據的讀寫處理)等幾部分。

3.1 主監控程序

如圖4所示,在主控制器AT91SAM7A3中劃出4塊緩沖區BUF1~BUF4,每一塊緩沖區中的數據都有明確而且唯一的來源和目的地。主監控程序主要通過循環依次查詢BUF1~BUF4中的存儲情況,來決定是否發送數據以及將數據發送給誰。

當高速CAN網絡上有數據需要接收的時候,通過高速CAN模塊接收數據,對接收到的數據進行處理后,將其存到緩沖區BUF1中,再由低速CAN模塊將其發送到低速CAN網絡上;當LIN網絡上有數據需要接收時,通過LIN總線模塊接收數據,對接收到的數據進行數據格式轉換(LIN格式的報文幀轉換為CAN 格式的報文幀),再將其存入到緩沖區BUF4中,并由低速CAN模塊將其發送到低速CAN網絡上;當低速CAN網絡上有數據需要接收時,先接收數據,然后判斷數據是發送到高速CAN總線,還是發送到LIN總線,根據判斷結果對數據進行處理,存入相應的緩沖區(如數據是發往高速CAN總線,則存入BUF2,否則存入BUF3)。

3.2 數據的發送

數據的發送由發送子程序完成,網關中主要有3個發送子程序,分別對應兩路CAN控制器以及一路 LIN發送器。高速CAN的發送子程序負責發送BUF1中的數據,LIN的發送子程序負責發送BUF3中的數據,低速CAN的發送子程序負責發送BUF2 和BUF4中的數據。數據的發送采用查詢總線狀態的發送方式:查詢總線的忙閑情況,如果總線忙,則退出發送子程序,進行其他的工作;如果總線空閑,則發送數據。發送完1幀數據后,再檢查與之相應的緩沖區的狀態。如果為空,則退出發送子程序;如果非空,則再檢查總線的忙閑狀態。如果忙,則退出發送子程序;如果空閑,則發送數據。然后再開始新一輪的數據查詢發送過程。圖5為高速CAN向低速CAN發送的流程,其他的發送子程序過程與此類似。

3.3 數據的接收

數據接收是從總線上接收數據,進行必要的協議轉換,再將轉換后的數據存人相應的緩沖區。網關中有3個接收子程序,分別對應兩路CAN控制器及一路LIN發送器。數據接收采用中斷方式,由于不同網絡有不同的實時性要求,因此為3個接收程序設定了不同的中斷級別。高速CAN的實時性要求最高,中斷級別也設為最高;而LIN總線的實時性在三者中最低,故中斷級別也最低。當一個接收中斷發生后,進入接收中斷子程序,判斷相應的緩沖區是否已滿(低速CAN的接收程序在接收到數據后需要根據數據的目的網絡確定緩存區為BUF2還是BUF3)。如果緩沖區已滿,則產生一個溢出錯誤標志;如果沒有滿,則將數據進行相應的協議轉換,并將轉換后的數據存入相應的緩存區,退出中斷并完成接收。圖6所示為低速CAN數據接收過程的簡要流程。

3.4 數據的處理

網關的數據處理是指協議的轉換和數據在緩沖區的存儲與轉發。每當接收到一組數據時,首先進行協議轉換,然后再將其存入到相應的緩存區。高低速CAN的協議相同,并不需要轉換,因此主要是進行CAN協議和LIN協議之間的轉換。

CAN協議和LIN協議都是以幀(frame)為數據單位進行通信的。在進行LIN協議到CAN協議的轉換時,首先是將LIN幀分解,從標識符場 (identfield)提取出其中的ID標識符,從數據場(data field)提取出有效數據,然后根據這些信息封裝成符合要求的CAN幀格式。CAN協議到LIN協議的轉換過程亦是如此。先將CAN幀分解,從仲裁域 (arbitration field)和數據域(data field)中提取出有用信息,然后封裝成符合要求的LIN幀格式。

數據的4個緩沖區BUF1~BUF4為FIFO(First InFirst Out)緩沖區,本文采用循環隊列(circular queue)來實現數據的先進先出。兩個指針Read和Write分別指示隊頭元素和隊尾元素在緩沖區空間中的位置,它們的初值在隊列初始化時均應置為 0,每讀取或寫入一次數據,都要對緩沖區的參數進行調整。寫數據時,將新元素插入Write所指的位置,然后將Write加1;讀數據時,刪去Read所指的元素,然后將Read加1并返回被刪元素。

4 網關通信測試

將網關的高速CAN接口和低速CAN接口分別與單獨的CAN節點電路相連,LIN接口與單獨的LIN從節點相連,組成測試網絡。測試的主要內容為高速 CAN和低速CAN之間的通信,低速CAN和LIN網絡之間的通信。高速CAN網絡采用速率為500 kb/s,低速CAN網絡采用的速率為100kb/s,LIN網絡采用的速率為10 kb/s。利用PC機的串口發送測試數據,同時在另一個串口終端上進行數據的監測。測試結果表明,發送數據內容與監測到的數據內容一致。

5 總結

以AT91SAM7A3為核心設計的一款CAN/LIN混合網關,實現了汽車網絡中高速CAN總線、容錯CAN總線及LIN總線三類網絡之間的通信,使汽車中的各類網絡的信息能夠有效共享,實現了不同性質網絡的互聯。

責任編輯:gt

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

    關注

    2553

    文章

    51390

    瀏覽量

    756571
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2769

    瀏覽量

    464378
  • 總線
    +關注

    關注

    10

    文章

    2903

    瀏覽量

    88387
收藏 人收藏

    評論

    相關推薦

    組建RS-485總線網絡時,終端電阻實戰案例

    RS-485總線具有結構簡單、成本低等優點,但各位工程師在組建RS-485總線網絡時,為提升整個網絡通信的可靠性,想必會經常會遇到一個問題:需不需要加終端電阻呢?
    的頭像 發表于 02-08 09:51 ?1.4w次閱讀
    組建RS-485<b class='flag-5'>總線網絡</b>時,終端電阻實戰案例

    未知多節點CAN總線網絡,如何準確識別?

    在CAN網絡中,所有節點的數據收發共享一條總線。當面對未知的多節點CAN總線網絡時,如何準確分析各節點間的通信協議呢?
    的頭像 發表于 02-27 09:29 ?1.6w次閱讀
    未知多節點CAN<b class='flag-5'>總線網絡</b>,如何準確識別?

    can轉profinet網關實現汽車生產的革新

    了解CAN總線網絡和PROFINET網絡的基本概念。CAN(控制器局域網)總線網絡是一用于實時控制的串行
    發表于 12-25 10:29

    現場總線通信網關能夠實現什么?

    給出了軟硬件設計方案。該網關的創新點在于定義了CANBUS的應用層協議,使用該嵌入式現場總線通信網關構建的總線融合
    發表于 08-26 06:05

    分享一款不錯的基于ZigBee和WiFi的雙模網關設計方案

    本文通過分析ZigBee與WiFi協議棧的特點,提出了一雙模無線網關轉換的方案,該方案可以很好地完成ZigBee組網、遠程數據采集和遠程控制等任務。實驗結果表明,基于ZigBee和W
    發表于 05-24 06:37

    求一過程分析儀器CAN網絡通信設計方案

    求一過程分析儀器CAN網絡通信設計方案
    發表于 05-27 06:40

    捷米特PROFINET轉 CANOPEN總線網關連接匯川變頻器解決方案

    捷米特PROFINET轉 CANOPEN總線網關連接匯川變頻器解決方案PLC通過CANopen監控變頻器的運行,監控系統采用西門子1500系列PLC,支持PROFINET協議,變頻器為匯川產品,支持
    發表于 01-04 15:07

    基于ADG663的CAN總線網絡擴展方案設計

    由于受CAN收發器的限制,在一個CAN總線網絡中最多只能有110個CAN節點,或達到10km的通信距離,所以當所需CAN總線網絡的節點、距離超出以上限制時,就必須進行CAN總線網絡的擴
    發表于 11-26 16:16 ?12次下載

    NCS-LD105現場總線網關

    NCS-LD105現場總線網關是連接FF HSE現場總線和FF H1現場總線網關設備。一臺網關最多可以連接四個H1網段,同時具有網橋功能。
    發表于 05-18 15:18 ?11次下載
    NCS-LD105現場<b class='flag-5'>總線網關</b>

    例舉CAN總線網絡應用

    本文要對CAN總線網絡應用例舉及其拓寬的現場總線控制系統(FCS)作其說明
    發表于 06-22 18:17 ?1837次閱讀
    例舉CAN<b class='flag-5'>總線網絡</b>應用

    CAN總線網絡拓撲結構圖

    對于一般的CAN總線網絡,其網絡結構圖可以化簡圖、CAN總線網絡拓撲結構圖。
    發表于 05-03 16:42 ?48次下載

    測量CAN總線網絡阻抗的原理及方法

    在CAN應用中,有時會出現我們料想不到的問題,此時,為了準確的排查問題,我們需要通過測量CAN總線網絡阻抗來確定是否滿足CAN規范。本文將闡述測量CAN總線網絡阻抗的原理以及具體方法。
    的頭像 發表于 02-19 14:27 ?1w次閱讀
    測量CAN<b class='flag-5'>總線網絡</b>阻抗的原理及方法

    CAN總線網關的設計與實現

    為了解決車載總線網絡間的通信問題, 基于 CAN ( Contro ller Area Netw ork) 網絡, 設計并實現了一個CAN 網關
    發表于 04-19 17:18 ?53次下載

    PROFINET轉CANOPEN總線網關連接匯川變頻器解決方案

    PROFINET轉 CANOPEN總線網關YC-PN-COP使用步驟 1 通過上位機配置軟件 GW_Canopen_Builder_V10.9.exe,對PROFINET轉 CANOPEN總線網關
    發表于 04-07 09:58 ?0次下載
    PROFINET轉CANOPEN<b class='flag-5'>總線網關</b>連接匯川變頻器解決<b class='flag-5'>方案</b>

    使用者最關心光纖can總線網關的哪些方面?

    。他們希望確保光纖CAN總線網關能夠與他們的系統和設備無縫集成。 (2)傳輸速率和延遲:使用者關心光纖CAN總線網關的傳輸速率和延遲。他們希望能夠實現高速數據傳輸和快速響應,以滿足系統對實時性和性能的要求。 (3)距離和擴展性:
    的頭像 發表于 12-07 10:45 ?427次閱讀
    使用者最關心光纖can<b class='flag-5'>總線網關</b>的哪些方面?
    百家乐平台哪个有在线支付呢| 真人百家乐怎么玩| 大发888娱乐真钱游戏| 电子百家乐官网博彩正网| 澳门百家乐官网路单| 什么叫百家乐的玩法技巧和规则| 永利高网址| 百家乐官网路技巧| 百家乐大赌场娱乐网规则| 明升国际娱乐| 皇城百家乐娱乐城| 百家乐官网连黑记录| 保单百家乐技巧| 视频百家乐信誉| 黄金城赌场| 阴宅风水24山分房| 视频棋牌游戏大厅| 高科技百家乐官网牌具| 月亮城百家乐的玩法技巧和规则| 网上百家乐官网投注法| 真人百家乐园| 台安县| 鲨鱼百家乐游戏平台| 真人百家乐官网| 棋牌游戏中心| 做生意如何风水| 九州娱乐城| 百家乐太阳城开户| 灵台县| 新世百家乐官网的玩法技巧和规则 | 网络百家乐官网游赌博| 富二代百家乐的玩法技巧和规则| 百家乐官网开户送8彩金| 包赢百家乐的玩法技巧和规则| 至尊百家乐官网奇热网| 吉利百家乐的玩法技巧和规则 | 百家乐官网软件购买| 太原百家乐官网的玩法技巧和规则| 大发888特惠代码| 免费百家乐官网过滤工具| 皇宝国际网站|