你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103C8T6的CAN通讯间隔?

[复制链接]
1+1=2 提问时间:2022-6-2 15:58 / 未解决
请问一下,STM32F103C8T6使用CAN发送数据,速率如果是1M的话,两帧数据的最小时间间隔是多少呢?
使用的是标准数据帧发送,第一条数据和第二条数据发送间隔是多少?
收藏 评论8 发布时间:2022-6-2 15:58

举报

8个回答
废鱼 回答时间:2022-6-7 08:45:02
间隔应该根据你的设计进行的,比如说应答应该在多长时间内回复?超时应答机制等等。只要满足你的应答要求即可。
废鱼 回答时间:2022-6-6 08:45:20
自己可以根据波特率计算出一位的时间,再根据CAN总线传输协议计算出传输一包需要的bit位。然后算出一次传输需要的时间, 从这个时间来计算即可。
从实际应用 来说,一般可以通过判断发送标志位,当发送完成后,即可进行下次的发送。可以使用中断的方式。
butterflyspring 回答时间:2022-6-6 11:11:02
跟据CAN的协议规范,这类总线是竞争的,所以总线的各种状态会影响CAN报文的发出。 实际上将报文交给发送邮箱,剩下的就是邮箱根据总线状态和协议规范自动执行了,软件很难干预。 CAN网络比较复杂,建议还是以实际测试为主吧。有总线监控仪器,得到的分析数据上有时间戳,这样很容易看到各类帧间隔。
1+1=2 回答时间:2022-6-7 08:17:09
butterflyspring 发表于 2022-6-6 11:11
跟据CAN的协议规范,这类总线是竞争的,所以总线的各种状态会影响CAN报文的发出。 实际上将报文交给发送邮 ...

情况是这样的,CAN总线上只有我配置的一主一从,主机轮询从机的各种状态,主机给从机发送指令的间隔大约是多少合适,两个芯片都用的STM32F103C8T6
1+1=2 回答时间:2022-6-8 09:28:18
废鱼 发表于 2022-6-7 08:45
间隔应该根据你的设计进行的,比如说应答应该在多长时间内回复?超时应答机制等等。只要满足你的应答要求即 ...

嗯,我现在就是采用20毫秒的间隔发送一次数据
butterflyspring 回答时间:2022-6-8 10:55:00
1+1=2 发表于 2022-6-7 08:17
情况是这样的,CAN总线上只有我配置的一主一从,主机轮询从机的各种状态,主机给从机发送指令的间隔大约 ...

举个例子,如果发送的信息由于某些原因没有得到接收发的应答,那么按照协议就会重发(期间还可能有一些其他帧数据在总线上,具体可以用CAN 盒子监控),这时候的时间就是不固定的。如果出错到一定次数,该节点还会退出。 所以涉及到的因素很多,没有固定的公式计算。can 协议只保证发送的成功和准确,速度不是追求的重点。所以实际测试最好,留有一定的余量。
1+1=2 回答时间:2022-6-9 08:17:43
butterflyspring 发表于 2022-6-8 10:55
举个例子,如果发送的信息由于某些原因没有得到接收发的应答,那么按照协议就会重发(期间还可能有一些其 ...

嗯,感谢您的耐心解答,经过我的测试,不能使用硬件重发功能,否则如果连续三次发送失败,就会影响整个网络上的数据传输,这就好比三个邮箱都占满了,因为有硬件重发机制的存在,他们就会在经过仲裁后,重新发送,可是如果发送失败就会一直发送,所以这样就导致了堵塞,现在我是把硬件重发机制去掉了,这样每次发送都是发送一次,不管是否成功,再加上20毫秒左右的延时时间,保证发送邮箱为空,可以再次被调用,这样就可以了
废鱼 回答时间:2022-6-10 17:03:11
1+1=2 发表于 2022-6-9 08:17
嗯,感谢您的耐心解答,经过我的测试,不能使用硬件重发功能,否则如果连续三次发送失败,就会影响整个网 ...

一般不用硬件重发功能,这样会导致网络出问题的,比如波特率设置错误后,会导致总线错误。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版