搜索
查看: 4284|回复: 28

ADI读书活动第四十六期:如何解决CAN总线数据传输延时优化...

[复制链接]

177

主题

458

帖子

5875

积分

论坛元老

Rank: 8Rank: 8

积分
5875
发表于 2015-9-7 15:29:06 | 显示全部楼层 |阅读模式
如何解决CAN总线数据传输延时优化系统性能

本文由社区热心网友 IMCQ 撰写!!!欢迎大家进行沟通交流!!!

内容:
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是电子设计中经常用到的通讯技术,以前经典的CAN电路是使用SJA1000控制芯片和82C250接口芯片搭建,CAN总线可在多个网络站点之间提供强大的通信能力,支持多种数据速率和距离。CAN具有数据链路层仲裁、同步和错误处理等特性,广泛用于工业、仪器仪表和汽车应用之中。

CAN 的高性能和可靠性已被认同,并被广泛地应用,和同样广为使用的485总线相比,CAN虽然成本稍高但还是有许多优点:网络各节点之间的数据通信实时性强,较好的错误检测机制安全性高,传输距离远,多主从结构总线利用率高,已形成国际标准的现场总线。

CAN总线硬件上常用的设计方法有两种,一种是使用处理器和独立的can控制器,与一个can收发器接口的方式;另一种是:集成can控制器的处理器和一个can收发器接口。无论使用哪种方式,由于can总线经常应用于恶劣的环境下,所以使用隔离措施是十分必要的,最经典的隔离方式是通过两个高速光隔和一个隔离DCDC的组合。不过随着技术的进步,这种占用板面积比较大的设计得到了改进,现在出现了许多集成隔离器的收发器,甚至是隔离电源也集成在芯片内。各种方式比较灵活适用于不同的设计需要。比如adi公司的ADM3052,ADM3053ADM3054等。

图片1.png
图片2.png


无论使用哪种结构方式,在数据在CAN总线上传输时,同样要注意各种不利因素对信号的影响。传输延时是常见的情况,随着电缆长度的增加,信号中的高频组分衰减,还有一些隔离因素导致信号拖延,因此,长距离条件下的数据速率都有限,达到理论1mbps是有难度的。

传输延时会影响can总线的仲裁机制,使其失去效果。CAN总线传输数据时所有节点要监视总线,根据节点ID判断优先权。尽管CAN 节点与总线传输同步,但是,由于两个同时传输的节点之间存在传播延迟,所以可能会同步不上。导致传输主动位(逻0)的节点覆盖掉传输被动位(逻辑1)的节点数据,仲裁不能发挥作用。传输延时导致了较快的节点在检测到较慢节点传输的位状态之前就对总线进行采样了。最差条件下的传播延迟为两个最远节点间延迟的两倍。如图2图3。
图片3.png

图片4.png

常见的解决方式有和485一样加端接配置电阻,选择降低数据速率、缩短总线长度或者使用不同的CAN控制器时钟速率。
如果使用配置CAN控制器时钟速率方法,为了补偿因较长总线或隔离增加的传播延迟,必须为CAN 控制器设置与时序和同步相关的特定参数。在配置控制器时,不只是选择一个数据速率,而是要设置决定着控制器所用位时间的变量。简单的说分三步:
第一步:检查时钟和预分频器——匹配数据速率
第二步:确定位段配置
第三步:使收发器/隔离延迟和总线长度与配置相匹配.........

《配置控制器局域网络(CAN)位时序,优化系统性能》一文教你如何进行传播延迟补偿,样进行CAN控制器的配置。通过独立的can控制器和集成can控制器两种例程说明如何检查时钟和预分频器匹配数据速率。快下载看看吧。

CAN_bit_timing_cn.pdf (454.74 KB, 下载次数: 17)
1.jpg
回复

使用道具 举报

0

主题

