新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于μC/OS-II的多窗口显示屏控制器设计

基于μC/OS-II的多窗口显示屏控制器设计

作者:时间:2012-02-29来源:网络收藏

2.3 扫描控制模块

将数字视频信号进行缓存处理,并将RGB信号通过脉宽调制(PWM)转换为供LED显示所需的信号送往扫描模块。扫描控制模块由用户自定义的PWM IP核和显存组成,显存采用1片SRAM实现,用来保存当前显示的1帧点阵信息数据。PWM模块通过AvalON总线和Nios IICPU连接,将从CPU接收到的数据按指定地址写入显存,然后再按一定的寻址方式从显存中读取点阵信息数据进行扫描。

2.4 其他功能模块

串口、定时器、存储器通过SOPC Builder软件定制集成IP核自动生成。

3 控制系统软件部分

该操作系统利用高效任务调度算法调度每个任务,而每个的显示由单个任务完成。

3.1 数据结构

数据在存储器中的存储形式直接影响数据的存取速度和控制的复杂度,本系统对显存中的数据和缓存区的数据均重新组织,降低了数据处理和扫描控制复杂度。

3.1.1 显存数据的组织

LED的每个像素点都包括红、绿、蓝3种基色,每种颜色的灰度级均为256级,即由8位数据对像素点灰度级进行编码,故每个像素点需要占用3字节的存储空间。显示时,每个像素的红管、绿管、蓝管是同时点亮的,也就是说,3种颜色的数据是并行上屏的。据此,可将红绿蓝3种颜色对应的数据分开存储,以方便操作。数据存储方式如图4所示。每种颜色的数据集中存放在某个区中,每个区域的首地址作为3种颜色的基址,在进行数据存放时,每个像素点只需给出相对变化地址(变址),然后加上不同的基址就可以在3个区域中找到对应点的视频数据。

图4 存储器分区图

图4 存储器分区图

LED灰度的实现方法,是分权重扫描的。这样就需要把颜色数据位分离,然后同权重的位重新组合。为了方便操作,存储时把图4所示的分区中的每个区再分为8个权重区,所有同权重的数值集中放于对应权重区中。所谓位分离就是把数据的高低位按权重分开,然后重新组织。位分离的实现在可编程逻辑器件中也比较容易实现,可以划出一块逻辑矩阵,操作时横向存入,纵向读出即可。位分离示意图如图5所示。

图5 位分离示意图

图5 位分离示意图

3.1.2 缓存数据的组织

若要进行特技效果显示,则当前显示的数据帧和下一个数据帧存在着某种变换关系,由于CPU只能对显存进行写操作,所以需在缓存中划分出一块大小和显存相等、地址一一对应的区域screen,用于存储当前显示的数据帧信息。如果各之间存在重叠现象,且特技数据处理运算直接在screen区域进行,则重叠部分信息可能发生混乱。故在缓存中再为每一个窗口划分出一块存取空间(part 1,part 2,…,part n),用于存储本窗口显示的前一帧数据信息。在特技数据处理运算时,先在part区域处理各窗口的数据信息,然后将转换完的数据送往各窗口在screen区域所对应地址的存取空间,最后将screen中的数据写入地址对应的显存,从而完成显示。



评论


相关推荐

技术专区

关闭