用户自定制LED驱动器的设计

时间:2006-03-30

    摘要:利用Philips公司LPC系列单片机的一些特殊功能,在不外加元件的情况下,定制了一片高性能的LED显示驱动器芯片。分析了通用4位7段LED显示驱动器芯片的定制方法与6位"米"字段LED显示驱动器芯片的定制方法,并介绍了LED显示驱动软件编程方法。

  关键词:LED LED显示驱动器 I2C总线 P87LPC762 P89LPC932

      随着计算机技术和电子技术的飞速发展和广泛应用,电器设备的输出显示技术也变得复杂多样,诸如CRT显示、LCD显示、多位LED显示及发光二极管显示等应运而生。在这些显示当中,LED及发光二极管显示电路较为简单,成本也较低,在功能单一的仪器仪表与机电设备中应用较广。但当设备显示的点或位较多时,就需要采用一定的驱动电路与相应的驱动方式。
  在LED的驱动和显示单元的设计中,采用的方式有许多种:利用计算机芯片的端口作为LED的驱动口,并通过软件编程加外部驱动实现,缺点是占用计算机芯片的时间和相关资源;利用专用接口芯片如Intel8155、8255等作为计算机芯片的端口扩展,并通过软件编程加外部驱动实现,缺点是电路较复杂,功耗较大,也要占用计算机芯片的时间和相关资源;利用显示用专用芯片如Intel8279、MAX7219、PS7219等,可实现较复杂的功能,但其占用计算机芯片端口还是较多,并且芯片价格较高。大多数显示驱动器都没有严格的总线时序,在强干扰环境下容易造成时序混乱,使显示不正常。本文讨论的LED显示方案是利用Philips公司的LPC系列单片机芯片的电路特性,从另一种形式来定制专用的LED显示驱动控制器芯片。主要利用基于I2C总线的通讯接口,使连接可靠;且基于软件编程控制显示,使显示方式及种类多样。由于LPC系列芯片的端口驱动能力较强,一般的LED可直接连接,在不外加元件的情况下,可实现多位LED或大量发光二极管的显示,与其它芯片连接时,占用的I/O口较少。

1 4位7段LED显示器

  通常的4位LED显示器如图1所示,其内部由多只发光二极管构成,按连接方式不同可分为共阳极LED与共阴极LED。其电路特性基本一致:发光二极管导通压降为1.2V~1.8V、正向工作电流为2mA~15mA。在显示驱动方式中,采用动态扫描。当扫描到n1~n4公共端时,LED驱动器分别对应输出a~dp的显示段,LED就能正常显示。在自定制LED显示驱动器芯片中,LPC系列中的P87LPC762单片机芯片具有较好的端口设置与较强的内部功能,因此可以通过编程设置其引脚功能作为LED显示器的驱动芯片。

2 定制4位7段LED显示驱动器芯片

  要实现4位7段LED的显示,只要使流过发光二极管每段的电流达到要求就可以了。在这里选用Philips公司LPC系列的P87LPC762单片机实现显示驱动电路。P87LPC762是一款增强型51系列的单片机,除具有一般单片机的功能外,还具有驱动LED的性能:

  ·I/O口具有上拉输出模式或开漏输出模式设置,可作为共阴极或共阳极LED的段输出与位输出。

  ·具有较大的端口拉电流或灌电流,内部有短路保护功能,可实现LED的电流驱动。

  ·当设计4位LED驱动器时,芯片其余引脚可作I2C总线地址设置、LED的极性选择。

  ·内部有2K的OPT,可作为程序存储器,用以实现接口与显示程序化。

  ·自带I2C硬件接口,便于接口编程与多芯片连接。

  ·内部看门狗与内部复位,可提高驱动显示的可靠性。

  ·内部设有RC振荡器,减少了外部元件。

   P87LPC762芯片的引脚功能如图2所示。它有三个端口:Port0、Port1、Port2。当选择内部振荡和内部复位时,的I/O端口数目可达到18个。大多数端口均可以通过软件配置成准双向、上拉、输入、开漏输出四种类型之一。对于上拉输出模式,P87LPC762在标准的准双向口基础上增加了第三只三极管以提供强上拉功能,在高电平时可输出很大的拉电流;对于开漏输出模式,端口对外可提供很大的灌电流;对于输入模式,端口引脚电平由外部电压决定。

   根据4位动态LED的显示特性,在此对P87LPC762的端口作定义,定义引脚如表1所示。P0.0~P0.7作为4位LED的段输出,根据LED极性不同,端口可设为上拉输出或开漏输出;P1.0、P1.1、P1.6、P1.7作为4位LED的位输出,根据LED极性不同,端口可设为开漏输出或上拉输出;P1.5作为LED的极性选择,设置为输入模式;P2.1、P2.0、P1.4作为I2C总线外部地址,便于多芯片连接时对I2C总线地址设定,设置为输入模式;P1.2、P1.3保持I2C总线接口功能不变。定义后的芯片引脚如图3所示。

  要实现以上的芯片设置,P87LPC762的部分内部特殊功能寄存器及引脚设置如表2所示。PxMx为端口模式设置,配合LED极性进行选择。UCFG1为芯片系统配置字,在芯片编程时需写入,在程序运行后便不可以设置了。当配置字为FBH时,其意义为:启动看门狗、内部复位、复位后口线为高电平、欠压电压为2.5V、六个Clock时钟,内部RC振荡器。

