<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

CAN基礎:電平、邏輯、報文是怎么來的

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-26 02:46 ? 次閱讀

CAN總線的報文是怎么產生以及收發的,遇到通訊異常的問題時從什么角度分析?這篇文章將會帶您快速了解報文的傳輸原理。

1、節點通訊的原理

圖1 CAN節點示意圖

如圖1所示是一個CAN節點的示意圖,整體包括了CAN收發器、CAN控制器MCU。我們以節點發送報文為例,當我們使用上位機軟件發送一段報文時,報文會通過MCU發送給CAN控制器。CAN控制器將這段報文解析成邏輯信號后,再發送給CAN收發器。CAN收發器根據CAN-bus標準將接收到的邏輯信號轉換成電信號,再通過CAN_H和CAN_L兩根總線將電信號傳到總線上的其他節點上。

簡單說就是MCU將報文發送給控制器,控制器將報文轉換成符合規范的CAN報文后,通過CAN收發器以電信號的形式在總線上進行傳輸。

2、電平是如何轉換成邏輯?

圖2 CAN-bus信號電平

如圖2所示,CAN總線使用的是雙線差分信號,所以分為CAN_H和CAN_L兩根總線,根據兩根總線之間電壓的差值大小來判斷其顯隱性。而線纜上傳輸的電平信號只有兩種可能,分別為顯性電平和隱性電平,其中顯性電平代表邏輯0,隱性電平代表邏輯1。

當接受到報文時,首先就要通過CAN收發器將電信號轉換成邏輯信號。根據圖3所示的ISO11898高速CAN電平標準進行判斷,但是線路上經常會受到各種干擾,為了保證傳輸的穩定性。所以差分電平小于0.5V就是隱性電平代表邏輯1,差分電平大于0.9V就是顯性電平代表邏輯0。

圖3 ISO11898高速CAN電平

3、邏輯信號如何轉換成報文?

CAN控制器是CAN-bus設備的核心元件,集成了CAN規范中數據鏈路層的全部功能,能夠自動完成CAN-bus協議的解析。

當CAN收發器將邏輯信號傳送給CAN控制器后,CAN控制器會將邏輯信號轉換成符合CAN規范的CAN幀。而CAN幀的類型包括了數據幀、遠程幀、幀間空間、錯誤幀和超載幀。

圖4 標準幀格式

以最常見的數據幀為例,圖4就是標準幀的格式,包括了幀起始、仲裁場、控制場、數據場等。

圖5 報文解析實例

圖5就是報文解析的實例,當接受到對應的邏輯信號后,CAN控制器就會根據規定的CAN幀格式進行解析,并將報文發給MCU。

4、上位機報文顯示

圖6 上位機報文顯示

如圖6所示,當CAN控制器完成了CAN-bus協議的解析后,就會將報文傳輸到MCU中在上0位機軟件中進行顯示。像幀起始、CRC場、ACK場這樣的數據不讀取,所以我們上位機軟件只顯示數據幀類型、幀ID和幀數據等信息。

5、總結

對于CAN總線報文錯誤來說,百分之90的錯誤都來自于物理層,而CANScope總線分析儀可以對CAN 波形與報文同步發送和接收,快速對CAN總線進行各項測試,幫助工程師們快速完成故障定位和問題排查。

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN
    CAN
    +關注

    關注

    56

    文章

    2485

    瀏覽量

    460046
  • 電平
    +關注

    關注

    5

    文章

    339

    瀏覽量

    39582
  • 邏輯
    +關注

    關注

    2

    文章

    818

    瀏覽量

    29322
