日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

CAN網(wǎng)絡(luò)底層的重要知識點介紹

硬件攻城獅 ? 來源:硬件攻城獅 ? 作者:硬件攻城獅 ? 2022-11-25 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CAN總線早期主要應(yīng)用于汽車、工業(yè)控制領(lǐng)域,隨著CAN總線技術(shù)的不斷成熟,已不再局限于汽車行業(yè),現(xiàn)在已經(jīng)普遍應(yīng)用于航天、醫(yī)療、機器人等各行各業(yè)。

偶爾會有讀者問:

CAN總線難嗎?

CAN和串口有什么區(qū)別?

有CAN總線的學(xué)習(xí)資料嗎?

今天就來講述一下CAN網(wǎng)絡(luò)底層的幾個重要知識點:CAN總線波特率、位時序、幀類型。

CAN總線波特率

CAN總線屬于異步通信,因此就有通信波特率,而這個波特率發(fā)生器就位于CAN控制器內(nèi)部。我們不需要了解它是如何產(chǎn)生的,但需要了解它的含義。這章節(jié)針對初學(xué)者講述以下兩點內(nèi)容。

CAN控制器在CAN網(wǎng)絡(luò)中所處的位置如下圖:

08c1d33c-6c7a-11ed-8abf-dac502259ad0.jpg

1.異步通信在串行通信中,主要分異步通信和同步通信。 同步通信:通信設(shè)備之間通過同步信號(CLK時鐘)來實現(xiàn)數(shù)據(jù)傳輸?shù)耐ㄐ沤型酵ㄐ?。?a href="http://m.sdkjxy.cn/tags/i2c/" target="_blank">I2C、SPI這類通信中都具有一個時鐘信號,其實在STM32中USART也具有同步功能,只是我們大多數(shù)人都只用了它的異步功能。 異步通信:簡單來說,就是通信設(shè)備之間通過約定一樣的時間來收發(fā)數(shù)據(jù)。而這個時間就會決定本節(jié)說的波特率。 2.波特率很多工程師一直都沒徹底搞明白什么是波特率,我這里還是結(jié)合UART波特率來簡述一下其含義。 在電子通信領(lǐng)域,波特(Baud)即調(diào)制速率,指的是有效數(shù)據(jù)信號調(diào)制載波的速率,即單位時間內(nèi)載波調(diào)制狀態(tài)變化的次數(shù)。它是對符號傳輸速率的一種度量,1波特即指每秒傳輸1個符號。 UART每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數(shù)據(jù)位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。 從上面的描述可以總結(jié):比特率:即單位時間內(nèi)傳送的二進制位數(shù); 波特率:即單位時間內(nèi)傳輸?shù)姆杺€數(shù); 只有在每個符號只代表一個比特信息的情況下,波特率與比特率才在數(shù)值上相等,但是它們的意義并不相同。

位時序

上一章節(jié)講述了波特率,而決定波特率大小的就是本節(jié)說的位時序。在CAN標(biāo)準(zhǔn)中一個位可分為4段:

同步段(SS)

傳播時間段(PTS)

相位緩沖段1(PBS1)

相位緩沖段2(PBS2)

這些段又由可稱為 Time Quantum(簡稱Tq)的最小時間單位構(gòu)成。 1位分為4個段,每個段又由若干個Tq構(gòu)成,這稱為位時序。 而在STM32參考手冊中,將位時序分為三段,但它將它傳播段和位段1合并在一起了,如下圖:

08e91eba-6c7a-11ed-8abf-dac502259ad0.jpg

1位由多少個Tq構(gòu)成、每個段又由多少個Tq構(gòu)成等,可任意設(shè)定位時序。通過設(shè)定位時序,決定傳輸?shù)牟ㄌ芈剩?/p>

090e1bde-6c7a-11ed-8abf-dac502259ad0.jpg

這幾個參數(shù)會在以后編程中進行配置,從而決定通信的波特率。 關(guān)于同步,還有硬件同步、再同步等操作。但初學(xué)者可以不必過多理解,掌握上面基礎(chǔ)內(nèi)容就行了。更多關(guān)于位時序的內(nèi)容可以參看 ISO 11898 標(biāo)準(zhǔn)。

幀類型及格式說明

CAN總線是通過以下5種類型的幀進行通信:

數(shù)據(jù)幀:用于發(fā)送單元向接收單元傳送數(shù)據(jù)的幀。

遙控幀:用于接收單元向具有相同 ID 的發(fā)送單元請求數(shù)據(jù)的幀。