3 定制6位"米"字段LED显示驱动器芯片

  通常,1位"米"字段LED显示器外形图如图4所示,其内部由多只发光二极管构成。如要组成6位"米"字段LED显示器,需将相同的段、位分别连接起来,每位公共端引出以便进行动态扫描。根据发光二极管连接极性不同,可分为共阳极与共阴极两种方式。6位"米"字段LED显示器由于输出段、位较多,可选用LPC系列的P89LPC932芯片实现显示驱动电路,其引脚为28脚封装,的I/O端口数目可达到26个,功能引脚如图5所示。P89LPC932具有与P87LPC762相同的端口电气特性,并且具有较多的I/O端口,因此可以将它作为6位"米"字段LED显示器的驱动器芯片。新定制的驱动器芯片引脚如图6所示:a~n为驱动段输出,n1~n6为驱动位输出;A/K作为共阳极与共阴极的选择端;A0~A2作为I2C总线外部地址选择,多可连接8只外部芯片;SDA、SCL保持I2C总线接口功能不变。
表1 修改后P87LPC762端口定义

引脚

原引脚功能

新定义

说明

引脚

原引脚功能

新定义

说明

1

P0.0/CMP2

a

 LED段
  输出

12

P1.0/TXD

n1

LED段输出

20

P0.1/CIN2B

b

11

P1.1/RXD

n2

19

P0.2/CIN2A

c

2

P1.6

n3

18

P0.3/CIN1B

d

3

P1.7

n4

17

P0.4/CIN1A

e

4

P1.5/RST

A/K

极性

16

P0.5/REF

f

6

P2.1/X1

A2

芯片地址

14

P0.6/CMP1

g

7

P2.0/X2

A1

13

P0.7/T1

dp

8

P1.4/INT1

A0

9

P1.3/SDA

SDA

I2C
接口 

15

VDD

VDD

电源

10

P1.2/SCL

SCL

5

VSS

VSS

表2 P87LPC762芯片设置

  P1.5 P0M1 P0M2 P1M1 P1M2 P2M1 P2M2 UCFG1
共阳极LED 接地 FFH FFH 10H C3H 03H 00H FBH
共阴极LED 接电源 00H FFH D3H C3H 03H 00H FBH

4 定制的LED显示驱动器芯片的应用

  以定制的4位7段LED显示驱动器芯片为例,设计的LED显示驱动器的原理图如图7所示。它采用89C52单片机的通用I/O口P1.0、P1.1作为模拟I2C总线;LED显示器为4位共阴极LED,A/K引脚接电源;显示驱动芯片采用P87LPC762作定制,命名为LED-762。块芯片的I2C总线外部地址为000,用A0、A1、A2引脚接地来实现,其余芯片地址依次设置,多可连接8只外部芯片(图中未画出)。从电路图来看,LED-762可以不加任何外部元件就可以作为LED的驱动器,由于采用I2C总线连接,占用系统资源少,电路较简单。如在I2C总线上连接8只LED-762, LED扩展位数可达到32位。对于"米"字段LED显示驱动器芯片的应用,可采用同样的连接方式。在同样的I2C总线上,多可扩展的"米"字段LED可达到48位,足可以满足一般使用要求。
  为了提高I2C总线驱动能力,在实现多片连接时,SCL、SDA需接总线匹配上拉电阻。

5 定制的LED显示驱动器芯片的软件编程

  由于LPC系列芯片内部带有支持I2C总线硬件接口,用户可以直接把它作为I2C总线的主控器或I2C总线的被控器。被控器通过I2C硬件中断处理可实现从总线上接收或发送数据;主控器操作I2C总线可实现起始时序、数据时序、应答时序、停止时序来检测I2C总线被控器,并实现相应的数据传送。I2C总线上的被控器是以I2C总线地址来区别的。I2C总线地址统一由I2C总线委员会实现分配,芯片地址共7位(它占据了D7~D1位),高4位(D7~D4)决定芯片种类,用户也可以自定义芯片种类,低3位(D3~D1)通过芯片A0、A1、A2引脚设置。

  当使用带有I2C总线接口的LPC系列芯片定制LED显示驱动器芯片时,定制的LED显示驱动器芯片设置为被控器,而要发送显示数据的CPU设置为I2C总线主控器。定制的LED显示驱动芯片通过I2C中断接收数据的流程图如图8所示。当从I2C总线上接收个数据时,判断是否与本芯片地址相同,如相同并且为写显示数据,则发送应答时序接收4位显示数据,然后I2C接口恢复到空闲状态。要实现LED动态显示,可对LED显示驱动器编制显示程序,根据LED极性输入,分别送出要显示的段和位,LED就能正常显示。

  根据I2C总线协议要求,对主控器发送来的数据有一定的响应时间要求。短时间可由RC振荡器的倍频频率和中断响应时间来决定,速率可达到400kbs/s。速率可由LPC系列内部专用I2C定时器I来控制,为了适应非标准的低速率的I2C总线操作,可关闭定时器I。

6 芯片测试及主要性能指标

  按照定制要求,将完整的LED显示驱动程序与芯片设置参数通过编程器固化后,要制作芯片测试连接图,如图7所示。这里采用89C52的P1.0与P1.1作为模拟I2C总线控制线,编写模拟I2C驱动程序。而且,89C52主机重新复位、I2C总线通讯断线等情况下均不能影响显示驱动器的下正常数据接收。如果关闭定制的LED驱动器中的定时器I,模拟I2C程序暂停、单步调试定制的LED驱动器也能正常驱动显示。由于Philips公司的LPC系列芯片端口输出电流能力较强,在驱动0.5英寸共阴极与共阳极LED时,LED亮度均达到要求。在长期全亮显示时,定制的LED驱动芯片温升正常,能够长期连续工作。在实际使用时,控制端口A/K及A0、A1、A2由于编程时设置成输入模式,故其悬空时输入电平为不确定状态,并随机变化,有可能造成不正常显示,应根据地址设定要求,强制接VCC或GND。


  
上一篇:LAN91C111型控制器在嵌入式以太网接口中的应用
下一篇:嵌入式系统中LCD驱动的实现原理

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料