eric2013 发表于 2023-5-15 02:25:43

BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并茂,配合综合实战演练(2023-05-15)

上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。

CANFD涉及到的知识点非常多,我们本期重点是把CANFD整个运行机制搞明白,知其然知其所以然。

视频:

https://www.bilibili.com/video/BV1iX4y117Bv

https://www.bilibili.com/video/BV1iX4y117Bv


视频提纲:

https://img.alicdn.com/imgextra/i3/299314119/O1CN010pM5EL1gIYEVtvmHE_!!299314119.png

https://img.alicdn.com/imgextra/i2/299314119/O1CN01DqfCPs1gIYEaFQOyP_!!299314119.png

https://img.alicdn.com/imgextra/i4/299314119/O1CN01vJ49iO1gIYEVttZ4J_!!299314119.png

https://img.alicdn.com/imgextra/i4/299314119/O1CN01ZEZXNK1gIYEaFP81C_!!299314119.png


参考资料:

1、【原创】H7-TOOL的CANFD Trace操作说明,不需要目标板额外做任何代码,支持在线和脱机玩法(2023-05-15)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=118999

2、文档教程和配套例子下载:
链接:https://pan.baidu.com/s/1UVmErnTvP5HAC1Hx9TwpHg提取码:y2jm

3、基于STM32H7的CMSIS-Driver驱动实现双CAN FD和双经典CAN两种方式案例发布(2021-03-25)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=105369


eric2013 发表于 2023-5-15 02:25:58

更新完毕。

advancechao 发表于 2023-5-15 08:35:08

太猛了{:22:}

eric2013 发表于 2023-5-15 11:46:38

这几天不忙了,整理F1,F2,F3,F4,F7的经典CAN Trace文件。

morning_enr6U 发表于 2023-5-15 11:48:30

硬汉大哥,官方的应用分享,距离你的差老远了,他们应该聘请硬汉大哥去做指导。{:8:}{:8:}

missfox 发表于 2023-5-15 15:17:44

这期视频等好久了,终于发布了,怒赞

byccc 发表于 2023-5-15 16:39:12

辛苦{:34:}

wanglehui_12 发表于 2023-5-15 17:58:10

硬汉你好,CANOpen的协议栈,推荐使用哪个?

eric2013 发表于 2023-5-16 00:10:42

wanglehui_12 发表于 2023-5-15 17:58
硬汉你好,CANOpen的协议栈,推荐使用哪个?

过段时间测评下,还没有最终决定用那款。

asddcai 发表于 2023-5-16 19:27:52

可以讲下CMSIS-Driver Can的怎么配置吗,感谢

eric2013 发表于 2023-5-16 20:26:05

asddcai 发表于 2023-5-16 19:27
可以讲下CMSIS-Driver Can的怎么配置吗,感谢

只有ST的HAL库CAN做教程了,这个没弄教程。

教程可以看这个

https://img.anfulai.cn/dz/attachment/forum/202305/16/202543dlc5cxsuulrllln0.png

wanglehui_12 发表于 2023-5-17 11:33:14

本帖最后由 wanglehui_12 于 2023-5-17 12:20 编辑

eric2013 发表于 2023-5-16 00:10
过段时间测评下,还没有最终决定用那款。
嗯,搜集了一下,CANOpen协议栈也不少:


Canfestival
CanOpenNode
canopen-stack
Lely CANopen


eric2013 发表于 2023-5-17 12:22:01

wanglehui_12 发表于 2023-5-17 11:33
嗯,搜集了一下,CANOpen协议栈也不少:




是的,有不少,后面测试下,看看那个更好用些。

yunqi 发表于 2023-5-17 14:08:07

eric2013 发表于 2023-5-15 11:46
这几天不忙了,整理F1,F2,F3,F4,F7的经典CAN Trace文件。

之前周报说过2.0,FD,
还提到最新的CAN,忘记哪期了:dizzy:

eric2013 发表于 2023-5-17 17:54:43

yunqi 发表于 2023-5-17 14:08
之前周报说过2.0,FD,
还提到最新的CAN,忘记哪期了
CAN XL? CANFD专题第1期提纲开头有个图


BSP视频教程第25期:CAN/CANFD/CANopen专题,CAN知识点干货分享, 收发执行过程和错误帧处理(2023-01-03)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=117387


yunqi 发表于 2023-5-17 19:28:27

eric2013 发表于 2023-5-17 17:54
CAN XL? CANFD专题第1期提纲开头有个图




嗯, :)

role_2099 发表于 2023-5-18 09:40:17

V6会出例程吗,教程可以直接用V7的吗

eric2013 发表于 2023-5-18 09:56:04

role_2099 发表于 2023-5-18 09:40
V6会出例程吗,教程可以直接用V7的吗

有,下期就是,CAN2.0专题,这个用的人也很多,也搞下。

杜伯 发表于 2023-5-30 15:38:18

我用G474的板子检测到Bit 7 BO: Bus_Off status,查找错误码是(然后咋办呀?):
101: Bit0Error: During the transmission of a message (or acknowledge bit, or active error
flag, or overload flag), the device wanted to send a dominant level (data or identifier bit logical
value 0), but the monitored bus value was recessive. During Bus_Off recovery this status is
set each time a sequence of 11 recessive bits has been monitored. This enables the CPU to
monitor the proceeding of the Bus_Off recovery sequence (indicating the bus is not stuck at
dominant or continuously disturbed).

eric2013 发表于 2023-5-30 16:07:46

杜伯 发表于 2023-5-30 15:38
我用G474的板子检测到Bit 7 BO: Bus_Off status,查找错误码是(然后咋办呀?):
101: Bit0Error: During ...