錯誤幀:用于當(dāng)檢測出錯誤時向其它單元通知錯誤的幀。

過載幀:用于接收單元通知其尚未做好接收準(zhǔn)備的幀。

幀間隔:用于將數(shù)據(jù)幀及遙控幀與前面的幀分離開來的幀。

數(shù)據(jù)幀和遙控幀有標(biāo)準(zhǔn)格式和擴展格式兩種格式。標(biāo)準(zhǔn)格式有11個位的標(biāo)識符ID,擴展格式有29個位的ID。

1.數(shù)據(jù)幀

093ddbd0-6c7a-11ed-8abf-dac502259ad0.jpg

如上圖,數(shù)據(jù)幀由7個段構(gòu)成:

(1) 幀起始

表示數(shù)據(jù)幀開始的段。

(2) 仲裁段

表示該幀優(yōu)先級的段。

(3) 控制段

表示數(shù)據(jù)的字節(jié)數(shù)及保留位的段。

(4) 數(shù)據(jù)段

數(shù)據(jù)的內(nèi)容,可發(fā)送 0~8 個字節(jié)的數(shù)據(jù)。

(5) CRC 段

檢查幀的傳輸錯誤的段。

(6) ACK 段

表示確認正常接收的段。

(7) 幀結(jié)束

表示數(shù)據(jù)幀結(jié)束的段。

理解數(shù)據(jù)幀的含義,請從認真理解它的定義:用于發(fā)送單元向接收單元傳送數(shù)據(jù)的幀。 一般的CAN總線通信,總線上通信絕大部分時候都是數(shù)據(jù)幀。像在CANOpen協(xié)議中,用的最多的PDO過程數(shù)據(jù)對象就是通過數(shù)據(jù)幀進行的通信。 初學(xué)者可以先理解數(shù)據(jù)幀,然后其他就容易理解了。下面再來講述一下數(shù)據(jù)幀7段的詳情。

幀起始

標(biāo)準(zhǔn)和擴展格式相同。表示幀開始的段,1個位的顯性位(如下圖):

096d1d8c-6c7a-11ed-8abf-dac502259ad0.png

關(guān)于顯性和隱性電平,請參看我上一篇文章差分信號章節(jié)。 總線上的電平有顯性電平和隱性電平兩種。 總線上執(zhí)行邏輯上的線“與”時,顯性電平的邏輯值為“0”,隱性電平為“1”。 “顯性”具有“優(yōu)先”的意味,只要有一個單元輸出顯性電平,總線上即為顯性電平。并且,“隱性”具有“包容”的意味,只有所有的單元都輸出隱性電平,總線上才為隱性電平。(顯性電平比隱性電平更強)

仲裁段

標(biāo)準(zhǔn)格式和擴展格式在此的構(gòu)成有所不同。仲裁段表示該幀優(yōu)先級的段,擴展格式多了18位ID(如下圖):

0993a722-6c7a-11ed-8abf-dac502259ad0.jpg

RTR = 0代表數(shù)據(jù)幀,RTR = 1代表遠程幀。

為什么叫仲裁段,就是通過ID來判斷總線上哪一個節(jié)點具有優(yōu)先發(fā)送的權(quán)利。ID越?。?代表顯性),優(yōu)先級越高。

控制段

標(biāo)準(zhǔn)和擴展格式的構(gòu)成有所不同。控制段由 6 個位構(gòu)成(如下圖):

09b3a9a0-6c7a-11ed-8abf-dac502259ad0.jpg

它們除了都有4位表示數(shù)據(jù)段長度代碼(DLC)外,標(biāo)準(zhǔn)幀有IDE(數(shù)值為0)位和r0保留位,擴展幀有r0和r1保留位。 保留位必須全部以顯性電平發(fā)送。但接收方可以接收顯性、隱性及其任意組合的電平。

數(shù)據(jù)段

標(biāo)準(zhǔn)和擴展格式相同。數(shù)據(jù)段表示傳輸數(shù)據(jù)的內(nèi)容,從 MSB(最高位)開始輸出,可發(fā)送 0~8 個字節(jié)的數(shù)據(jù),長度由前面控制段決定。

CRC段

標(biāo)準(zhǔn)和擴展格式相同。CRC段是檢查幀傳輸錯誤的幀,由 15 個位的 CRC 順序和 1 個位的 CRC 界定符(用于分隔的位)構(gòu)成。

09c80d28-6c7a-11ed-8abf-dac502259ad0.jpg

相比485這類通信,CAN控制器就已經(jīng)把CRC校驗做了,不需要你的程序再次去計算,從而節(jié)約了處理器資源。

