·上一文章:LED和LED灯具全空间分布光度测量技术
·下一文章:简单的光开关电路,Simple optical switch
3 控制系统软件部分设计
控制系统软件是基于实时操作系统μC/OS-II进行设计的。该操作系统利用高效任务调度算法调度每个任务,而每个窗口的显示由单个任务完成。主函数创建了2个任务:一个用于读取CF卡数据;另一个用于接收来自不同显示模块的场景数据和播放显示文件。
3.1 数据结构
数据在存储器中的存储形式直接影响数据的存取速度和控制的复杂度。本系统对显存中的数据和缓存中的数据均重新组织,降低了数据处理和扫描控制的复杂度。
3.1.1 显存数据的组织
LED显示屏的每个像素点都包括红、绿、蓝3种基色,每种颜色的灰度级均为256级(即由8位数据对像素点灰度级进行编码),故每个像素点需要占用3字节的存储空间。显示时,每个像素的红管、绿管、蓝管是同时点亮的,也就是说,3种颜色的数据是并行上屏的。可将红、绿、蓝3种颜色对应的数据分开存储,以方便操作。数据存储方式如图3所示。同一种颜色的数据集中存放在某个区域中,区域的首地址作为该颜色的基址。在进行数据存放时,每个像素点只需给出相对变化地址(变址),加上不同颜色的基址就可以在3个区域中找到对应点的视频数据。
LED显示屏灰度的实现方法是分权重扫描的。这样就需要对颜色数据进行位分离,然后同权重的位重新组合。为了方便操作,存储时把图3所示的每个区再分为8个权重区,所有同权重的数值集中放于对应的权重区中。所谓位分离,就是把数据的高低位按权重分开,然后重新组织。位分离在可编程逻辑器件中比较容易实现,可以划出一块逻辑矩阵,操作时横向存入,纵向读出即可。位分离示意图如图4所示。