13

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2015-9-10 10:30:41 | 显示全部楼层
1.SJA1000,MCP2510,TJA1050,PCA82C250,MCP2551 ADM3052
2.硬件上注意总线的拓扑结构,终端匹配电阻,信号波形的斜率控制。软件上波特率的选择,尽量降低误码率,及参见楼主文档中推荐文档。
3.ADM3032 隔离电压5KV  不集成ISOPOWER  集成高压总线侧调节器  输入电源3V至5.5V     SOICW16
   ADM3053 隔离电压2.5KV  集成ISOPOWER  不集成高压总线侧调节器 输入电源 4.5至5.5V  SOICW20
   ADM3054 隔离电压5KV   不集成ISOPOWER 不集成高压总线侧调节器 提供电源/接地的短路保护 输入电源  3V至5.5V   SOICW16
4.CAN总线应用最关键的问题就是抗干扰的能力,现场信号复杂,电器信号骚扰,浪涌冲击不可避免,轻则信号中断,严重的烧毁主机也时有发生。提供抗干扰能力,自我诊断能力是设计关键。做好这一点你的CAN总线设计才能走出实验室,不然就是玩具级别的。当然CAN总线技术协议基础也是必不可少的 。
回复 支持 1 反对 0

使用道具 举报

177

主题

458

帖子

5875

积分

论坛元老

Rank: 8Rank: 8

积分
5875
 楼主| 发表于 2015-9-7 16:51:57 | 显示全部楼层
小伙伴们参加来了


中秋送礼品了
回复 支持 反对

使用道具 举报

12

主题

50

帖子

114

积分

注册会员

Rank: 2

积分
114
发表于 2015-9-7 16:52:19 | 显示全部楼层
支持!!!文章内容比较深奥,要好好研究一下
回复 支持 反对

使用道具 举报

21

主题

57

帖子

137

积分

注册会员

Rank: 2

积分
137
发表于 2015-9-7 16:52:49 | 显示全部楼层
这个内容感觉真的不是一般小兵能消化的,我要看大神们怎么说
回复 支持 反对

使用道具 举报

21

主题

57

帖子

137

积分

注册会员

Rank: 2

积分
137
发表于 2015-9-7 16:53:11 | 显示全部楼层
我是学习的,当然我也很喜欢这个自拍杆啊
回复 支持 反对

使用道具 举报

76

主题

222

帖子

678

积分

高级会员

Rank: 4

积分
678
发表于 2015-9-7 16:57:50 | 显示全部楼层
2 利用哪些方法,可以实现CAN节点间时序和同步更可靠的稳健网络,承受传播延迟?
答:可以选择降低数据速率、缩短总线或者配置不同的CAN控制器时钟速率。

3 ADI公司的三款CAN接口芯片有何区别?ADM3052、ADM3053、ADM3054
答: ADM3052:集成高压、总线侧线性稳压
      ADM3053:隔离DC/DC转换器
      ADM3054:提供系统总线保护
回复 支持 反对

使用道具 举报

76

主题

222

帖子

678

积分

高级会员

Rank: 4

积分
678
发表于 2015-9-7 16:58:23 | 显示全部楼层
问题1与问题4要酝酿一下的,一时话太多不知道说啥
回复 支持 反对

使用道具 举报

23

主题

683

帖子

2102

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2102
发表于 2015-9-10 08:58:01 | 显示全部楼层
支持一下,传输延时可能导致,总线上,两个节点会同时传输数据,而不是仲裁后的单节点传输。多个节点一起传输就引起了混乱了,然后文章就针对这个问题做了can控制器配置说明,是不是这样?
回复 支持 反对

使用道具 举报

23

主题

683

帖子

2102

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2102
发表于 2015-9-10 12:25:26 | 显示全部楼层
傻笨 发表于 2015-9-10 10:30
1.SJA1000,MCP2510,TJA1050,PCA82C250,MCP2551 ADM3052
2.硬件上注意总线的拓扑结构,终端匹配电阻,信号波 ...

赞,楼主是高手,不错的经验分享,学习了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|EEFOCUS

论坛已做迁移,有相关技术资料和问题讨论可以到电路城对应版块(“模拟/电源”)
X

GMT+8, 2020-1-27 09:09 , Processed in 0.086670 second(s), 11 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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