LED大屏幕异步控制器多窗口显示的实现_第1页
LED大屏幕异步控制器多窗口显示的实现_第2页
LED大屏幕异步控制器多窗口显示的实现_第3页
LED大屏幕异步控制器多窗口显示的实现_第4页
LED大屏幕异步控制器多窗口显示的实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、技术创新中文核心期刊微计算机信息(嵌入式与SOC 2007年第23卷第7-2期360元/年邮局订阅号:82-946现场总线技术应用200例ARM 开发与应用阿尔泰嵌入式开发板、嵌入式工控板、核心板嵌入式开发板:包含ARM7、ARM9、Xscal 、CPU 为核心的教学开发板和企业评估板;嵌入式工控板:以工业级嵌入式微控制器为核心的数据采集和现场控制、远程通讯为一体的高端工业控制产品。核心板:提供模块化构建嵌入式系统、快速开发、轻松定制。公司目前已形成以产品为主导,以技术服务为支撑的产品研发、销售、服务体系。详情登陆:www.art-或来电垂询:010-*/496486798564864110L

2、ED 大屏幕异步控制器多窗口显示的实现The realization of m ulti-windows display of LED large screen asynchronous controller(上海交通大学王有乾佘焱姜建国WANG YOUQIAN SHE YAN JIANG JIANGUO摘要:介绍一种应用广泛的LED 大屏幕异步控制器的设计方案。该系统采用高性能32位ARM 微处理器为其控制核心,并且基于uc/OS-II 进行软件设计。可实现单屏幕多窗口任意位置的显示,使得屏幕显示变得丰富灵活。关键词:LED 大屏幕;多窗口显示;ARM 微处理器;异步控制器中图分类号:TN8

3、73.92文献标识码:AAbstract:One method used in the design of LED large screen asynchronous controller is introduced in this paper.The design is based on 32bit ARM and uc/OS-II.It can realize multi-windows and free position display,which can make the screen display more flexible.Key words:LED large screen ,

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

5、LED 控制系统的工作原理典型的LED 异步控制系统主要由PC 应用软件、通信模块、数据处理模块、扫描控制模块、驱动模块和LED 屏几部分组成,如图1所示。图1系统原理框图首先,PC 应用软件将文本或图片转化为具有特定格式的点阵信息。然后,通过通信模块将此点阵信息发送给数据处理模块。数据处理模块对这些点阵信息进行各种特技处理,最后通过扫描控制模块和驱动模块将画面在LED 屏上进行正确显示。本文所指的LED 异步控制器包括通信模块、数据处理模块和扫描控制模块三部分。3控制器软件部分的设计本控制器的硬件结构如图2所示。数据处理模块由M CU ,一片SRAM 和一片FLASH 存储器组成。M CU

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

7、现PC 与控制器之间的RS232、RS485以及工业以太网通信。图2控制器的硬件结构框图4控制器软件部分的设计为了实现单屏幕、多窗口任意位置的显示,软件部分我们基于uc/OS-II 进行设计,这样可以充分利用操作系统高效的任务调度算法,将每个窗口的显示都交由单个任务来完成,从而极大地提高系统的运行速度和可靠性,并且使得程序的开发和扩展变得更加方便。王有乾:硕士研究生基金项目:国家自然科学基金资助(50447008104- 邮局订阅号:82-946360元/年技术创新ARM 开发与应用PLC 技术应用200例您的论文得到两院院士关注在进行具体的程序设计之前,首先要确定数据的组织方案。因为好的数据

8、组织方案,对于程序编写来说往往可以达到事半功倍的效果。4.1显存的数据组织方案:对于双色屏,一个像素点需要红、绿两位数据来描述。为了便于处理,我们将横向连续的8个像素点组成一个字(2byte来进行存储,其中一个字节为红数据,一个字节为绿数据。数据存储顺序为从左到右,从上到下。如图3所示,假如屏幕宽度为160个像素点,显存起始地址为0x83000000,则屏幕第一行的前8个像素点映射到显存中地址为0x83000000和0x83000001的两个字节,第二行的前8个像素点映射到显存中地址为0x83000028和0x83000029的两个字节,依此类推。图3显存数据组织方案4.2点阵信息转化规则:由

9、于窗口大小可以任意设置,窗口的位置可以任意摆放。所以对于单个窗口而言,它在显存中的映射可能并非是字(2byte对齐的。以图4为例,在一个大小为160(宽×96(高的屏幕上开设一个左上角坐标为(20,16,大小为86×47的窗口,则此窗口第一行的前4个像素点在显存中的映射为地址是0x83000282和0x83000283的两个字节的低4位,所以这个窗口在显存中的映射并不是字对齐的。由于M CU 只能以字(2byte为单位对显存进行操作,所以PC 软件在对该窗口进行点阵信息转换时,如果直接对区域1(窗口的实际大小进行转换存储,则在对该窗口进行特技处理时会存在大量的位运算,这样会

10、大大降低运算效率,从而影响特技效果的显示,这样就很难满足用户对特技显示效果的要求。图4点阵信息转换为了解决上述问题,可以将区域1横向扩展成起点坐标为(16,16,大小为96×47的区域2。易知,区域2在显存中的映射是字对齐的。为了避免运算时的位操作,PC 软件在对区域1进行点阵信息转换时,可按区域2来进行,只是需将区域1的扩展部分的数据全填为1。这样处理会牺牲掉一小部分FLASH 存储器空间,但却可避免特技处理时大量的位运算,从而大大提高运算效率,因此这样做是值得的。4.3缓存数据的组织方案:由于M CU 只能对显存进行写操作,而在进行特技运算时,往往需要前一帧信息才能得到下一帧的信

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

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

13、序结构框图下面是任务TaskControl 的程序演示:void TaskControl(void *pdatauint8taskNum;pdata=pdata;RESET:reset=0;/reset 标志清零for(taskNum=3;taskNum<18;taskNum+/删除原先建立的窗口显示任务105-技术创新中文核心期刊微计算机信息(嵌入式与SOC 2007年第23卷第7-2期360元/年邮局订阅号:82-946现场总线技术应用200例ARM 开发与应用OSTaskDel(taskNum;/窗口显示任务优先级从3开始/最多允许设置16个窗口taskNum=flashReadW

14、ord(AREA_NUM _ADDR;/从FLASH中读取屏幕窗口个数if(taskNum>0/根据窗口数建立窗口显示任务OSTaskCreate(task0,(void*0,&task0StkTaskStkLength-1,3;if(taskNum>1OSTaskCreate(task1,(void*0,&task1StkTaskStkLength-1,4;while(1if(resetgoto RESET;/reset 标志为1,程序复位OSTimeDlyHM SM (0,0,1,0;窗口显示任务用于实现各窗口内容的显示。它根据各窗口显示方式的不同在其相应are

15、a 区域中进行下一帧数据的运算,然后调用areaToScreen(和screenToCpld(进行显示。在完成一帧数据的显示后,调用一次OSTimeDlyHM SM(使当前任务进入等待状态同时进行一次任务调度,将系统控制权交给处于就绪状态的窗口显示任务中优先级最高的那个,由此完成窗口显示任务之间的切换。我们也可以通过调整OSTimeDlyHM SM (的参数来改变各窗口相临两帧显示信息之间的时间间隔,从而可调整各窗口特技显示的效果,比如移动显示的移动速度。下面是其中一个窗口显示任务的程序演示:void Task0(void *pdatapdata=pdata;窗口参数初始化;while(1ui

16、nt16i;for(i=0;i<总帧数;i+下一帧数据的运算;/在area 区域中进行areaToScreen(;/将数据从area 读出写入screen screenToCpld(;/将screen 中相应数据写入显存完成一帧数据的显示OSTimeDlyHM SM (0,0,0,displaySpeed*20;/任务调度5结束语充分利用32位微处理器的高性能和实时操作系统高效的任务调度算法,实现了单屏幕多窗口的任意位置显示。使得屏幕显示变得更加丰富灵活,也使得很多以往只能使用同步控制器或者多个异步控制器的场合可用单块异步控制器来替代,从而降低了系统的成本。本文作者创新点:实现了LED

17、大屏幕单屏幕多个窗口任意位置的显示,并且可实现多窗口重叠显示及“画中画”等显示效果。参考文献1杨姣,郝国法,方康玲.基于cyclone EP1C6的LED 大屏设计方案J微计算机信息,2006,4-2:59-62。2郝国法,杨姣.LED 大屏幕控制电路设计方案研究J.电视技术,2005,11:94-96。3Jean.Labrosse 著,邵贝贝等译.嵌入式操作系统uc/OS-II(第二版.北京航空航天大学出版社,2005年。作者简介:王有乾(1982-,男,汉族,河南人,上海交通大学,硕士研究生,电力电子与电力传动,主要从事嵌入式系统应用及EDA 技术等方面的研究;佘焱(1968-,男,汉族,

18、湖南人,上海交通大学,副教授,博士研究生,主要从事自动控制及嵌入式系统应用等方面的研究;姜建国(1956-,男,汉族,上海交通大学,教授,博士生导师,主要从事大功率电力传动与工业过程智能控制等方面的研究。Biography:Wang Youqian (1982-,Male,Henan Province,Shanghai Jiao Tong University,Master,Power electronics and electrical drive,mainly engaged in the application of embedded system and EDA technology;

19、She Yan (1968-,Male,Hunan Province,Shanghai Jiao Tong University,associate professor,PhD,mainly engaged in automatic control and the application of embedded system;Jiang Jianguo (1956-,Male,Shanghai Jiao Tong University,professor,doctoral supervisor,mainly engaged in high power electrical drive and

20、procedure intelligent control.(200240上海上海交通大学电子信息与电气工程学院王有乾佘焱姜建国(School of electronic,information and electrical engineering,Shanghai Jiao Tong University,Shanghai 200240,ChinaWang Youqian She Yan Jiang jianguo通讯地址:(200240上海上海交通大学闵行校区B0403193班王有乾(收稿日期:2007.5.23(修稿日期:2007.6.25(上接第272页参考文献:1张伟,采用DDS+PLL 技术实现的L 波段频率合成器J,微计算机信息,2005,11-2:154-156。2刘红兵等,CPLD+DDS 在调频连续波雷达中的应用J,微计算机信息,2006,8-2:191-193。3刘伟等,基于DDS 技术的通信信号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论