当前位置:网站首页>RoyalScope分析仪:发现CAN总线波形台阶和信号幅值低的问题
RoyalScope分析仪:发现CAN总线波形台阶和信号幅值低的问题
2022-08-10 03:21:00 【来可电子-CAN】
下文将针对边沿台阶的现象做详细介绍:
解释边沿台阶是怎么出现的;
边沿台阶如何消除;
边沿台阶对总线有何影响。
1、边沿台阶的源头
在CAN总线的网络布局中,手牵手直线型拓扑是最理想最常规的布局;但是在实际现场中,经常会出现分支的现象。这里重点提一下,在计算CAN总线长度的时候,分支(从收发器端至总线)长度也要加上。
为此我们做了分支过长的实验,实验中CAN总线中有三个CAN节点,主干线长度为15米,其中一个节点的分支长度为1米,波特率为250k的情况下进行通信。下图为实验的CAN波形图,明显可以看到上升沿和下降沿存在台阶现象,从而引起波特率变化,导致接收节点采样出错(也称位宽错误)。
2、消除边沿台阶
边沿台阶是造成错误波形的罪魁祸首,那么该如何消除边沿台阶的现象呢?下文将从源头以及补救措施上分别介绍一些可靠有效的方法。
1)减少分支长度
在CAN网络布局的根源上解决问题的方式就是减少CAN节点的分支长度,从而降低信号反射,保证位宽的稳定性。在上述实验中,其它条件不变,只将分支长度减少为20cm;下图为CAN波形图,此时并没有看到边沿台阶的出现。由此可见,减少分支长度是消除边沿台阶的最直接方式。
2)长分支上加适当电阻
在网络布局无法改变,分支引起的信号反射必须存在的情况下。最实用的方法就是在长分支末端加上电阻,消除信号反射。同样的在上述实验中,在分支节点处加上一个200Ω的电阻,其它条件不变进行通信实验。下图为实验的CAN波形图,此时可以看到边沿台阶已被消减,但是加了电阻之后差分电压变小,注意差分电压不得小于0.9V。这里值得一提的是:阻值大于500Ω的电阻吸收反射的能力很弱,所以在末端挂电阻的时候应小于500Ω。
3)缩短残端
前面提到分支长度指的是从节点收发器至总线处的距离,在节点设计之初,应选择TTL远传方式,因为TTL电平不受CAN电容影响,所以收发器应靠近接口摆放,以减少分支残段的长度,建议控制在10cm以内,可以保证阻抗连续。
TTL远传最直接的方式就是将CAN收发器紧挨着CAN主干线放置,这样就没有分支长度。光缆星型拓扑结构便是使用这种方式,如下图;CAN光纤收发器内置在盒子里面,使用TTL电平远传到另一个CAN光纤收发器,解决了节点随意变化问题(节点任意上下电或插拔)。
4)消除负载集中
在布局较复杂的CAN网络中,为了避免节点摆放集中导致反射叠加,建议相邻节点的距离不得小于2cm,10m的电缆上所集中的设备最好不要超过4个,否则应加电容以吸收,并且此集中与下一个集中至少有10m的电缆距离。
同样,在复杂网络布局中,分支过长且不等的网络,由于阻抗匹配困难,常使用中继器进行分支;中继器有独立的控制器和MCU,将每段形成独立的直线拓扑。
5)屏蔽层分段接地
屏蔽层多点接地需要注意接地点电位,避免地回流影响信号质量。若屏蔽层太长可以采用分段屏蔽,单点接地方法,就可以有效避免地回流的问题。
五、解决幅值低的问题
CAN 总线上面的信号幅值是接收节点能正确识别逻辑信号的保证。一般来说差分电平(CANH-CANL)的幅值只有大于0.9V 才能被100%识别成显性电平,同理如果幅值低于0.9V 就有被识别出隐形电平的可能。
下表中的0.5V~0.9V 是不确定区域,这个根据不同收发器而异,与温度也有关系。所以检查通讯中幅值最小的那个(那些)节点,是我们的进行问题排查的重要步骤。因为如果幅值过低容易导致时通时断等现象。
为了保证通讯质量。考虑在温度变化、干扰等因素,我们通常要求现场调试CAN 的差分幅值通常都要求在1.3V 以上。所以我们可以通过RoyalScope的眼图分析找出幅值最小的亮线,保证在调整后,它处于1.3V 以上。
为了提高幅值,我们有以下几种办法:
1、使用线径更大的线缆,减小导线阻抗,需要强调的是CAN 通讯禁止使用网线和电话线,因为其阻抗极大,100 米就相当于1000 米的标准距离;
2、调整终端电阻值,提高幅值。这个是1.5m㎡线缆的匹配值。
边栏推荐
- proxy代理服务
- nodejs 时钟案例(fs模块),重复使用fs.writeFile方法,旧内容会被覆盖
- 使用curl指令发起websocket请求
- vue项目 npm run build 打包项目防止浏览器缓存
- uva1481
- How to quickly become a software test engineer?What skills do testers need for a monthly salary of 15k?
- flutter 每天一背,需要掌握
- 软件的生命周期(软件工程各阶段的工作)
- electron 应用开发优秀实践
- 快35了,还在“点点点”?那些入行几年的测试点工后来都怎么样了?
猜你喜欢
随机推荐
goland json.Marshal导致&变成\u0026
使用 requestAnimationFrame 提升 web 性能
@Autowired注解 --required a single bean, but 2 were found出现的原因以及解决方法
一文教会你快速上手 Vim
如何使用腾讯字体,已经在什么场合下可以使用该字体?TTTGB-Medium
互联网公司高频面试题精讲:测试计划和测试方案有什么区别?
How does a new tester do functional testing?Test thinking is really important
请教各位confluence部署连接数据库成功,但是在后面建表设置的时候报错
金融财经翻译的行业前景如何
matlab simulink响应谱计算
netstat和ss命令区别
proxy代理服务
如何快速成为一名软件测试工程师?测试员月薪15k需要什么技术?
Did not detect default resource location for test class xxxx
Mini Program Navigation and Navigation Parameters
全面深入了解什么是反向代理和负载均衡
湖仓一体电商项目(四):项目数据种类与采集
10个超赞的C语言开源项目,值得学习
所谓软件测试工作能力强,其实就是这 5 点
驱动程序开发:无设备树和有设备树的platform驱动