一种高速旋转led图像显示器及显示方法

文档序号:9353087阅读:1692来源:国知局
一种高速旋转led图像显示器及显示方法
【技术领域】
[0001]本发明涉及一种高速旋转LED图像显示器,属于智能硬件系列。
【背景技术】
[0002]如何让一列灯旋转起来感觉像稳定的字显示在空中呢?首先我们来分析下人的眼睛,其实人的眼睛非常好骗的,只要让电机扫描的快一点就行了,实际上肉眼在24帧/秒以上就不会看到闪烁的,所以要保证电机的速度能在一秒转24圈以上,这样的话人眼就觉得旋转的字很稳定很清晰的显示在空中了。旋转LED旋转起来是一个圆,那么就需要有一个传感器来判断起点位置,有人用霍尔传感器,有人用红外对管,用红外对管来的便宜些,而且实现起来也容易。这个起点检测非常重要,单片机就是根据这个起点来判断是否要开始显示数据的。如果起点检测不到单片机就不开始显示。如何让一列灯不断的送数据实现一个文字的显示呢?这个我们就要了解文字取模的原理了,这里以PC2002字幕软件为例,取一个16*16的中文字,从第一列开始向下每取8个点作为一个字节,如果最后不足8个点就补满8位。取模顺序是从低到)高,即第一个点作为最低位。如*-------取为00000001
[0003]取模后如下:#I! X! 0/10xFF, 0x7F, OxFF, OxBF, 0x3F, 0xC8, OxBF, OxFB, OxBF,OxFBj OxBFj OxEBj 0x80,0x9B, 0xB7, OxFBj 0xB7, OxEBj 0xB7, 0x9B, 0xB7, OxFBj 0x37,0xF8, 0xF7, OxEF, 0xF7, OxIF, OxFF, OxFF, OxFF, OxFF, /*"点",0*/
[0004]在什么时候送显示呢?单片机10 —判断到红外接收管接收到起点信号,就开始显示,显示完16列后等待下一次的起点信号。这样只要电机的速度够快就会稳定的把字显示字空中了。平面的文字显示同理。
[0005]寄去利用人眼的视觉残留,欺骗人的视觉系统,只要让电机扫描的快一点就行了,实际上肉眼在24帧/秒以上就不会看到闪烁的,所以要保证电机的速度能在一秒转24圈以上,这样的话人眼就觉得旋转的字很稳定很清晰的显示在空中了。所以通过高速的旋转显示可以将图像呈现在人们眼前。
[0006]在现有的技术中通常采用取模软件得到的数据利用单片机进行LED的显示,具有存储的数据量小以及显示的精度低等多种局限,由于单片机的10 口速率较低所以局限了LED的显示速率以及精度。

【发明内容】