收藏 人收藏

    評論

    相關推薦

    CAN報文為什么會發送失???

    CAN總線調試過程中出現報文發送失敗。很多工程師都對此只知其一不知其二,今天我們就以CAN報文發送失敗的問題來做一次探討。在了解CAN
    的頭像 發表于 04-12 08:25 ?418次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>報文</b>為什么會發送失???

    TC275多路CAN節點,報文接收時需要開啟多路的CAN接收中斷嗎?

    TC275配置使用一路CAN0時,收發都可以,收報文是開啟的CAN0接收中斷,然后接收報文;現在使用兩路CAN
    發表于 02-20 08:27

    TC39x的can報文過濾規則怎么設置?

    TC39x的can報文過濾規則怎么設置
    發表于 02-19 06:12

    CAN總線報文數據一致性校驗

    比如ECU1接收ECU2發出的一幀0x100報文,協議層是不會區分是ECU1發的,還是非法接入OBD的CAN盒發的?如果ECU1接收到非ECU2發出的0x100報文豈不是很危險?
    的頭像 發表于 01-24 10:03 ?837次閱讀
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>報文</b>數據一致性校驗

    [ElfBoard] YOU CAN YOU UP 之CAN總線

    出現問題,缺點是信號反射嚴重,無法用于高波特率和遠距離傳輸,如下圖所示: 電平標準 CAN_High - CAN_Low < 0.5V 時候為隱性的,邏輯信號表現為\"
    發表于 12-05 10:45

    [ElfBoard] YOU CAN YOU UP 之CAN總線分享

    出現問題,缺點是信號反射嚴重,無法用于高波特率和遠距離傳輸,如下圖所示: 電平標準 CAN_High - CAN_Low < 0.5V 時候為隱性的,邏輯信號表現為\"
    發表于 12-04 14:47

    CAN總線和電平邏輯介紹

    差分傳輸,為了避免信號的反射和干擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻。 每一個設備既可做主設備也可做從設備。CAN總線的通信距離可達10千米(速率低于5Kbps),速度可達1Mbps(通信距離小于40M
    的頭像 發表于 11-09 18:11 ?989次閱讀
    <b class='flag-5'>CAN</b>總線和<b class='flag-5'>電平</b><b class='flag-5'>邏輯</b>介紹

    CAN電氣特性屬性

    顯性電平表示邏輯“0”,此時 CAN_H 電平CAN_L 高,分別為 3.5V 和 1.5V,電位差為2V。隱形
    的頭像 發表于 10-09 16:10 ?668次閱讀
    <b class='flag-5'>CAN</b>電氣特性屬性

    示波器破解CAN錯誤幀/BusOff的經驗分享

    MCU內置了CAN控制器用來將MCU的數據封裝為CAN幀格式,同時它也負責CAN幀的校驗和錯誤幀的處理??刂破鞣庋b好的邏輯報文經TX RX送
    發表于 09-08 09:19 ?873次閱讀

    影響報文超時上報的機制有哪些

    前言 最近遇到一個CAN報文超時Notification不上報導致ECU不休眠的偶發問題,本文分享解決問題的思路及影響報文超時上報的機制,希望能給各位讀者一點啟發。 參考文檔: 1.
    的頭像 發表于 08-07 09:16 ?953次閱讀
    影響<b class='flag-5'>報文</b>超時上報的機制有哪些

    CAN電氣特性屬性

    CAN 電氣屬性 CAN 總線使用兩根線來連接各個單元:CAN_H 和 CAN_L,CAN 控制器通過判斷這兩根線上的電位差來得到總線
    的頭像 發表于 07-25 10:30 ?731次閱讀
    <b class='flag-5'>CAN</b>電氣特性屬性

    求一種基于infineonPSOC62開發板的多功能CAN報文記錄儀設計方案

    在汽車領域,經常會涉及到CAN報文收發,目前應用最廣泛的就是是CAN2.0B協議。CAN報文對整車控制起著至關重要的作用。
    的頭像 發表于 07-18 16:17 ?795次閱讀
    求一種基于infineonPSOC62開發板的多功能<b class='flag-5'>CAN</b><b class='flag-5'>報文</b>記錄儀設計方案

    一幀CAN報文多少字節

    一幀CAN FD報文位數 根據CAN FD幀結構組成,可以算出一幀CAN FD報文位數: CAN
    的頭像 發表于 07-18 10:48 ?5453次閱讀

    電平設計基礎:差分邏輯電平匹配

    差分邏輯電平之間的匹配,主要應用于時鐘和高速信號。
    的頭像 發表于 06-25 14:56 ?1968次閱讀
    <b class='flag-5'>電平</b>設計基礎:差分<b class='flag-5'>邏輯</b><b class='flag-5'>電平</b>匹配

    M453單片機的CAN中斷接力發送時發送報文數量丟失怎么解決?

    1、我使用新唐M453單片機,使用CAN1進行實驗,將CAN1的后4個報文緩存RAM做為發送緩沖區來使用。通過線程啟動報文的發送,在中斷中通過查詢發送請求寄存器
    發表于 06-15 07:26
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>