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

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

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

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

【技術(shù)分享】不懂CAN協(xié)議?如何避免總線仲裁失敗?

ZLG致遠(yuǎn)電子 ? 2023-02-02 10:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CAN總線是可以掛載多個(gè)控制單元,每個(gè)單元均可以發(fā)送和接收數(shù)據(jù),為了避免發(fā)生沖突,協(xié)議規(guī)定只有等信道空閑時(shí)刻優(yōu)先級(jí)高的單元才能占有總線并發(fā)送數(shù)據(jù),那么CAN單元是如何判斷優(yōu)先級(jí)的呢?c6161c16-a278-11ed-ad0d-dac502259ad0.jpg CAN仲裁的實(shí)現(xiàn)方式1. CANID在CAN報(bào)文中的位置每一個(gè)CAN報(bào)文的CANID有唯一標(biāo)識(shí)的11bit/29bit構(gòu)成,以標(biāo)準(zhǔn)CAN幀為例,11bitCANID在CAN幀中的位置如圖1所示。SOF之后是Identifier,各個(gè)節(jié)點(diǎn)要外發(fā)的CANID通過(guò)CANID仲裁,優(yōu)先級(jí)高的報(bào)文被優(yōu)先發(fā)送。同時(shí),對(duì)應(yīng)節(jié)點(diǎn)優(yōu)先獲得CAN總線的使用權(quán),而仲裁失敗的節(jié)點(diǎn)則停止數(shù)據(jù)的發(fā)送,轉(zhuǎn)而進(jìn)行數(shù)據(jù)的接收,只能等待下一個(gè)SOF時(shí)刻再去仲裁。

c624c5c2-a278-11ed-ad0d-dac502259ad0.jpg

圖1標(biāo)準(zhǔn)CAN數(shù)據(jù)幀格式

2. CAN總線仲裁機(jī)制的實(shí)現(xiàn)

那么CANID的優(yōu)先等級(jí)是如何判斷的呢?其實(shí)CAN總線ID仲裁方式相當(dāng)于一個(gè)“線與”的結(jié)構(gòu),顯性(邏輯0)與隱形(邏輯1)相與變?yōu)轱@性即0&1=0,硬件電路簡(jiǎn)圖可參考圖2。標(biāo)準(zhǔn)CAN幀格式的總線仲裁方式如圖3所示。因?yàn)楦呶辉谇?,低位在后,故CAN標(biāo)識(shí)符組成的數(shù)值越小優(yōu)先級(jí)越高。

c642e8fe-a278-11ed-ad0d-dac502259ad0.jpg

圖2線與電路簡(jiǎn)圖c652d318-a278-11ed-ad0d-dac502259ad0.jpg

圖3總線仲裁方式圖


c6161c16-a278-11ed-ad0d-dac502259ad0.jpg CANID沖突發(fā)生的條件及現(xiàn)象1.CANID沖突的條件

本文以我司協(xié)議轉(zhuǎn)換模塊CSM300為例進(jìn)行介紹,CSM300是集成微處理器、CAN-bus控制器、CAN-bus收發(fā)器DC-DC轉(zhuǎn)換、高速數(shù)字隔離于一體的嵌入式CAN與UART/SPI雙向轉(zhuǎn)換模塊。如果我們將兩個(gè)ID均為00000000的CSM300模塊組成一個(gè)CAN總線網(wǎng)絡(luò)系統(tǒng),當(dāng)這兩個(gè)ID相同的模塊同時(shí)往CAN總線端發(fā)送數(shù)據(jù)時(shí)將會(huì)造成仲裁失敗。

2. CANID沖突的現(xiàn)象

以CSM300為例進(jìn)行說(shuō)明,電路硬件簡(jiǎn)易連接圖如圖4所示,用兩個(gè)上位機(jī)通過(guò)兩路串口同時(shí)給兩個(gè)相同配置的模塊發(fā)送一組數(shù)據(jù),此時(shí)兩模塊會(huì)同時(shí)將RXD腳接收到的數(shù)據(jù)轉(zhuǎn)換至CAN總線端。因?yàn)閮蓚€(gè)CAN節(jié)點(diǎn)的ID一樣,CAN總線仲裁失敗,兩發(fā)送節(jié)點(diǎn)收不到反饋信號(hào),將一直發(fā)送最后一幀數(shù)據(jù),此時(shí)CAN總線端的波形如圖5所示。c67308f4-a278-11ed-ad0d-dac502259ad0.jpg圖4CSM300電路連接圖c6814aea-a278-11ed-ad0d-dac502259ad0.png

圖5CAN總線波形圖


c6161c16-a278-11ed-ad0d-dac502259ad0.jpg CSM系列如何避免CANID沖突為滿足不同環(huán)境的應(yīng)用,CSM300系列和CSM100系列均有透明轉(zhuǎn)換、透明帶標(biāo)識(shí)轉(zhuǎn)換、自定義協(xié)議轉(zhuǎn)換三種轉(zhuǎn)換方式供用戶選配,如圖6所示。c6b218c8-a278-11ed-ad0d-dac502259ad0.png

