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

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

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

詳解配置控制器局域網(wǎng)絡(luò)(CAN)位時序?qū)崿F(xiàn)系統(tǒng)性能優(yōu)化

analog_devices ? 來源:ADI ? 2024-11-15 18:27 ? 次閱讀

控制器局域網(wǎng)絡(luò)(CAN)可在多個網(wǎng)絡(luò)站點之間提供強(qiáng)大的通信能力,支持多種數(shù)據(jù)速率和距離。CAN具有數(shù)據(jù)鏈路層仲裁、同步和錯誤處理等特性,廣泛用于工業(yè)、儀器儀表和汽車應(yīng)用之中。在ISO 11898標(biāo)準(zhǔn)的框架下,借助分布式多主機(jī)差分信令和內(nèi)置故障處理功能,DeviceNet、CANopen等多種協(xié)議針對物理層和數(shù)據(jù)鏈路層規(guī)定了相應(yīng)的實現(xiàn)方式。本文旨在描述如何針對給定應(yīng)用優(yōu)化設(shè)置,同時考慮控制器架構(gòu)、時鐘、收發(fā)器、邏輯接口隔離等硬件限制。文章將集中介紹網(wǎng)絡(luò)配置問題——包括數(shù)據(jù)速率和電纜長度——說明何時有必要對CAN節(jié)點進(jìn)行重新配置,以及如何從一開始就實現(xiàn)對節(jié)點的優(yōu)化配置。

01 邏輯接口隔離

對于惡劣的工業(yè)和汽車環(huán)境,可通過隔離CAN收發(fā)器的邏輯接口進(jìn)一步增強(qiáng)系統(tǒng)的魯棒性,允許接地節(jié)點之間出現(xiàn)較大的電位差,同時提供抗高電壓瞬變能力。將CAN收發(fā)器與數(shù)字隔離器集成起來即可形成隔離式CAN節(jié)點。ADM3052, ADM3053, 和 ADM3054 隔離式CAN收發(fā)器提供多種接口供電選項。對于DeviceNet網(wǎng)絡(luò),隔離側(cè)可通過總線供電;因此,ADM3052集成了一個線性調(diào)節(jié)器,以便利用24 V總線電源提供5 V電源。ADM3053(如圖1所示)集成了一個isoPower DC-DC轉(zhuǎn)換器,用于驅(qū)動收發(fā)器和數(shù)字隔離器的總線端。已有一個隔離式DC-DC轉(zhuǎn)換器能夠在隔離柵上提供電源的系統(tǒng)可以采用ADM3054,后者只集成了數(shù)字隔離器和CAN收發(fā)器。

2b53ba0a-a1c0-11ef-93f3-92fbcf53809c.png

圖1. 隔離式CAN節(jié)點(ADM3053收發(fā)器由isoPower DC-DC供電)

02 傳播延遲的影響

部署一個CAN節(jié)點需要一個隔離式或非隔離式CAN收發(fā)器,以及一個搭載有相應(yīng)協(xié)議堆棧的CAN控制器或處理器。可以使用獨立式CAN控制器,甚至可以使用不帶標(biāo)準(zhǔn)協(xié)議堆棧的控制器,但是,CAN應(yīng)用中使用的微處理器可能已經(jīng)包括CAN控制器。在任一情況下,都必須對CAN控制器進(jìn)行配置,以調(diào)和總線上的數(shù)據(jù)速率和時序,而硬件振蕩器則用于控制器。

隨著電纜長度的增加,信號中的高頻組分衰減,因此,長距離條件下的數(shù)據(jù)速率都有限??偩€是一種多主機(jī),因此,所有節(jié)點都可以嘗試同時傳輸,仲裁取決于物理層信令。傳播延遲也會隨電纜長度而增加,可能對節(jié)點間同步和仲裁形成干擾。

CAN總線上的差分信號可能處于兩種狀態(tài)之一:主動(邏輯0,信號線路CANH和CANL之間存在一個差分電壓)或被動(邏輯1,無差分電壓,所有CAN收發(fā)器輸出均為高阻抗)。如果兩個節(jié)點嘗試同時傳輸,則主動位傳輸會覆蓋同時進(jìn)行的被動位傳輸,因此,在傳輸時,所有節(jié)點都必須監(jiān)控總線狀態(tài),如果在傳輸被動位時發(fā)生覆蓋,則要停止傳輸。如此,傳輸主動位的節(jié)點贏得仲裁,如圖2所示。

2b62ebce-a1c0-11ef-93f3-92fbcf53809c.png

