摘要:基于μC/OS-II实时操作系统实现多任务管理运行模式,采用Nios II 32位处理器作为LED显示屏控制系统的核心,控制单屏幕多窗口任意显示。整个控制系统在一片FPGA上实现,使用SOPC Builder软件定制集成IP核,通过外扩存储设备实现数据的海量存储,解决了FPGA内部资源相对不足的问题。同时,合理组织数据存储方式,降低了数据处理和控制系统的复杂度。
关键词:Nios II;大屏幕显示;FPGA;μC/OS-II
引言
目前,LED大屏幕显示系统按数据传输方式分为两类:一是同步实时显示,即计算机显示系统的内容同时在LED视频显示屏上显示;二是异步通信更新数据显示,计算机通过USB、通用串行接口、以太网等通信方式将数据传送给独立视频源显示屏。通常,异步通信控制方式只能将屏幕作为一个完整的区域显示,对于较大屏幕的显示系统,有时需要将整屏分为若干个窗口分别显示不同的内容,且内容的更新只是某一个或几个窗口。针对这种情况,本文提出了一种基于Nios II 32位处理器的设计方案,能有效地实现单屏幕多窗口的任意位置显示,使得显示方式更加灵活方便。
1 系统总体设计
1.1 系统硬件结构
LED显示系统主要由计算机系统、数据通信传输模块、数据处理模块、扫描控制模块、显示驱动模块和LED屏构成,如图1所示。
计算机系统将要显示的点阵信息通过RS485串行接口送往存储设备,数据处理模块读取存储设备的数据并进行各种特技显示处理,将处理好的数据送往扫描控制模块,显示驱动模块接收到扫描控制模块的数据后送往LED屏上显示。数据通信传输模块、数据处理模块、扫描控制模块3部分均在FPGA上实现,即构成LED异步控制器。
1.2 系统软件方案
软件基于Nios II IDE开发完成,应用程序基于μC/OS-II实时操作系统实现。软件程序主要由2个任务和1个定时器中断服务程序组成,任务问采用信号量的方式进行通信。任务1将上位机传送到CF卡存储设备的数据写入内存中;任务2从内存中读取数据并进行分析处理,把分析处理完的数据送往扫描控制模块。为了充分利用μC/OS-II的实时性和多任务的特点,采用嵌入式文件系统进行数据管理。
2 控制系统硬件部分设计
数据处理模块由Nios II软核CPU、1片SDRAM和1片Flash存储器组成。Nios II软核CPU是整个控制器的核心,负责数据的处理;SDRAM作为CPU处理数据时的缓存使用;Flash存储器用于存储点阵信息数据和LED屏显示控制参数。