chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

CANOpen系列教程02_ 理解CAN總線協(xié)議

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 16:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1寫在前面

上一篇文章講述了CAN和CANOpen,相信大家CAN和CANOpen有一定理解了。本文說的CAN即是一種總線,也是一種協(xié)議。因此,我們常聽見CAN總線,也常聽見CAN協(xié)議。

CAN協(xié)議和CANOpen協(xié)議是兩套不同的協(xié)議。從軟硬件層次來劃分,CAN協(xié)議屬于硬件協(xié)議,而CANOpen屬于軟件協(xié)議。

本篇文章先概述一下CAN網(wǎng)絡(luò),讓大家對CAN總線協(xié)議有一個全局的概念,再到底層的CAN總線協(xié)議知識。

2

CAN網(wǎng)絡(luò)

CAN網(wǎng)絡(luò)可以理解為多臺CAN設(shè)備連接在同一條CAN總線上組合成的網(wǎng)絡(luò),其中的CAN設(shè)備我們稱之為節(jié)點。CAN網(wǎng)絡(luò)拓撲結(jié)構(gòu)如下圖:

如上圖,一個CAN節(jié)點主要包含三類:MCU應(yīng)用程序、CAN控制器、CAN收發(fā)器

2.1 MCU應(yīng)用程序

MCU應(yīng)用程序我將其分為三塊:業(yè)務(wù)邏輯代碼、協(xié)議層代碼、底層驅(qū)動代碼。

A.業(yè)務(wù)邏輯代碼:是根據(jù)項目需求而定,也很好理解。比如我讀取一個傳感器數(shù)據(jù),并對其做出相應(yīng)邏輯處理。

B.協(xié)議層代碼:比如后續(xù)要講述的CANOpen。

C.底層驅(qū)動代碼:配置CAN總線相應(yīng)參數(shù)、控制收發(fā)的代碼。

2.2 CAN控制器

CAN控制器內(nèi)部結(jié)構(gòu)還是挺復(fù)雜的,一般現(xiàn)在CAN控制器都是與處理器集成在一起。

其實對于編程的人來說,無非也就是包含一些控制、狀態(tài)、配置等寄存器。

比如我們看到有些STM32芯片帶有CAN,也就是說CAN控制器已經(jīng)集成在STM32芯片中了,我們只需要編程操作其中的寄存器即可。

2.3 CAN收發(fā)器

CAN收發(fā)器:將CAN收發(fā)引腳(CAN_TX和CAN_RX)的TTL信號轉(zhuǎn)換成CAN總線的電平信號。

PS:你可以把CAN總線通信認為是UART通過485進行通信:CAN控制器就如UART的控制器,而CAN收發(fā)器就如485轉(zhuǎn)換芯片。

3

ISO標準化的CAN協(xié)議

寫這一章節(jié)的主要目的就是想讓大家了解CAN總線位于OSI所在層次。

3.1 ISO/OSI基本參照模型

【注】

ISO:International Standardization Organization國際標準化組織;

OSI:Open Systems Interconnection開放式系統(tǒng)間互聯(lián);

3.2 CAN在OSI模型中的定義

【注】

LLC:Logical Link Control邏輯鏈路控制;

MAC:Medium Access Control媒介訪問控制;

從上圖可以知道CAN總線底層硬件的內(nèi)容(CAN控制器、收發(fā)器)主要位于OSI的第1層和第2層。

4

概述CAN總線協(xié)議

CAN總線協(xié)議:就是為了保證通信(收發(fā))數(shù)據(jù)在CAN總線上能穩(wěn)定傳輸而制訂的一套協(xié)議。

CAN總線協(xié)議的內(nèi)容很多,為方便初學(xué)者理解,本文先大概描述一下CAN總線協(xié)議,后續(xù)文章詳細講述CAN總線協(xié)議的內(nèi)容。

4.1 總線信號

CAN總線為「兩線」「差分」信號,用隱形代表邏輯1,顯性代表邏輯0。如下圖:

4.2 優(yōu)先級

假如某一時刻,一個設(shè)備(節(jié)點)往總線發(fā)0,一個設(shè)備往總線發(fā)1。那么總線會呈現(xiàn)什么現(xiàn)象?

答案:最后總線呈現(xiàn)為顯性,也就是0。

4.3 位時序