圖2. 兩個CAN節(jié)點之間的仲裁邏輯

CAN 2.0b定義的是數(shù)據(jù)鏈路層的實現(xiàn)方式,對用于傳輸?shù)腃AN幀結(jié)構(gòu)進(jìn)行了規(guī)定。一個包含消息ID的仲裁字段啟動消息傳輸。較低的消息ID(開頭的零較多)將擁有更高的優(yōu)等級,因此,在傳輸消息時,相應(yīng)節(jié)點贏得仲裁的概率更大。

盡管CAN節(jié)點與總線傳輸同步,但是,由于兩個同時傳輸?shù)墓?jié)點之間存在傳播延遲,所以不會完全同步。要讓仲裁切實發(fā)揮作用,傳播延遲不能過大,否則,較快的節(jié)點可能在檢測到較慢節(jié)點傳輸?shù)奈粻顟B(tài)之前就對總線進(jìn)行采樣了。最差條件下的傳播延遲為兩個最遠(yuǎn)節(jié)點間延遲的兩倍。在圖3中,如果節(jié)點A和B是總線上相隔最遠(yuǎn)的節(jié)點,則至關(guān)重要的參數(shù)是雙向傳播時間PropBA與TPropBA之和。

2b75d360-a1c0-11ef-93f3-92fbcf53809c.png

圖3. 實際條件下兩個CAN節(jié)點間的仲裁(含傳播延遲)

總傳播延遲由通過電纜、兩個CAN控制器I/O和兩個CAN收發(fā)器的雙向傳播時間構(gòu)成。CAN控制器I/O并不是傳播延遲的主要貢獻(xiàn)者,往往可以忽略不計,但進(jìn)行徹底評估時必須予以考慮。循環(huán)時間由從TxD到CANH/CANL、再回到RxD的傳播延遲構(gòu)成。電纜傳播延遲取決于電纜和距離,典型值為5 ns/m。

在較低數(shù)據(jù)速率下,允許的位時間較長,因此,傳播延遲(及電纜距離)也可能變長。在最高標(biāo)準(zhǔn)CAN數(shù)據(jù)速率(即1 Mbps)下,允許的傳播延遲更受限制,盡管ISO 11898-2標(biāo)準(zhǔn)規(guī)定,在總線長40米時,可支持1 Mbps的數(shù)據(jù)速率。

03 隔離的影響

隔離條件下,在計算雙向傳播延遲時,必須考慮額外的因素。相比光耦合器,數(shù)字隔離器可減少傳播延遲,但即使是最快的隔離式CAN收發(fā)器在這方面也與較慢的非隔離式收發(fā)器相當(dāng)。如果允許的總傳播延遲保持不變,隔離系統(tǒng)中,最大電纜長度較短,但可以重新配置CAN控制器,以提高允許的總傳播延遲。

04 傳播延遲的補(bǔ)償

為了補(bǔ)償因較長總線或隔離增加的傳播延遲,必須為CAN控制器設(shè)置與時序和同步相關(guān)的特定參數(shù)。在配置控制器時,不只是選擇一個數(shù)據(jù)速率,而是要設(shè)置決定著控制器所用位時間的變量。面向振蕩器或內(nèi)部時鐘的波特率預(yù)分頻器(BRP)設(shè)置時間量子(TQ),位時間為TQ的倍數(shù)。振蕩器的硬件選擇,以及BRP和每位時間TQ數(shù)的軟件配置設(shè)定數(shù)據(jù)速率。

控制器的位時間分為三個或四個時間段,如圖3所示。每位時間的TQ總數(shù)包括一個同步以及傳播延遲(PROP)、相位段1 (PS1)和相位段2 (PS2)的設(shè)定數(shù)量。有時候,會把PROP和PS1加起來。配置調(diào)節(jié)采樣點,以支持傳播延遲和再同步。

把采樣點設(shè)在位時間的稍后部分可以支持更長的傳播延遲,但就如總數(shù)據(jù)速率一樣,采樣點取決于其他時序變量,這些變量都有自己的限制。例如,內(nèi)部時鐘/振蕩器可能固定不變,只能使用整數(shù)BRP和TQ數(shù)。因此,特定電纜長度要求的理想數(shù)據(jù)速率可能根本無法實現(xiàn),因此,必須縮短電纜,或者降低數(shù)據(jù)速率。

再同步會使PS1加長,PS2縮短,加長量和縮短量為同步跳寬(SJW)規(guī)定的TQ數(shù),因此,PS2不得短于SJW。SJW所需TQ數(shù)取決于CAN控制器的時鐘容差,對于SJW和PS2,晶振一般支持最小TQ數(shù)。

