随着计算机技术和电子技术的飞速发展和广泛应用,电器设备的输出显示技术也变得复杂多样,诸如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显示器的驱动芯片。
图1 4位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所示。
图2 P87LPC762芯片原引脚功能?
图3 P87LPC762新定制芯片引脚定义
要实现以上的芯片设置,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总线接口功能不变。
图4 外形图
图5 P87LPC932芯片原引脚功能
图6 P89LPC932新定制芯片引脚定义
表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就能正常显示。
图7 采用定制显示驱动芯片的LED显示驱动器原理图
图8 I2C中断流程图
根据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。
参考文献
1 张毅刚,彭喜源,谭晓昀等. MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社, 1997
2 何立民. I2C总线应用系统设计.北京:北京航空航天大学出版社, 1995
3 周航慈.51LPC 系列OTP 单片机原理及应用设计. 北京:北京航空航天大学出版社,2000
上一篇:用户自定制LED驱动器的设计
下一篇:基于GP32单片机的家用智能盒设计
推荐阅读最新更新时间:2024-03-16 12:17
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况