1. 引言
小间距LED显示屏于2016年实现了爆发性的进展,这得益于企业对研发的高度重视,使得产品间距得到了前所未有的改进,增强了显示性能,同时也带动了行业内对此类产品需求的暴增[1]。近年来,随着技术的进步与市场需求的增长,中国LED显示屏行业经历了显著的发展阶段。特别是在2010年,中国在全球LED显示行业中占据了超过80%的市场份额,至2019年,国内LED显示屏产业规模已突破600亿人民币大关,同时,中国在全球制造产能中所占比例提升至85%,在此期间,中国的标准逐渐成为该领域的规范基础[2] [3]。根据预估统计,2023年全球透明显示屏市场销售额达到3.85亿美元,预计2029年将达到6.51亿美元,年复合增长率(CAGR)为9.12% (2023~2029) [4]。
随着科技发展,电子产品高性能化和高集成化成为行业发展必然趋势[5],LED显示屏的驱动电路是其核心部件之一,其可靠性会直接影响到图像质量、设备寿命及用户体验[6]。针对现有的LED驱动芯片在面对多个连续坏点时,出现传输通路失效、显示大面积变黑的情况,单线双向传输方式和双线双向传输方式,在面对不连续两个坏点时,坏点之间的传输通路存在失效的情况;断点续传传输方式,在面对连续3个以上的坏点时,会出现坏点后传输通路失效状况[7]-[11],本文提出基于冗余通信机制的LED驱动芯片可靠性提升设计。
2. 基于冗余通信机制的LED驱动芯片系统架构
2.1. 系统架构
为保证LED驱动芯片的传输稳定,使用基于冗余通信机制的LED驱动芯片可靠性提升设计,驱动芯片架构图如图1,它由多个模块组成,协同工作实现数据的接收、处理、地址烧录和显示。时钟切换模块接收两个时钟信号(clk1和clk2),用于选择或匹配不同的时钟源,输入数据格式为RZ编码(归零码),冗余通信模块接收信号pi和si信号进行RZ解码后,然后进行数据校验以及数据通路切换处理,提高数据传输的可靠性。编码后的数据通过解码、模式识别解析后,选择使能地址烧录模块或显示模块。地址烧录模块用于配置芯片的地址,并从addr_add输出自身地址加一的地址配置命令,用于下一级联芯片地址配置。显示模块对RZ码解码后的数据进行格式转换后驱动LED显示。系统上电或复位时,初始化系统状态。sdo是将接收的信号pi、si和地址配置信号addr_add转发输出。
系统状态机如图2,系统复位初始状态在帧头识别,接收满帧头数据的长度时,系统开始比对帧头跟
Figure 1. Driver chip architecture
图1. 驱动芯片架构图
Figure 2. State transition diagram of redundant communication mechanism
图2. 冗余通信机制状态转移图
系统预设值是否一致,如果识别错误,重新接收数据,如果比对成功,进入控制字判断阶段,将紧根据帧头之后的控制字进行判别,如果是地址烧写控制字,则进入CRC5校验阶段,地址烧写要谨慎对待,CRC5校验主要是对地址烧写的地址号进行校验,校验完成后进入模式识别状态,如果控制字判断是数据显示控制字,则进入模式识别状态,模式识别状态会根据控制字判断来解析数据包,如果是地址烧写控制字,则状态跳转至地址烧写状态,进行地址烧写配置,烧写完成后回到帧头识别状态,如果控制字判断是数据显示控制字,模式识别模块解析数据包后启动数据显示功能,然后跳转回到帧头识别状态。
2.2. 时钟切换模块与复位模块、RZ码解码
在传统的组合逻辑时钟切换电路中(例如简单的AND-OR门实现),当选择信号切换时,若两个时钟源存在相位重叠或电平变化的不确定性,输出端可能短暂同时导通或断开,导致毛刺,这些毛刺在时钟信号上是有害的,因为它们可能会错误地触发系统中某些寄存器的边沿,而其他寄存器则可能没有被正确触发。
时钟切换模块是为了匹配不同的时钟频率,如图3,有两个时钟源CLK16M时钟和CLK8M时钟,out_clock为时钟切换后的输出,该结构在时钟切换过程中能起到去毛刺的作用[12],选择信号(sel)被两级触发器同步到目标时钟域。第一级触发器用于跨时钟域同步(如从控制逻辑域到时钟域),防止亚稳态传播;第二级触发器确保切换动作在目标时钟的特定边沿(如下降沿)触发,避免在时钟高电平时发生切换。在切换过程中,先禁用当前时钟的使能信号,再启用新时钟的使能信号,确保旧时钟完全关闭后,新时钟才被激活,避免两者同时有效。
Figure 3. Clock switching module
图3. 时钟切换模块
复位模块采用异步复位,直接使用异步复位可能会引发亚稳态问题,影响电路的稳定性和可靠性。采用三级同步器的设计方法来确保复位信号正确地被接收和处理,让异步复位信号通过一个独立的同步器链,使其与时钟同步,然后再作用于整个电路,降低亚稳态发生概率,在时钟上升沿来时,采集复位信号por。
传输格式使用如图4的RZ码(归零码),RZ码主要特点是在每一位数据传输结束后都会回到零电平状态,从而使得接收端更容易进行时钟同步和数据恢复。0码的TH占空比较1码TH的占空比小,本文使用RZ码格式如表1所示,复位时间为低电平保持100 us;解码关键在于RZ码的采集点,调节0码的TH和1码的TH宽度使得在采集点采集到的0码为低电平,1码为高电平。
RZ码解码电路结果如图5,通过一个移位寄存器sft_reg采集数据Data_in,利用stf_reg [1]取反后与stf_reg [2]相逻辑与来采集上升沿,上升沿输出posedge_out作为计数器CNT的复位信号,当计数器计数到第5个时钟周期时,采集stf_reg 的值输出解码信号rz_decode_out,通过计数器采集的采集点可以根据RZ码宽度灵活配置。
Table 1. RZ code format
表1. RZ码格式
RZ码 |
TH |
TL |
0码 |
100~300 ns |
900~2000 ns |
1码 |
500~700 ns |
500~1600 ns |
复位 |
0 |
>100us |
Figure 4. RZ code format
图4. RZ码格式
Figure 5. Decoding circuit structure
图5. 解码电路结构
2.3. 冗余通信模块
在LED驱动芯片使用过程中,输入通道可能存在虚焊、干扰、和一些物理因素导致通路断开,采用冗余通信模块来保证LED的正常显示[13],如图6,根据对两个传输端口pi、si的数据采取输入数据检测切换模块的处理,通过对数据的帧结构的识别(Frame Header Check)、CRC5校验(CRC5 Check)后,进行si连接端口与pi连接端口切换传输数据至芯片内部显示部分。通过内部的数据检测切换模块的设计,在设备自身发生损坏、设备与设备之间的连线出现损坏以及设备与数据总线之间的连线发生损坏时,可以从未损坏的另一个数据端口进行数据传输,如果两个传输口都损坏,则传输固定电平信号,在接收端口信号时,若在50 ms内没有信号,看门狗会进行一次翻转切换至另一端口,大大提升了传输系统的可靠性。
Figure 6. Main architecture of redundant communication module
图6. 冗余通信模块主要架构
在校验状态下,控制包格式如图7,帧头检测功能是根据发送的帧头,跟内部预设值进行比较校验,例如发送帧头10’b{header},在内部把header跟预设值进行比对,由于LED驱动芯片烧写地址需要谨慎处理,使用CRC5校验来保障地址正确烧写,把接收到包里配置包进行CRC5校验,校验结果跟数据包里的CRC5进行比对。
CRC的检查有计算法和查表法。对于硬件实现来说,计算法更省资源,CRC的计算采用并行方式,并行方式是每次输入一组并行数据,同时产生出CRC结果,并行方式处理相比于串行处理速度较快[14]。如图,通过对数据的缓存,在帧头校验通过后将配置包送入CRC5_CHECK校验模块当中,CRC-5使用标准多项式x5 + x2 + 1,对应的二进制表示为100101 (最高次幂为5,因此是6位),烧写地址为9位,CRC5_CHECK校验模输入为9位输出为5位,并行crc5每位输出计算如表2所示,data_in为输入数据,crc5_out初值设置为5’b11111。
Figure 7. Control package format
图7. 控制包格式
Table 2. Calculation formula for each check code of CRC5
表2. CRC5每位校验码计算公式
crc校验结果输出 |
计算公式 |
crc5_out[0] |
crc5_out[1]^crc5_out[2]^data_in[0]^data_in[3]^data_in[5]^data_in[6] |
crc5_out[1] |
crc5_out[0]^crc5_out[2]^crc5_out[3]^data_in[1]^data_in[4]^ data_in[6]^data_in[7] |
crc5_out[2] |
crc5_out[2]^crc5_out[3]^crc5_out[4]^data_in[0]^data_in[2]^data_in[3]^data_in[6]^data_in[7]
^data_in[8] |
crc5_out[3] |
crc5_out[0]^crc5_out[3]^crc5_out[4]^data_in[1]^data_in[3]^data_in[4]^data_in[7]^data_in[8] |
crc5_out[4] |
crc5_out[0]^crc5_out[1]^crc5_out[4]^data_in[2]^data_in[4]^data_in[5]^data_in[8] |
CRC5硬件电路如图8所示,crc5的生成多项式G(x) = x5 + x2 + 1,二进制表示为100101,data_in[8:0]为输入待校验数据,rst为输出寄存器的复位信号,clk为输出寄存器的时钟信号,crc_en为寄存器使能信号,复位后crc5_out[4:0]初始值为5’11111,当data_in[8:0] 9位数据准备好后,crc_en信号拉高使能,crc5_out[4:0]通过异或门与data_in[8:0]做异或运算,一拍就能计算出crc5校验码,通过crc5_out输出。
Figure 8. CRC5 verification hardware circuit
图8. CRC5校验硬件电路
CRC5校验数据流如图9,通过并行计算只需要一个时钟周期就能校验完成,校验码计算输出crc5_out与控制包里的crc5校验码对比产生校验结果,根据实际经验,如果帧头错误次数与crc校验错误等于3次,则切换到另一条传输通路(如果接收si端数据错误3次,切换到pi端;接收pi端数据错误3次,切换到si端)。
2.4. 地址烧录模块、显示模块
在帧校验通过后,模式识别模块通过控制字解析是地址烧写还是数据显示,然后把数据分别送到地址烧录模块、数据处理模块。为了使得LED驱动芯片接收到正确的显示数据,设计了地址烧录模块,主机发送控制包,通过CRC校验后,根据控制字使状态机跳转到地址烧写模式,地址烧录模块将配置包里的地址号送入地址烧写寄存器当中,然后转发自身地址加一后的控制包、CRC5组装后的CRC5校验码,在LED驱动芯片级联长度较长时,只需要发送一次地址配置指令。
配置完地址后,主机发送数据包,在模式识别、解码模块中会根据自身的地址来选择数据包里的设备数据,数据包格式如图10,在完成地址判别后,将对应设备数据号的数据送入显示模块进行LED显示寄存器配置。
Figure 9. CRC5 check data flow
图9. CRC5校验数据流
Figure 10. Packet format
图10. 数据包格式
3. 仿真测试验证
芯片仿真级联结构连接示意图如图11,模拟使用环境,芯片时钟使用8 Mhz,基于Synopsys公司的VCS编译器与Verdi波形查看器,搭建验证平台。
在仿真环境搭建后,测试校验功能,PDC通道和SDC通道交替发送1次正确数据+3次错误数据,发送端为din,观测dspl_dr[15:0]、dspl_dg[15:0]、dspl_dg[15:0]是否在接收到正确数据后,将显示数据送入显示寄存器当中,以及frm_err信号在接收错误帧后是否拉起,以及3次错误后是否会通过mux切换到另一信号通路(PDC/SDC)。如图11,芯片1~4地址addr_chip[8:0]分别为0、1、2、3,发送随机数据,在每颗芯片接收到的正确数据中都会将对应自身地址号的显示数据送入显示寄存器dspl_dr[15:0]、dspl_dg[15:0]、dspl_dg[15:0]中,接收到错误数据时将显示寄存器清零,并将frm_err错误标志位拉高,累计接收3次错误数据后,通过mux切换至SDC/PDC,校验功能及切换功能正确。
Figure 11. Chip simulation cascade structure
图11. 芯片仿真级联结构
Figure 12. Sending error frames alternately
图12. 交替发送错误帧
Figure 13. Cascade 6 chips to generate bad points
图13. 级联6颗芯片间隔产生坏点
Figure 14. Cascading 6 chips to continuously generate bad points
图14. 级联6颗芯片连续产生坏点
Table 3. Comparison of driving modes
表3. 驱动方式对比
驱动方式 |
连续N个坏点(N ≥ 3) |
两个坏点之间间隔M个点(M ≥ 2) |
本文 |
坏点个数 = N |
坏点个数 = 2 |
断点续传 |
坏点个数 > N/>>N |
坏点个数 > M |
双线\单线双向 |
坏点个数 > N |
坏点个数 > M |
向 |
坏点个数 > N |
坏点个数 > M |
如图12、图13,在级联6颗芯片当中,间隔产生坏点(chip3、chip5断开)与出现连续3个坏点时,发送数据后其余芯片都能正常运行。
如表3,结果表明,本文设计的驱动方式,能在不同情况的坏点下,保证其余LED驱动芯片正常工作,提高了系统可靠性。
4. 总结
本文设计了一种基于冗余通信机制提升了LED驱动芯片的可靠性,结合了串行、并行传输特性,在一端口失效时,会切换到备用线路,且出现坏点时,不会干扰到其余驱动设备,弥补了现有传输方式的缺点;使用帧头校验、地址校验、CRC5校验保证传输的正确;在LED驱动芯片级联后配置地址时,使用地址加一的转发功能,只需要发送一帧地址配置命令就能完成所有LED驱动芯片的地址配置;同时使用RZ码的传输方式,传输口少、接收端更容易同步,增加了冗余度;仿真结果证明了设计的可靠性、合理性。