基于双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显示屏
控制系统

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

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

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

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

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