圖6轉(zhuǎn)換方式選配圖

透明轉(zhuǎn)換方式下用戶可通過(guò)MCU或上位機(jī)將模塊配置為不同的ID避免發(fā)生仲裁失敗的情況,透明轉(zhuǎn)換方式下,模塊無(wú)需對(duì)數(shù)據(jù)進(jìn)行額外處理,最大限度地提高了數(shù)據(jù)轉(zhuǎn)換速度,也提高了緩沖區(qū)的利用率。不過(guò)此模式下每個(gè)模塊的CANID在配置完成后不能更改除非用戶再次配置,此外該模式下可能將兩組時(shí)間間隔接近的UART幀識(shí)別為一組數(shù)據(jù)進(jìn)行轉(zhuǎn)換,造成數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤。

透明帶標(biāo)識(shí)轉(zhuǎn)換方式下,用戶可以在配置時(shí)固定CANID在串行幀的位置和長(zhǎng)度如圖7所示,通過(guò)改變串行幀數(shù)據(jù)來(lái)控制所發(fā)數(shù)據(jù)的CAN幀ID,方便用戶在同一節(jié)點(diǎn)發(fā)送不同ID的CAN數(shù)據(jù)。但是此模式下需要確保串行幀的時(shí)間間隔足夠大,避免模塊不能正確識(shí)別每組串行幀的結(jié)束造成數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤。透明帶標(biāo)識(shí)模式下串行幀最小間隔具體要求可參考CSM100和CSM300的用戶手冊(cè)。

c6c3110a-a278-11ed-ad0d-dac502259ad0.png

圖7透明帶標(biāo)識(shí)轉(zhuǎn)換配置圖

有效的自定義協(xié)議轉(zhuǎn)換串行幀包括了幀頭、幀尾、幀ID和幀長(zhǎng)度等,用戶可通過(guò)改變串行幀數(shù)據(jù)來(lái)控制CAN幀ID,方便用戶在同一節(jié)點(diǎn)發(fā)送不同ID的CAN數(shù)據(jù)。同時(shí)用戶將在配置時(shí)固定幀頭和幀尾如圖8所示,此模式下用戶通過(guò)串行幀數(shù)據(jù)告知模塊串行幀的幀頭、幀尾和數(shù)據(jù)長(zhǎng)度,故此轉(zhuǎn)換方式下可有效避免因串行幀間隔時(shí)間短造成的數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤的情況。

