如何快速测试CAN FD总线的采样点?
CAN 协议里将一个位时间分为同步段、传播段、相位缓冲段 1 和相位缓冲段 2。这些段又由称之为Time Quantum(以下称为Tq)的最小时间单位构成。1位由多少个Tq构成、每个段由多少个Tq构成等是可以设定的。通过设置bit时序,使得可以设定一个采样点以使总线上多个单元可同时采样,所谓采样点就是在这一时刻总线上的电平被锁存,这个锁存的电平作为位的值。采样点的位置在相位缓冲段1(PBS1)的结束处。
图1 CAN 位时间结构图
- 同步段(SS):多个连接在总线上的单元通过此段实现时序调整,同步进行接收和发送工作,边沿包含在此段中;
- 传播时间段(PTS):用于补偿网络上所有的物理延迟;
- 相位缓冲段1(PBS1)和相位缓冲段2(PBS2):当信号边沿不能被包含于(SS)段中时,可在此段进行补偿;
- 采样点:读取并解释总线上各位值的一个时间点。
采样点位置如图1所示,它是读取总线电平,并将读到的电平作为位值的点,所以从一个位的开始到采样点的时间占一个完整位的总时间的百分比就是所求的采样点的值:sample =(1+TSEG1)/(1+TSEG1+TSEG2)。
将ZPS-CANFD设备连接好后,再选择“采样点测试”并设置好对应的参数,然后开始测试即可进行采样点的测试,如图2,最终的测试结果为:90%,误差为5%位宽。
ZPS-CANFD测试原理及过程如下:
1、用ZPS-CANFD发送ID 为0的报文100帧,在此报文的第一个ID位(1注1)的0%处施加一个宽度为27%位宽(2注2)的干扰(如图3),记录这100帧报文中出现的错误帧数,但由于此时距离采样点位置较远,暂时不会出现错误帧。
2、27%位宽的干扰逐渐以1%位宽的步进向右移动,在干扰的右边沿快靠近采样点时(如图4),由于通信延迟的关系,此时采到的电平和ZPS-CANFD发送的不一致了,导致DUT接收到的CRC校验和DUT计算的CRC校验不一致,DUT就会主动发出错误帧,把每一个不同干扰位置的错误帧数记录下来。从此刻开始,继续往右步进,错误帧数也会有所增加。
3、继续步进,当干扰的左边沿位置过了采样点后(如图5),此时DUT就不会再出现错误帧了。因此,最后一个出现错误帧的位置就是我们想要知道的采样点位置。
三、常规采样点的设计
采样点对CAN总线来说非常重要,在组网的时候,多个节点应尽量保持同一个采样点,且最好在但不超过7/8位时间点上,标准中也给了如下几个例子。
关于采样点的计算:
sample =(1+TSEG1)/(1+TSEG1+TSEG2)。
- 例如上面的计算举例:晶振时钟频率16M, SJW为1个Tq, TSEG1 为13, TSEG2为2,则采样点计算带入上面的公式,sample =(1+13)/(1+13+2)=87.5%。
半导体行业下游市场涉及汽车、工业、消费电子等各个领域,仅控制器市场在2020年就已达175亿美元,2021年重返正增长,2020-2025年CAGR为8%。
以汽车电子为例,当前汽车领域随着新能源汽车的蓬勃发展,对于该分类汽车的开发也愈加成熟。其系统可以分为几大板块,即动力总成、车身控制、辅助驾驶系统等,而每个系统下又有多个子单元进行单独控制,例如发动机、座椅调节、空调、影音装置等。因此从数量上来说,一辆车所需要的ECU和MCU的数量也在随之增加。到目前为止,各系统下的节点数量一般都会达到20-50个。
ECU的增加使得汽车线束排线困难、软件维护与升级困难、模块间信息沟通效率低,因此就需要使用CANFD技术来增加通讯的速率和效率,而此时随着带宽的增加,各节点的采样点测试就成为了保证通讯的核心点。
ZPS-CANFD是致远电子总线分析仪第二代CAN总线开发辅助工具,是适用于CANFD、CAN、LIN总线的测量及测试仪器,支持总线数据的发送和接收,高层协议解析及诊断,能对CANFD、CAN总线物理层电气信号实时采集和记录,并附带有高速模拟通道、通用数字IO及模拟IO,通过提供的硬件接口及软件功能,用户能够便捷地构建总线信号测量与分析、
如果您有建议或者指导,也欢迎在拨打4008884005与我们的工程师共同讨论。