ACK段

標(biāo)準(zhǔn)和擴展格式相同。ACK段用來確認是否正常接收。由 ACK 槽(ACK Slot)和 ACK 界定符 2 個位構(gòu)成。

09de272a-6c7a-11ed-8abf-dac502259ad0.jpg

A.發(fā)送單元在 ACK 段發(fā)送 2 個位的隱性位。

B.接收到正確消息的單元在 ACK 槽(ACK Slot)發(fā)送顯性位, 通知發(fā)送單元正常接收結(jié)束。這稱作“發(fā)送 ACK”或者“返回 ACK”。

幀結(jié)束

標(biāo)準(zhǔn)和擴展格式相同。幀結(jié)束是表示該該幀的結(jié)束的段。由 7 個位的隱性位構(gòu)成。

09ff6d86-6c7a-11ed-8abf-dac502259ad0.jpg

2.遙控幀

0a12360a-6c7a-11ed-8abf-dac502259ad0.jpg

和數(shù)據(jù)幀相比,遙控幀是接收單元向發(fā)送單元請求發(fā)送數(shù)據(jù)所用的幀。所以,遙控幀沒有數(shù)據(jù)段。因此,遙控幀由如下 6 個段組成:

(1) 幀起始(SOF)

表示幀開始的段。

(2) 仲裁段

表示該幀優(yōu)先級的段??烧埱缶哂邢嗤?ID 的數(shù)據(jù)幀。

(3) 控制段

表示數(shù)據(jù)的字節(jié)數(shù)及保留位的段。

(4) CRC 段

檢查幀的傳輸錯誤的段。

(5) ACK 段

表示確認正常接收的段。

(6) 幀結(jié)束

表示遙控幀結(jié)束的段。

這6個段和上面數(shù)據(jù)幀的內(nèi)容基本一樣,這里就不一一講述了。講一下遙控幀和數(shù)據(jù)幀的區(qū)別:

遙控幀的 RTR 位為隱性位,沒有數(shù)據(jù)段。

沒有數(shù)據(jù)段的數(shù)據(jù)幀和遙控幀可通過 RTR 位區(qū)別開來。

問題一:遙控幀沒有數(shù)據(jù)段,數(shù)據(jù)長度碼該如何表示?

遙控幀的數(shù)據(jù)長度碼以所請求數(shù)據(jù)幀的數(shù)據(jù)長度碼表示。

問題二:沒有數(shù)據(jù)段的數(shù)據(jù)幀有何用途?

例如,可用于各單元的定期連接確認/應(yīng)答、或仲裁段本身帶有實質(zhì)性信息的情況下。

3.錯誤幀

0a376aec-6c7a-11ed-8abf-dac502259ad0.jpg

用于在接收和發(fā)送消息時檢測出錯誤通知錯誤的幀。錯誤幀由錯誤標(biāo)志和錯誤界定符構(gòu)成。

(1) 錯誤標(biāo)志

錯誤標(biāo)志包括主動錯誤標(biāo)志和被動錯誤標(biāo)志兩種。

主動錯誤標(biāo)志:6 個位的顯性位。

被動錯誤標(biāo)志:6 個位的隱性位。

(2) 錯誤界定符

錯誤界定符由 8 個位的隱性位構(gòu)成。

4.過載幀

0a47da1c-6c7a-11ed-8abf-dac502259ad0.jpg

過載幀是用于接收單元通知其尚未完成接收準(zhǔn)備的幀。過載幀由過載標(biāo)志和過載界定符構(gòu)成。

(1) 過載標(biāo)志

6 個位的顯性位。

過載標(biāo)志的構(gòu)成與主動錯誤標(biāo)志的構(gòu)成相同。

(2) 過載界定符

8 個位的隱性位。

過載界定符的構(gòu)成與錯誤界定符的構(gòu)成相同。

5.幀間隔

0a6340b8-6c7a-11ed-8abf-dac502259ad0.jpg

幀間隔是用于分隔數(shù)據(jù)幀和遙控幀的幀。數(shù)據(jù)幀和遙控幀可通過插入幀間隔將本幀與前面的任何幀(數(shù)據(jù)幀、遙控幀、錯誤幀、過載幀)分開。 過載幀和錯誤幀前不能插入幀間隔。

(1) 間隔

3 個位的隱性位。

(2) 總線空閑

隱性電平,無長度限制(0 亦可)。

本狀態(tài)下,可視為總線空閑,要發(fā)送的單元可開始訪問總線。

(3) 延遲傳送(發(fā)送暫時停止)

8 個位的隱性位。

