基于FPGA的LED驱动芯片高速测试的设计和实现

2021-03-10 09:20汪芳王兵王美娟
电子技术与软件工程 2021年20期
关键词:测试数据时钟波形

汪芳 王兵 王美娟

(无锡力芯微电子股份有限公司 江苏省无锡市 214028)

1 引言

近年来LED 面板越来越多的被广泛使用到各行业中, LED 面板具有亮度高、显示清晰、寿命长、功耗低、显示刷新率高等优点[1]。

在LED 显示屏应用中,不管是室内或者是户外的显示屏,都由若干块LED 面板单元级联而成,一块LED 面板上又有若干颗LED 显示驱动芯片,为了获得良好的显示效果,电路与电路间、面板与面板间的数据传输速率较快,其数据传输时钟在20MHz 以上,同时LED 显示屏的数据刷新率也较高,可以达到2kHz 以上,为了达到显示高刷新率、高画质、高效率通常采用PWM 的控制方式,这就要求LED 驱动芯片有快速的串行数据接口以及快速的输出驱动响应[2][3]。近年来为了适应LED 屏的应用需求井喷,大批量的芯片如带一定驱动能力的移位寄存器芯片和多通道的恒流LED 驱动芯片等越来越多的应用于LED 大屏显示。而对于这类LED 驱动芯片而言,因上述应用场景的需求,测试其高速串行接口和快速的输出响应就显得尤为重要[4][5]。

针对这些性能的量产测试,目前市场上并没有针对此类芯片特征的专用测试仪器。而一般单纯基于MCU 测试方案,由于MCU 的IO 端口翻转速度有限,测试图形(Pattern)的时钟只能做到1MHz 左右,远低于一般LED 驱动芯片20MHz 以上的串口通讯的时钟频率,不能有效的筛选出高速串行接口有缺陷的被测电路(DUT,Device Under Test)。另外一方面,MCU 较低的IO 端口读取速度(通常为1MHZ 左右)也很难捕捉到DUT 几百纳秒的动态参数输出响应,也不能筛选出动态输出响应有缺陷的芯片。对这些市场规模近百亿颗(数据来源:Trend Force,Apr.,2021)的LED 驱动芯片测试需求开发一套能完成筛选性能和参数、剔除有缺陷产品或者性能参数超标产品的专用测试系统,具有实际意义。

本文介绍一种以FPGA 为核心的测试整体方案,借助FPGA 时钟频率高、I/O 端口速度快、内建快速的RAM 以及强大的时钟管理等优点,在FPGA 上着重实现了高速测试激励模块和快速响应测试模块,满足了此类通用LED 大屏驱动电路的大批量量产功能测试需求。

本文以测试品牌为ETEK 的通用LED 驱动芯片74HC595 测试为实例,以FPGA 逻辑设计、仿真为重点详细阐述了FPGA 内部各个测试模块的设计及实现要点。

2 设计与实现

FPGA 逻辑设计是本测试模块的重点,这里用Verilog 硬件描述语言设计逻辑以及测试向量连验证各个模块的功能[6][7][8],采用自下而上的设计方法,先设计各个子模块,测试验证后再将这些子模块封装成整体。图1 为综合后初步生成的RTL 级原理图,主要包括:数字时钟管理单元DCM、高速串行数据发送模块(High Speed Serial Data Send Module)、TPHL_TPLH 动态测试模块、QH 串行级联测试模块、动态测试数据多路开关、G 使能信号多路开关等六个模块组成。

图1:逻辑设计RTL 级原理图

高速串行数据发送模块是测试方案中动态参数测试的重要模块,它包含两部分:低速串行数据接收模块和高速数据发送模块,50MHZ 的系统主时钟通过全局时钟管脚进入FPGA,经过FPGA的数字时钟管理单元后,产生不同频率、不同相位的时钟送入不同的模块。高速串行数据发送模块通过定制的串行接口接收MCU 的数据并解析后,生成各种测试所需的激励波形。激励波形的25MHz的时钟CLK 由50MHZ 的系统主时钟分频而来,整个模块仿真波形如图2,其中sck_f、ser_f、rck_f、sclr_f 和g_f 为MCU 发送给FPGA 的慢速串行信号,信号格式符合74HC595 的功能逻辑,数据ser_f 在sck_f 时钟的上升沿移入FPGA 内部寄存器中,当MCU发送完两个Byte 数据后,在rck_f 信号的下降沿,FPGA 开始向DUT 发送高速信号,这些信号包括sck_74hc595、rck_74hc595、ser_74hc595、sclr_74hc595 和g_74hc595,这些信号与MCU 发送给FPGA 的内容一致,所不同的是所有信号都被加快,其中时钟频率为25MHz。

图2:高速串行数据发送模块仿真波形

为了提高动态参数测试的时间分辨率,需提高动态参数测试模块的时钟,为此将50MHz 的主时钟输入FPFA 的DCM 模块,DCM 经过配置,输出一路200MHz 的时钟供TPHL_TPLH 动态响应测试模块使用,在200MHz 的时钟驱动下动态响应测试模块以5ns 的采样周期采样DUT 的输出。

模块tplh_delay_test_top 的波形仿真过程中,my_ram 信号配置为:CLK 上升沿写入或者读取数据、cs_ram 为使能信号,低电平有效。此时如果we_ram=0,RAM 的输入数据74hc595_out[7:0]在每个clk_200MHz 时钟上升沿存储进RAM,在写模式下,RAM 的地址自动从00H 增加到FFH,地址累加的间隔时间与动态参数测试模块的主时钟相同,周期都为5ns.当地址累加到FFH 后,会停止写操作。

