首 页 公司简介 信息中心 产品展厅 典型案例 客户服务 技术文档 人才招聘 联系我们 English
最新公告
全长353米!世界最大LED显示
LED电子显示屏连接方式有哪些
P10双色户外LED显示屏顺利骏
西安万显P4LED显示屏
LED电子显示屏顺利骏工
LED户外全彩显示屏顺利骏工
室内LED全彩电子显示屏优惠中
P10户外全彩屏施工中。。。。。
西安室内外全彩LED电子显示屏批
室内LED电子显示屏,室外LED
室内LED显示屏单,双,全彩
室内双色LED电子显示屏-20平
P10户外LED电子显示屏
P16户外全彩电子显示屏-西安万
8月招聘信息-西安万显LED电子
P7.62三合一室内全彩顺利骏工
P6全彩电子显示屏两块顺利骏工-
室内全彩LED显示屏      
技术文档  
技术文档
下载中心
联系我们
地  址: 西安市高新区唐兴路东馨花园12-4
电  话: 029-88518715
传  真: 029-88518715
电子信箱: visled@126.com
网  站: http://www.axec.cn
http://www.visled.com
您的位置:首页 > 技术文档
技术文档
LED大屏幕异步控制器实现方案
信息来源:西安万显LED显示屏  发布作者:西安LED显示屏  浏览次数:1654
1、引言

  以往的LED 异步控制器只能把一个屏幕作为一个完整的区域来进行显示, 或者简单的加上时间区域或游走字幕区域,这样对于用户来讲往往缺乏足够的灵活性, 尤其在屏幕较大的时候。针对以上情况, 本文提出了一款基于32 位高性能ARM处理器和uc/OS- II 的设计方案。它充分利用了uc/OS-II 高效的多任务管理功能和ARM处理器强大的运算能力, 实现了单屏幕多窗口的任意位置显示, 使得显示内容变得更加丰富, 显示方式变得更加灵活。

  2、LED控制系统的工作原理

  典型的LED 异步控制系统主要由PC 应用软件、通信模块、数据处理模块、扫描控制模块、驱动模块和LED 屏几部分组成,首先, PC 应用软件将文本或图片转化为具有特定格式的点阵信息。然后, 通过通信模块将此点阵信息发送给数据处理模块。数据处理模块对这些点阵信息进行各种特技处理, 最后通过扫描控制模块和驱动模块将画面在LED 屏上进行正确显示。

  本文所指的LED 异步控制器包括通信模块、数据处理模块和扫描控制模块三部分。

  3、控制器软件部分的设计

  本控制器的硬件结构如图2 所示。数据处理模块由MCU,一片SRAM和一片FLASH 存储器组成。MCU 选用PHILIPS 的基于32 位ARM内核的LPC2214 处理器, 它有着丰富的外围接口资源和强大的运算能力, 是整个控制器的核心。SRAM作为MCU 进行特技处理时的缓存使用。FLASH 存储器用于存储点阵信息和一些必要的参数。扫描控制模块由CPLD 和显存组成。显存为一片SRAM, 它用于保存当前显示的一帧点阵信息。CPLD 通过地址总线和16位数据总线与MCU 相连, 它把从MCU 接收到的16 位数据按指定地址写入显存, 然后再按一定的寻址方式从显存中读出点阵信息进行扫描。MCU 只能通过CPLD 对显存进行以字(2byte)为单位的写操作。通信模块包括以太网模块和串口通信模块, 用于实现PC 与控制器之间的RS232、RS485 以及工业以太网通信。

  4、控制器软件部分的设计

  为了实现单屏幕、多窗口任意位置的显示, 软件部分我们基于uc/OS- II 进行设计, 这样可以充分利用操作系统高效的任务调度算法, 将每个窗口的显示都交由单个任务来完成, 从而极大地提高系统的运行速度和可靠性, 并且使得程序的开发和扩展变得更加方便。

  在进行具体的程序设计之前, 首先要确定数据的组织方案。

  因为好的数据组织方案, 对于程序编写来说往往可以达到事半功倍的效果。

  4.1 显存的数据组织方案:

  对于双色屏, 一个像素点需要红、绿两位数据来描述。为了便于处理, 我们将横向连续的8 个像素点组成一个字(2byte)来进行存储, 其中一个字节为红数据, 一个字节为绿数据。数据存储顺序为从左到右, 从上到下。如图3 所示, 假如屏幕宽度为160 个像素点, 显存起始地址为0x83000000, 则屏幕第一行的前8 个像素点映射到显存中地址为0x83000000 和0x83000001 的两个字节, 第二行的前8 个像素点映射到显存中地址为0x83000028 和0x83000029 的两个字节, 依此类推。由于窗口大小可以任意设置, 窗口的位置可以任意摆放。

  所以对于单个窗口而言, 它在显存中的映射可能并非是字(2byte)对齐的。以图4 为例, 在一个大小为160(宽)×96(高)的屏幕上开设一个左上角坐标为(20,16), 大小为86×47 的窗口, 则此窗口第一行的前4 个像素点在显存中的映射为地址是0x83000282 和0x83000283 的两个字节的低4 位, 所以这个窗口在显存中的映射并不是字对齐的。由于MCU 只能以字(2byte)为单位对显存进行操作, 所以PC 软件在对该窗口进行点阵信息转换时, 如果直接对区域1 (窗口的实际大小)进行转换存储,则在对该窗口进行特技处理时会存在大量的位运算, 这样会大大降低运算效率, 从而影响特技效果的显示, 这样就很难满足用户对特技显示效果的要求。为了解决上述问题, 可以将区域1 横向扩展成起点坐标为(16,16), 大小为96×47 的区域2。易知, 区域2 在显存中的映射是字对齐的。为了避免运算时的位操作, PC 软件在对区域1 进行点阵信息转换时, 可按区域2 来进行, 只是需将区域1 的扩展部分的数据全填为1。这样处理会牺牲掉一小部分FLASH 存储器空间, 但却可避免特技处理时大量的位运算, 从而大大提高运算效率, 因此这样做是值得的。

  4.3 缓存数据的组织方案:

  由于MCU 只能对显存进行写操作, 而在进行特技运算时,往往需要前一帧信息才能得到下一帧的信息。所以, 首先, 需要在缓存中划分出一块和显存大小相等, 地址一一对应的区域screen 用于保存整屏幕的前一帧信息。又由于MCU 对显存只能进行字操作, 并且多个窗口之间可能会出现区域重叠, 所以如果各窗口的特技运算都直接在screen 区域上进行, 则窗口重叠部分信息可能会发生混乱。因此如图5 所示, 也需要在缓存中为每个窗口划分出一块存储器空间(area 1, area 2, ..., area n), 用于保存本窗口显示的前一帧信息。这样在特技运算时, 首先要在area 区域中对各窗口数据进行运算得到各窗口的下一帧信息, 然后将area 区域中数据写入该窗口在screen 区域中的相应地址以保存整屏幕最新一帧信息, 最后把screen 中相应数据写入显存从而完成显示。

  4.4 软件设计:

  基于上述方案, MCU 程序的设计变得非常简洁。程序结构如图6 所示, 控制器上电后, 首先进行系统初始化, 然后从FLASH 中读取屏参数, 进行参数初始化。接着建立任务TaskCONtrol, TaskControl 拥有比各窗口显示任务都要高的优先级, 它主要用于对各窗口显示任务进行实时管理。每隔一段时间TaskControl 就要对reset 标志进行一次查询, 如果reset=1, 它会删除原先建立的各窗口显示任务, 然后从FLASH 中读取新的窗口个数, 依此建立新任务, 将每个窗口的显示交由单个窗口显示任务来控制。

LED显示屏网 第一LED网 LED世贸网 LED网(LED显示屏) 中国国际招标网 新世纪LED网 陕西政府采购 西安交警网
西安公交网 天涯社区 携程网 百姓网 汽车之家 铁路客服 hao123网 西安高新社保
西安LED屏 西安LED电子屏 西安LED显示屏 西安LED屏公司 LED环球在线 中国征集 百度搜索
Copyright 2009 版权所有:西安万显电子科技有限公司
地 址:西安市高新区唐兴路东馨花园12-4 电子邮件: visled@126.com
电话: 029-88518715 传真: 029-88518715
陕ICP备07501601号
有事请点我 市场一部
有事请点我 市场二部
有事请点我 采 购 部
有事请点我 售 后 部