c6d3182a-a278-11ed-ad0d-dac502259ad0.png圖8自定義轉(zhuǎn)換配置圖

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

    關(guān)注

    57

    文章

    2921

    瀏覽量

    467942
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2961

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CAN總線采樣點(diǎn)不一致的危害

    , CAN協(xié)議規(guī)定,節(jié)點(diǎn)在檢測(cè)到過(guò)多錯(cuò)誤后會(huì)進(jìn)入錯(cuò)誤被動(dòng)狀態(tài)或總線關(guān)閉狀態(tài)。在總線關(guān)閉狀態(tài)下,節(jié)點(diǎn)停止參與通信,可能導(dǎo)致網(wǎng)絡(luò)部分或完全失效。采樣點(diǎn)不一致是導(dǎo)致此類狀態(tài)的常見原因之一。
    發(fā)表于 06-07 08:55

    CAN總線協(xié)議網(wǎng)關(guān)模塊與數(shù)據(jù)采集器:工業(yè)自動(dòng)化數(shù)據(jù)交互中樞

    、航空航天、船舶、醫(yī)療設(shè)備等眾多領(lǐng)域,并成為一種廣泛使用的工業(yè)標(biāo)準(zhǔn)通信協(xié)議CAN 總線的數(shù)據(jù)幀由幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC 場(chǎng)、應(yīng)答場(chǎng)和幀結(jié)束等部分組成。其中,
    的頭像 發(fā)表于 05-09 10:10 ?291次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)模塊與數(shù)據(jù)采集器:工業(yè)自動(dòng)化數(shù)據(jù)交互中樞

    基于Vector工具進(jìn)行CAN協(xié)議錯(cuò)誤幀的分析實(shí)踐

    CAN(ControllerAreaNetwork)協(xié)議是當(dāng)前使用最普遍的車載通信協(xié)議之一,其優(yōu)點(diǎn)不只體現(xiàn)在多主并行、最高達(dá)1Mbit/sec的傳輸速率(針對(duì)標(biāo)準(zhǔn)CAN)、基于優(yōu)先級(jí)的
    的頭像 發(fā)表于 01-15 10:03 ?591次閱讀
    基于Vector工具進(jìn)行<b class='flag-5'>CAN</b><b class='flag-5'>協(xié)議</b>錯(cuò)誤幀的分析實(shí)踐

    CAN總線的擴(kuò)展功能及其應(yīng)用

    的通信協(xié)議,它允許多個(gè)節(jié)點(diǎn)共享同一通信介質(zhì)(如雙絞線)。CAN總線的主要特點(diǎn)包括: 多主控制 :任何節(jié)點(diǎn)都可以在任何時(shí)間發(fā)送消息,無(wú)需中央控制。 差分信號(hào)傳輸 :提高信號(hào)的抗干擾能力。 非破壞性
    的頭像 發(fā)表于 12-23 09:04 ?1666次閱讀

    CAN總線通信原理介紹 CAN總線模塊選擇指南

    CAN總線(Controller Area Network)是一種串行通信協(xié)議,主要用于汽車電子控制單元之間的通信。它由Bosch公司在20世紀(jì)80年代初開發(fā),因其可靠性、實(shí)時(shí)性和靈活性而廣泛應(yīng)用
    的頭像 發(fā)表于 11-21 10:21 ?2423次閱讀

    CAN總線應(yīng)用領(lǐng)域 CAN總線協(xié)議解析

    CAN(Controller Area Network)總線是一種用于車輛內(nèi)部網(wǎng)絡(luò)的串行通信協(xié)議,由Bosch公司在1986年開發(fā)。它以其高可靠性、實(shí)時(shí)性和靈活性而聞名,廣泛應(yīng)用于汽車電子、工業(yè)控制
    的頭像 發(fā)表于 11-21 10:15 ?2015次閱讀

    CAN總線與LIN總線的區(qū)別

    隨著汽車電子系統(tǒng)的復(fù)雜性增加,車輛內(nèi)部通信的需求也在不斷增長(zhǎng)。CAN總線和LIN總線作為兩種主要的車載通信協(xié)議,各自扮演著重要的角色。 1. 設(shè)計(jì)原理
    的頭像 發(fā)表于 11-12 10:13 ?4832次閱讀

    CAN總線的主要優(yōu)勢(shì)與不足

    隨著汽車電子系統(tǒng)的日益復(fù)雜化,對(duì)通信網(wǎng)絡(luò)的需求也在不斷增長(zhǎng)。CAN總線作為一種成熟的通信協(xié)議,已經(jīng)在汽車行業(yè)中得到了廣泛的應(yīng)用。 一、CAN總線
    的頭像 發(fā)表于 11-12 10:10 ?3411次閱讀

    CAN總線通信協(xié)議詳解

    的主要特點(diǎn) 多主控制 :任何節(jié)點(diǎn)都可以在任何時(shí)候發(fā)送信息,無(wú)需請(qǐng)求許可。 非破壞性總線仲裁 :當(dāng)兩個(gè)或多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送信息時(shí),優(yōu)先級(jí)較低的消息會(huì)被自動(dòng)停止發(fā)送,以避免數(shù)據(jù)沖突。 錯(cuò)誤檢測(cè)與處理 :
    的頭像 發(fā)表于 11-12 09:46 ?3432次閱讀

    CAN總線在工業(yè)自動(dòng)化中的應(yīng)用

    自動(dòng)化系統(tǒng)中各種設(shè)備的優(yōu)選方案。本文將詳細(xì)介紹CAN總線的基本特性,以及它在工業(yè)自動(dòng)化中的應(yīng)用。 2. CAN總線的基本原理 CAN
    的頭像 發(fā)表于 11-12 09:45 ?2450次閱讀

    CAN總線知識(shí)】全面了解CAN總線協(xié)議

    提及總線,總是讓人聯(lián)想到那些交錯(cuò)在一起的計(jì)算機(jī)電線。那么這些電線如何發(fā)揮功效呢?這還得配合總線協(xié)議的管理來(lái)使用。那么今天我們介紹的就是CAN總線
    的頭像 發(fā)表于 10-15 08:05 ?2373次閱讀
    【<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>知識(shí)】全面了解<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>

    使用CAN仲裁進(jìn)行電氣層測(cè)試

    電子發(fā)燒友網(wǎng)站提供《使用CAN仲裁進(jìn)行電氣層測(cè)試.pdf》資料免費(fèi)下載
    發(fā)表于 09-30 14:49 ?0次下載
    使用<b class='flag-5'>CAN</b><b class='flag-5'>仲裁</b>進(jìn)行電氣層測(cè)試

    CAN總線控制器的工作原理

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

    CAN總線協(xié)議的數(shù)據(jù)鏈路層有哪些部分

    CAN(Controller Area Network)總線協(xié)議的數(shù)據(jù)鏈路層是CAN通信中至關(guān)重要的一部分,它負(fù)責(zé)在物理層之上實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸。數(shù)據(jù)鏈路層不僅管理著幀的同步、差錯(cuò)控制
    的頭像 發(fā)表于 09-03 14:14 ?1429次閱讀

    CAN/CAN FD/CAN XL三大總線協(xié)議解讀,是逐步替代關(guān)系嗎?

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)在軟件定義汽車逐漸成為主流的當(dāng)下,數(shù)據(jù)傳輸?shù)乃俣群托食蔀榇蛟熘悄芷嚨钠款i,在這種大背景下,傳統(tǒng)CAN總線應(yīng)對(duì)一些需求已經(jīng)相當(dāng)吃力,因此CAN FD和CAN
    的頭像 發(fā)表于 08-12 01:12 ?5675次閱讀