作者:
唐晓泉
等级:
白银大侠
积分:
2537
分
发帖数:
324
次
网站总积分:
2537
分
发送消息
加为好友
查看用户的所有发言
|
 |
CAN开发应该分为两个阶段,一个阶段是功能开发,另一个阶段是性能开发.
1.CAN的功能开发,就是指能否利用CAN传输消息,即CAN调通没有调通.这个我就不说了,可以说现在大家干的基本上都在这一层次上.
2.CAN的性能开发.CAN的性能开发又分为两个阶段,其一是物理层设计,其二是CAN信息的实时性.
2.1 CAN物理层设计,CAN的物理层设计主要涉及两个方面CAN的传输时延和EMC.大家知道CAN的传输距离和抗干扰能力主要由信号的传输时延决定的,当CAN发送消息后,在规定的时间内接收不到ACK就认为传输失败,这和RS485通信是有本质的区别的.在物理层的实际设计过程中,为了增强CAN的抗干扰能力必定要加光耦,电容,TVS和电感类拟的东西,这些东西的加入无形中要增大信号的时延,本来为了增强CAN的抗干扰能,由于传输时延的增加,反而降低了CAN的抗干扰能力,这是我在近十几年在国内一些同行设计的CAN系统中发现的问题.目前我设计的CAN系统在500K的通信速率下在J1939的电缆中传输100M都不会发生错误;而前几天国内一家比较有实力的单位设计CAN系统在125K的通信速率下仅能传输几十米.同时我也测试过BOSCH的产品,其性能是非常高的.所以我在863电动汽车重大专项的总线会议上经常强调要设计一个具有竞争力的CAN系统,并不是简单地使用82C250,与82C250相关的每一个电阻,电容,电感和PCB上的每一根线都要认真考虑.对CAN的物理层设计的评估有一套方法,在这套方法的测试下就能分清优劣.
我为什么要研究CAN的测试方法,这是因为在前年我参观专项中一次CAN联调,发现总有一些CAN节点不能正常通信,而所有的零部件单位都说他们的没有问题,这时谁也不知道这是谁的问题.为了解决这些问题于是我开始CAN测试方面的工作,没有想到这一干就是两年.
2.2 CAN的实时性测试是指CAN的消息是否能准时发送.由于CAN自身存在优先级反转和软件开人员水平的限制,特别容易出现消息的周期抖动(jitter),我在测试中发现一家零部件研发单位采用POWER PC作为ECU的CPU,其CPU的负载很低,但他发送一条周期为10ms的消息,有时需要100多ms才发送出来,有时还不到5ms就发出来了.如果在CAN系统中出现这样一条消息,我想CAN的通信功能都实现了,但其控制质量肯定得不到保证.
对于CAN的测试技术是否成熟,我一直认为国外从事发动机,制动和变速控制的研发公司都有严格而完善的测试方法和标准,但我们得不到(也可能包括在华的合资和独资企业,因为如果在华的合资和独资企业有,我们也可能通过各种方式了解到).这就需要我们去探索.
实际上CAN的测试设备有的很贵,需要买,但很多可以用现有的通用设备和自制.
|
|