1 引言
发光二极管(LED)在工业控制器仪表、医疗装置和家用电器等方面有着广泛的应用。传统的LED显示驱动器采用74HC573和74LS47等逻辑器件,使用的器件较多,占用较多的微处理器I/O口和较大的电路板面积,特别是在LED数量大的情况下,这些缺点尤为突出。为了克服这些缺点,串行接口的LED显示驱动器应运而生,Maxim公司推出的MAX6950/MAX6951属于这类驱动器,其输入引脚少,驱动能力强,而且集成了译码器和亮度控制器。
2 MAX6950/MAX6951
MAX6950/MAX6951是紧凑的共阴极显示驱动器,可通过SPI、QSPI、MICROWIRE兼容的串行接口将微处理器连接到独立的7段LED数码管、条形图或分立LED。MAX6950可驱动5位7段数码管或40个分立的LED。MAX6951可驱动8位7段数码管或64个分立的LED。
该驱动器内含16进制的字符译码器(0-9,A-F)、复用扫描电路、段和数码驱动器及用于存储每位数字的静态RAM。LED段电流由内部数字亮度控制电路设定。
除了数据寄存器外,还有译码模式寄存器(使能16进制字符译码器)、亮度控制寄存器、扫描限制寄存器(允许用户选择1至8位显示数字)、配置寄存器(清零、闪烁、关断)等。工作模式有:正常模式、低功耗关断模式和强制所有LED打开的测试模式。
由于采用独特的复用扫描电路,所以MAX6950/MAX6951采用小型16引脚QSOP型封装。
2.1 内部结构
MAX6950/MAX6951的内部结构如图l所示。
2.1 引脚功能
图2示出采用QSOP型封装的MAX6950/MAX6951的引脚排列,其引脚功能如下所述:
DIN(引脚1):串行数据输入,在CLK的上升沿将数据移入内部16位移位寄存器。
CLK(引脚2):串行时钟输入,片选CS有效时,在CLK的上升沿,数据移入内部移位寄存器,在CLK的下降沿,数据在DOUT端移出。
DIGX/SEGX(引脚3~6,10~14):位驱动器,位X输出吸入来自显示器共阴极的电流,段X驱动器位显示器输出电流,位/段驱动器在关断时处于高阻状态。
ISET(引脚7):电流设定,此引脚与GND之间接一个电阻RSET,设置峰值电流,该电阻器还与电容器CSET一起设置多路复用的显示时钟频率。
GND(引脚8):电源地。
OSC(引脚9):多路复用显示时钟输出。
CS(引脚15):电路选择输入,低电平时,串行数据移入移位寄存器,在CS的上升沿锁存最后的16位数据。
V+(引脚16):电源正端。
2.3 工作原理
微控制器将16位串行数据发送到移位寄存器(时序如图3所示),CS信号跳变为高电平时,数据加载到16位锁存器,接着,对锁存器中的16位数据进行解码并执行相应的命令。16位数据的高8位是地址,低8位是寄存器的值。有关寄存器的具体设置和控制功能,请参阅文献[1]。
3 应用举例
下面以MAX6951驱动数码管显示为例说明此电路的应用。某工业控制器用MAX695l驱动8个数码管,微处理器是以ARM7TDMI为核的PHILIPS公司的LPC2214,软件开发平台为ADS1.2,通过编程实现对MAX6951的控制。在此设计中,并没有使用SPI口,而是使用LPC2214的3个通用I/O口(P1.15、P1.16、P1.17)。模拟图3的时序给MAX6951传输数据,以完成各种控制和显示功能。
3.1 硬件电路
硬件电路如图4所示,其中DIN、CS、CLK分别与LPC2214的P1.15、P1.16、P1.17相连。由于采用独特的引脚复用方式,要求8个显示位(数码管)中每个段码的连线都不相同,而且每个显示位的共阴极连线也不相同,如表1所示。
3.2 软件设计
软件主要包括初始化3个I/0口、模拟输入时序和初始化寄存器的状态使之符合需求。控制亮度、闪烁和刷新数字或字符显示等功能都可以通过调用数据输入函数来完成,也可以将这些功能封装为子函数以简化应用。
3.2.1 初始化I/O口
初始化I/0口的宏定义和程序代码如下:
3.2.2 输入时序的模拟
依照图3所示的时序写出输入函数,代码如下:
3.2.3 电路的初始化
MAX6951上电时,电路处于关断模式,寄存器各有初始值,为此,需要进行初始化以符合系统的要求。例如,初始化为正常模式,8个数码管均显示“0”,亮度为最大且不闪烁,程序代码如下(命令字含义参阅文献[1]):
4 同类电路比较
串行输入的LED显示驱动器还有很多种,如ALLEGRO公司的A6275/A6276/A6277,意法半导体公司(ST)的M5450/M5451系列,美国国家半导体公司(NS)的LP3943/LP3944,德州仪器(TI)的TLC59xx系列等。这些驱动器要么驱动LED数目较少,如A6275(8个)和LP3943(16个),要么引脚数量较大,如M5451(PDIP40或PLCC44)、TLC5920(SSOl48)。而且,带有内置译码器和亮度调节等功能的很少。MAX6950/MAX6951的不足之处是价格较高,因此,这种驱动器适合对体积、功耗等要求较高,同时对成本不很敏感的小型或手持式设备。
5 结束语
MAX6950/MAX6951型LED显示驱动器使用方便,能完成较为复杂的显示功能,节省电路板空间,在机顶盒、白色家电、工业控制器和仪表、医疗设备、点阵显示器和条形图等领域应用广泛。