一种嵌入式LED显示控制系统及其控制方法
技术领域
本发明属于LED显示技术领域,涉及一种低成本的嵌入式LED显示控制系统及其控制方法。
背景技术
随着信息时代的到来和高新技术的迅速发展,人们对显示技术有了更高的要求。LED显示具有视角大、寿命长、功耗小、色彩鲜艳、节能环保等特点,已成为现代信息发布媒体的重要手段,在证券交易、金融、交通、体育、广告等领域得到了广泛应用。嵌入式LED显示控制系统及装置通过微处理器的嵌入式控制,实现对LED显示装置的图片或文字的动态显示,包括左/右移、上/下移、飘雪、放大、缩小、闪烁等二十多种显示效果,并支持用户通过USB/RS232串口等方式自行下载更新图片文字,构成了一种低成本的LED显示系统,包括多种分辨率的单色或彩色LED显示装置。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种嵌入式LED显示控制系统及其控制方法,该装置以PC机作为上位机客户端,其发送过来的点阵数据包,根据通信握手协议,经过下位机接收模块的串口或者USB口,送到下位机数据处理模块,将数据包的冗余信息和点阵数据经行分离,丢弃冗余信息,得到点阵数据放入数据存储模块,为了实现图文信息的动画效果,数据存储模块中的数据经过移位操作后,以行的形式依次送过LED显示驱动装置。
本发明的目的是通过以下技术方案来解决的:
这种嵌入式LED显示控制系统,包括上位机客户端和下位机,所述下位机包括下位机数据接收模块、下位机数据处理模块、数据存储模块和下位机数据发送模块;所述上位机客户端由PC机实现,所述上位机客户端通过串口或USB连接下位机数据接收模块;所述下位机数据接收模块通过数据线连接至下位机数据处理模块,所述下位机数据处理模块分别通过数据线连接至下位机数据发送模块和数据存储模块;所述下位机数据发送模块连接有LED显示驱动装置。
上述下位机数据处理模块由MCU实现。
上述数据存储模块为FLASH存储芯片。
本发明提出一种上述系统的控制方法,具体包括以下步骤:
1)上位机将图文信息转换为点阵形式的数据,并根据上位机和下位机硬件平台之间的通信握手协议,将所需数据以包的形式存放,通过上位机发送到下位机;
2)所述下位机数据接收模块接收上位机发送过来的数据包并将其交给下位机数据处理模块;
3)所述下位机数据处理模块以LED动态扫描的方式处理将要显示的数据,然后将处理好的数据发给数据存储模块和下位机数据发送模块;
4)所述数据存储模块把要显示的数据存放在FLASH存储芯片中;
5)所述下位机数据发送模块将处理好的数据发送给LED显示驱动装置。
在上述步骤1)中,所述上位机将图文信息转换为点阵形式的数据的方法为:
当为图片信息时,首先提取图片每个像素点的RGB灰度值,将各像素点R灰度值大于等于128的做1处理,小于127的做0处理,经过这样处理,每个像素点的R灰度值只有1或者0,然后将所得到的只有1或者0的R灰度值按相应像素点组成点阵数据,这样就得到了该图片的R点阵数据;按照同样的方法,可以分别得到该图片的G、B的点阵数据;
当为文字信息时,输入的文字信息可以通过在字库,直接找到该文字的点阵数据。
在上述步骤3)中,下位机数据处理模块接收一次数据包的数据量是6+24+968*n字节,6字节是握手协议中定义的识别信息;24字节是关于图文信息的帧数,数据长度,数据宽度和时间信息;968*n是指n帧数据的总字节数,其中8字节包含了每帧数据的显示次数,暂留时间,显示方式,显示速度,960字节是由R、G、B组成的;下位机数据处理模块将接收到的数据包存入一个1024字节大小的数组一中,将数据包中的识别信息丢弃,依次将剩余的数据复制到数组二中用于FLASH存储器和显示处理。
以上由数组二中发出的数据进行显示处理的方法为:提取出数组二中的R、G、B三种点阵数据,分别对R、G、B点阵数组进行移位操作,从而实现由R、G、B三种不同点阵数据组成的图文信息的动态显示效果。
上述步骤1)中所述通信握手协议由数据结构和数据类型组成;所述数据结构包括发送的命令、数据长度、数据地址、数据内容、以及下位机对上位机的响应信号;所述数据类型是Parameter、Command、Verifytime或Response。
与已有技术相比,本发明的特点以及优势在于:
1.本发明自主开发上位机客户端与下位机硬件之间的通信握手协议,简洁易用,上位机转换出的点阵数据,保证了最小的数据量,提高了传输的效率;
2.采用了两种通信方式,便于灵活使用,通信方式简单。采用的USB通信方式,更是提高了通信速度;
3.上位机发送模块与LED显示驱动装置之间定义的接口简单易用;
4.本发明的与已有技术相比,优势在于,使用的MCU高性能、低成本,使得硬件装置变得简单,成本低廉,适合批量生产。
附图说明
图1是本发明的系统模块框图;
图2是本发明开发的通信协议图表;
图3是本发明的数据流向图;
图4是本发明采用的FLASH的数据块图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
参见图1,本发明的嵌入式LED显示控制系统,包括上位机和下位机,包括上位机客户端1和下位机,下位机包括下位机数据接收模块2、下位机数据处理模块3、数据存储模块4和下位机数据发送模块5;上位机客户端1通过串口或USB连接下位机数据接收模块2;下位机数据接收模块2通过数据线连接至下位机数据处理模块3,下位机数据处理模块3分部通过数据线还连接至下位机数据发送模块5和数据存储模块4;下位机数据发送模块5连接有LED显示驱动装置。上位机客户端1作用在于将所需显示的图文信息转换为点阵形式的数据,并根据上位机客户端和下位机硬件平台之间的握手协议,将所需数据以包的形式存放,通过上位机客户端的通信模块发送到下位机;下位机数据接收模块2作用在于接收上位机发送过来的数据包并将其交给下位机数据处理模块;下位机数据处理模块3作用在于处理将要显示的数据;数据存储模块4作用在于把要显示的数据存放在数据处理模块3中;下位机数据发送模块5作用在于将处理好的数据发送给LED显示驱动装置。
在本发明的最佳实施例中,采用了一款高性能、低功耗的MCU作为下位机数据处理模块3的主控制器,上位机客户端1由PC机实现,数据存储模块4采用FLASH存储芯片。上位机客户端1发送过来的点阵数据包,根据通信握手协议,经过下位机接收模块2的串口或者USB口,送到下位机数据处理模块3即MCU控制器做处理。将数据包的冗余信息和点阵数据经行分离,丢弃冗余信息,得到点阵数据放入数据存储模块4的buffer1(如图3),将buffer1中数据进行重排放入数据存储模块4的buffer2,为了实现图文信息的动画效果,buffer2中的数据经过移位操作后,以行的形式依次送过LED显示驱动装置,用ABCD记录相应的行地址,直接用于LED显示装置的显示。同时将buffer2中的数据存入数据存储模块4的FLASH存储芯片中,以便下次可以直接从FLASH读取到要显示的数据。
根据以上本发明的嵌入式LED显示控制系统,以下提出一种根据该系统的控制方法,具体按照以下步骤进行:
1)上位机1将图文信息转换为点阵形式的数据,并根据上位机1和下位机硬件平台之间的通信握手协议,将所需数据以包的形式存放,通过上位机1发送到下位机。所述通信握手协议由数据结构和数据类型组成;所述数据结构包括发送的命令、数据长度、数据地址、数据内容、以及下位机对上位机的响应信号;所述数据类型是Parameter、Command、Verify time或Response。
其中在该步骤中,上位机1将图文信息转换为点阵形式的数据的方法为:
当为图片信息时,首先提取图片每个像素点的RGB灰度值,将各像素点R灰度值大于等于128的做1处理,小于127的做0处理,经过这样处理,每个像素点的R灰度值只有1或者0,然后将所得到的只有1或者0的R灰度值按相应像素点组成点阵数据,这样就得到了该图片的R点阵数据;按照同样的方法,可以分别得到该图片的G、B的点阵数据;
当为文字信息时,输入的文字信息可以通过在字库,直接找到该文字的点阵数据。
根据上位机客户端和下位机硬件平台之间的通信握手协议,将得到的点阵数据和握手协议中规定的相应内容以包Data的形式存放,通过串口或者USB接口按字节传输到下位机接收模块。
2)下位机数据接收模块2接收上位机1发送过来的数据包并将其交给下位机数据处理模块3;
3)所述下位机数据处理模块3以LED动态扫描的方式处理将要显示的数据,然后将处理好的数据发给数据存储模块4和下位机数据发送模块5。
在本步骤中,下位机数据处理模块接收一次数据包的数据量是6+24+968*n字节,6字节是握手协议中定义的识别信息;24字节是关于图文信息的帧数,数据长度,数据宽度和时间信息;968*n是指n帧数据的总字节数,其中8字节包含了每帧数据的显示次数,暂留时间,显示方式,显示速度,960字节是由R、G、B组成的;下位机数据处理模块将接收到的数据包存入一个1024字节大小的数组一中,将数据包中的识别信息丢弃,依次将剩余的数据复制到数组二中用于FLASH存储器和显示处理。
4)数据存储模块4把要显示的数据存放在FLASH存储芯片中;
5)下位机数据发送模块5将处理好的数据发送给LED显示驱动装置。
综上所述,本发明的系统采用的是SPI接口的串行FLASH存储器,4M大小的存储空间,由2048页(每页256Byte)数据组成,Buffer2中的数据存入FLASH存储器,采用的是页写的方式,先将MCU送过来的数据写入存储器的缓存区,再把缓存区的内容全部写入FLASH存储序列中。Buffer2中有24+968*n个字节的数据,将先收到的24字节存入FLASH中第一页,为了便于存储,968*n字节从第二页开始存放,每页256字节,共需要(968*n/256)页,可以非常便捷的存入所有数据。读FLASH中数据的时候,先将24字节的数据读出至存储器的缓存区,写入Buffer2,再将从第二页开始的剩下页,按整页读取的方式全部读出,最终将全部数据写入Buffer2。显示处理部分实现的是图文信息的各种动画显示效果,提取出Buffer2中的R、G、B三种点阵数据,分别对R、G、B点阵数组进行各种不同方式的移位操作,从而实现了由R、G、B三种不同点阵数据组成的图文信息的共计21种显示效果。经过显示处理过的点阵数据,以每行的形式送给LED驱动装置,用于显示。