视频LED屏高带宽网络控制系统的研究
白瑞林,尚佳良,刘巍
江南大学智能控制研究所,江苏无锡214122)
摘 要:针对采用专用像素控制技术的建筑物立面大型LED装饰屏,研制了一种嵌入式高带宽的网络通信控制系统。系统采用具有硬件TOE功能的嵌入式微控制芯片AX11015作为主处理器,同时利用CPI.D和SRAM构建用于码流缓冲的大容量FIFO存储器,并在此硬件平台上移植入小型嵌入式TCP/IP协议uIP0 9,实现了LED视频数据的高速网络传输。经实验和要际工程检验,系统可以通过UDP方式流畅地传输非压缩的视频数据,是一种高效可靠的大型LED屏幕网络传输控制途径。
关键词:AX11015;硬件TOE; FIFO;大屏幕LED
中图分类号:TP 393 文献标识码:A
1引言
20世纪90年代开始,LED显示屏在材料和控制技术方面不断出现新的成果,其在大面积平板显示领域的主流产品局面基本形成,LED显示屏产业已经成为新兴的高科技产业。LED显示屏的核心在于控制部分,现行的LED屏幕系统结构一般采用同步传输方式,大量使用专用的FPCA电路实现。各家公司的产品自成一体,施工布线复杂,通用性不强,产品更新不便,处于半定制状态生产。因此,采用新的技术方案实现LED屏的显示及控制,增加灵活性,降低成本,提高产品竞争力,具有非常重要的意义。
基于网络的视频LED屏幕布线简单、控制方便,正逐步地被应用于户外媒体显示领域。视频数据的网络传输需要很高的网络带宽,对CPU的要求很高。近年来,人们开始使用TCP/IP卸载引擎(TOE.TCP/IP Offload Engine)技术来解决这个问题,通过专门的硬件来实现TCP/IP协议的处理,从而降低CPU的处理负担.
本文基于硬件TOE技术,提出了一种高速网络LED显示屏控制系统的设计方法。该系统将LED显示屏控制技术与网络技术充分结合,利用多控制器协同工作控制大型LED屏幕,实现了一种低成本、高带宽的LED大屏幕嵌入式网络控制系统。
2控制系统原理
LED屏网络控制系统结构,如图1所示。
系统由多个控制器协同工作,每个控制器有不同的IP地址,并且控制相应的一块屏幕,多个控制器通过网络HUB和PC机相连。控制器负责接收PC机发送的网络数据,并对数据进行处理,然后发送到屏幕,是整个控制系统的核心。PC机软件播放器根据控制器的个数和SD600的串接方式对视频进行图像采集、编码。屏幕显示采用了专用的像素控制芯片,因此不需要对图像进行压缩处理,高速发给相应的控制器即可;控制器接收网络数据,通过其内的CPLD存人SRAM中进行码流缓冲,当完整地接收到一帧数据后,启动CPLD内部的SPI功能,将数据发送至像素控制芯片SD600进行显示。
3控制器设计
网络LED控制器是整个控制系统的核心部分,负责接收数据、对数据进行帧重组和编码发送数据,及协同多控制器组建大型屏幕。其功能原理,如图2所示。
普通的网络芯片通过软件处理TCP/IP数据流,如数据拷贝、协议处理和中断处理等,给系统带来了庞大开销。另外,每层协议校验和的计算也占用了大量的CPU时间,增加了网络处理的负荷。为加快网络传输速度,系统控制器CPU采用带硬件TOE功能的AX11015.通过硬件处理多层TCP/IP协议。控制器CPU收到上位机软件发来的一帧数据后,将其存人MAC模块的接收缓冲区中,然后启动DMA引擎并将数据经过TOE模块的TCP/IP卸载引擎处理后,存入接收缓冲区。如果接收正确便产生中断,通知应用程序调用uIP协泌栈进行再解析,取到实际数据做进一步处理。
由于在数据接收或发送的过程中经过了硬件TOE引擎的处理,uIP协议栈只需完成少量工作,因此CPU内核的负荷被很大程度减轻,进而网络传输的性能也得到了提高。
为了能够处理桌面操作系统定时不够精确,处理大量并发任务效率不高,多线程的滞后性以及突发传送等问题,需要用FIFO来进行码流缓冲,使其可以均匀平滑地传送到屏幕显示。因此系统采用CPLD和SRAM.利用时分同步算法来构成大容量的FIFO。CPU接收到数据后,通过Local Bus总线高速传送给FIFO,当CPLD接收到一个完整的画面帧后,便启动发送功能,将帧数据以SD600需要的SPI格式发送出去。软件采用状态机实现时分同步的算法,输出数据的同时也可以接收CPU发送的数据,宏观上实现了对SRAM同时读写的操作,解决了多线程带来的数据滞后性和突发性问题。
4控制系统软件
1)图像设计与编码软件平台 系统上位机播放软件采用Light Studio,基于Delphi平台开发,与流行的软件AutoCAD,FLASH软件协同工作,为LED灯光屏幕设计者提供了一套快捷、方便的设计方法和播放软件。Light Studio软件中嵌入了FLASH动画播放软件和Media Player播放软件,用户可以使用FLASH,Media Player等出色的工具来设计图案变化方案,在Light Studio中直接播放,并提供了转换工具,将它们转换成LED视频数据。
Light Studio根据LED屏幕硬件设置和连线方式对图像进行分割,然后按实际需要像素进行采集并转换为SD600需要的数据格式。软件根据像素点的连线方式对每点像素进行采集、编码,完成一帧数据后,加上锁存输出标志,通过网络以UDP包依次发送给相应的控制器,使多个控制器实现协同工作。
2)网络数据解包处理控制器CPU的数据处理功能主要分为2个方厦:利用硬件的TCP/IP加速器接收网络数据弗利用uIP协议栈进行网络数据解析;对视频数据进行重组并且利用Local Bus总线DMA将其传送至CPLD。
CPU软件采用基于事件的uIP协谈栈处理网络数据,当初始化完成之后,系统进入主循环程序。主程序判断是否有数据收到,如果有数据收到则调用STOE_Processlnierrupt()函数进行处理。收到一帧数据后,存入MAC模块的接收缓冲区中,然后启动DMA引擎,将数据经过TOE模块的TCP/IP卸载引擎处理后,存人配置给TOE模块的接收缓冲区。如果接收正确便产生中断,主程序通过STOE_CetlnterruptFlag()函数检测是否有中断产生,如果有中断发生,便调用STOE_Processlnterrupt()函数,此函数将网络数据包拷贝到uIP协议栈的接收缓冲区,调用uIP的主处理函数uip_process()对数据包进行解析并做进一步处理。
uIP协议将数据包解析得到实际数据后,调用UIP_UDP_APPCALL()函数启动应用程序对数据进行处理。上位机软件将一帧数据分多个UDP包传输,并在数据的第1个字节设为标志位,表明此包是一帧数据的开始、中间或者结尾,udpapp—receive()函数负责将数据组成完整的帧并且发送给第2期 白瑞林等:视频LED屏高带宽网络控制系统的研究 CPLD,主要处理程序如下:
3) FIFO的实现与数据输出 由于网络的不确定性和突发性,在CPLD取一帧数据发送给屏幕显示时,还有可能收到下一帧的数据,此时就需要CPLD -方面对SRAM进行读操作,另一方面还需要进行写操作。SRAM在同一时刻只能有读或写一种操作,为了解决协同读写操作引入时分同步算法。在CPLD中,建立一个新的进程实现时分同步读写。在此进程中设置了4个状态,按周期顺序执行,如图3所示。
当FIFO中有数据,执行状态l时,将从FIFO中读出一个字节,在下一个周期执行状态2时写入到SRAM中。当SRAM中存满一帧数据,每次执行状态3时,设置读地址、片选和读信号,在状态4将数据读出并存入输出寄存器。CPU DMA传输的时钟****速度为8.5 M,CPLD的时钟为36 M,每个状态的执行频率为9M,因此可以保证读CPU数据不会丢失,而同时也可以以9M的时钟输出数据,实现了时分同步的读写。
控制器输出8路SPI,根据软件编码的要求,8路SPI为并行编码输出,即8位输出寄存器对应于8路输出。
SPI时钟由状态2相状态4产生,状态2输出时钟的高电平,状态4输出时钟的低电平,在CLK的上升沿将数据输出。
5 多控制器系统屏幕组建及测试
SD600像素控制芯片采用串行级联组建LED屏幕,适用于稀疏点阵大型屏幕。
控制器输出8对SPI总线,每对SPI总线可以串接2 304个SD600芯片,即一对SPI总线可以控制2 304点像素,其屏幕组建结构图,如图4所示。
系统组建屏幕时像素分辨率为24×24像素/m2,如设计的一块8 m x12m的LED屏,每m2像素为576点,整屏由4个控制器协同工作,1个控制器控制24 m2。
上位机软件LightStudio在操作系统下,通过10/100 BaseT的以太网接口与控制器通信。将控制器的IP地址设置成和PC机在同一个网段内,并通过HUB和PC相连。经过测试,控制系统运行稳定,LED屏幕画面显示流畅。其测试参数,见表1。
6结语
设计使用带硬件TOE的嵌入式网络处理器,使得控制器的冈络处理性能有明显的提高;利用时分同步算法实现了对FIFO的协同读写,解决了由于上位机软件采用多线程所产生的滞后性和突发性;利用UDP传输协议,使网络带宽达到20 Mbps,可以流畅地传输非压缩的视频数据,方便地实现了稀疏LED视频大屏幕的传输控制。系统适用于舞台背景、户外大型广告牌和建筑立面装饰等,具有广泛的应用前景。
|