APP下载

一种采用蓝牙技术控制的LED点阵屏设计

2012-06-26蔡植善

电气自动化 2012年1期
关键词:字库显示屏蓝牙

蔡植善

(泉州师范学院 物理与信息工程学院,福建 泉州 362000)

0 引言

本文设计一种内容更新便捷、可扩展、低价格的点阵LED文字显示屏。降低成本的途径是①用几乎人人都有的手机的蓝牙数据传输功能进行LED显示内容的更新,免去专业上位机软件和控制卡的成本,操作也更简单;②单次显示内容在5~30个汉字或英文字母,因为显示内容较少,就可实现扩展电路的简单化。

1 系统设计方案

1.1 系统组成

系统由带蓝牙功能的智能手机和LED显示屏组成。其中,LED显示屏由单片机、LED点阵模块、字库芯片、蓝牙接收模块、5V开关电源和3.3V稳压电路组成,如图1所示。系统工作过程是:用户通过智能手机的记事本编辑“数据”,并经无线蓝牙发送到显示屏上的蓝牙接收模块。主控单片机读取蓝牙接收模块接收的“数据”并进行处理。“数据”由“控制命令”和“显示内容”构成,两部分数据用自定义特征符分隔开。“控制命令”用于对显示屏的亮度、显示内容移动速度和移动方向进行设置;而单片机根据收到的“显示内容”的字符代码在字库芯片中找到相应的32字节显示代码送点阵屏显示。

图1 系统组成

1.2 LED点阵屏工作原理

LED点阵显示屏可按显示需要由若干块每块LED单元板拼接而成。通用LED单元板由2位16×16点阵LED构成,尺寸为160*320mm2。单元板的工作原理如下。

每板有16行32列,数据的显示采用传统的行列式扫描方式[1]。通常为了减小闪烁,提高扫描速度,采用1/4扫描,即把16行分为4个4行,每次同时选通4个4行中的同序对应行,这样扫描4次即可完成16行的扫描显示。其中列控制由74HC595承担,每块单元板上有16片,每片分别控制4行8列的点阵小单元。行控制是由1片译码器74LS138承担,每次使单元板的4个4行的同序对应行选通。为了保证正常的电流驱动(亮度),74LS138的输出经AMP4593驱动放大。每块单元板有4片,每片分别驱动4行。16片74HC595接成级联方式,由于每4行32列需4片74HC595,16行32列就是16片。设第一个4行的4片74HC595序号为1、2、3、4,第二个4行的4片74HC595序号为5、6、7、8,依次类推。每一片的数据输出端接到下一片的输入端,数据从第1片的输入端串行输入,在移位脉冲的作用下一位一位依序移入,经过8×16个脉冲,最先移入的数据位移到了第16片的最低位(也是该片的输出端),所有数据都移入后,就可显示一板完整的内容,按此规律即可进行显示的软件设计。如果显示的字数多,拼接的LED单元板就多,显示一屏完整内容所需的移位脉冲就多。这种显示方式要求主控单片机有较高的指令执行速度,否则就会有闪烁感。点阵单元板原理图如图2所示。

图2 点阵单元板原理图

2 系统主要模块的选择和电路设计

2.1 主控芯片

2.1.1 芯片选择

为了满足LED显示屏的显示及多板的扩展,要求系统主控单片机有较快的运行速度;较大的存储空间用于存储显示数据,因此选用美国silicon公司的C8051F410。该芯片是一款高性能产品,FTQP-32封装(9mm*9mm)大大减小了体积;由于采用了精简指令结构,使得每个机器周期仅需一个时钟周期,运算速度快大大加快,如果使用片内24.5MHz的内部时钟,其运行速度大约是普通8051单片机工作在12MHz时钟时的24倍;芯片内部资源丰富,自带看门狗,通过JTAG接口连接调试器,可方便硬件在线调试;芯片内含UART、SPI、I2C等通信接口,方便与外围芯片连接;4个定时器/计数器使编程更方便;自带的16K/32KFLASH,可存储大约1K个汉字。

2.1.2 最小系统电路设计

图3 C8051F410单片机最小系统

系统对单片机时钟的精度和温度稳定度都没有特别要求,可以直接使用C8051F410单片机内部自带的时钟振荡器,而无需外接振荡器。使用时要注意的是,是芯片工作电源是从Vregin引脚引入(+3.3V),VDD 是内部基准电压输出引脚,VIO是I/O口作为数字引脚时的电源输入引脚。电路设计时必需在紧靠这3个引脚的位置布上滤波和退耦电容(4.7μ 和 104p)。P1.0~P1.3是显示屏的控制线 CLK、SCLK、R 和OE;P1.7、P0.0 ~ P0.2是字库芯片控制线,采用 SPI接口;P2.0和P2.1是显示屏的行扫控制线A和B;P0.4和P0.5是串口通信线,与蓝牙模块连接。这12根引脚都需配置为数字引脚。最小系统电路如图3所示。