离线了话,重新激活上线。

BZU2020 发表于 2023-6-8 10:40:57

接下来会出CANOpen的课程吗

eric2013 发表于 2023-6-8 11:03:25

BZU2020 发表于 2023-6-8 10:40
接下来会出CANOpen的课程吗
还有个CAN2.0的实战专题,这个用的人也很多,之后CANopen专题。

Sundodry 发表于 2023-6-8 12:46:09

硬汉哥,想问一下我配置fdcan为1M仲裁5M数据传输速率,无法正常传输数据,用示波器测试can的tx没有看到脉冲输出,实际测试极限只到3M。您之前说5M可以实现是怎么做到的

eric2013 发表于 2023-6-9 09:16:15

Sundodry 发表于 2023-6-8 12:46
硬汉哥,想问一下我配置fdcan为1M仲裁5M数据传输速率,无法正常传输数据,用示波器测试can的tx没有看到脉冲 ...
看到你的这个帖子已经解决了,我附带下这个地址,方便有需要的网友看到:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=119581

mrliosen 发表于 2023-6-16 11:33:24

在这个地方插个眼,方便下次找到

dream9520 发表于 2023-7-8 19:00:22

H743的CANFD 最高能跑到1M8M的波特率吗,硬汉哥试过吗?

eric2013 发表于 2023-7-9 08:05:55

dream9520 发表于 2023-7-8 19:00
H743的CANFD 最高能跑到1M8M的波特率吗,硬汉哥试过吗?

我之前测试的是1M5M,后面买片CANFD SiC PHY试试1M8M

dream9520 发表于 2023-7-9 08:29:46

eric2013 发表于 2023-7-9 08:05
我之前测试的是1M5M,后面买片CANFD SiC PHY试试1M8M

我之前一直用的TJA1042,这个收发器的低电平最小脉宽在8M时测下来是150ns,MCP2542在测下来是正常的,这个1042也能跑1M8M但总线上的错误帧很多,有时候会传输失败

eric2013 发表于 2023-7-9 10:12:25

dream9520 发表于 2023-7-9 08:29
我之前一直用的TJA1042,这个收发器的低电平最小脉宽在8M时测下来是150ns,MCP2542在测下来是正常的,这 ...
试试这个你们提供的SiC加强版PHY型号。我这边还没有顾上测试,你那边有时间的话,可以先试试。

NXP推出基于汽车级S32K344的移动机器人评估板,集成100BaseT1和6个CANFD
https://www.armbbs.cn/forum.php? ... d=119361&fromuid=58
(出处: 硬汉嵌入式论坛)

二五 发表于 2024-2-29 14:07:07

看视频,位时序各段计算是直接用工具生成的啊。。。。那自己写程序的时候采样率和各段长度这些没视频的工具要怎么计算,有参考书吗,还是直接找参考程序?https://www.pnglog.com/RmaXrp.png

eric2013 发表于 2024-2-29 16:08:16

二五 发表于 2024-2-29 14:07
看视频,位时序各段计算是直接用工具生成的啊。。。。那自己写程序的时候采样率和各段长度这些没视频的工具 ...

用的这个。

大家可以手动计算。

【原创】H7-TOOL的CANFD Trace操作说明,不需要目标板额外做任何代码,支持在线和脱机玩法(2023-05-15)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=118999

二五 发表于 2024-2-29 21:23:23

采样点位置的计算是不是写错了,波特率计算0.5Mhz那个例子如果是20mhz/1/40=0.5Mhz的话,那1+NTSE1+NTSE2就是40,但是采样点位置79.5拿1+NTSE1+NTSE2=40去代公式感觉说不通,反倒是直接拿代码的赋值,1+NTSE1=31,1+NTSE1+NTSE2=39, 31/39=0.7948约为79.5%
下面仲裁波特率1Mhz的例子也是同理,如果1+DTSEG1+DTSEG2=9,那5/9=0.5555约为55.6%正确,但是20Mhz/2/9的值并不是1Mhz,这里1+DTSEG1+DTSEG2应该是10,总之搞不懂波特率和采样点公式的1+TSEG1+TSEG2是不是一个意思

eric2013 发表于 2024-2-29 21:50:13

二五 发表于 2024-2-29 21:23
采样点位置的计算是不是写错了,波特率计算0.5Mhz那个例子如果是20mhz/1/40=0.5Mhz的话,那1+NTSE1+NTSE2就 ...
1、仲裁阶段
   NominalTimeSeg1(NTSE1)=31,NominalTimeSeg1(NTSE2) = 8
   仲裁波特率 = 20MHz/Pre/(1+NTSE1+NTSE2) = 20M/1/(1+31+8) = 0.5M
   采样点位置 = (1+NTSE1)/(1+NTSE1+NTSE2) = (1+31)/(1+31+8) =80%(我截图的是79.5%是因为没有+1,直接算的31/39 ≈ 79.5%)

2、数据阶段
   DataTimeSeg1(DTSE1)=5,DataTimeSeg2(DTSE2) = 4
   数据波特率 =20MHz/Pre/(1+DTSEG1+DTSEG2) = 20M/2/(1+5+4) =1M
   采样点位置 =(1+DTSEG1)/(1+DTSEG1+DTSEG2) = (1+5)/(1+5+4) =60%(我截图的是55.6%是因为没有+1,直接算的5/9 ≈ 55.6%)

static/image/hrline/1.gif





xtaozi001 发表于 2024-4-1 14:56:43

做个记号,回来看看,
页: [1]
查看完整版本: BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并茂,配合综合实战演练(2023-05-15)