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

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

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

Loto實(shí)踐干貨(3) 測量CAN總線通訊數(shù)據(jù)

西安樂拓精益 ? 2022-05-31 00:00 ? 次閱讀

最近在做運(yùn)動(dòng)控制卡的項(xiàng)目,調(diào)試樣機(jī)的過程中,需要驗(yàn)證CAN總線通訊功能的正確性。以前只限于理論上認(rèn)識CAN總線,使用的CANbus的通訊卡也是有上位機(jī)例程,基本上簡單地配置上位機(jī)軟件就可以正常工作了。這次調(diào)試需要深入測試CAN接口的通訊過程,正好把之前的對CAN的認(rèn)識再復(fù)習(xí)深化一下。

poYBAGKQM0SAX5o0AAB0m2jai_w681.png

之所以采用CAN總線,是因?yàn)樗恍枰獌筛p絞線就可以連接多個(gè)通訊節(jié)點(diǎn),并且可以傳輸相對遠(yuǎn)的距離,在工業(yè)現(xiàn)場抗干擾能力也很強(qiáng)。下圖是我按照CAN總線的要求做的一條雙絞線,黃色和綠色分別是CAN_High線和CAN_Low線。要求絞距20mm,不絞合的距離不超過50mm。

poYBAGKQM0SASS5PAAN1DlI0R4s976.png

規(guī)定的雙絞線傳輸距離與CAN總線的傳輸速率的關(guān)系如下表。我們的傳輸距離很短,所以可以采用很高的傳輸速率。即便是采用最高的傳輸速率,以O(shè)SC802示波器的25M帶寬,也是足夠調(diào)試用的。

位速率 bit/s總線長度 m
11M30
2800K50
3500K100
4250K250
5125K500
662.5K1000
720K2500
810K5000

下圖是我設(shè)計(jì)驅(qū)動(dòng)控制板的CAN通訊接口部分的原理圖,使用SN65HVD230收發(fā)器

poYBAGKQM0SAMitIAADJd7MgEGY639.png

打樣后的運(yùn)動(dòng)控制板是這樣的:

使用LOTO的USB示波器OSC802對CAN通訊的信號進(jìn)行捕捉,抓取數(shù)據(jù)進(jìn)行解析判斷。

pYYBAGKQM0qAEMsFAEcYXYH7dG4056.png

使用USB示波器OSC802的單次觸發(fā)功能,很輕松對CAN總線上的電平信號進(jìn)行了捕捉。不過我們現(xiàn)在還看不懂它,需要對CAN的電平邏輯和傳輸協(xié)議有所了解。

沒有收發(fā)信號時(shí),兩條導(dǎo)線上的電平相同(大約2.5V)。這種電平狀態(tài)為隱形狀態(tài),也稱之為隱性電平,即為邏輯1。有信號時(shí),CAN_H導(dǎo)線的電平升高至少1V;而對應(yīng)的CAN_L導(dǎo)線電平降低同樣值,這種電平狀態(tài)為顯形狀態(tài),也稱之為顯性電平,即為邏輯0。5V和3.3V的CAN收發(fā)器的邏輯電平會稍有不同。

pYYBAGKQM0SAQjbGAAFyrwx3YyQ575.png

我們通過程序發(fā)出一串CAN數(shù)據(jù)后,用OSC802捕捉到的波形如下:

pYYBAGKQM0SAK75xAACTPhkJbBA662.pngpoYBAGKQM0WAdmEMAAVvtuJOkLY321.png

根據(jù)波形進(jìn)行數(shù)據(jù)解碼需要注意的有兩點(diǎn):

1:在CAN協(xié)議中將CAN_H和CAN_L的差值為高電平時(shí)定義為顯性,邏輯上表示為0,為低電平時(shí)定義為隱性,邏輯上表示為1。

2:在CAN的協(xié)議中當(dāng)連續(xù)出現(xiàn)5個(gè)顯性時(shí)就需要插入一個(gè)隱性。

CAN的標(biāo)準(zhǔn)幀和擴(kuò)展幀協(xié)議格式:

poYBAGKQM0aAKwCSABszpGLDGbg926.png

所以,波形數(shù)據(jù)解讀為:

pYYBAGKQM0WARyDPAAGfcXpEays447.png

圖中被紅色斜線劃掉的為CAN協(xié)議有意在5個(gè)連續(xù)顯性后面加的單個(gè)隱性位,所以去掉。所以,通過USB 示波器 OSC802抓取到的數(shù)據(jù)為:

00000000000011000001001100010100000001010101011110011010001111100000111101111

IDSRRIDDLCCRC
000000000000110000010011000101000000010000111110000011

這個(gè)數(shù)據(jù)幀發(fā)出的數(shù)據(jù)為:

1010101111001101

0xAB, 0xCD