2.2 蓝牙模块

2.2.1 模块选择

选用蓝牙模块的要求是:价格便宜、体积小,使用方便。符合条件的蓝牙模块产品很多。设计选用的是南京国春电气生产的GC-02蓝牙模块,这是款高质量的CLASS2蓝牙模块。此蓝牙模块内部带有对象交换协议(OPP)文件接收功能[2],只要上电后,就可被手机蓝牙识别,并可成功配对建立连接,接收手机蓝牙传输的文件。

GC-02蓝牙模块共有29个引脚,可通过SPI接口或UART接口与单片机通信。本系统单片机选择UART方式与GC-02进行通信。蓝牙模块处于待机模式时,已配对过的手机向蓝牙模块发送文件,未配对的手机需先进行配对,输入正确的PIN码(即配对密码)即可配对。此蓝牙模块的出场厂PIN码是“1234”,其PIN码可通过向蓝牙模块发送指令进行修改。

2.2.2 电路设计

单片机通过引脚P0.4和P0.5与蓝牙模块 GC-2的串口(12脚和13脚)进行通信,蓝牙模块的其他功能未用。单片机与蓝牙模块的连接如图4所示。

2.3 字库芯片

2.3.1 芯片选择

由于使用中显示的内容需要经常更换,采用文字

“取模”获得显示数据的方法显然行不通,在显示电路中存储字库或采用字库芯片是个可行的办法。设计采用字库芯片,选择GT21L16S2W标准汉字字库芯片。GT21L16S2W是一款内含11×12点阵和15×16点阵的汉字库芯片,支持GB2312国标简体汉字(含有国家信标委合法授权)、ASCII字符及GB2312与Unicode编码互转表。排列格式为横置横排。根据字符点阵在芯片中的地址,就可从该地址连续读出字符点阵信息。

图5 汉字点阵排列格式

以15X16点阵汉字为例,汉字信息需要32个字节(BYTE0- BYTE 31)来表示,点阵的数据是横置横排的,其具体排列结构如图5。每个汉字在芯片中是以汉字点阵字模的形式存储的,每个点用一个二进制位表示,存1的点,当显示时可以在屏幕上显示亮点,存0的点,则在屏幕上不显示。点阵排列格式为横置横排:即一个字节的高位表示左面的点,低位表示右面的点,排满一行的点后再排下一行。这样把点阵信息用来直接在显示器上按上述规则显示,则将出现对应的汉字。15X16点阵汉字存储在00000H~3B7BFH的芯片地址范围中,只要知道汉字的内码,就可计算出汉字显示数据的首地址。

2.3.2 接口电路

图6 单片机与字库芯片的连接图