05 CAN控制器的配置

為了實現(xiàn)節(jié)點間時序可靠、同步可靠的穩(wěn)健網(wǎng)絡(luò),系統(tǒng)必須能承受所選數(shù)據(jù)速率和CAN控制器時鐘條件下的傳播延遲。如果不能,可以選擇降低數(shù)據(jù)速率、縮短總線或者使用不同的CAN控制器時鐘速率。配置過程包括以下三個步驟。

第一步:檢查時鐘和預(yù)分頻器——匹配數(shù)據(jù)速率

先核實在給定目標(biāo)數(shù)據(jù)速率和CAN控制器時鐘條件下,有哪些可能的配置。TQ間隔必須基于時鐘和各種BRP值計算,可能組合只有那些TQ間隔為位時間的整數(shù)倍的組合。根據(jù)所處系統(tǒng)設(shè)計階段,也可能考慮其他CAN控制器時鐘速率。在表1所示計算示例中,給定的最大數(shù)據(jù)速率為1 Mbps,使用的是一個Microchip MCP2515獨立CAN控制器和一個內(nèi)置CAN控制器的ADSP-BF548 Blackfin處理器。MCP2515 fOSC 取決于所使用的外部硬件振蕩器,而ADSP-BF548 fSCLK 則取決于硬件CLKIN和內(nèi)部PLL設(shè)置(VCO的CLKIN乘數(shù),SCLK的VCO分頻)。只有CAN控制器時鐘和BRP(整數(shù)個TQ)的某些組合支持1 Mbps的數(shù)據(jù)速率,如粗體所示。這會限制位時序的設(shè)置,因此一旦選擇某個總線數(shù)據(jù)速率,只有部分選項可用。

2b85c16c-a1c0-11ef-93f3-92fbcf53809c.png

2ba6ffa8-a1c0-11ef-93f3-92fbcf53809c.png

表1. 給定f和BRP時1 Mbps速率下的TQ數(shù)

第二步:確定位段配置

下一步是確定每個位段要求的TQ數(shù)。最困難的情況是在1 Mbps的數(shù)據(jù)速率下支持最大傳播延遲,例如,電纜長40米,隔離式節(jié)點。理想情況下,應(yīng)對位時間段進(jìn)行配置,使采樣點在位中盡量晚。在表1中,對于每個整數(shù)的TQ總數(shù),一個TQ必須提供給SYNC段,PS2(或TSEG2)段必須足夠大,以容納CAN控制器信息處理時間(只要BRP大于4,MCP2515為2 TQ,ADSP-BF548為小于1 TQ)。另外,對于MCP2515,PROP和PS1最多可以各有8 TQ;對于ADSP-BF548,TSEG1 (PROP + PS1)最多可以為16 TQ。

圖4和圖5分別展示了MCP2515和ADSP-BF548的可能總TQ配置,對于1 Mbps速率條件下的有效時鐘和BRP組合,可支持最近采樣點。MCP2515的最佳TQ總數(shù)為19,要求38 MHz的硬件振蕩器和1的BRP。對于ADSP-BF548,TQ總數(shù)為5的情況除外,所有配置至少為85%采樣點,但最佳設(shè)置是10 TQ,要求fSCLK = 50 MHz且BRP = 5。

2bd70fa4-a1c0-11ef-93f3-92fbcf53809c.png

圖4. MCP2515的可能TQ總數(shù)配置(速率為1 Mbps,最大傳播延遲)

2bf9781e-a1c0-11ef-93f3-92fbcf53809c.png

圖5. ADSP-BF548的可能TQ總數(shù)配置(速率為1 Mbps,最大傳播延遲)

第三步:使收發(fā)器/隔離延遲和總線長度與配置相匹配

在幫助CAN控制器實現(xiàn)最佳采樣點以后,最后一步是比較允許的傳播延遲與使用的CAN收發(fā)器/隔離器和總線長度。設(shè)ADSP-BF548最佳配置為10 TQ(fSCLK= 50 MHz,BRP = 5),可能實現(xiàn)的最大傳播延遲為900 ns。對于集成隔離式電源的ADM3053隔離式CAN收發(fā)器,數(shù)據(jù)手冊中的最大環(huán)路延遲(TxD關(guān)閉,接收器處于非活動狀態(tài))為250 ns。必須使其增加一倍(500 ns),以便同時支持總線最遠(yuǎn)兩端的兩個節(jié)點處的發(fā)射延遲和接收延遲。

