首页 > 范文大全 > 正文

LED点阵屏控制卡的研制

开篇:润墨网以专业的文秘视角,为您筛选了一篇LED点阵屏控制卡的研制范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:研制了一种基于STM32的led点阵屏控制器,采用STM32单片机进行控制,运用PC上位机软件将串口通信传输数据传至STM32控制卡下位机,驱动LED点阵广告屏显示,实现了对LED点阵屏的简便控制,满足了设计要求。实验表明该方法是行之有效的。

关键词:控制系统 LED点阵屏控制卡 单片机

中图分类号: TN91 文献标识码:A 文章编号:1007-9416(2016)03-0000-00

Abstract:LED Lattice screen control card was researched according to use STM32. PC software via serial port communication to transmit data to the STM32 under control card machine.And It was driven by control card of LED dot matrix display advertising.It was easy to control and is reliable to meet the design requirements.Experiments show that the design method is effective.

Key words: control system; LED Lattice screen control card; Single chip microcomputer

1 引言

LED点阵广告屏作为一款高性价比显示屏在户内外广告被广泛运用,用于显示各种集汉字、字符和图片信息于一体的商业广告以及城市装饰;于是目前市场上有各种款式,各种价格的点阵广告屏控制器,并且有相当部分也做得很专业,然其使用方便程度不高,且建立在系统基础上开发,编程开发相对复杂,使用起来需要专门的学习说明书或培训,所以要真正用起来,需用专业的人员,这对使用的销售人员来说是一个考验,因此,做一个图形化的、傻瓜式操作的、廉价的、易于推广的点阵屏的控制系统尤其重要。

2 控制卡系统整体概述

如图1所示,LED点阵屏控制卡由STM32处理器及Flash存储电路、与PC上位机串口通信电路和LED点阵屏驱动电路组成。独自采用VC编写PC上位机通信软件,其软件包括字模提取,动静态显示效果模拟,时钟校准功能与串口数据传输功能。STM32处理器从串口RS232接收到数据后将数据存储至外部Flash芯片中,再调入处理器片内RAM中运行,通过驱动电路驱动LED点阵屏显示。

3 控制卡硬件设计

硬件设计核心部分主要分成两部分:Flash数据存储部分,负责存储接收PC上位机数据,防止由于断电数据流消失;串口通信部分,负责下位机处理器与PC机的正常通信与数据流传输。

3.1 Flash数据存储部分

外部Flash存储器选用W25X16芯片,通过SPI与STM32处理器通信;W25X16容量为16Mbit(2MB),足够用来存储PC上位机数据,因为上位机数据主要由驱动控制指令数据与字模数据组成,数据主体部分为字模。且本文介绍STM32F103RB内部RAM为20K,其中部分要用来放置处理器片内程序的动态变量数据,同一时刻用来调用外部Flash的大小大致为10K;而10K则能驱动40个08接口LED点阵屏的静态字模显示。

图2为Flash控制引脚图片,这里利用STM32的SPI主机模式;SPI通信只占用4根线:SPI2_NSS从设备片选信号,由主设备控制;SPI2_MISO主设备数据输入,从设备数据输出;SPI2_MOSI 主设备数据输出,从设备数据输入;SPI2_SCK时钟信号,由主设备控制。

从串口接收到数据后每次256Byte开始从W25X16零作为起始地址顺序写入,即可看成每帖写入数据为256Byte,每次中断进入写完256Byte后从串口输出0xFF作为接收并写入Flash成功标志信号,上位机接收到标志信号后依次发下一帖数据,并依次存储写入,直至发送完成[4]。

3.2 串口通信部分

串口通信电路较为简单,如图3所示,只是通过MAX232芯片电平转换即可完成串口通信;该部分主要体现在串口中断程序上:一方面要实现在上位机数据流传输并写入至外部Flash中;另一方面实现处理器时钟校准信号,于是在上位机做时钟信号校正处理时,在此数据后面加上标志位,如回车标识符号(0x0D和0x0A) [4]。

3.3 控制卡硬件核心代码

本下位机LED点阵屏程序显示代码的核心二字为“步骤”。我们知道08接口是用于十六分之一扫的点阵屏,该接口是一行一行推送数据的,因此比其他接口扫描点阵屏更为简单。我们就以一块08接口点阵屏为例,该点阵屏是32*64,因此同时扫描第一和第十七行,我们需要扫描16次,所以称之为十六分之一扫。

我们重点分析特效部分。我们将特效部分分为显示部分和动画部分,显示部分即点阵屏扫描显示亮点形成图像,而动画部分是将图像变成一帧帧的动画。

