利用ARM处理器LPC1112设计LED电子胸牌
2014-12-03 来源:21ic
引言
随着LED技术的空前繁荣,LED胸牌备受关注。LED胸牌也叫LED工作牌,是一款新颖的LED贴片点阵“名片”式显示屏,可以显示姓名、性别、工作部门等信息,还可以显示不同速度、不同动作方式的文本及预置图型。它可以吊挂在脖子上或者夹在衣服上,作为公共场所个人及企业身份的证明及宣传之用。LED胸牌既可以显示中文,也可以显示英文。对于那些需要显示的信息量不是很大,分辨率不是很高,制造成本较低的场合,使用小屏幕LED点阵显示器比较适用。电源大多采用锂电池,锂电池具有使用寿命长、能量较高、重量轻和高低温适应能力强的优点。
目前,大多数LED胸牌的点阵显示系统自带字库,显示效果主要靠硬件扫描来驱动,该方法比较简单,但是显示只能按照预先的硬件设计进行,不能随意改动,因此显示方式单一,显示内容不能随意更改,体积较大不适合随身携带。除此之外,也可使用8位单片机作为核心控制芯片,实现字符、数字、汉字和简单图形的显示。但是由于8位单片机的功耗较大,体积较大,而且运算速度和通信速率都较低,实际显示效果会有比较明显的闪烁感。为了克服以上缺点,本文设计的电子胸牌采用低功耗、小体积、高性能、低价格的基于Cortex—M0内核的LPC1112作为主控芯片,12×36的LED点阵屏能够实现8种动态显示,通过按键切换显示方式能够开机自检,并且可通过USB接口方便地更新显示数据。
1 电子胸牌设计要求
针对市场的实际需要,从使用角度出发,本文设计的电子胸牌是小型的LED显示屏轻巧美观,可以挂在胸前,能够显示汉字或者字符。
1.1 功能描述
电子胸牌挂于胸前主要用于显示姓名以及其他提示信息,例如:
①显示功能:能显示3个汉字或者5个字符,并且包括左移、右移、上移、下移、中分、雪花、固定、动画8种显示方式,具有跑马灯以及闪烁功能。
②上位机能够通过USB口,更新下位机显示数据,更新完成后正常显示。
③两个按键分别实现4级亮度的调整和显示条目的切换。
④具有开机自检功能,开机可进行全屏显示,检测LED点阵有无坏点。
1.2 运行环境说明
工作环境要求为环境温度在5~40℃;相对湿度≤80%;大气压强为86~106 kPa。
存储环境要求为环境温度在-20~55℃;相对湿度≤93%;大气压强为50~106 kPa。
2 电子胸卡的工作原理
电子胸卡主要包括硬件电路设计和软件设计。硬件电路部分包括LPC1112主控芯片、LED点阵显示电路、显示驱动电路、USB接口电路和SWD调试电路等。软件部分主要包括主控界面更新内容显示、控制动态显示效果的代码编写。通过按键,选择显示信息的动态效果(如上下移动、左右移动、中分、雪花等不同的显示效果),以及改变移动速度或闪烁。其通过USB接口传输文件信息。
3 电子胸牌设计方案
2010年初,恩智浦(NXP)公司推出了基于ARM 32位Cortex—M0内核的LPC1100 MCU系列芯片,其中LPC1112性能卓越、简单易用、功耗低,它以8位处理器的价位实现了32位处理器的性能。该系统的主控芯片采用基于Cortex—M0内核的NXP公司的LPC1112芯片,外设包括LED点阵显示屏、电源电路(可由电池供电)、键盘、UART接口以及USB接口等。硬件电路框图如图1所示。
3.1 核心控制芯片
本系统采用的主控制芯片LPC1112具有33个引脚,工作频率高达50 MHz,工作电压3.3 V,具备3种节能方式。
由于LPC1112芯片拥有极低功耗的特性,可通过锂电池进行供电,能够持续工作8~10小时,而且体积很小(7 mm×7 mm×0.85 mm),非常适用于胸牌的应用。使用起来简单、便捷,可以通过USB接口对锂电池进行充电,还能够对电子胸牌中的显示内容和方式进行更新。
3.2 电源供电系统
LPC1112芯片工作电压为3.3 V,所以需要设计的电源电路输出为3.3 V。为了最大限度地降低成本,可以采用1N4148降压。1N4148是一种小型的高速开关二极管,开关比较迅速。电源电路图如图2所示。a点电压为5 V,1N4148压降为0.7 V,则b点的理想电压为4.3 V,实际电压稍小于4.3 V,此电压为74HC595供电。
74HC595是8位串行输入、并行输出移位寄存器,可把串行数据转化为并行数据,输出到LED点阵屏。74HC595有一个级联输出端Q7,可连至下一片74HC595的数据输入端,这样就可以很方便地实现多片74HC595的芯片级联,极大地节省了LPC1112的I/O引脚资源。LPC1112仅需要时钟、数据、镁存和片选4个I/O引脚即可实现通信。
电源电路再经过一个1N4148降压0.7 V,c点理想电压为3.6V,实际测试电压稍小于3.6 V,输出为LPC1112供电。本系统工作时采用锂电池供电,同时还可充电,充电时通过USB接口即可实现。
3.3 USB串口转换电路
笔记本电脑因为空间的限制和其他原因都没有串口,这为某些需要串口通信功能的人们带来了苦恼。为解决此问题,本文采用PL2303HX芯片,为客户解决无串口的问题。PL2303HX是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口便利连接的解决方案。
PL2303HX采用28引脚贴片SOIC封装,工作频率为12 MHz,符合USB1.1通信协议,可以直接将USB信号转换成串口信号,波特率范围很宽,支持5、6、7、8、16共5种数据位。
当胸牌需要更新显示内容时,可通过miniUSB接口电缆线连到电脑的USB接口,安装驱动程序后,会在电脑上出现一个虚拟串口,上位机软件可以通过这个串口实现数据下载。PL2303HX将USB数据转化为串口数据,连至LPC1114的UART接口进行数据交互。USB一串口转换电路如图3所示。
3.4 12×36 LED点阵显示电路
LED点阵显示电路由12×36个LED组成的点阵屏和行列驱动电路构成。由于LED数量较多,点亮整个LED屏需要很大的功率,需要驱动电路对LED各行各列驱动显示。为实现低功耗,行列均用74HC595芯片来驱动,并通过LPC1112来控制行列的选通。图4是显示驱动电路。74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口是可控的三态输出端。电路中74HC595供电电压为4.2 V,Q0~Q7为三态输出,Q7’为串行输出,Ds为串口输入。从74HC595A的Q7’引脚输出信号到74HC595B的Ds引脚。
不论显示字符还是汉字,都是通过控制相应的二极管的通断来实现显示功能的。在显示效果部分,采用逐行扫描的方式实现固定显示效果。动态显示方式是利用对显示屏的不同扫面方式来实现的,如上下移动、左右移动、闪烁等。利用扫描方式和读取点阵数据顺序的不同来实现不同的显示效果。
3.5 SWD调试接口
SWD调试方式与传统的调试方式相比,具有以下优势:一是SWD模式比JTAG在高速模式下更可靠,在大数据的情况下JTAG下载程序会失败,但SWD发生的几率会小很多;二是SWD模式占用的GPIO引脚少;三是SWD模式电路体积小。
SWD调试的硬件接口只需要5个引脚:VDD(电源)、SWDIO(数据)、SWCLK(时钟)、RESET(复位)和GND(地)。
3.6 软件设计功能模块
软件功能模块介绍如下:
LED显示模块:提供LED显示、控制、操作的基本功能,为界面显示模块提供服务。
按键处理模块:通过对按键的识别判断,用于界面显示的控制。
IAP读写Flash模块:提供读、写、擦除MCU内部Flash的基本操作。
74HC595A驱动模块:提供对74HC595A数据的写入,以及对LED矩阵的扫描方式。
USB数据更新模块:与上位机软件进行交互,配合IAP读写Flash数据,将需要更新的数据存储到MCU的内部Flash中。
主程序流程图如图5所示。
4 结果分析
图6是LED胸牌显示的汉字。通过整机调试,LED显示运行可靠、稳定。显示状态包括左移、右移、上移、下移、中分、雪花、固定、动画8种显示方式,具有跑马灯以及闪烁功能。
同时其还具有开机自检功能,已检测LED点阵无坏点。