設(shè)電纜傳播延遲為5 ns/m,ADSP-BF548可以支持40米的總線長度(根據(jù)ISO 11898規(guī)范,此為1 Mbps條件下的最大值),ADSP-BF548的位時間總共為10 TQ,TSEG2位段僅1 TQ。實際上,略早的采樣點就夠了,因為一個節(jié)點上的極端收發(fā)器傳播延遲甚至很可能導(dǎo)致簡單的再傳輸(由數(shù)據(jù)鏈路層CAN控制器自動處理),但是,由于CAN控制器I/O與CAN收發(fā)器之間存在小延遲,因此建議把采樣點配置到盡量靠后的點。

06 結(jié)論

隔離有利于提高魯棒性,但同時也會增加發(fā)射和接收兩個方向的傳播延遲。必須使該延遲增加一倍,以支持兩個節(jié)點參與仲裁。如果系統(tǒng)允許的傳播延遲是固定的,在增加隔離措施之后,可以減少電纜長度或數(shù)據(jù)速率。另一種方法是重新配置CAN控制器,使其支持最大傳播延遲,以保證支持所需的數(shù)據(jù)速率和總線長度,即使是在節(jié)點采取了隔離措施的條件下。

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

    關(guān)注

    57

    文章

    2747

    瀏覽量

    463674
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    387

    瀏覽量

    37330
  • 局域網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    7114
  • CAN收發(fā)器
    +關(guān)注

    關(guān)注

    2

    文章

    165

    瀏覽量

    25643
  • adm3052
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1079

原文標(biāo)題:如何配置控制器局域網(wǎng)絡(luò)(CAN)位時序?qū)崿F(xiàn)系統(tǒng)性能優(yōu)化?

