基于双RAM技术的LED显示屏控制系统设计

2010-12-13 17:29:13来源: 互联网

引言

  长条的LED显示屏在生活中应用得很多,这种显示屏的控制电路简单,扫描线有限,显示信息量也不是很大。当显示信息量比较大时,若采用一般的长屏显示屏,显示信息过慢,即使采用超长屏的显示屏,其数据输出速率也很低,而且显示屏的刷新频率也不一定能满足显示需求。矩形显示屏显示的信息量大,并且可以按需要扩展显示屏的高度,不存在频率上的限制,能够弥补长条显示屏显示信息时存在的不足。本设计使用双RAM技术来组织用于控制矩形显示屏的控制系统数据,提高了信息垂直循环显示时的存储器效率,大幅度降低了对数据存储器的占用率,并且对刷新频率的要求也不是很高。

1 显示数据组织

  需要显示的区域小于或等于实际显示区域时,采用静态显示即可。但大多时候需要显示的区域大于或等于实际显示区域,如图1所示。为了简化问题的分析,本文将显示区域高度设置为LED显示屏高度的4倍,宽度等于LED显示屏宽度。设显示屏的高度为Lh,宽度为Lw,则显示区域高度Dh=4Lh,宽度Dw=Lw。本文以单色显示作为描述对象,且Bw=Bn=8(Bw为扫描线条数,Bn为输出数据宽度),如图1所示。

  对于一个LED显示屏,宽度Lw和高度Lh确定后,显示屏单元板的排列方式也就确定了。单元板相邻的两条扫描线之间的距离为Sw,显示屏有Bw条扫描线,分别是Y0,Y1,…,YBw-1。每Sw行对应一位显示数据,显示屏上的每一个点对应于存储器中某个字节的某一位。Bw条扫描线分别指向:Y0=O,Y1=Sw,…,BBw-1=(Bw-1)Sw。用静态显示数据组织方法分别对显示块A、B、C、D组织显示数据。首先对显示块A的显示信息进行组织(X为列号):

  ①X=0,即当前扫描线各行与第O列相交各点的显示数据按D0,D1,…,DBw-1的顺序存储在存储器的第一个存储单元中。

  ②X值增加1,当前扫描线各行与X值对应列相交各点的显示数据存储在存储器的下一个存储单元中。直至将X=O至X=Dw-1的Dw个数据按顺序全部存储在存储器中。

  ③Bw条扫描线向下移动一行,重复第①至②步,直到Y0移动到Sw-1行时。

  ④数据组织结束。

  显示区域B、C、D分别按照A的数据组织方式去组织显示数据。组织后的显示数据块按A、B、C、D的顺序存储在RAM0里,然后将RAM0中的显示数据块A、B、C、D按B、C、D、A的顺序拷贝到RAMl中,任何两个相邻显示块的显示数据在两块RAM中都有相同的地址存储区域。RAM0和RAMl的显示数据与存储器的对应关系如图2所示。

  如图2所示,扫描组1从Y0=0到Y0=Sw-1,对应显示块A,数据已组织存放在存储器中,可以直接输出显示数据;扫描组2从Y0=Lh到Y0=Lh+ Sw-1,对应显示块B也已经组织好,可以直接输出。但是扫描组3,它的位置非同一般,它的扫描线分别对应着两个块A和B;第O,1,…Bw-1条扫描线分别对应显示块A扫描组1的1,2,…,Bw-2;而第Bw-1条扫描线就对应显示块B扫描组2的第O条扫描线。如果要在显示屏上显示扫描组3对应的这一屏数据,就一定要同时使用到扫描组1的第1,2,…,Bw-1条扫描线和扫描组2的第O条扫描线组织的显示数据作为输出数据。由于显示块A和B的显示数据是分别组织的,这时就要取RAM0的D0,D2,…,DBw-1和RAMl的D0位作为输出到显示屏的Bw位数据,这就需要在两块RAM同时输出的2Bw位中选择需要的Bw位作为输出数据,并且这Bw位数据是连续的。

  显示步骤(在此只考虑垂直移动显示效果);双RAM技术将显示数据输出的时候,是将两块RAM中相同地址的两个数据同时输出。所以,如果设置RAMO为主存储器,RAMl为从存储器,则将两块RAM的显示数据存在一块串行存储器中时,偶地址单元应存储RAM0的数据,奇地址单元存储RAMl的数据,由于数据宽度为8,所以每次输出16位数据。如果显示区域中以(XL,YL)点为显示起始点,在LED屏上显示一屏显示信息,则其数据选择控制位只与YL、扫描线和扫描宽度Sw有关。显示区域的起始行坐标为YL,一块显示区域有Bw·Sw行,则YL所在的块为:
   


  这里讨论YL在实际显示区域的坐标没有多大意义,只须注意YL在当前显示块的相对坐标,NL=YL%(Bw·Sw)就是YL在当前显示块的相对纵坐标,则相对坐标为(NL,YL)。动态显示的基础是静态显示,静态显示以从特定行显示一屏为特征,当显示屏从第YL行开始显示信息时,因为一块显示区域有Sw·Dw个数据,则YL所在块显示数据的起始地址为:
   


  一块显示区域分为Sw个区,则YL所在的分区记作:
   


  一区存放有Dw个显示数据,所以YL所在分区地址与所在块起始地址之间的相对偏移地址为(YL%Sw)·Dw。所以,只要知道了显示信息的起始行坐标,就能得到显示数据在存储器中的存储地址。

  NL=YL/(Bw·Sw),这里记i=NL/Sw(0≤i≤7),表示显示信息跨越两个数据块时需要选择的数据位数。存储器输出16位数据[D0,D1,…,D15]后,从Di位控制选择连续的8位数据[Di,Di+1,…,D7,…,D7+i]输出到显示屏。当数据从一个字节的Di位开始输出16位时,如[Di,Di+1,…,D7,…,D15,D0,…,Di-1],前面8位在当前显示是多余的几位数据,后面8位数据[D8+i,…,D15,D0,…,Di-1]正好是要输出到显示屏的8位数据。当这16位数据串行输出到一个8位的移位寄存器中时,移位寄存器刚好可以容纳高8位数据,并将其输出显示。之后各列数据的输出情况同样如此,不需要额外的指令或电路来对输出数据进行选择输出。只是在每行第一列数据输出前,通过单片机模拟i个时钟脉冲输出到存储器,让输出数据产生错位,使数据从Di位开始输出。另外,当显示信息刚好是A、B、C、D块中的某一块时,无须产生模拟脉冲对数据进行选择,而是直接将数据输出显示。通过分析可知,SPI模块刚好具有这个功能,通过单片机额外模拟i个时钟脉冲,输出到串行存储器的时钟信号端,可以使数据错位,从指定的某一位Di开始输出。当显示信息跨越Sw-1区间时,如果一场显示还没有完毕,内存地址应返回到YL所在块的起始地址,并从起始地址开始输出显示数据,单片机模拟的脉冲数i也相应发生变化。

[1] [2]

关键字:RAM  LED显示屏  控制系统

编辑:鲁迪 引用地址:http://www.eeworld.com.cn/medical_electronics/2010/1213/article_1727.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
RAM
LED显示屏
控制系统

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 医学成像 家庭消费 监护/遥测 植入式器材 临床设备 通用技术/产品 其他技术 综合资讯

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved