一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

基于AT91SAM7A3芯片和CAN收發(fā)器實現(xiàn)CAN/LIN網關的設計

電子設計 ? 來源:單片機與嵌入式系統(tǒng)應用 ? 作者:牟文強,施國梁 ? 2021-04-12 11:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著汽車電子技術的發(fā)展,CAN、LIN總線在汽車網絡中得到越來越廣泛的應用。同時,實現(xiàn)不同性質、不同速率之間的網絡通信也成為必須要解決的問題。本文提出一種高速CAN/低速CAN/LIN網關的設計方案,詳細介紹了CAN、LIN節(jié)點電路的設計以及數(shù)據的傳輸處理過程。

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

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

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

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

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

1 網關總體結構

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

基于AT91SAM7A3芯片和CAN收發(fā)器實現(xiàn)CAN/LIN網關的設計

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

2 網關電路設計

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

2.1 主控制器的選擇

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

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

2. 2 CAN節(jié)點設計

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

本網關中的CAN節(jié)點共有2個:高速CAN節(jié)點和低速CAN節(jié)點。由于在汽車中電磁干擾現(xiàn)象非常嚴重,僅靠單個的CAN收發(fā)器難以滿足通信品質的要求,需要加上適當?shù)母綦x電路以提高電路的抗干擾性。

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

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

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

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

2.3 LIN接口設計

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

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

3 網關軟件設計

網關的軟件系統(tǒng)主要包括主監(jiān)控程序、數(shù)據的發(fā)送、數(shù)據的接收、數(shù)據的處理(包括協(xié)議轉換和緩沖區(qū)內數(shù)據的讀寫處理)等幾部分。

3.1 主監(jiān)控程序

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

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

3.2 數(shù)據的發(fā)送

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

3.3 數(shù)據的接收

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

3.4 數(shù)據的處理

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

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

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

4 網關通信測試

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

5 總 結

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