只在處于被動錯誤狀態(tài)的單元剛發(fā)送一個消息后的幀間隔中包含的段。

審核編輯:郭婷

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

    關(guān)注

    213

    文章

    31510

    瀏覽量

    223890
  • CAN總線
    +關(guān)注

    關(guān)注

    146

    文章

    2051

    瀏覽量

    135539
  • 汽車電子
    +關(guān)注

    關(guān)注

    3047

    文章

    9138

    瀏覽量

    173207

原文標(biāo)題:對比UART,CAN底層更復(fù)雜

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    關(guān)于車速傳感器磁鐵的一些知識點

    車速傳感器磁鐵在測量車輛速度中扮演著至關(guān)重要的角色,通過與霍爾效應(yīng)傳感器或磁阻傳感器配合使用,利用磁場變化來生成信號,進而反映車速,今天來介紹下車速傳感器磁鐵的幾個關(guān)鍵知識點。首先,磁鐵材質(zhì)方面
    的頭像 發(fā)表于 04-29 10:40 ?97次閱讀
    關(guān)于車速傳感器磁鐵的一些<b class='flag-5'>知識點</b>

    TJA1145高速CAN收發(fā)器:汽車網(wǎng)絡(luò)應(yīng)用的理想之選

    至關(guān)重要。NXP推出的TJA1145高速CAN收發(fā)器,憑借其出色的性能和豐富的功能,成為了汽車高速CAN網(wǎng)絡(luò)的理想選擇。今天,我們就來深入了解一下這款收發(fā)器。 文件下載: TJA114
    的頭像 發(fā)表于 04-26 15:45 ?370次閱讀

    示波器小知識點

    示波器的系統(tǒng)帶寬:是指一個逐漸升高頻率的正弦輸入信號顯示幅度下降3dB時的頻率。測試信號一般是方波,而方波信號由基波及奇次諧波組成。如果用示波器去測一個方波,需要注意示波器應(yīng)從頻率上能夠測量到它
    的頭像 發(fā)表于 04-16 11:04 ?118次閱讀
    示波器小<b class='flag-5'>知識點</b>

    【黑金云課堂筆記】第三期知識點總結(jié)

    ,對 FPGA 免費直播課的熱情也感染到了黑金云課堂的老師們。接下來我們會再接再厲,把每一期直播都做得更扎實 ? 更多精彩課程歡迎關(guān)注我們 黑金云課堂全年免費直播課 ,現(xiàn)在讓我們先來回顧一下上周的知識點精華—— ? 數(shù)據(jù)類型 常量 進制表示:二進制(b/B)、八進制(o/
    的頭像 發(fā)表于 04-01 16:08 ?211次閱讀
    【黑金云課堂筆記】第三期<b class='flag-5'>知識點</b>總結(jié)

    虹科前瞻 | 歐盟CRA新規(guī)下,CAN網(wǎng)絡(luò)合規(guī)之路該如何走?

    CiA(CANinAutomation)協(xié)會就歐盟《網(wǎng)絡(luò)彈性法案》對CAN網(wǎng)絡(luò)技術(shù)的影響發(fā)布了一份重要聲明,明確了CAN相關(guān)產(chǎn)品的CRA合規(guī)
    的頭像 發(fā)表于 03-05 17:04 ?736次閱讀
    虹科前瞻 | 歐盟CRA新規(guī)下,<b class='flag-5'>CAN</b><b class='flag-5'>網(wǎng)絡(luò)</b>合規(guī)之路該如何走?

    一文帶你徹底搞懂K8s網(wǎng)絡(luò)

    說實話,K8s 網(wǎng)絡(luò)是我見過最讓新手頭疼的知識點,沒有之一。記得我剛接觸 K8s 那會兒,看著流量在 Pod、Service、Node 之間穿梭,完全是一臉懵逼。后來踩了無數(shù)坑,熬了無數(shù)夜,總算把這套網(wǎng)絡(luò)模型摸透了。今天這篇文章
    的頭像 發(fā)表于 02-06 10:15 ?740次閱讀

    CAN 集線器的作用

    在工業(yè)自動化、汽車電子、軌道交通等領(lǐng)域,CAN 總線憑借其高可靠性、實時性和多主站通信特性,成為設(shè)備互聯(lián)的核心協(xié)議。但傳統(tǒng) CAN 總線的線性拓撲、通信距離受限、多速率網(wǎng)絡(luò)難兼容等痛
    的頭像 發(fā)表于 12-08 11:38 ?1008次閱讀
    <b class='flag-5'>CAN</b> 集線器的作用

    120Ω的秘密:CAN總線終端電阻的重要

    CAN總線作為一種廣泛應(yīng)用的工業(yè)通信協(xié)議,其終端電阻的作用不容忽視。本文將詳細探討CAN總線終端電阻的重要性及其在通信中的關(guān)鍵作用。CAN總線終端電阻的
    的頭像 發(fā)表于 08-08 11:35 ?1532次閱讀
    120Ω的秘密:<b class='flag-5'>CAN</b>總線終端電阻的<b class='flag-5'>重要</b>性

    CANFD節(jié)點的采樣如何測量?

    本文導(dǎo)讀為提升CAN/CANFD網(wǎng)絡(luò)的通信可靠性,各節(jié)點需盡可能配置合適且一致的采樣。然而在設(shè)備CAN通信采樣參數(shù)未知的情況下,如何驗證
    的頭像 發(fā)表于 07-31 11:34 ?1602次閱讀
    CANFD節(jié)點的采樣<b class='flag-5'>點</b>如何測量?

    最新人工智能硬件培訓(xùn)AI基礎(chǔ)入門學(xué)習(xí)課程參考2025版(離線AI語音視覺識別篇)

    視覺開發(fā)板開箱即用的離線AI能力,分類列出學(xué)習(xí)課程知識點和實操參考,希望能夠幫助大家快速掌握離線 AI 智能硬件的基礎(chǔ)知識與實戰(zhàn)技能,同時了解相關(guān)AI技術(shù)在實際場景的應(yīng)用情況。正文按入下框架展開,相關(guān)理論和實操除了參考官方文檔,也可以自己借助大模型或搜索獲得。
    發(fā)表于 07-04 11:14

    硬件設(shè)計指南:從器件認知到手機基帶設(shè)計

    設(shè)計指導(dǎo),然后介紹了手機基帶幾個重要模塊的設(shè)計原則,設(shè)計就是測試,無測試則無設(shè)計,最后介紹了測試儀表與板級測試。 全書含有43 個原創(chuàng)實戰(zhàn)案例講解,知識點涉及范圍廣,內(nèi)容全面精,非常適
    發(fā)表于 07-03 16:49

    CAN總線采樣不一致的危害

    采樣不一致是CAN總線網(wǎng)絡(luò)中常見的配置錯誤,可能導(dǎo)致位錯誤、同步問題、錯誤幀增加、節(jié)點總線關(guān)閉、仲裁失敗和確認錯誤等嚴重后果。 CAN總線的位時間由四個非重疊的時間段組成,每個段由時
    發(fā)表于 06-07 08:55

    單片機有沒有串口抓包工具推薦的,純小白,想像網(wǎng)絡(luò)協(xié)議那樣直接curl協(xié)議轉(zhuǎn)化為代碼

    能否做到像網(wǎng)絡(luò)協(xié)議那樣抓包重放呢?剛剛涉及 esp32 單片機開發(fā),不太懂這方面的知識點
    發(fā)表于 06-01 11:04

    【「# 運算放大器參數(shù)解析與LTspice應(yīng)用仿真」閱讀體驗】+全書概覽與第一章閱讀分享

    先來詳細閱讀下第一章,分享下相關(guān)內(nèi)容。 第一章主要介紹運放的基礎(chǔ)知識,學(xué)過模電的都很容易理解,可能教材上學(xué)過的忘記了, 這里可以作為摘出來的重點溫故知新復(fù)習(xí)下。全文沒有廢話,都是娓娓道來各個知識點
    發(fā)表于 05-22 23:18

    C51單片機及C語言知識點必備秘籍

    單片機關(guān)鍵知識點一覽: 系列一 1:單片機簡敘 2:單片機引腳介紹 3:單片機存儲器結(jié)構(gòu) 4:第一個單片機小程序 5:單片機延時程序分析 6:單片機并行口結(jié)構(gòu) 7:單片機的特殊
    發(fā)表于 05-15 14:00
    揭东县| 阳高县| 赣州市| 会宁县| 即墨市| 罗定市| 绵阳市| 融水| 绵阳市| 苏州市| 石屏县| 和政县| 湖州市| 蚌埠市| 黑水县| 镇宁| 汉川市| 台中市| 察隅县| 福安市| 静安区| 长白| 宣化县| 尼玛县| 蒙城县| 迁西县| 洛南县| 诸城市| 桃园县| 永安市| 西吉县| 洪雅县| 大悟县| 都兰县| 拉孜县| 长葛市| 金秀| 二手房| 项城市| 静安区| 虞城县|