[0007]发明目的:为了克服现有技术中存在的不足,本发明提供一种高速旋转LED图像显示器,其LED旋转显示的速率以及清晰度高,能够更好的显示图像。
[0008]技术方案:为实现上述目的,本发明采用的技术方案为:一种高速旋转LED图像显示方法,包括以下步骤:
[0009]第I步,将所需的图片通过matlab的imread函数读取,根据读取到的信息在此图片中做出一个最大的圆,并找到它的圆心;
[0010]第2步,将步骤I中得到的圆分为固定的N份,并将其中的每一份分为用M个灯显示,通过已经找到的中心点的坐标依次求出这MXN个坐标点所对应的的RGB数据点,并将RGB数据点通过fprint函数存入SD卡中;
[0011]第3步,利用STM32的SPI与SD卡的驱动芯片CH376进行通讯,而STM32采用自定义的数据并行传输的通讯协议与FPGA的通讯;
[0012]第4步,通过FPGA系统将从STM32上读取的数据存入FIFO中,存满后写入SDRAM中,当写满一幅图片时,开始LED的显示控制,当外部的光电对管检测到信号时触发图片的显示,将图片中的第一线的数据依次写入LED中,显示相应的色彩,并在间隔相同的时间显示下一份数据,同时控制电机旋转,转完一圈正好一副图片显示完成。
[0013]所述第3步中STM32与FPGA的通讯采用了自定义的数据并行传输的通讯协议:八位数据位与写请求和写满十根信号线构成了通讯的硬件连接,当写满信号为空时,将从SD卡中读取出来的数据进行转换然后通过八位数据位传输,将写请求拉低触发FPGA写信号,FPGA同步读取数据;当FPGA中的缓存已被写满时将写满信号拉高,停止继续写入数据直到缓存已被完全读取完再将写满信号拉低。
[0014]所述FPGA单元包括SDRAM、SDRAM数据读写模块、SD卡数据写入模块、LED显示控制模块。
[0015]所述步骤I中图片中做出一个最大的圆的方法:根据imread函数读取的信息,通过SIZE函数计算出图片的长与宽,取出长的一半与宽的一半进行比较取较小的值作为半径,长方形对角线的交点作为圆心,在此图片中做出一个圆。
[0016]一种高速旋转LED图像显示器,包括LED棒、电机,所述LED棒的一端与电机的驱动端固定连接,还包括光电对管、SD卡、STM32控制器、图片处理单元以及FPGA单元;所述图片处理单元包括图片读取模块、取圆模块、坐标对应模块;所述FPGA单元包括SDRAM、SDRAM数据读写模块、SD卡数据写入模块、LED显示控制模块,其中:
[0017]所述图片读取模块用于将所需的图片通过matlab的imread函数读取,并将读取到的信息传递给取圆模块和坐标对应模块;
[0018]所述取圆模块用于根据图片读取模块读取到的信息,在所需的图片中做出一个最大的圆,并找到它的圆心坐标,并将该圆信息传递给坐标对应模块;
[0019]所述坐标对应模块用于根据取圆模块得到的圆的信息,将这个圆分为固定的N份,并将其中的每一份分为用M个灯显示,通过圆心坐标依次求出这MXN个坐标点坐标信息,结合图片读取模块读取到的RGB值,确定这MXN个坐标点所对应的的RGB数据点信息,并将该RGB数据点信息存入SD卡中;
[0020]所述SD卡用于存储RGB数据点信息,并通过STM32控制器的SPI与SD卡的驱动芯片CH376进行通讯;
[0021]所述STM32控制器用于通过SPI与SD卡的驱动芯片CH376进行通讯,通过采用自定义数据并行传输的通讯协议与FPGA单元中的SD卡数据写入模块进行通讯;
[0022]所述SD卡数据写入模块用于与STM32控制器进行通讯,并将得到的信息发送给SDRAM数据读写模块;
[0023]所述SDRAM数据读写模块用于将SD卡数据写入模块从STM32控制器读取的数据存入FIFO中,存满后写入SDRAM中,并将写满一幅图片的信息发送给LED显示控制模块;所述光电对管用于检测触发图片显示信号,并将该图片显示信号发送给LED显示控制模块;
[0024]所述LED显示控制模块用于根据图片显示信号将SDRAM数据读写模块发送的图片信息中的第一线的数据依次写入LED中,显示相应的色彩,并在间隔相同的时间显示下一份数据,同时控制电机旋转,转完一圈正好一副图片显示完成。
[0025]优选的:所述取圆模块根据图片读取模块读取的信息,通过SIZE函数计算出图片的长与宽,取出长的一半与宽的一半进行比较取较小的值作为半径,长方形对角线的交点作为圆心,在此图片中做出一个圆。
[0026]优选的:所述采用自定义数据并行传输的通讯协议:八位数据位与写请求和写满十根信号线构成了通讯的硬件连接,当写满信号为空时,将从SD卡中读取出来的数据进行转换然后通过八位数据位传输,将写请求拉低触发FPGA写信号,FPGA同步读取数据;当FPGA中的缓存已被写满时将写满信号拉高,停止继续写入数据直到缓存已被完全读取完再将写满信号拉低。
[0027]本发明提供的一种高速旋转LED图像显示器,相比现有技术,具有以下有益效果:
[0028]—、显示的信息:由原来的文字改为可以显示全彩的图片,利用matlab自带的图像处理函数将整幅图片转换为一个圆形图片,将其中的RGB数据存入相关设备中。因此图片?目息失真少,精度尚,?目息显不清晰。
[0029]二、信息存储的便捷性:我们将转化的图片信息存储到SD卡中,极大地方便更改数据与读取数据。
[0030]三、图像显示的速度的提高:通过采用可编程器件FPGA高速显示图像,因此本发明能够适应高速电机的转动和显示更加清楚的图像。
[0031]综上所述,本发明的高速旋转LED图像显示器,其LED旋转显示的速率以及清晰度高,能够更好的显示图像。
【附图说明】
[0032]图1为本发明的高速旋转LED图像显示器数据处理示意图;
[0033]图2为FPGA的系统示意图;
[0034]图3为STM32与FPGA之间的数据传输的电路示意图;
[0035]图4为未处理的图片;
[0036]图5为Matlab处理后的图片;
[0037]图6为SD卡中txt中存储的数据示意图。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1