99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

CANOpen系列教程06_ 結(jié)合代碼理解CAN底層收發(fā)數(shù)據(jù)

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

掃碼添加小助手

加入工程師交流群

1寫在前面

教程前面講述了許多關(guān)于CAN協(xié)議的一些概念,可能許多初學者看的云里霧里,那么本文將結(jié)合代碼讓大家理解之前講述的內(nèi)容。

因為關(guān)注我的人大部分都在學習STM32,我將結(jié)合STM32F103、標準外設(shè)庫例程來讓大家理解之前講述的一些概念。

本文主要講述內(nèi)容:

1.傳輸數(shù)據(jù)相關(guān)參數(shù)

2.位時序及傳輸波特率

為方便大家理解,我將在最后提供對應(yīng)例程「CANOpen系列教程06_CAN底層收發(fā)例程」。當然,本文只講述代碼中部分內(nèi)容,某些配置參數(shù)放在后面講述。

2

傳輸數(shù)據(jù)相關(guān)參數(shù)

傳輸數(shù)據(jù)相關(guān)參數(shù)其實主要就是前面《CANOpen系列教程04》講述的“幀類型及格式說明”那一章節(jié)內(nèi)容,建議先看下那些概念內(nèi)容。

CAN總線傳輸?shù)膬?nèi)容主要就是發(fā)送和接收,下面我將結(jié)合代碼中發(fā)送和接收參數(shù)來讓大家理解我們編程控制CAN總線上那些參數(shù)。

2.1 CAN總線數(shù)據(jù)幀

本文提供例程主要是CAN總線使用最多的數(shù)據(jù)幀為例,讓大家理解數(shù)據(jù)幀傳輸由我們編程控制的參數(shù)。

先看下圖回顧一下數(shù)據(jù)幀格式,其中有些字段內(nèi)容由控制器自動完成,如:幀起始,CRC校驗。而有些就是由我們編程控制,如:ID、數(shù)據(jù)等。

2.2 CAN發(fā)送代碼

A.CAN發(fā)送數(shù)據(jù)結(jié)構(gòu)

下圖主要就是CAN發(fā)送由我們編程控制的參數(shù)。其實你會發(fā)現(xiàn),主要就是上面幀格式中部分內(nèi)容:ID、IDE、RTR、DLC、Data。

B.發(fā)送配置參數(shù)

下圖為實際發(fā)送配置的參數(shù)。

2.3 CAN接收代碼

CAN接收其實和發(fā)送類似,CAN總線上的字段就那些,在接收端接收的那些參數(shù)無非就是發(fā)送端發(fā)送出來的那些參數(shù)。

針對STM32內(nèi)部集成的CAN,接收數(shù)據(jù)結(jié)構(gòu)多了一個FMI參數(shù),大概意思就是接收消息郵箱篩選器索引。

接收操作

為方便初學者理解,這里這要就是使用中斷接收CAN總線數(shù)據(jù),在中斷函數(shù)里面打印也主要是用于測試,一般實際項目打印不會出現(xiàn)在中斷函數(shù)(打印相對耗時)。

3

位時序及傳輸波特率

同樣,在前面《CANOpen系列教程04》中有講述“位時序及傳輸波特率”的概念。其實,位時序間接決定了傳輸?shù)牟ㄌ芈?。換句話說,傳輸?shù)牟ㄌ芈视晌粫r序幾個參數(shù)決定。

看下圖,回顧一下波特率計算公式:

3.1 波特率配置代碼

結(jié)合上圖計算公式和下圖代碼,可以看出位時序中幾個參數(shù)和波特率的關(guān)系。波特率為1M時,幾個位時序參數(shù)可以配置為如下圖值:

提示:

36M代表CAN時鐘,具體要看時鐘相關(guān)配置。

