引言
目前,LED大屏幕显示系统按数据传输方式分为两类:一是同步实时显示,即计算机显示系统的内容同时在LED视频显示屏上显示;二是异步通信更新数据显示,计算机通过USB、通用串行接口、以太网等通信方式将数据传送给独立视频源显示屏。通常,异步通信控制方式只能将屏幕作为一个完整的区域显示,对于较大屏幕的显示系统,有时需要将整屏分为若干个窗口分别显示不同的内容,且内容的更新只是某一个或几个窗口。针对这种情况,本文提出了一种基于NiosII32位处理器的设计方案,能有效地实现单屏幕多窗口的任意位置显示,使得显示方式更加灵活方便。
1 系统总体设计
1.1 系统硬件结构
LED显示系统主要由计算机系统、数据通信传输模块、数据处理模块、扫描控制模块、显示驱动模块和LED屏构成,如图1所示。计算机系统将要显示的点阵信息通过RS485串行接口送往存储设备,数据处理模块读取存储设备的数据并进行各种特技显示处理,将处理好的数据送往扫描控制模块,显示驱动模块接收到扫描控制模块的数据后送往LED屏上显示。数据通信传输模块、数据处理模块、扫描控制模块3部分均在FPGA上实现,即构成LED异步控制器。
1.2 系统软件方案
软件基于NiosIIIDE开发完成,应用程序基于μC/OS2II实时操作系统实现。软件程序主要由2个任务和1个定时器中断服务程序组成,任务间采用信号量的方式进行通信。任务1将上位机传送到CF卡存储设备的数据写入内存中;任务2从内存中读取数据并进行分析处理,把分析处理完的数据送往扫描控制模块。为了充分利用μC/OS2II的实时性和多任务的特点,采用嵌入式文件系统进行数据管理。
2 控制系统硬件部分设计
数据处理模块由NiosII软核CPU、1片SDRAM和1片Flash存储器组成。NiosII软核CPU是整个控制器的核心,负责数据的处理;SDRAM作为CPU处理数据时的缓存使用;Flash存储器用于存储点阵信息数据和LED屏显示控制参数。
扫描控制模块由用户自定义的PWMIP核和显存组成。显存采用1片SRAM实现,用来保存当前显示的一帧点阵信息数据。PWM模块通过Avalon总线和NiosIICPU连接,将从CPU接收到的数据按指定地址写入显存,然后再按一定的寻址方式从显存中读取点阵信息数据进行扫描。
串口控制器、定时器、存储器控制器、CF卡控制器通过SOPCBuilder软件定制集成IP核自动生成。本控制器的硬件结构如图2所示。