文章出處:【微信號:analog_devices,微信公眾號:analog_devices】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    局域網(wǎng)的連接設(shè)備有哪些類型

    局域網(wǎng)的連接設(shè)備是構(gòu)建局域網(wǎng)的關(guān)鍵組成部分,它們負(fù)責(zé)將網(wǎng)絡(luò)中的各個節(jié)點(如計算機(jī)、服務(wù)、打印機(jī)等)連接起來,實現(xiàn)數(shù)據(jù)的傳輸和共享。以下是對
    的頭像 發(fā)表于 10-08 10:33 ?1467次閱讀

    CAN總線控制器的工作原理

    CAN(Controller Area Network,控制器局域網(wǎng))總線控制器的工作原理涉及多個方面,包括消息傳輸、沖突檢測與解決、總線仲裁等關(guān)鍵機(jī)制。以下是對
    的頭像 發(fā)表于 09-30 11:33 ?872次閱讀

    物聯(lián)網(wǎng)行業(yè)中汽車電子控制系統(tǒng)分享_CAN接口芯片詳解

    物聯(lián)網(wǎng)系統(tǒng)中為什么要使用CAN接口芯片 物聯(lián)網(wǎng)系統(tǒng)中使用CAN(Controller Area Network,控制器
    的頭像 發(fā)表于 09-24 14:34 ?1157次閱讀
    物聯(lián)網(wǎng)行業(yè)中汽車電子<b class='flag-5'>控制系統(tǒng)</b>分享_<b class='flag-5'>CAN</b>接口芯片<b class='flag-5'>詳解</b>

    SIT2515帶SPI接口的獨立局域網(wǎng)(CAN)控制器中文手冊

    電子發(fā)燒友網(wǎng)站提供《SIT2515帶SPI接口的獨立局域網(wǎng)(CAN)控制器中文手冊.pdf》資料免費下載
    發(fā)表于 09-02 14:23 ?0次下載

    用于控制器局域網(wǎng)的可配置錯誤發(fā)生

    電子發(fā)燒友網(wǎng)站提供《用于控制器局域網(wǎng)的可配置錯誤發(fā)生.pdf》資料免費下載
    發(fā)表于 08-27 09:59 ?0次下載
    用于<b class='flag-5'>控制器</b><b class='flag-5'>局域網(wǎng)</b>的可<b class='flag-5'>配置</b>錯誤發(fā)生<b class='flag-5'>器</b>

    CAN總線應(yīng)用常見問題

    CAN控制器局域網(wǎng)絡(luò)(ControllerAreaNetwork,CAN)的簡稱,由德國的BOSCH公司開發(fā),并最終成為國際標(biāo)準(zhǔn)(ISO 11898),是國際上應(yīng)用最廣泛的現(xiàn)場總線之
    的頭像 發(fā)表于 08-06 11:52 ?1058次閱讀
    <b class='flag-5'>CAN</b>總線應(yīng)用常見問題

    CAN BUS芯片靜電浪涌擊穿整改方案

    在現(xiàn)代電子系統(tǒng)中,CANBus(ControllerAreaNetworkBus,控制器局域網(wǎng)絡(luò)總線)作為一種常用的通信協(xié)議,標(biāo)準(zhǔn)CAN通常指的是C
    的頭像 發(fā)表于 07-31 08:02 ?3315次閱讀
    <b class='flag-5'>CAN</b> BUS芯片靜電浪涌擊穿整改方案

    HVDA551-Q1/HVDA553-Q1 5V控制器局域網(wǎng)(CAN)收發(fā)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《HVDA551-Q1/HVDA553-Q1 5V控制器局域網(wǎng)(CAN)收發(fā)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-11 10:10 ?0次下載
    HVDA551-Q1/HVDA553-Q1 5V<b class='flag-5'>控制器</b><b class='flag-5'>局域網(wǎng)</b>(<b class='flag-5'>CAN</b>)收發(fā)<b class='flag-5'>器</b>數(shù)據(jù)表

    低功率網(wǎng)絡(luò)控制器局域網(wǎng)絡(luò)(CAN)收發(fā)SN65HVD1040-HT數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《低功率網(wǎng)絡(luò)控制器局域網(wǎng)絡(luò)(CAN)收發(fā)SN65HVD1040-HT數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-09 09:14 ?0次下載
    低功率<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>控制器</b><b class='flag-5'>局域網(wǎng)絡(luò)</b>(<b class='flag-5'>CAN</b>)收發(fā)<b class='flag-5'>器</b>SN65HVD1040-HT數(shù)據(jù)表

    高速控制器局域網(wǎng)CAN)收發(fā)SN75LBC031數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《高速控制器局域網(wǎng)CAN)收發(fā)SN75LBC031數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-26 10:38 ?0次下載
    高速<b class='flag-5'>控制器</b><b class='flag-5'>局域網(wǎng)</b>(<b class='flag-5'>CAN</b>)收發(fā)<b class='flag-5'>器</b>SN75LBC031數(shù)據(jù)表

    通過手機(jī)APP在局域網(wǎng)內(nèi)控制繼電器演示

    智嵌物聯(lián)的網(wǎng)絡(luò)IO控制器可通過手機(jī)APP實現(xiàn)局域網(wǎng)內(nèi)控制。本文檔以智嵌的4路網(wǎng)絡(luò)IO控制器為例,介紹在
    的頭像 發(fā)表于 05-30 10:20 ?749次閱讀
    通過手機(jī)APP在<b class='flag-5'>局域網(wǎng)內(nèi)控制</b>繼電器演示

    CAN控制器局域網(wǎng))驅(qū)動擴(kuò)展評估板數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《CAN控制器局域網(wǎng))驅(qū)動擴(kuò)展評估板數(shù)據(jù)手冊.rar》資料免費下載
    發(fā)表于 04-14 15:29 ?0次下載
    <b class='flag-5'>CAN</b>(<b class='flag-5'>控制器</b><b class='flag-5'>局域網(wǎng)</b>)驅(qū)動擴(kuò)展評估板數(shù)據(jù)手冊

    基于紫光FPGA的CAN控制器系統(tǒng)架構(gòu)

    通過用戶接口管理配置,控制CAN寄存的尋址。向時序模塊、
    發(fā)表于 04-10 12:18 ?577次閱讀
    基于紫光FPGA的<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b><b class='flag-5'>系統(tǒng)</b>架構(gòu)

    什么是CAN2.0協(xié)議?

    CAN2.0協(xié)議是控制器局域網(wǎng)絡(luò)(ControllerAreaNetwork,CAN)的一種版本,也被稱為傳統(tǒng)CAN協(xié)議,由德國博世BOSC
    的頭像 發(fā)表于 03-29 08:19 ?1331次閱讀
    什么是<b class='flag-5'>CAN</b>2.0協(xié)議?

    如何測試局域網(wǎng)的速度?以及如何優(yōu)化局域網(wǎng)性能?

    如何測試局域網(wǎng)的速度?以及如何優(yōu)化局域網(wǎng)性能? 如何測試局域網(wǎng)的速度? 局域網(wǎng)(LAN)是指在
    的頭像 發(fā)表于 01-12 15:57 ?1.3w次閱讀