首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于蓝牙技术的LED点阵屏设计方案

基于蓝牙技术的LED点阵屏设计方案

引言
  本文设计的是一种内容更新便捷、可扩展、低价格的点阵 LED文字显示屏。
  降低成本的途径是:1、用几乎人人都有的手机的蓝牙数据传输功能进行LED显示内容的更新,免去专业上位机软件和控制卡的成本,操作也更简单;2、单次显示内容在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*320mm。
  单元板的工作原理如下:
  每板有16 行32列,数据的显示采用传统的行列式扫描方式。通常为了减小闪烁,提高扫描速度,采用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 最小系统电路设计
  系统对单片机时钟的精度和温度稳定度都没有特别要求,可以直接使用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所示。

  

  图3 C8051F410 单片机最小系统

  2.2 蓝牙模块
  2.2.1 模块选择
  选用蓝牙模块的要求是: 价格便宜、体积小,使用方便。符合条件的蓝牙模块产品很多。设计选用的是南京国春电气生产的GC-02 蓝牙模块,这是款高质量的CLASS2蓝牙模块。此蓝牙模块内部带有对象交换协议(OPP)文件接收功能,只要上电后,就可被手机蓝牙识别,并可成功配对建立连接,接收手机蓝牙传输的文件。
  GC-02 蓝牙模块共有29个引脚,可通过SPI 接口或UART接口与单片机通信。本系统单片机选择UART方式与GC-02进行通信。蓝牙模块处于待机模式时,已配对过的手机向蓝牙模块发送文件,未配对的手机需先进行配对,输入正确的PIN 码(即配对密码)即可配对。此蓝牙模块的出场厂PIN 码是“1234”,其PIN 码可通过向蓝牙模块发送指令进行修改。
  2.2.2 电路设计
  单片机通过引脚P0.4和P0. 5与蓝牙模块GC-2的串口(12 脚和13脚)进行通信,蓝牙模块的其他功能未用。单片机与蓝牙模块的连接如图4所示。

  

  图4 单片机与蓝牙模块的连接图。

2.3 字库芯片
  2.3.1 芯片选择
  由于使用中显示的内容需要经常更换,采用文字“取模”获得显示数据的方法显然行不通,在显示电路中存储字库或采用字库芯片是个可行的办法。设计采用字库芯片,选择GT21L16S2W 标准汉字字库芯片。
  GT21L16S2W 是一款内含11×12点阵和15×16点阵的汉字库芯片,支持GB2312国标简体汉字(含有国家信标委合法授权) 、ASCII 字符及GB2312与Unicode编码互转表。排列格式为横置横排。根据字符点阵在芯片中的地址,就可从该地址连续读出字符点阵信息。
  以15X16点阵汉字为例,汉字信息需要32个字节(BYTE0-BYTE31) 来表示,点阵的数据是横置横排的,其具体排列结构如图5。每个汉字在芯片中是以汉字点阵字模的形式存储的,每个点用一个二进制位表示,存1 的点,当显示时可以在屏幕上显示亮点,存0 的点,则在屏幕上不显示。点阵排列格式为横置横排: 即一个字节的高位表示左面的点,低位表示右面的点,排满一行的点后再排下一行。这样把点阵信息用来直接在显示器上按上述规则显示,则将出现对应的汉字。15X16 点阵汉字存储在00000H~3B7BFH 的芯片地址范围中,只要知道汉字的内码,就可计算出汉字显示数据的首地址。

  

  图5 汉字点阵排列格式

  2.3.2 接口电路
  字库芯片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 所示。

  

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

  

  图8 系统原理图。

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

  

  图9 系统软件流程

  初始化后系统将主动读取FLASH 指定地址范围内的数据,并将数据(Unicode 字符集) 转换得到与Unicode数据对应的GB2312字符集代码在字库芯片的地址码,然后将该地址码送给字库芯片提取该地址所对应的GB2312字符集,再将GB2312字符集代码通过字库芯片转化提取相对应的16*16点阵代码,通过SPI口将代码送给单片机,进而单片机将点阵代码送给点阵屏并控制点阵屏将数据显示出来。
  正常工作状态下,当手机蓝牙与系统蓝牙模块发生配对时,手机只有输入正确的PIN 码后,才可成功配对,配对成功后,若手机采用记事本软件通过蓝牙发送数据,蓝牙模块将接收数据并通过串口发送出去,这时单片机接收数据,如果识别到有效数据的开始位为标志位“#”,那么系统将认为该命令是控制命令,即控制LED 显示的亮度、速度、移动方向。控制命令的格式自主定义。例如“#35 左”,意思为:“#”为控制标志位,“3”控制亮度(控制范围为0-9,数值越大亮度越高) ,“5”控制速度(控制范围0-9,数字越大速度越慢) ,“左”为方向控制位(左为移动方向向左移,右代表向右移,上表示向上移,下为向下移) 。如果有效数据的开始位不为“#”,那么将默认此次数据为LED要显示的新内容,系统将把数据按顺序存入指定的FLASH 地址范围内,待复位后新数据将显示于屏幕上。特别要指出的是,为了保证显示屏工作的可靠性,要在显示循环程序中得合适位置设置好“喂狗”参数。
  4 结束语
  系统实现了通过手机更新显示屏显示内容的目的,方便又快捷。经过一些用户的使用,其显示性能和控制性能均较为稳定。但是,在实际使用过程中也遇到了尚未解决的问题,主要有两大方面:一是有部分手机不支持Unicode字符集格式;二是本设计仅限于智能机通过记事本编辑显示数据的传送,而不同手机采用的记事本编辑软件不尽兼容,本设计是基于Nokia手机软件设计的。
返回列表