微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 医疗电子 > 基于双RAM技术的LED显示屏控制系统设计

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

时间:01-16 来源:互联网 点击:
2 LED显示屏控制系统设计

LED显示屏控制电路。为了提高数据输出效率,采用Ramtron公司的带SPI功能模块的VRS51L3074单片机。VRS51L3074的时钟频率为40 M-Hz,指令周期短,处理速度快,效率高;工作电压在3.3 V左右,但是可以兼容5 V。SST25VF016B是一款具有SPI接口的8引脚串行Flash。7 4LSl64为移位寄存器。

2.1 VRS51L3074的SPI功能模块

VRS51L3074的SPI时钟频率可以在SysClk/2~SysClk/1024范围内调整,SPI时钟频率最高可以达到20MHz。当VRS51L3074作为SPI主机时,可以对SPI运行控制、配置和状态监控以及其他的一些工作环境进行设置。

配置寄存器SPICONFIG:主要对片选信号控制模式、SPI中断进行设置。

状态寄存器SPISTATUS:主要用于对SPI运行状态的监控。

传输字长寄存器SPISIZE:设置传输字长,本文设置为16位,即每次输出16位数据。

控制寄存器SPICTRL:对SPI时钟速率、时钟相位/极性、片选信号,以及SPI时钟频率进行设置。

数据寄存器SPIRXTX0~SPIRXTX3:用于对SPI接口32位收发缓冲器的访问,对数据寄存器执行写操作是将数据送入发送缓冲器中,对数据寄存器执行读操作是从接收缓冲器中取出收到的数据。SPI接口的发送和接收缓冲器都采用双缓冲结构,从硬件上减少数据冲突并提高数据传输效率。在主模式下对SPIRXTX0寄存器执行写入操作将启动SPI传输。当传输字各行长大于8时,应最后向SPIRXTX0寄存器写入。

向串行Flash输入控制信号和数据地址后,启动串行Flash传输数据,在SPI时钟驱动下输出显示数据,并且可以用单片机模拟串行Flash时钟信号控制任意位数据输出。

2.2 数据选择控制电路

LED显示屏控制系统如图3所示,VRS51L3074单片机内部自带精确的40 MHz振荡器,不需要外部晶振电路提供系统时钟。数据显示采用内存为16 Mb的SST25VF016B。双RAM技术输出显示数据的时候,是将两块RAM中相同地址的两个数据同时输出,所以,将两块RAM的显示数据存放在一块串行存储器中时,偶地址单元应存储RAM0的数据,奇地址单元存储RAMl的数据,数据输出时每次输出16位数据。串行存储器和单片机的工作电压都在3.3 V左右,但是VRS51L3074可以兼容5V,简化了控制电路。控制信号和显示数据在输出到寄存器74LS164和显示屏的时候,需要用74LVC07进行电平转换。



控制系统控制显示数据输出的流程为:

①将扫描线行地址通过P2端口的低4位送给LED显示屏。

②通过显示数据在显示区域中的位置,计算显示数据在存储器中的地址,并计算出数据选择的位数i。

③通过单片机P3.0口模拟移位脉冲,输出到串行Flash时钟信号,移位脉冲数由数据选择位数i决定。使输出数据产生错位,正确地选择输出显示数据。

④启动SPI读取显示数据,SPI传输字长设置为16位。模拟脉冲已经输出到串行Flash使数据产生了错位,输出16位数据[Di,Di+1,…,D7,…,D15,D0,…,Di-1],输出到显示屏的数据[D8+i,…,D15,D0,…,Di-1]在高8位,经过移位刚好可以存放在移位寄存器中。每行第一个数据输出后,此行各列数据都直接输出。

⑤16位数据输出完毕后,通过P3.1脚产生一个SCK脉冲,将移位寄存器74LSl64中的数据输出移入到单元板的串行移位寄存器74HC595中。

⑥重复第④至⑤步,直到一行数据全部输出完毕后,由P3.2产生一个RCK脉冲,读取的一行数据将输出显示,然后扫描线下移一行。

⑦重复第①至⑥步。

此电路有这样几个特点:显示数据从串行Flash输出后,不经单片机的处理,直接以DMA方式输出到移位寄存器74LSl64,同时实现串并转换,既节省数据处理时间,又提高显示效率。在每场数据输出之前,通过信息在显示区域中的地址计算数据选择位数i,并通过P3.O端口模拟i个脉冲输出到串行Flash,移出i位数据,数据产生错位,使输出显示的数据在16位输出数据的高8位,可以直接存放在移位寄存器中,输出到显示屏。以后同行各列的显示数据输出时,无需再进行数据选择位的判断,直接将显示数据从存储器中输出到显示屏。

存储器效率分析如表1所列。



由表1可知,采用双RAM技术输出显示大大提高了存储器效率,降低了显示数据存储器的占用。当显示信息量较大时,动态数据组织使用的存储器比较多、利用率低,而采用双RAM技术正好解决了这个问题。一块RAM(静态显示时)的存储器效率是100%,双RAM的效率是50%。当有N块RAM时,效率为(N-1)/N。

针对图3所示控制电路,按照数据输出控制流程编写了程序代码。随机显示一屏信息,显示数据已按顺序存储在串行Flash中。

结语

本控制系统利用串行Flash输出数据时的特点,大大地减少了数据处理的时间,将显示数据以DMA方式输出到显示屏,不但提高了显示效率,而且弥补了长条显示屏在显示信息上的不足。双RAM技术大大提高了垂直移动时的存储器使用效率,所有的数据块都是按静态显示方式组织数据,所以每一块RAM的显示数据效率都是100%,双RAM的效率为50%。本文将显示数据存放在一块Flash中,效率也为50%,相比动态显示组织方式,降低了垂直移动时显示数据存储器的占用率,提高了存储效率。此外,还可以双RAM技术为基础,扩展出多RAM方式,提高显示的高度,增加每屏显示信息,进一步提高存储效率。本系统仍有改进的空间,譬如以双RAM组织显示数据后直接用两个RAM来存放不同的数据,控制显示数据直接输出,以提高输出速率。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top