責任編輯:gt

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

    關注

    459

    文章

    52465

    瀏覽量

    440304
  • 收發(fā)器
    +關注

    關注

    10

    文章

    3671

    瀏覽量

    107894
  • 控制系統(tǒng)

    關注

    41

    文章

    6780

    瀏覽量

    112121
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    我想問下 AT91SAM7A3-AU 是用在CAN/LIN息線的汽車混合網關 是用在什么汽車上的 清教下哪位大神知道是用在哪個汽車上的

    我想問下 AT91SAM7A3-AU 是用在CAN/LIN息線的汽車混合網關是用在什么汽車上的清教下哪位大神知道是用在哪個汽車上的或是用在哪個機子上的
    發(fā)表于 08-15 14:30

    一種基于Salvo的通用CAN/LIN網關

    CAN/LIN 網關是基于CAN/LIN 總線分級網絡控制系統(tǒng)的核心部件。本文探討一種通用CAN
    發(fā)表于 08-15 09:34 ?13次下載

    CTM8251A CTM8251AT通用CAN隔離收發(fā)器產品

    CTM8251A是一款帶隔離的通用CAN收發(fā)器芯片,該芯片內部集成了所有必需的CAN隔離及
    發(fā)表于 03-13 15:09 ?158次下載

    RS-485收發(fā)器CAN收發(fā)器有什么區(qū)別

    協(xié)議。兩人利用靜電放電(ESD)和電壓故障干擾MAX13054A CAN收發(fā)器背板,演示IC可靠的操作性能。
    的頭像 發(fā)表于 10-11 10:26 ?8911次閱讀

    MRT1040DL通用CAN通信收發(fā)器芯片的中文數(shù)據手冊免費下載

    MRT1040DL是一款帶隔離的通用CAN收發(fā)器芯片, 該芯片內部集成了所有必需的CAN隔離及CAN
    發(fā)表于 10-18 08:00 ?25次下載
    MRT1040DL通用<b class='flag-5'>CAN</b>通信<b class='flag-5'>收發(fā)器</b><b class='flag-5'>芯片</b>的中文數(shù)據手冊免費下載

    深入探析CAN收發(fā)器各項參數(shù)

    CAN收發(fā)器是連接CAN控制系統(tǒng)與CAN總線網絡的橋梁,當選型CAN收發(fā)器時應該注意哪些參數(shù)?本
    的頭像 發(fā)表于 12-15 09:34 ?1.6w次閱讀
    深入探析<b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)器</b>各項參數(shù)

    關于兼容CAN FD的系統(tǒng)基礎芯片(SBC)的性能分析和應用介紹

    CAN 收發(fā)器也可以在 SBC 中使用。這些是芯片提供的附加功能。英飛凌的 Lite SBC 系列包括 LDO (低壓差)穩(wěn)壓和 DC/DC 模塊以及一個
    的頭像 發(fā)表于 09-24 10:28 ?1.7w次閱讀
    關于兼容<b class='flag-5'>CAN</b> FD的系統(tǒng)基礎<b class='flag-5'>芯片</b>(SBC)的性能分析和應用介紹

    關于英飛凌CAN FD收發(fā)器芯片的作用分析

    符合ISO11898-2:2016的TLE925x收發(fā)器外,英飛凌還提供配套系統(tǒng)級芯片——TLE9278 Multi-CAN Power-SBC產品系列。
    的頭像 發(fā)表于 09-24 17:30 ?1.5w次閱讀

    CAN 收發(fā)器的時序考慮

    CAN 收發(fā)器的時序考慮
    發(fā)表于 11-15 19:45 ?6次下載
    雙 <b class='flag-5'>CAN</b> <b class='flag-5'>收發(fā)器</b>的時序考慮

    NXP CAN收發(fā)器的特點及應用

    面對各種不同種類的CAN通信收發(fā)器,你是否知道該如何選型?NXP推出了多種類型的CAN收發(fā)器,它們除了能滿足基本的CAN通信需求外,每種系列
    的頭像 發(fā)表于 09-05 14:05 ?4559次閱讀
    NXP <b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)器</b>的特點及應用

    CAN控制CAN收發(fā)器CAN驅動的區(qū)別是什么?

    CAN總線結構中,CAN控制CAN收發(fā)器CAN驅動
    的頭像 發(fā)表于 01-30 09:44 ?6289次閱讀
    <b class='flag-5'>CAN</b>控制<b class='flag-5'>器</b>、<b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)器</b>、<b class='flag-5'>CAN</b>驅動<b class='flag-5'>器</b>的區(qū)別是什么?

    汽車CAN收發(fā)器的作用、原理及構成

    隨著汽車電子技術的飛速發(fā)展,汽車CAN收發(fā)器作為汽車電子系統(tǒng)中的重要組成部分,其重要性日益凸顯。汽車CAN收發(fā)器不僅關乎到汽車內部各個模塊之間的通信,還涉及到汽車的安全、性能以及智能化
    的頭像 發(fā)表于 05-24 15:33 ?3166次閱讀

    CAN收發(fā)器CAN控制的區(qū)別

    CAN總線系統(tǒng)是現(xiàn)代工業(yè)自動化和汽車控制系統(tǒng)中常用的通信協(xié)議。在CAN總線系統(tǒng)中,CAN收發(fā)器CAN控制
    的頭像 發(fā)表于 05-28 15:44 ?4496次閱讀

    CAN總線收發(fā)器的工作原理和應用

    CAN(Controller Area Network)總線收發(fā)器CAN總線通信中的關鍵組件,其工作原理和應用對于理解現(xiàn)代汽車電子、工業(yè)自動化等領域的通信系統(tǒng)至關重要。以下將詳細闡述CAN
    的頭像 發(fā)表于 08-26 15:23 ?4919次閱讀

    CAN收發(fā)器:總線信號的“翻譯官”

    的邏輯電平。今天,我們就來深入探討CAN收發(fā)器的工作原理、行業(yè)應用以及相關參數(shù)測量方法!CAN收發(fā)器的定義CAN
    的頭像 發(fā)表于 06-27 11:34 ?405次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)器</b>:總線信號的“翻譯官”