我们来讲一个分区函数,全部特效都是围绕着该函数进行的。这里分几个步骤,初始化变量,调用特效函数,判断时间,重新更新时钟。首先初始化变量就不用说了,这是必备的。调用特效函数就是这部分的核心,而n_screen_module在这里是用来判断点阵屏的接口,因为不同的扫描方式,全局变量传递给特效函数行列位置也不一样。判断时间也是很重要的,每个特效都会有不同的时间,其中时间分为每帧动画时间,字模显示时间,特效切换时间等。

4 PC上位机软件

PC上位机软件采用MFC构架,如图4所示,简约易用,与下位控制板卡配套使用。且有多种显示效果,增加灵活性和多样性,兼容多种字库,兼容不同规格组合LED屏幕,简单图形化人机交换界面,面对非专业用户群体能轻松掌握使用,减低使用门槛,且操作步骤方便。

以下是部分代码:

OnPaint()函数主要用来实现静态效果的显示,当屏幕显示变化时,都会调用此函数。但只用这个函数有个缺点,就是切换屏幕后就会再次调用这个函数。(不断更新)这时,不能很好实现动态效果的播放。因此,需要用到另外一个绘图函数,OnDraw()函数[3-5]。

4.1 视图分割技术

上位机软件采用视图分割技术,实现对话框与视图界面数据的同步交换,从而使操作更方便,且显示效果更加美观。采用分割技术,数据不能正常交换;在此,则应当有一个交通中枢,将其各部分相联系在一起,而主类就有此功能。然其不足之处是数据的交换通过“全局变量”来实现而造成数据量庞大、容易混淆的缺点。为了达到操作与显示的同步,还用到关联、自定义消息函数等技术。

自定义消息函数的作用比较明显的,能够在某种意义上达到自动更新的作用,实现非人手操作的更新,显得更加智能化。

4.2 双缓冲技术

上位机的动态效果显示采用双缓冲技术。最初由于界面的不断更换,促使屏幕闪烁。

最后变换的数据整理到一起,大大减少变化的范围。在实现动静态效果时,需要将窗口显示函数断开,使OnPaint与OnDraw;函数分别实现静动态效果的显示。在实现动态效果时,由于屏幕大小,字体大小等的不断变化,在此分配了一个特殊的绘图区域(裁剪区域cliooing region),使显示能容只能在该区域内显示。

4.3取模转换

上位机能够调用多种类型字库,且字模没有以图片的形式获取,而采用动态获取输入的字模的方法,即能减少字模的数据量。由于字库的种类繁多,在某些字库的调用上需要特殊处理。例如对24*24字体字获取上作适当的调整!其他规格的大小,例如16*16,32*32等,无论字符还是字体的最小单位都是字节数,而24*24就不一样,它的字符(例如‘0’等)只是12位,对此采用平移方式处理。

4.4 时钟校准

上位机时钟与计算器时钟的时间同步,改变计算器上的时间,上位机时钟的时间也随之变化,还可以通过校准来改变下位机的时间。

4.5 串口传输数据转换

上位机采用的多个ActiveX控件进行数据传输。它的一个好处是,采用这种控件就不需要再自行开发这种控件了。这种控件有个特点,只能在对话框上使用,因此,在视图类上就造成了一定的使用限制。

5结语

实验证明:以STM32为处理器,通过上位机软件,能有效地完成系统各种接口任务,使系统具有体积小,功耗小,高性价比等特点,并且不出现闪烁抖动现象。但在输入字符的数量和支持的驱动点阵数量还受到一定限制,但可以满足低端广告市场。

参考文献

[1]王浩然,秦会斌.LED点阵显示单元的设计与驱动控制[J].电子器件,2010,33(5):550- 552.

[2]汪清明.LED点阵显示牌的设计与动态显示控制[J].微计算机信息,2001,17(8):64-67.

[3]孙鑫,余安萍.VC++深入详解[M].北京电子工业出版社,2006.

[4]刘军.例说STM32[M].北京:北京航空航天大学出版社,2011,73-75,97-105,558-238.

[5]郑莉,董渊,何江舟.C++语言程序设计[M].北京:清华大学出版社,2011.

[6]STM32F系列ARM Cortex-M3核微控制器开发与应用[M].北京:清华大学出版社,2011,79-114.

[7]芮晓飞,朱维涛.LED屏幕点阵字符显示系统应用研究[J].仪器仪表学报,2004,25(4):453-456.

[8]陈至坤,侯国强,马晓峰.LED图文显示屏系统的研制[J].微计算机信息,2003,19(4):55-56.

收稿日期:2016-01-21

1作者简介:李庆华(1979―),男,湖南郴州人,高级电工,研究方向:电路设计与开发。