来源:EDN电子设计技术
时间:2012-01-13
结合GPRS技术提出了一种大型LED显示系统设计方案,可以通过手机或者其他信息平台向该系统发送信息控制工作,以实现远程控制。该系统结构简单稳定,操作方便灵活,环境适应能力强,价格低廉,具有广泛的应用前景。
LED显示屏是上世纪80年代后期在全球迅速发展起来的新型信息传播媒体,是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的大型显示系统。它以其色彩鲜艳、动态范围广、亮度高、寿命长、工作性能稳定而日渐成为显示媒体中的佼佼者,广泛应用于广告、证券、信息传播、新闻发布等方面,是目前国际上较为先进的宣传显示媒体。本文提出一种基于GPRS和I2C总线结构的大型LED显示屏系统的设计方法,该系统首先允许客户在上位机对要显示的数据和图像进行处理,然后用GPRS模块发送信息,远程分布的GPRS模块接收远程控制和信息的内容,经过CPU单元处理后,通过I2C总线控制信息在各个终端的显示。系统中大型LED显示屏显示点阵为320×256像素,划分为32个显示模块,其中每个显示模块中的显示屏为长方形,含160×16个像素,由40个8×8的LED点阵块组合而成。
1 系统总体方案
该数据显示系统主要由上位机软件管理模块、GPRS的发送和接收模块、LED显示终端等部分组成,该系统框图如图1所示。上位PC机功能为接收用户输入信息,将其通过RS-232串口发送给GPRS的发送和接收模块进行数据的传输。上位机管理模块是用户和该系统进行直接交流的平台,用户通过PC上位机管理软件输入要在LED点阵屏显示的文字和命令以及各种图像,可以选择静止、从下向上移、从右向左移、闪烁等显示方式,也能改变字体和移动速度等。远程的GPRS的发送和接收模块主要的功能是将接收到上位机的信息,及时准确地传送到希望的显示终端,本设计主要是通过I2C总线传送给各个显示终端。显示终端由多块LED点阵屏模块组成,每块点阵屏模块有16×160点阵,可以显示10个16×16点阵汉字。本系统采用I2C总线进行控制单元和每个显示终端的通信,LED点阵屏模块由MSP430F169单片机控制,能接收自身地址数据并控制显示。
图1 系统的结构框图
2 系统硬件设计
该数据采集系统硬件包括上位机通信接口模块、GPRS的发送和接收模块、终端显示模块、终端数据处理单元。下面主要介绍GPRS的发送和接收模块和终端显示模块的设计。
2.1 GPRS的发送和接收模块设计
2.1.1 GPRS发送模块
本系统选用的GSM模块是西门子的TC35I模块,这款无线模块是一个支持中文短信息的工业级的GSM模块,工作在EGSM900和GSM1800双频段,电源范围为直流3.3~4.8V,电源消耗:休眠状态时为3.5mA,空闲状态时为25mA,发射状态为300mA、2.5A峰值;可以输出语音和数据信号,功耗在EGSM900和GSM1800分别为2W和1W,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。SIM电压为3V/1.8V,TC35I 的数据接口通过AT命令可以双向传输指令和数据,可选波特率为300b/s~115kb/s,自动波特率为1.2kb/s~115kb/s;支持TEXT和PDU格式的SMS,可通过AT命令或关断信号实现重启和故障修复。TC35I模块主要由供电模块、闪存、ZIF连接器、天线接口等6部分组成,作为TC35I的核心,基带处理器主要处理GSM终端内的语音和数据信息,并涵盖了蜂窝射频设备中的所有模拟和数字功能。
2.1.2 GPRS数据接收模块
本系统主要是应用GPRS模块与单片机进行数据传输,因此涉及的硬件主要是单片机和GPRS模块,本文GPRS模块选用西门子的TC35I,而单片机选择的是TI公司一种具有超低功耗、功能强大的16bit单片机MSP430F169 。由于该模块电源引脚有5个,且电压都是3.3~4.8V,因此本设计将5个引脚连在一起,直接接到外部4.2V电源上。但是本系统的外部电源是12V的直流电流,所以设计时采用LM2941稳压为4.2V.GPRS模块上的引脚IGT主要是用于点火复位,其作用是作为GPRS模块的一个复位转换系统,加电后为使TC35I进入工作状态,必须给IGT加一个大于100ms的低脉冲,电平下降持续时间不可超过1ms,这里通过RC电路来实现。TC35I的第32脚SYNC引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35I的工作状态,可用AT命令AT+SYNC进行切换,本模块使用的是后一种。GPRS模块和单片机之间的数据通信主要是通过端口TXD0与TXD之间、RXD0与RXD之间的数据传输来完成。其中,GPRS模块上的TXD0口用于接收从单片机传来的数据,而单片机上的TXD端口用于向GPRS模块传送数据。GPRS模块上的RXD0口用于向单片机发送数据,单片机的RXD口则用于接收从GPRS模块传输来的数据。在TC35I的基带处理器上有一个综合SIM接口,该接口直接接线到主机接口(端到端连接器),用于连接到外部的SIM卡座。本系统接的SIM卡有CCCLK、CCVCC、CCIO、CCRST、CCIN、CCGND 6个引脚,分别对应接在TC35I的第1~第6个引脚上。模块的连接器和SIM卡座的引脚之间的距离不要超过20cm,为了达到的效果,在SIM支架下敷设一层铜隔离网,该层敷铜与SIM卡的CCGND引脚相连。、
CCVCC和CCGND之间的两个电容要离引脚尽量近,并且走线尽量阻抗低,以满足规范要求。MSP430F169单片机的振荡器的晶振为11.0592MHz,数据传输率设置为9600b/s,复位键RESET为高电平时复位。GPRS数据传输模块硬件部分的电路原理图如图2所示。
图2 GPRS数据传输模块电路图
2.2 终端显示模块设计
2.2.1 I2C总线
本系统选用的是通过I2C总线进行数据处理单元和终端显示模块进行通信。I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线是用2根双向I/O信号线(串行时钟线SCL和串行数据线SDA)把多种器件连接起来,并实现器件之间的串行通信。I2C总线主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。MSP430F169内部集成有2个16bit定时器,1个高速12bit A/D转换器,12bit或8bit的双重D/A转换器,2个通用同步/异步通信接口和1个I2C模块。本文即利用I2C模块来对MSP430F169单片机进行扩展。
2.2.2 驱动电路
LED显示屏驱动电路设计根据驱动芯片的选择不同有着很大差异。LED驱动芯片可分为通用芯片和专用芯片两种。通用芯片是指其芯片本身并非专门为LED而设计,而是一些符合LED显示屏逻辑功能需求的芯片(如串、并移位寄存器)。通用芯片一般用于LED显示屏的低档产品,如户内的单色屏、双色屏等。专用芯片是指按照LED发光特性而专门设计用于LED显示屏的驱动芯片。LED是电流特性器件,即在饱和导通的前提下,其亮度随着电流的变化而变化,而不是靠调节其两端的电压而变化。因此专用芯片一个的特点就是提供恒流源。
本系统采用行扫描方式,行选通电路由集成电路74HC154构成。74HC154是4线-16线高性能译码器,在点阵屏幕不大的情况下,一般的单片机可以直接驱动点阵LED的亮灭,但是考虑扩展为大屏幕尺寸时,因单片机的I/O口不足以提供足够的驱动电流,但可在74HC154和点阵的行接口接上一个PNP型8550三极管开关电路用来提供足够的电流,当74HC154发出低电平时,三极管Q导通,输出高电平。此外,可用带有2级锁存移位输出功能的74HC595锁存器来对列线进行驱动控制。LED点阵的列线接到74HC595的8bit并行输出口上,由单片机控制数据的输出,利用74HC595的锁存输出功能,电路共用同一个移位时钟SCK和数据锁存时钟RCK,可级联多片74HC595以构成更大LED点阵屏的列驱动电路。此结构还可在75HC595的使能端通过PWM波进行灰度调节。以一个16行×160列的LED点阵单元为例,本系统采用的驱动电路原理如图3所示。
图3 LED驱动电路示意图
3 系统软件设计
系统软件设计包括上位机软件的设计、下位机程序设计两部分。上位机软件完成图像和文字的编辑,通过计算机串行接口把显示数据传送到GPRS的发送模块上。GPRS发送模块把信息及时地传到终端显示控制卡的GPRS的接收部分,然后终端的CPU控制单元把接收的数据进行分割处理后通过I2C总线传给各个显示终端,并且完成显示数据不同方式的处理。
3.1 下位机程序设计
下位机程序设计主要由两个部分构成:(1)GPRS的发送单元的程序设计,该单元把上位机处理好的显示信息及时准确地传到远程的终端控制单元;(2)终端控制单元的程序设计,该单元主要完成接收GPRS发送过来的信息然后把数据分割后传给各个显示终端。本文主要介绍第二部分的程序设计。
该下位机软件设计包括主程序、显示子程序和通信服务程序的设计。主程序主要完成中断的初始化和串口的初始化设置。显示程序主要完成数据的各种显示,显示部分采用动态扫描的方式,实现对显示屏要显示的汉字、图像、字符等数据信息进行传输控制以及显示等功能。通信服务程序主要完成GPRS的数据接收、数据的分割处理、数据的发送等任务。本文采用模块化程序设计,程序各部分的功能由各个模块分别实现。程序模块有:系统初始化模块、GPRS通信模块、数据的处理和存储模块、I2C通信模块。为了保证系统工作的实时性和高效性,本系统采用了实用单片机系统MS3,MS3是一套针对MCU51的开发平台,借签了VC编程的消息机制,把各个功能有效地组织起来。RTOS的系统时钟,实现高效的按键扫描和快速的响应中断,执行例行程序。显示终端主程序如图4所示。
图4 显示终端主程序流程图
GPRS通信模块主要的功能是接收到GPRS发送模块的信息,然后从外面的Flash中查询相应的代码,然后在显示终端显示信息,显示屏可按不同显示方式进行汉字或表格显示。GPRS接收模块设计程序的流程图如图5所示。
图5 GPRS接收模块设计程序流程图
3.2 上位机管理软件设计
在基于GPRS的LED的显示系统中,上位机机管理软件主要负责文本信息的编辑,对显示的数据根据TEXT或PDU模式进行编码,然后通过GSM的发送模块把信息发送出去。上位机软件使用可视化编程工具VisualC++6.0开发,首先根据LED显示屏的大小设置上位机文字和图像处理的尺寸,然后对输入的数据和图像进行编辑,后把提取有用的数据通过通信接口传给下位机。在通信的过程中为了保证应用的广泛性,PC机的控制系统中采用了Microsoft Visual C++6.0开发工具中非常好用的多线程串口编程工具CSerialPort类,与自带的MSComm控件相比,这个类打包的时候不需要加入其他的文件,而且函数都是开放透明的允许用户改造。
4 小结
通过终端处理单元可以接收GPRS模块发送的数据,然后将数据通过I2C总线传给各个显示终端。终端显示采用串行移位输出方式可以实现一组字符的各种预定模式显示。本电路可扩展实现由30多个160×16点阵LED模块组成的LED电子显示屏显示控制。经实际应用表明,该电路稳定可靠,效果良好,具有一定的实用价值。但是本设计所用的控制卡只能控制显示屏的单色显示,如果能显示双色,甚至三色那就更方便了。如何使LED显示屏可以显示变化的数字、文字、图形图像,甚至视频,这需要在数据的存储和处理算法方面进一步研究。