基于GPRS的大屏幕LED显示系统设计与实现
摘要: 结合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.8 V, 电源消耗: 休眠状态时为3.5 mA, 空闲状态时为25 mA, 发射状态为300 mA、2.5A 峰值; 可以输出语音和数据信号, 功耗在EGSM900 和GSM1800 分别为2 W 和1 W, 通过接口连接器和天线连接器分别连接SIM 卡读卡器和天线。SIM 电压为3 V/1.8 V,TC35I 的数据接口通过AT 命令可以双向传输指令和数据, 可选波特率为300 b/s~115 kb/s,自动波特率为1.2 kb/s~115 kb/s ;支持TEXT 和PDU 格式的SMS , 可通过AT 命令或关断信号实现重启和故障修复。TC35I 模块主要由供电模块、闪存、ZIF 连接器、天线接口等6 部分组成, 作为TC35I 的核心, 基带处理器主要处理GSM 终端内的语音和数据信息, 并涵盖了蜂窝射频设备中的所有模拟和数字功能。 2.1.2 GPRS 数据接收模块 本系统主要是应用GPRS 模块与单片机进行数据传输, 因此涉及的硬件主要是单片机和GPRS 模块, 本文GPRS 模块选用西门子的TC35I , 而单片机选择的是TI公司一种具有超低功耗、功能强大的16 bit 单片机MSP430F169 。由于该模块电源引脚有5 个, 且电压都是3.3~4.8 V, 因此本设计将5 个引脚连在一起, 直接接到外部4.2 V 电源上。但是本系统的外部电源是12 V 的直流电流, 所以设计时采用LM2941 稳压为4.2 V.GPRS模块上的引脚IGT 主要是用于点火复位, 其作用是作为GPRS 模块的一个复位转换系统, 加电后为使TC35I 进入工作状态, 必须给IGT 加一个大于100 ms 的低脉冲,电平下降持续时间不可超过1 ms , 这里通过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 卡座的引脚之间的距离不要超过20 cm, 为了达到最佳的效果, 在SIM 支架下敷设一层铜隔离网, 该层敷铜与SIM 卡的CCGND 引脚相连。 CCVCC 和CCGND 之间的两个电容要离引脚尽量近, 并且走线尽量阻抗低, 以满足规范要求。MSP430F169 单片机的振荡器的晶振为11.059 2 MHz , 数据传输率设置为9 600 b/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 个16 bit 定时器,1 个高速12 bit A/D 转换器,12 bit 或8 bit 的双重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 的8 bit 并行输出口上, 由单片机控制数据的输出, 利用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 显示屏可以显示变化的数字、文字、图形图像, 甚至视频, 这需要在数据的存储和处理算法方面进一步研究。
|