APP下载

基于ATE的CAN总线控制器测试

2021-12-13陶知陆晓峰侯庆庆

电子元器件与信息技术 2021年8期
关键词:报文总线向量

陶知,陆晓峰,侯庆庆

(1.中国电子科技集团公司第五十八研究所,江苏无锡 214072;2.中电科申泰信息科技有限公司,江苏 无锡 214063)

0 引言

CAN总线是控制器局域网络(Controller Area Network, CAN)的简称,是ISO国际标准化的串行通信协议,具有高性能、高可靠性、实时性等优点。最初是为汽车的监测、控制系统而设计的,现已广泛应用于航天、电力、石化、纺织、造纸等行业,在火车、船舶、机器人、楼宇自控、医疗设备、工业自动化仪表等设备中,都广泛采用CAN技术,是国际上应用最广泛的现场总线之一。

1 功能介绍

CAN总线协议的最大特点之一是取消了传统的站地址编码,取而代之对通信数据块进行编码。使不同的节点同时接收到相同的数据,理论上网络中的节点数不受限制。而且结构简单,仅2条线连接到外部,通信速率可以高达1Mbps 。

CAN总线具有的完善的通信协议可由CAN控制器芯片及其接口芯片CAN收发器来实现。CAN控制器用于将欲收发的报文,转换为符合CAN规范的CAN帧,通过CAN收发器,在CAN总线上交换信息。所有控制操作都在CAN控制器中实现。例如:帧ID,帧数据,帧格式,帧类型和其他参数的成帧处理,CRC校验,响应检测等。以下通过某款CAN控制器来进行功能介绍,其功能框图见下图1。

图1 功能框图

CAN总线控制器主要有接口管理逻辑、发送缓冲器、接收FIFO、验收滤波器、位流处理器、位时序逻辑、错误管理逻辑等模块[1]。发送缓冲器可以存储一个完整的报文,当主控制器要求CAN控制器发送报文时,接口管理逻辑操纵CAN核心模块将发送缓冲区中的报文发送到CAN总线上;当接收一个报文时,CAN核心模块首先将总线上的串行位流数据转换为并行数据,然后交给验收滤波器进行识别,判断该报文是否为主控制器所要求的报文类别,把不希望接收到的数据过滤掉。所有接收的报文可以存放在接收FIFO内,根据不同的工作模式和数据长度,该队列可以存放最多32个报文。

2 测试程序设计

CAN总线控制器可以有两种工作模式:BasicCAN和PeliCAN。BasicCAN仅支持标准帧模式,PeliCAN支持标准帧模式和扩展帧模式。通过时钟分频寄存器来选择使用哪种模式。在PeliCAN模式下,可通过配置模式寄存器来选择工作模式,验收滤波模式、自我测试模式还是仅听模式。

我们采用的ATE测试机是J750EX。测试前,将设计过程中的各种配置、各种工作模式下全部功能的仿真波形通过采样转换成二进制文本格式,再通过转码软件编译成ATE测试机专用的测试向量。

绘制ATE上专用的DUT板时,需将电路的所有引脚接到测试机的数字或电源通道上,并进行去耦及RC滤波防串扰等处理。

编写测试程序时,根据J750EX支持多测试向量的特点,在测试程序中针对不同的功能运行不同的测试向量[2],并通过指定的测试向量来对电路的电参数进行相应的测试。最终完成对电路全功能、全参数的测试。如图2所示。

图2 测试流程图

2.1 功能测试

仿真需要覆盖电路的所有功能点,在BasicCAN和PeliCAN两种模式下,包括接收FIFO写满、读空、64B遍历,所有寄存器的上电复位后读、写、再读的操作等基本读写操作。还包括一些特殊功能,比如溢出状态、滤波功能、远程帧与数据帧的竞争、单滤波功能、三倍采样、不同波特率配置、标准数据帧与扩展数据帧的竞争、单次发送功能、中止发送功能、自检测模式、自接收功能、只听模式等。及一些中断操作,比如仲裁丢失中断、数据溢出中断、发送中断、接收中断等。另外在将输出控制器配置为时钟输出时,对输出引脚TX0、TX1的输出电平进行了悬空、下拉、上拉3种状态的功能测试。所有测试点覆盖了intel和moto两种工作方式,并进行了全工作电压4.5V~5.5V下的功能测试,40余个测试向量覆盖了电路全部功能[3]。

2.2 直流参数测试

直流参数主要包括睡眠模式电流、工作电流、输入引脚的输入高/低电平,输出引脚的输出高/低电平等。通过运行功能向量(intel_sleep_mod_basic_lite_loop.pat)使电路进入睡眠模式,完成睡眠模式电流的测试,通过运行全速读写的功能向量(send_frame_ext.pat等)来测试电路的工作电流。通过运行部分读写功能向量(moto_send_frame_ext.pat、intel_send_frame_basic.pat等),确保测试向量中覆盖输入、输出引脚的全部状态,完成对电路输入、输出引脚的静态参数测试[4]。

2.3 交流参数测试

交流参数主要包括各个控制信号、数据信号之间的建立、保持时间,控制信号的最小脉冲宽度,输出数据的有效时间等。以下通过一个建立时间(TSUAAL)来说明交流参数的测试。波形如图3所示。

图3 时序波形图

首先在测试程序中设置对应的时序波形,如图4所示。

图4 设置Time Set

然后设置Characterization。根据每项参数的要求选择搜索方式(return、open还是data等),比较方式(Edge还是Level等),然后选择合适的算法(Pos Linear、Neg Linear、Pos Binary、Neg Binary等),设置搜索的范围,对于多引脚的搜索结果选择显示方式(Individual还是Simultaneous)等。

然后在测试向量中找到相应交流参数运行的周期,替换tset,然后运行测试向量,保证功能正常。

最后通过搜索得到相应的交流参数测量值,通过VB语言输出。

3 结语

本文对CAN总线控制器进行ATE测试,通过完整的ATE测试程序,覆盖电路的全部功能和性能。在全温度范围、全电压范围内,将设计仿真波形转换成测试向量进行测试来保证功能正常,对电路的直流参数、交流参数测试来保证电路的性能指标。通过ATE测试机的一键操作,大大缩短了测试时间,同时提高了CAN总线通讯的可靠性,为总线控制器电路的测试提供了一种切实可行的方法。

猜你喜欢

报文总线向量
基于J1939 协议多包报文的时序研究及应用
向量的分解
聚焦“向量与三角”创新题
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
ATS与列车通信报文分析
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线