硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3834|回复: 34
收起左侧

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

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
发表于 2023-5-15 02:25:43 | 显示全部楼层 |阅读模式
上期视频教程为大家分享了很多CAN理论方面的知识,本期视频教程我们在实战应用中学习CANFD。

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

视频:

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




视频提纲:










参考资料:

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


评分

参与人数 6金币 +77 收起 理由
CAizg294 + 2
qq1646544 + 5
byccc + 10 很给力!
missfox + 20
suozhang + 20 神马都是浮云
木兰花 + 20

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-5-15 02:25:58 | 显示全部楼层
更新完毕。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2023-5-15 08:35:08 | 显示全部楼层
太猛了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-5-15 11:46:38 | 显示全部楼层
这几天不忙了,整理F1,F2,F3,F4,F7的经典CAN Trace文件。
回复

使用道具 举报

3

主题

1220

回帖

1229

积分

至尊会员

积分
1229
发表于 2023-5-15 11:48:30 | 显示全部楼层
硬汉大哥,官方的应用分享,距离你的差老远了,他们应该聘请硬汉大哥去做指导。
回复

使用道具 举报

23

主题

1403

回帖

1472

积分

至尊会员

积分
1472
发表于 2023-5-15 15:17:44 | 显示全部楼层
这期视频等好久了,终于发布了,怒赞
代码不规范,亲人两行泪!
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2023-5-15 16:39:12 | 显示全部楼层
辛苦
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

38

主题

291

回帖

405

积分

高级会员

积分
405
发表于 2023-5-15 17:58:10 | 显示全部楼层
硬汉你好,CANOpen的协议栈,推荐使用哪个?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-5-16 00:10:42 | 显示全部楼层
wanglehui_12 发表于 2023-5-15 17:58
硬汉你好,CANOpen的协议栈,推荐使用哪个?

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

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2023-5-16 19:27:52 | 显示全部楼层
可以讲下CMSIS-Driver Can的怎么配置吗,感谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-5-16 20:26:05 | 显示全部楼层
asddcai 发表于 2023-5-16 19:27
可以讲下CMSIS-Driver Can的怎么配置吗,感谢

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

教程可以看这个


回复

使用道具 举报

38

主题

291

回帖

405

积分

高级会员

积分
405
发表于 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


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-5-17 12:22:01 | 显示全部楼层
wanglehui_12 发表于 2023-5-17 11:33
嗯,搜集了一下,CANOpen协议栈也不少:

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

使用道具 举报

8

主题

157

回帖

181

积分

初级会员

积分
181
发表于 2023-5-17 14:08:07 | 显示全部楼层
eric2013 发表于 2023-5-15 11:46
这几天不忙了,整理F1,F2,F3,F4,F7的经典CAN Trace文件。

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 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


回复

使用道具 举报

8

主题

157

回帖

181

积分

初级会员

积分
181
发表于 2023-5-17 19:28:27 | 显示全部楼层
eric2013 发表于 2023-5-17 17:54
CAN XL  ? CANFD专题第1期提纲开头有个图

嗯,
回复

使用道具 举报

6

主题

126

回帖

144

积分

初级会员

积分
144
发表于 2023-5-18 09:40:17 | 显示全部楼层
V6会出例程吗,教程可以直接用V7的吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-5-18 09:56:04 | 显示全部楼层
role_2099 发表于 2023-5-18 09:40
V6会出例程吗,教程可以直接用V7的吗

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

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 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).
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-5-30 16:07:46 | 显示全部楼层
杜伯 发表于 2023-5-30 15:38
我用G474的板子检测到Bit 7 BO: Bus_Off status,查找错误码是(然后咋办呀?):
101: Bit0Error: During ...

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

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-6-8 10:40:57 | 显示全部楼层
接下来会出CANOpen的课程吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-6-8 11:03:25 | 显示全部楼层
BZU2020 发表于 2023-6-8 10:40
接下来会出CANOpen的课程吗

还有个CAN2.0的实战专题,这个用的人也很多,之后CANopen专题。
回复

使用道具 举报

1

主题

2

回帖

5

积分

新手上路

积分
5
发表于 2023-6-8 12:46:09 | 显示全部楼层
硬汉哥,想问一下我配置fdcan为1M仲裁5M数据传输速率,无法正常传输数据,用示波器测试can的tx没有看到脉冲输出,实际测试极限只到3M。您之前说5M可以实现是怎么做到的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 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
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2023-6-16 11:33:24 | 显示全部楼层
在这个地方插个眼,方便下次找到
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
发表于 2023-7-8 19:00:22 | 显示全部楼层
H743的CANFD 最高能跑到1M8M的波特率吗,硬汉哥试过吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 2023-7-9 08:05:55 | 显示全部楼层
dream9520 发表于 2023-7-8 19:00
H743的CANFD 最高能跑到1M8M的波特率吗,硬汉哥试过吗?

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

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
发表于 2023-7-9 08:29:46 | 显示全部楼层
eric2013 发表于 2023-7-9 08:05
我之前测试的是1M5M,后面买片CANFD SiC PHY试试1M8M

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 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
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2024-2-29 14:07:07 | 显示全部楼层
看视频,位时序各段计算是直接用工具生成的啊。。。。那自己写程序的时候采样率和各段长度这些没视频的工具要怎么计算,有参考书吗,还是直接找参考程序?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 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
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 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是不是一个意思
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106534
QQ
 楼主| 发表于 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%)




2224.png


回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2024-4-1 14:56:43 | 显示全部楼层
做个记号,回来看看,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-24 06:38 , Processed in 0.304427 second(s), 37 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表