波特率固定,位時序參數(shù)可以不同。比如波特率固定為1M,位時序參數(shù)可以為上圖配置;也可以修改其中的值,如修改位段1為CAN_BS1_5tq,位段2為CAN_BS2_3tq。只要遵循波特率計算公式即可。

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

    關(guān)注

    57

    文章

    2921

    瀏覽量

    467878
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    406

    瀏覽量

    44912
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    CAN收發(fā)器:總線信號的“翻譯官”

    CAN總線通信中,CAN收發(fā)器(Transceiver)扮演著至關(guān)重要的角色——它就像一位“翻譯官”,負責將微控制器(MCU)的數(shù)字信號轉(zhuǎn)換為總線上的差分信號,同時把總線信號翻譯回MCU能
    的頭像 發(fā)表于 06-27 11:34 ?602次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)</b>器:總線信號的“翻譯官”

    盟通方案|CANopen數(shù)據(jù)鏈路配置工具

    CANopen產(chǎn)品開發(fā)過程中,并非所有應(yīng)用場景的CANopen網(wǎng)絡(luò)拓撲都是確定的,這需要CANopen網(wǎng)絡(luò)能夠靈活配置設(shè)備間對象字典的收發(fā)關(guān)系。顯然,如果通過編程或者讀取每個從設(shè)備E
    的頭像 發(fā)表于 05-30 14:19 ?296次閱讀
    盟通方案|<b class='flag-5'>CANopen</b><b class='flag-5'>數(shù)據(jù)</b>鏈路配置工具

    三格電子-ProfiNet 轉(zhuǎn)CAN/CANopen網(wǎng)關(guān)

    CANopen
    三格電子科技
    發(fā)布于 :2025年03月31日 14:53:23

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

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

    EtherCAT轉(zhuǎn)CANopen配置CANopen側(cè)的PDO映射

    在工業(yè)自動化領(lǐng)域,EtherCAT和CANopen是兩種廣泛應(yīng)用的通信協(xié)議。它們各自具有獨特的優(yōu)勢,但在某些應(yīng)用場景下,需要將這兩種協(xié)議進行轉(zhuǎn)換以實現(xiàn)設(shè)備間的高效數(shù)據(jù)交換。本文將詳細介紹如何在
    的頭像 發(fā)表于 03-26 17:56 ?465次閱讀
    EtherCAT轉(zhuǎn)<b class='flag-5'>CANopen</b>配置<b class='flag-5'>CANopen</b>側(cè)的PDO映射

    CANOPEN協(xié)議詳細介紹

    ???????? CANOPEN協(xié)議是基于CAN總線協(xié)議建立的應(yīng)用層協(xié)議。 CANOPEN協(xié)議的基本通信單元叫做“通信對象”,他們結(jié)構(gòu)相同,包括funciton Code、Node-ID、DLC
    發(fā)表于 03-26 15:27 ?0次下載

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

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

    三格電子- EtherCAT轉(zhuǎn)CANopen/ CAN網(wǎng)關(guān)

    ECAT轉(zhuǎn)CANopen/ CAN網(wǎng)關(guān)型號:SG-ECAT-COE/CAN 本產(chǎn)品是ECAT(EtherCAT)和CANOPEN(CAN O
    的頭像 發(fā)表于 11-15 15:03 ?733次閱讀
    三格電子- EtherCAT轉(zhuǎn)<b class='flag-5'>CANopen</b>/ <b class='flag-5'>CAN</b>網(wǎng)關(guān)

    CAN底層報文抓到了,卻不知怎么解析?以及如何看到信號運行狀態(tài)?

    本文介紹CAN總線中DBC文件的重要性及ZCANPRO如何實現(xiàn)DBC解析、數(shù)據(jù)發(fā)送和實時曲線分析,幫助您更有效地分析和利用CAN總線數(shù)據(jù)。在CAN
    的頭像 發(fā)表于 09-30 08:05 ?2673次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>底層</b>報文抓到了,卻不知怎么解析?以及如何看到信號運行狀態(tài)?

    CAN總線收發(fā)器的工作原理和應(yīng)用

    CAN(Controller Area Network)總線收發(fā)器是CAN總線通信中的關(guān)鍵組件,其工作原理和應(yīng)用對于理解現(xiàn)代汽車電子、工業(yè)自動化等領(lǐng)域的通信系統(tǒng)至關(guān)重要。以下將詳細闡述
    的頭像 發(fā)表于 08-26 15:23 ?4984次閱讀

    IS01044小型封裝隔離式CAN FD收發(fā)數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《IS01044小型封裝隔離式CAN FD收發(fā)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-20 11:10 ?0次下載
    IS01044小型封裝隔離式<b class='flag-5'>CAN</b> FD<b class='flag-5'>收發(fā)</b>器<b class='flag-5'>數(shù)據(jù)</b>表

    ISO1042隔離式CAN收發(fā)數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《ISO1042隔離式CAN收發(fā)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-19 11:29 ?0次下載
    ISO1042隔離式<b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)</b>器<b class='flag-5'>數(shù)據(jù)</b>表

    ISO1042-Q1汽車隔離式CAN收發(fā)數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《ISO1042-Q1汽車隔離式CAN收發(fā)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-19 11:27 ?0次下載
    ISO1042-Q1汽車隔離式<b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)</b>器<b class='flag-5'>數(shù)據(jù)</b>表

    ISO1050隔離式CAN收發(fā)數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《ISO1050隔離式CAN收發(fā)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-15 09:42 ?0次下載
    ISO1050隔離式<b class='flag-5'>CAN</b><b class='flag-5'>收發(fā)</b>器<b class='flag-5'>數(shù)據(jù)</b>表

    基于VB6.0 實現(xiàn) CAN信號收發(fā) Demo

    本文主要講的是,基于TSMaster實現(xiàn)TOSUN系列CAN/CANFD,LIN設(shè)備的操作。主要給大家介紹在TSMaster軟件里如何實現(xiàn)CAN信號收發(fā)Demo工程。本文關(guān)鍵詞:
    的頭像 發(fā)表于 07-27 08:21 ?1347次閱讀
    基于VB6.0 實現(xiàn) <b class='flag-5'>CAN</b>信號<b class='flag-5'>收發(fā)</b> Demo