字库芯片GT21L16S2W的各引脚功能如下:1、2、5、6 脚是 SPI接口,其中:1(CS#)为片选输入,2(SO)为串行数据输出,5(SI)为串行数据输入,6(SCLK)为串行时钟。7脚(HOLD#)为总线挂起,该信号可用于在片选信号有效期间暂停数据传输。单片机通过引脚P0.0~P0.2以及P1.7与字库芯片进行通信,读取显示数据。HOLD#引脚悬空,Vcc工作电源为3.3 V。单片机与字库芯片的连接如图6所示。

2.4 LED点阵屏与单片机的连接

点阵屏选择的是市场上应用最为广泛的P10单红户外单元板。该模块具有高稳定性,高亮度,颜色均匀等特点,进行的扫描方式是1/4扫,控制方法简便,有利于优化软件设计,采用点阵单元可以根据需要进行拼凑,灵活性强。LED点阵屏与单片机的连接如图7所示。其中,OE(P1.3)为使能信号,连接74HC138,用于亮度控制,也可用于显示屏消隐。只要调整它的占空比就可以控制亮度的变化。ABCD为行扫描信号,A是最低位,如果ABCD信号全用上,控制扫描的最大范围是16行,1/4扫描中只要AB(P2.0和 P2.1)信号就可以了。当行控制信号出现异常时,将会出现显示错位、高亮或图像重叠等现象。CLK(P1.0)为移位脉冲,每一个脉冲将数据移入或移出一位。当时钟信号有异常时,会使整板显示杂乱无章。STB(P1.1)是锁存信号,将移位寄存器内的数据锁存并将其数据内容通过驱动电路点亮LED显示出来。RI(P1.2)是显示数据的输入端。

图7 单片机与点阵屏的连接图

2.5 电源模块

电源模块由5 V大功率电源和+3.3 V小功率稳压电路组成。前者是给LED屏提供电源,后者是把5V电压稳压成3.3 V后提供给单片机、蓝牙模块和字库模块工作,这里选用ASM1117-3.3芯片。市售通用的LED板输入额定功率约为190 W/m2,每块单元板面积是160*320 mm2,最大工作电流约为2 A(5 V工作电压时功耗是10 W),可根据所要求的LED显示屏的面积选择开关电源的功率。常用的开关电源,配合双MOS管输出以及加强型散热器和滤波电容线圈,可保障纯净充足的电流输出。

2.6 系统总体电路

本系统以单片机C8051F410作为MCU,外围电路包括蓝牙模块、字库芯片、LED点阵屏和电源模块,系统电路原理如图8所示。

图8 系统原理图

3 系统软件设计

单片机的初始化包括:①时钟初始化,选择片内24.5MHz内部时钟。②引脚配置:配置P0.0~P0.2为SPI接口(3线),与字库芯片通信;配置P0.4和P0.5为串口,与蓝牙模块实现通讯;配置 P1.0 ~P1.3、P2.0 和 P2.1 为数字 I/O,实现对显示屏的控制。③中断、定时器/计数器和FLASH相关寄存器初始化。系统软件流程如图9所示。

初始化后系统将主动读取FLASH指定地址范围内的数据,并将数据(Unicode字符集)转换得到与Unicode数据对应的GB2312字符集代码在字库芯片的地址码,然后将该地址码送给字库芯片提取该地址所对应的GB2312字符集 ,再将GB2312字符集代码通过字库芯片转化提取相对应的16*16点阵代码,通过SPI口将代码送给单片机,进而单片机将点阵代码送给点阵屏并控制点阵屏将数据显示出来[3,4]。

正常工作状态下,当手机蓝牙与系统蓝牙模块发生配对时,手机只有输入正确的PIN码后,才可成功配对,配对成功后,若手机采用记事本软件通过蓝牙发送数据,蓝牙模块将接收数据并通过串口发送出去,这时单片机接收数据,如果识别到有效数据的开始位为标志位“#”,那么系统将认为该命令是控制命令,即控制LED显示的亮度、速度、移动方向。控制命令的格式自主定义。例如“#35左”,意思为:“#”为控制标志位,“3”控制亮度(控制范围为0-9,数值越大亮度越高),“5”控制速度(控制范围0-9,数字越大速度越慢),“左”为方向控制位(左为移动方向向左移,右代表向右移,上表示向上移,下为向下移)。如果有效数据的开始位不为“#”,那么将默认此次数据为LED要显示的新内容,系统将把数据按顺序存入指定的FLASH地址范围内,待复位后新数据将显示于屏幕上。特别要指出的是,为了保证显示屏工作的可靠性,要在显示循环程序中得合适位置设置好“喂狗”参数。

图9 系统软件流程

4 结束语

系统实现了通过手机更新显示屏显示内容的目的,方便又快捷。经过一批用户的使用,显示性能和控制性能均较为稳定。但是,在实际使用过程中也遇到了尚未解决的问题:①有部分手机不支持Unicode字符集格式。②本设计仅限于智能机通过记事本编辑显示数据的传送,而不同手机采用的记事本编辑软件不尽兼容,本设计是基于Nokia手机软件设计的。

[1]诸昌铃.LED显示屏系统原理及工程技术[M].成都:电子科技大学出版社,2000:47-52.

[2]张禄林,雷春娟,郎晓虹.蓝牙协议及其实现[M].北京:人民邮电出版社,2001:89-92.

[3]谭浩强.C程序设计(第四版)[M].北京:清华大学出版社,2010:142-165.

[4]童长飞.C8051F系列单片机开发与C语言编程[M].北京:北京航空航天大学出版社,2005:159-165.

猜你喜欢

字库显示屏蓝牙
蓝牙音箱的直线之美
一块布就是一个显示屏?
No.2 喜茶联合汉仪字库推出微型书和书签
苍蝇迷恋显示屏
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
论计算机字库单字的著作权保护
——以方正诉宝洁案为例
紧急:蓝牙指尖陀螺自燃!安全隐患频出
未来五年LED显示屏出货将保持16%增长
老家的惜字库