位時序邏輯將監(jiān)視串行總線,執(zhí)行采樣并調(diào)整采樣點,在調(diào)整采樣點時,需要在起始位邊沿進行同步并后續(xù)的邊沿進行再同步。

簡單的說就是對一個bit位分幾段進行采樣,目的就是提高數(shù)據(jù)傳輸穩(wěn)定性。在STM32中底層驅(qū)動代碼就需要進行位時序編程,在STM32參考手冊中也會發(fā)現(xiàn)如下位時序圖:

4.4 幀的種類和格式

幀的種類有多種:

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

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

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

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

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

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

4.5 位填充

位填充是為防止突發(fā)錯誤而設(shè)定的功能。當同樣的電平持續(xù) 5 位時則添加一個位的反型數(shù)據(jù)。如下圖:

4.6 錯誤的種類

CAN總線協(xié)議內(nèi)容很多,初學(xué)者先了解這些,后面文章具體到每一個點上,相信大家就會更明白其中的含義。

聲明:本文內(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)注

    58

    文章

    3019

    瀏覽量

    471714
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    460

    瀏覽量

    47661
  • 總線協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    161

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    圓滿收官 | 虹科CAN總線專題全系列直播精華回顧已上線!

    虹科CAN總線系列直播圓滿收官!HongKeWebinars作為汽車電子通信領(lǐng)域的核心協(xié)議,CAN總線
    的頭像 發(fā)表于 11-24 17:55 ?2614次閱讀
    圓滿收官 | 虹科<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>專題全<b class='flag-5'>系列</b>直播精華回顧已上線!

    CANopen轉(zhuǎn)Profinet是一種構(gòu)建于控制局域網(wǎng)設(shè)備之上的協(xié)議網(wǎng)關(guān)

    CANopen作為構(gòu)建于控制局域網(wǎng)(Controller Area Network, CAN)之上的高層通信協(xié)議,其體系架構(gòu)包含通信子協(xié)議與設(shè)備子協(xié)
    的頭像 發(fā)表于 11-05 14:05 ?321次閱讀
    <b class='flag-5'>CANopen</b>轉(zhuǎn)Profinet是一種構(gòu)建于控制局域網(wǎng)設(shè)備之上的<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)

    CANopen轉(zhuǎn)Profient網(wǎng)關(guān)協(xié)議介紹

    CANopen介紹: CANopen是一種基于控制器局域網(wǎng)(CAN)的高層工業(yè)通信協(xié)議,由國際用戶和制造商協(xié)會CiA于1995年發(fā)布,基礎(chǔ)規(guī)范為CiA 301標準。該
    的頭像 發(fā)表于 09-25 17:31 ?640次閱讀
    <b class='flag-5'>CANopen</b>轉(zhuǎn)Profient網(wǎng)關(guān)<b class='flag-5'>協(xié)議</b>介紹

    ProfiNet轉(zhuǎn)CAN/CANopen網(wǎng)關(guān)技術(shù)詳解

    1 產(chǎn)品概述與核心功能 三格電子的 SG-PN(h750)-COE/CAN 網(wǎng)關(guān)主要用于實現(xiàn)?PROFINET 與 CAN/CANopen (COE) 或自由 CAN 口之間的
    的頭像 發(fā)表于 08-26 16:54 ?621次閱讀
    ProfiNet轉(zhuǎn)<b class='flag-5'>CAN</b>/<b class='flag-5'>CANopen</b>網(wǎng)關(guān)技術(shù)詳解

    CANopen轉(zhuǎn)EtherCAT協(xié)議轉(zhuǎn)換案例解析

    CANopen轉(zhuǎn)EtherCAT網(wǎng)關(guān)實現(xiàn) EtherCAT轉(zhuǎn)CANopen 通信,成功解決了跨協(xié)議設(shè)備互聯(lián)難題,顯著提升了系統(tǒng)實時性與數(shù)據(jù)交互效率。 案例背景-該企業(yè)生產(chǎn)線的核心設(shè)備主要包括兩大類:主站設(shè)備采用支持CiA402驅(qū)
    的頭像 發(fā)表于 06-17 19:22 ?354次閱讀
    <b class='flag-5'>CANopen</b>轉(zhuǎn)EtherCAT<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換案例解析

    如何用泰克MSO5系列混合信號示波器調(diào)試IoT和CAN總線

    場景。然而,在IoT系統(tǒng)開發(fā)與維護中,CAN總線的調(diào)試常面臨信號干擾、時序錯誤、協(xié)議沖突等問題。泰克MSO5系列混合信號示波器憑借其高分辨率、多通道同步、
    的頭像 發(fā)表于 05-30 14:17 ?599次閱讀
    如何用泰克MSO5<b class='flag-5'>系列</b>混合信號示波器調(diào)試IoT和<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>

    CanOpen轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)換:解鎖型鋼成型機高效控制新維度

    CANopen轉(zhuǎn)Profinet轉(zhuǎn)換網(wǎng)關(guān)在型鋼成型機的自動控制中起著至關(guān)重要的作用。我們需要理解一下什么是CANopen和Profinet。CANopen是一種基于
    的頭像 發(fā)表于 05-12 11:07 ?382次閱讀
    <b class='flag-5'>CanOpen</b>轉(zhuǎn)Profinet<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換:解鎖型鋼成型機高效控制新維度

    CAN總線通訊原理-原來這么簡單!#總線通訊 #總線傳輸 #汽車CAN總線? #電路知識

    CAN總線
    安泰小課堂
    發(fā)布于 :2025年04月24日 17:31:16

    使用ES32實現(xiàn)CANopen從機

    CANopen是一種基于CAN的通信協(xié)議,已在工業(yè)領(lǐng)域得到了廣泛應(yīng)用。CAN提供可靠的底層數(shù)據(jù)傳輸,CANopen提供標準化的應(yīng)用層
    的頭像 發(fā)表于 03-26 19:05 ?1636次閱讀
    使用ES32實現(xiàn)<b class='flag-5'>CANopen</b>從機

    CANOPEN協(xié)議詳細介紹

    ???????? CANOPEN協(xié)議是基于CAN總線協(xié)議建立的應(yīng)用層協(xié)議。
    發(fā)表于 03-26 15:27 ?0次下載

    EtherCAN轉(zhuǎn)CANopen網(wǎng)關(guān),輕松搞定通信難題!

    在現(xiàn)代工業(yè)自動化和通信領(lǐng)域,興達易控EtherCAN轉(zhuǎn)CANopen網(wǎng)關(guān)XD-ECCOM20扮演著至關(guān)重要的角色。EtherCAN是一種高速現(xiàn)場總線協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)控制等領(lǐng)域;而
    的頭像 發(fā)表于 03-22 11:42 ?606次閱讀
    EtherCAN轉(zhuǎn)<b class='flag-5'>CANopen</b>網(wǎng)關(guān),輕松搞定通信難題!

    三格電子Modbus TCP轉(zhuǎn)CANOpen網(wǎng)關(guān)相關(guān)問答

    TCP轉(zhuǎn)CANOpen網(wǎng)關(guān) ? A2: 協(xié)議差異 :Modbus TCP基于以太網(wǎng),采用主從架構(gòu);CANOpen基于CAN總線,支持多主節(jié)
    的頭像 發(fā)表于 03-13 10:22 ?713次閱讀
    三格電子Modbus TCP轉(zhuǎn)<b class='flag-5'>CANOpen</b>網(wǎng)關(guān)相關(guān)問答

    廣成科技CANopen轉(zhuǎn)CAN模塊的應(yīng)用場景

    以下是廣成科技CANopen轉(zhuǎn)CAN模塊在不同領(lǐng)域的具體應(yīng)用示例。
    的頭像 發(fā)表于 02-17 11:28 ?1004次閱讀

    解析ECAN-E02單過濾器CAN硬件過濾

    什么是CAN總線CAN(ControllerAreaNetwork)總線是一種用于車輛電子設(shè)備之間通信的標準協(xié)議。
    的頭像 發(fā)表于 01-16 19:35 ?725次閱讀
    解析ECAN-E<b class='flag-5'>02</b>單過濾器<b class='flag-5'>CAN</b>硬件過濾

    基于Xilinx的A7系列FPGA的CAN總線協(xié)議開發(fā)

    一、CAN總線協(xié)議介紹 CAN是 Controller Area Network 的縮寫(以下稱為 CAN ),是 ISO 國際標準化的串行
    的頭像 發(fā)表于 12-21 14:49 ?3159次閱讀
    基于Xilinx的A7<b class='flag-5'>系列</b>FPGA的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>協(xié)議</b>開發(fā)