解析結(jié)果與上位機(jī)收發(fā)的結(jié)果互相驗(yàn)證正確,所以此次運(yùn)動(dòng)控制板的CAN接口功能調(diào)試成功完成。

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

    關(guān)注

    113

    文章

    6104

    瀏覽量

    183395
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2663

    瀏覽量

    462448
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    CAN總線數(shù)據(jù)幀結(jié)構(gòu)

    CAN總線是一種基于時(shí)間分割的通信協(xié)議,它允許多個(gè)設(shè)備共享一個(gè)通信介質(zhì)(如雙絞線或光纖)。CAN總線數(shù)據(jù)傳輸速率可以達(dá)到1 Mbps,適
    的頭像 發(fā)表于 07-24 15:06 ?362次閱讀

    CAN總線數(shù)據(jù)偶爾出錯(cuò)原因

    總線數(shù)據(jù)偶爾會出現(xiàn)錯(cuò)誤,影響系統(tǒng)的正常運(yùn)行。 一、CAN總線概述 1.1 CAN總線定義
    的頭像 發(fā)表于 06-16 10:54 ?636次閱讀

    如何使用示波器檢測CAN總線上的信號

    CAN總線(Controller Area Network)是一種用于汽車和工業(yè)領(lǐng)域的通信協(xié)議,廣泛應(yīng)用于各種電子控制單元(ECU)之間的數(shù)據(jù)交換。示波器是一種電子測量儀器,用于觀察和
    的頭像 發(fā)表于 06-16 10:03 ?1111次閱讀

    can高和can低之間的電阻怎么測量

    ,廣泛應(yīng)用于汽車、工業(yè)自動(dòng)化等領(lǐng)域。在CAN總線中,通信是通過兩條線(CANH和CANL)進(jìn)行的,分別代表高電平和低電平。電阻的測量對于確保信號的完整性和穩(wěn)定性至關(guān)重要。 2. 理解CAN
    的頭像 發(fā)表于 06-16 09:43 ?1713次閱讀

    什么是CAN總線通信?CAN總線工作原理

    這意味著變送器通過CAN收發(fā)器改變總線電平,并將其信息傳輸?shù)?b class='flag-5'>CAN總線。接收器通過監(jiān)測總線電平將總線
    發(fā)表于 02-19 14:53 ?4538次閱讀
    什么是<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信?<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>工作原理

    Mini CAN Unit小型CAN總線通訊單元

    技術(shù),CAN總線能夠?qū)崿F(xiàn)穩(wěn)定通信,適應(yīng)長距離傳輸和嘈雜環(huán)境的要求。MiniCANUnitMiniCANUnit是一款小型CAN總線通訊單元,
    的頭像 發(fā)表于 02-19 12:47 ?356次閱讀
    Mini <b class='flag-5'>CAN</b> Unit小型<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>通訊</b>單元

    高速CAN總線和低速CAN總線的特性

    高速CAN總線和低速CAN總線的特性 高速CAN總線和低速C
    的頭像 發(fā)表于 01-31 14:09 ?2134次閱讀

    CAN總線需要屏蔽線傳輸通訊嗎?如果用的話用哪種?

    CAN總線在傳輸通訊時(shí)需要使用屏蔽線,以提高信號的抗干擾能力和可靠性。
    的頭像 發(fā)表于 01-30 10:06 ?2305次閱讀

    CAN總線的發(fā)展歷程 CAN XL總線的典型應(yīng)用

    CAN總線通訊協(xié)議由德國博世于上世紀(jì)80年代發(fā)明,第一個(gè)使用CAN總線通訊協(xié)議的量產(chǎn)車型是199
    的頭像 發(fā)表于 12-21 14:03 ?2331次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的發(fā)展歷程 <b class='flag-5'>CAN</b> XL<b class='flag-5'>總線</b>的典型應(yīng)用

    CAN總線地址和總線訪問,數(shù)據(jù)保護(hù)

    越來越多的ECU之間的數(shù)據(jù)的相互交換,早期的網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)不能滿足現(xiàn)有的需要, CAN總線應(yīng)運(yùn)而生。
    發(fā)表于 12-04 17:05 ?263次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>地址和<b class='flag-5'>總線</b>訪問,<b class='flag-5'>數(shù)據(jù)</b>保護(hù)

    CAN總線訪問與仲裁機(jī)制#汽車CAN總線?

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2023年10月20日 15:33:02

    基于CAN總線的自動(dòng)化儀表的通訊模塊的設(shè)計(jì)方法

    電子發(fā)燒友網(wǎng)站提供《基于CAN總線的自動(dòng)化儀表的通訊模塊的設(shè)計(jì)方法.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 09:26 ?0次下載
    基于<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的自動(dòng)化儀表的<b class='flag-5'>通訊</b>模塊的設(shè)計(jì)方法

    CAN數(shù)據(jù)幀--幀結(jié)構(gòu),你都了解嗎?#汽車CAN總線?

    CAN總線數(shù)據(jù)
    北匯信息POLELINK
    發(fā)布于 :2023年10月11日 18:05:00