MCU 可以同过控制使能信号cs_ram=0 和we_ram=1 来读取RAM 中的数据,MCU 将地址更新到地址总线address_read[7:0]上,读取的数据会在clk_200MHz 时钟上升沿出现在数据总线dout 上。验证写入RAM 的数据和读取数据完全一致。

在测试74HC595 输出端口响应的同时,74HC595 的QH 串行级联输出数据经过sck_74hc595 时钟信号的上升沿锁存到FPGA 相应的一个8位寄存器中, MCU通过动态参数输出多路开关(Dynamic Test Data Output Mux)选择读取DUT 的动态响应测试数据或者DUT 的串行输出测试数据。

2.1 测试系统PCB整体布局

整个测试系统布局在一块4 层PCB 上,如图3所示。其中数字和模拟部分分开布局,减少开关噪声较大的数字电路对模拟电路如ADC、OPAMP 的干扰。图中黑色区域为测试系统的电源,为测试系统提供+9V,+5V 和+3.3V 电源。红色区域为FPGA 最小系统板,紫色区域为MCU 最小系统板,橙色区域为高速比较器阵列,黄色区域为可编程VREF 电路,深红色区域为ADC 以及电流测量差分电路。白色区域为DUT 插座。

图3:测试系统PCB 布局

3 实测和数据分析

3.1 与示波器实测波形对比

高速串行数据发送模块串行接口的实测波形如图4所示,CH1为g_74hc595 输出使能信号,脉宽为160ns,CH2 为rck_74hc595信号,CH3 为ser_74hc595 数据信号,CH4 为clk_74hc595 时钟信号,其中ser_74hc595 数据可由MCU 输入而改变,图中输入的数据为55H(0101_0101B),图中串行时钟信号频率达到了25MHz,各信号时序完全符合74HC595 的时序,从而满足了DUT 高速串行接口的测试要求。

图4:高速测试激励模块串行接口波形图

测试74HC595 的输出动态响应时,输入测试图形需要考虑到相邻管脚的互相影响提高测试覆盖率。这里使用输入串行数据55H(0101_0101B)为例,使得74HC595 的QH-QA 等8 个端口在输出使能信号g_74hc595 的脉宽控制下,其中有4 个通道输出相应的驱动波形,4 个通道一直关闭,BIT 位为0 的输出通道打开,BIT位为1 的通道关闭。

图5 是示波器测试74HC595 的其中一个通道输出驱动波形,其中CH4 为g_74hc595 输出使能信号,宽度为160ns,CH3 为74HC595 输出通道驱动波形,由于74HC595 输出通道的寄生电容影响,上升沿和下降沿都变缓,实际输出的脉宽变窄,经过高速比较器比较后,最终用50%-50%边沿方法示波器测得整形后的波形脉宽为155ns,图6 是FPGA 动态测试模块测得整形后的波形输出数据,MCU 读取FPGA 数据并通过通用异步串口(USART)上传到PC 的COM 口终端,一共输出了200 个采样周期数据,每个数据的采集周期为5ns,图中可以看出,出现55H 的个数为31,可以计算出被测波形的时间为T=31*5ns=155ns,与示波器测得的结果完全吻合,达到了动态响应的测试需求。

图5:示波器实测驱动输出波形

图6:测试板测试74HC595 的输出数据上传到COM 终端

实际成测时MCU 可以控制FPGA 变换各种测试激励加载到74HC595 的串行输入接口,例如加载数据55H、AAH、FFH 和00H,MCU 根据读取的动态参数的测试数据判断74HC595 的各个输出通道的动态相应是否在规范内。

3.2 与ATE测试数据对比

用ATE 和测试板各测试了脉宽动态响应时间,以下是测试数据对比和分析,图7 为TOUT 负脉冲响应时间测试数据对比,TOUT 数据分布在150-160ns 之间,测试板与ATE 测试数据最大误差为1.64%。测试板测试的时间参数与ATE 误差较小,完全可以用于量产测试。

图7:TOUT of the DUTs

4 总结

LED 大屏驱动电路高速数据通信和快速动态响应的特点,是量产测试的重点和难点。本文介绍了一款LED 大屏驱动芯片测试系统中高速数据通信和快速动态响应模块的设计和实现,并以74HC595 测试方案开发为例,阐述了高速测试激励和动态参数测试模块的FPGA 实现方法,解决了实际测试中动态参数的测试难题。FPGA 可编程的特性,使得模块使用非常灵活,稍加修改,就可以用于如ET6024 等其它LED 大屏驱动电路的测试。甚至工程师可以借鉴本文设计思路,开发其他用于测试数字芯片和数模混合芯片的测试系统。与商用ATE 设备相比,本测试系统具有低成本、小体积、易于维护等优点,实测成测速度与ATE 设备相当,测试速度都为单测位每小时产量(Unit Per Hour,UPH)3000pcs 左右。

本设计已批量应用于LED 驱动芯片ET6024、74HC595 的量产测试中,累计出货量已达几亿颗,在实际大批量量产测试中充分满足了测试产能、有力保证产出的电路品质的同时取得了良好的经济效益。

猜你喜欢
测试数据时钟波形
别样的“时钟”
对《压力容器波形膨胀节》2018版新标准的理解及分析
古代的时钟
测试数据管理系统设计与实现
基于LFM波形的灵巧干扰效能分析
基于自适应粒子群优化算法的测试数据扩增方法
时钟会开“花”
基于ARM的任意波形电源设计
空间co-location挖掘模式在学生体能测试数据中的应用
大连台使用CTS-1记录波形特点