一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

1寫在前面

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

因?yàn)殛P(guān)注我的人大部分都在學(xué)習(xí)STM32,我將結(jié)合STM32F103、標(biāo)準(zhǔn)外設(shè)庫(kù)例程來(lái)讓大家理解之前講述的一些概念。

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

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

2.位時(shí)序及傳輸波特率

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

2

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

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

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

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

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

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

2.2 CAN發(fā)送代碼

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

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

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

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

2.3 CAN接收代碼

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

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

接收操作

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

3

位時(shí)序及傳輸波特率

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

看下圖,回顧一下波特率計(jì)算公式:

3.1 波特率配置代碼

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

提示:

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

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

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

    關(guān)注

    57

    文章

    2920

    瀏覽量

    467830
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    406

    瀏覽量

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

    關(guān)注

    30

    文章

    4900

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

    CANopen產(chǎn)品開發(fā)過(guò)程中,并非所有應(yīng)用場(chǎng)景的CANopen網(wǎng)絡(luò)拓?fù)涠际谴_定的,這需要CANopen網(wǎng)絡(luò)能夠靈活配置設(shè)備間對(duì)象字典的收發(fā)關(guān)系。顯然,如果通過(guò)編程或者讀取每個(gè)從設(shè)備E
    的頭像 發(fā)表于 05-30 14:19 ?295次閱讀
    盟通方案|<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實(shí)現(xiàn)CANopen從機(jī)

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

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

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

    CANOPEN協(xié)議詳細(xì)介紹

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

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

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

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

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

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

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

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

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

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

    電子發(fā)燒友網(wǎng)站提供《IS01044小型封裝隔離式CAN FD收發(fā)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(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èi)下載
    發(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èi)下載
    發(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èi)下載
    發(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 實(shí)現(xiàn) CAN信號(hào)收發(fā) Demo

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