本页已使用福昕阅读器进行编辑。 福昕软件(C)2005-2010,版权所有, 仅供试用。 深圳市天微电子有限公司,联系人:覃先生 电话:13751069293 /0755-86156710 QQ:453706412 LED 驱动控制专用电路 TM1638 一、 概述 TM1638是带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集 成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。主要应用于冰箱、 空调 、家庭影院等产品的高段位显示屏驱动。 二、 特性说明 • • • • • • • • 采用功率CMOS 工艺 显示模式 10 段×8 位 键扫描(8×3bit) 辉度调节电路(占空比8 级可调) 串行接口(CLK,STB,DIO) 振荡方式:RC 振荡(450KHz+5%) 内置上电复位电路 采用SOP28封装 三、、 管脚定义: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 K1 K2 TM1638 K3 VDD SEG1/KS1 SEG2/KS2 SEG3/KS3 SEG4/KS4 SEG5/KS5 SEG6/KS6 SEG7/KS7 SEG8/KS8 SEG9 SEG10 STB CLK DIO GND GR1 GR2 GR3 GR4 GR5 GR6 GND GR7 GR8 VDD 28 27 26 25 24 23 22 21 20 19 18 17 16 15 www.titanmec.com -1- LED 驱动控制专用电路 TM1638 四、管脚功能说明: 符号 管脚名称 说明 DIO 数据输入/输出 在时钟上升沿输入/输出串行数据,从低位开始; STB 片选 在上升或下降沿初始化串行接口,随后等待接收 指令。STB 为低后的第一个字节作为指令,当处 理指令时,当前其它处理被终止。当STB 为高时, CLK 被忽略 CLK 时钟输入 K1~K3 键扫数据输入 Seg1/ks1~seg8/ks8 输出(段) 段输出(也用作键扫描),P管开漏输出 Seg9~Seg10 输出(段) 段输出,P管开漏输出 Grid1~Grid8 输出(位) 位输出,N管开漏输出 VDD 逻辑电源 5V±10% GND 逻辑地 接系统地 上升沿输入/输出串行数据。 输入该脚的数据在显示周期结束后被 锁存 ▲ 注意:DIO口输出数据时为N管开漏输出,在读键的时候需要外接1K-10K的上拉电阻。本公司推 荐10K的上拉电阻。DIO在时钟的下降沿控制N管的动作,此时读数时不稳定,你可以参考图(6), 在时钟的上升沿读数才时稳定。 VCC 芯片内部 电路 10K DIO CT GND 图(1) www.titanmec.com -2- LED 驱动控制专用电路 TM1638 五、 显示寄存器地址和显示模式: 该寄存器存储通过串行接口从外部器件传送到TM1638 的数据,地址从00H-0FH共16字节单元, 分别与芯片SGE和GRID管脚所接的LED灯对应,分配如下图: 写LED显示数据的时候,按照从显示地址从低位到高位,从数据字节的低位到高位操作。 6 G E S 5 G E S 4 G E S 3 G E S B3 7 G E S 2 G E S 1 G E S 00HL 02HL 04HL 06HL 08HL 0AHL 0CHL 0EHL B2 8 G E S B1 9 G E S B0 xxHU(高四位) B4 B5 B6 0 1 G E S xxHL(低四位) X X xxHL(低四位) B7 00HU 02HU 04HU 06HU 08HU 0AHU 0CHU 0EHU B0 B1 B2 X X X X xxHU(高四位) B3 01HL 03HL 05HL 07HL 09HL 0BHL 0DHL 0FHL B4 B5 B6 01HU 03HU 05HU 07HU 09HU 0BHU 0DHU 0FHU B7 GRID1 GRID2 GRID3 GRID4 GRID5 GRID6 GRID7 GRID8 图(2) 写LED显示数据的时候,按照从低位地址到高位地址,从字节的低位到高位操作;在运用中没有使 用到的SEG输出口,在对应的BIT地址位写0。 六、 键扫描和键扫数据寄存器: 键扫矩阵为8×3bit,如图(3)所示: K3 K2 K1 KS1 KS2 KS3 KS4 KS5 KS6 KS7 KS8 图(3) 键扫数据储存地址如下所示,先发读键命令后,开始读取按键数据BYTE1—BYTE4字节,读数 据从低位开始输出;芯片K和KS引脚对应的按键按下时,相对应的字节内的 BIT位为1。 www.titanmec.com -3- LED 驱动控制专用电路 B0 K3 KS1 KS3 KS5 KS7 B1 K2 B2 K1 B3 X B4 K3 B5 K2 B6 K1 TM1638 B7 X KS2 KS4 KS6 KS8 BYTE1 BYTE2 BYTE3 BYTE4 图(4) ▲注意:1、TM1638最多可以读4个字节,不允许多读。 2、读数据字节只能按顺序从BYTE1-BYTE4读取,不可跨字节读。例如:硬件上的K2与KS8 对应按键按下时,此时想要读到此按键数据,必须需要读到第4个字节的第5BIT位,才可读出数据; 当K1与KS8,K2与KS8,K3与KS8三个按键同时按下时,此时BYTE4所读数据的B4,B5,B6位均为1 3、组合键只能是同一个KS,不同的K引脚才能做组合键;同一个K与不同的KS引脚不可以 做成组合键使用。 七、 指令说明: 指令用来设置显示模式和LED 驱动器的状态。 在STB下降沿后由DIO输入的第一个字节作为一条指令。经过译码,取最高B7、B6两位比特位以 区别不同的指令。 B7 0 1 1 B6 1 0 1 指令 数据命令设置 显示控制命令设置 地址命令设置 如果在指令或数据传输时STB被置为高电平,串行通讯被初始化,并且正在传送的指令或数据 无效(之前传送的指令或数据保持有效)。 7.1 数据命令设置 该指令用来设置数据写和读,B1和B0位不允许设置01或11。 MSB LSB B7 B6 0 0 0 0 0 0 1 1 1 1 1 1 B5 B4 B3 无关项, 填0 B2 0 1 0 1 B1 B0 功能 说明 0 1 0 0 数据读写模式 设置 地址增加模式 设置 测试模式设置 (内部使用) 写数据到显示寄存器 读键扫数据 自动地址增加 固定地址 普通模式 测试模式 www.titanmec.com -4- LED 驱动控制专用电路 TM1638 7.2 地址命令设设置 MSB LSB B7 B6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B5 B4 无关项, 填0 B3 B2 B1 B0 显示地址 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 该指令用来设置显示寄存器的地址。 如果地址设为10H 或更高,数据被忽略,直到有效地址被设定。 上电时,地址默认设为00H。 7.3 显示控制 MSB LSB B7 B6 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 B5 B4 B3 无关项, 填0 0 1 B2 B1 B0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 功能 消光数量设置 显示开关设置 说明 设置脉冲宽度为 1/16 设置脉冲宽度为 2/16 设置脉冲宽度为 4/16 设置脉冲宽度为 10/16 设置脉冲宽度为 11/16 设置脉冲宽度为 12/16 设置脉冲宽度为 13/16 设置脉冲宽度为 14/16 显示关 显示开 www.titanmec.com -5- LED 驱动控制专用电路 TM1638 八、串行数据传输格式: 读取和接收1个BIT都在时钟的上升沿操作。 8.1 数据接收(写数据) CLK 1 2 3 4 5 6 7 8 DIO B0 B1 B2 B3 B4 B5 B6 B7 STB 图(5) 8.2 数据读取(读数据) CLK 1 2 `````` 8 DIO B0 B1 `````` B7 B0 B1 B2 B3 STB 送读按键命 令 读取按键数 据 Twait 图(6) ▲注意:读取数据时,从串行时钟CLK 的第8 个上升沿开始设置指令到CLK 下降沿读数据之间需要 一个等待时间Twait(最小1μS)。 九、 显示和按键: (1) 显示: 1、驱动共阴数码管: SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 1 1 1 1 1 1 GRID1 SEG1 SEG2 SEG3 SEG4 SEG5 SEG6 SEG7 A DPY a B C f g b D c Ee d F G [LEDgn] GRID1 1 图(7) 图7给出共阴数码管的连接示意图,如果让该数码管显示“0”,那你需要在GRID1为低电平 的时候让SEG1,SEG2,SEG3,SEG4,SEG5,SEG6为高电平,SEG7为低电平, 查看图(2)显示地址表格,只需在00H地址单元里面写数据3FH就可以让数码管显示“0” 。 www.titanmec.com -6- LED 驱动控制专用电路 SEG8 0 B7 SEG7 0 B6 SEG6 1 B5 SEG5 1 B4 SEG4 1 B3 SEG3 1 B2 SEG2 1 B1 TM1638 SEG1 1 B0 00H 2、驱动共阳数码管: GRID1 GRID2 GRID3 GRID4 GRID5 GRID6 GRID7 1 GRID1 GRID2 GRID3 GRID4 GRID5 GRID6 GRID7 1 1 1 SEG1 1 1 A DPY a B f b C g D c Ee d F [LEDgn] G SEG1 1 图(8) 图8给出共阳数码管的连接示意图,如果让该数码管显示“0” ,那你需要在GRID1,GRID2, GRID3,GRID4,GRID5,GRID6为低电平的时候让SEG1为高电平,在GRID7为低电平的时候让SEG1为 低电平。要向地址单元00H,02H,04H,06H,08H,0AH里面分别写数据01H,其余的地址单元全部 写数据00H。 SEG8 0 0 0 0 0 0 0 B7 SEG7 0 0 0 0 0 0 0 B6 SEG6 0 0 0 0 0 0 0 B5 SEG5 0 0 0 0 0 0 0 B4 SEG4 0 0 0 0 0 0 0 B3 SEG3 0 0 0 0 0 0 0 B2 SEG2 0 0 0 0 0 0 0 B1 SEG1 1 1 1 1 1 1 0 B0 00H 02H 04H 06H 08H 0AH 0CH ▲注意:SEG1-10为P管开漏输出,GRID1-8为N管开漏输出,在使用时候,SEG1-10只能接LED的阳极, GRID只能接LED的阴极,不可反接。 (2)键盘扫描: 你可以按照图(9)用示波器观察观察SEG1/KS1和SEG2/KS2的输出波形,SEGN/KSN 输出的波形见图(10) 。 www.titanmec.com -7- LED 驱动控制专用电路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 VCC 接示波器探头1 接示波器探头2 R1 1k R1 1k K1 STB K2 CLK TM1638 K3 DIO VDD GND SEG1/KS1 GR1 SEG2/KS2 GR2 SEG3/KS3 GR3 SEG4/KS4 GR4 SEG5/KS5 GR5 SEG6/KS6 GR6 SEG7/KS7 GND SEG8/KS8 GR7 SEG9 GR8 SEG10 VDD TM1638 28 27 26 25 24 23 22 21 20 19 18 17 16 15 图(9) IC在键盘扫描的时候SEGN/KSN的波形: SEG1/KS1 SEG2/KS2 SEG3/KS3 SEGN/KSN Tdisp=500us 图(10) Tdisp和IC工作的振荡频率有关,我司TM1638经过多次完善,振荡频率不完全一致。500US 仅仅提供参考,以实际测量为准。 一般情况下使用图(11) ,可以满足按键设计的要求。 K1 S1 S3 K2 S2 S4 K3 S6 S5 SGE1/KS1 SGE1/KS2 SGE1/KS3 图(11) 当S1被按下的时候,在第1个字节的B0读到“1”。如果多个按键被按下,将会读到多个“1” , 当S2,S3被按下的时候,可以在第1个字节的B1,B3读到“1” 。 ▲注意:复合键使用注意事项: SEG1/KS1-SEG10/KS10是显示和按键扫描复用的。以图(12)为例子,显示需要D1亮,D2灭, 需要让SEG1为“1” ,SEG2为“0”状态,如果S1,S2同时被按下,相当于SEG1,SEG2被短路,这时 D1,D2都被点亮。 www.titanmec.com -8- LED 驱动控制专用电路 SGE1/KS1 TM1638 S1 SGE2/KS2 S2 1 1 D1 D2 K1 GRID1 图(12) 解决方案: 1、在硬件上,可以将需要同时按下的键设置在不同的K线上面如图(13)所示, SGE1/KS1 1 1 S1 D1 D2 S2 GRID1 GRID2 K1 K2 图(13) 2、在SEG1—SEG N上面串联电阻如图(14)所示,电阻的阻值应选在510欧姆,太大会造成 按键的失效,太小可能不能解决显示干扰的问题。 SGE1/KS1 510 S1 510 S2 D1 1 1 SGE2/KS2 D2 K1 GRID1 图(14) 3、或者串联二极管如图(15)所示。 SGE1/KS1 S1 SGE2/KS2 D1 1 1 S2 D2 K1 GRID1 图(15) 十、 应用时串行数据的传输: 10.1 地址增加模式 使用地址自动加1模式,设置地址实际上是设置传送的数据流存放的起始地址。起始地址命令 字发送完毕,“STB”不需要置高紧跟着传数据,最多14BYTE,数据传送完毕才将“STB”置高。 www.titanmec.com -9- LED 驱动控制专用电路 TM1638 CLK DIO Command1 Command2 Command3 Data1 Data2 ``````` Data n Command4 STB Command1: 设置显示模式 Command2: 设置数据命令 Command3: 设置显示地址 Data1~ n: 传输显示数据至Command3地址和后面的地址内(最多14 bytes) Command4: 显示控制命令 10.2 固定地址模式 使用固定地址模式,设置地址其实际上是设置需要传送的1BYTE数据存放的地址。地址发送完 毕,“STB”不需要置高,紧跟着传1BYTE数据,数据传送完毕才将“STB”置高。然后重新设置第2 个数据需要存放的地址,最多14BYTE数据传送完毕,“STB”置高。 CLK DIO Command1 Command2 Command3 Data1 Command4 Data2 ``````` Command5 STB Command1: 设置显示模式 Command2: 设置数据命令 Command3: 设置显示地址1 Data1: 传输显示数据1至Command3地址内 Command4: 设置显示地址2 Data2: 传输显示数据2至Command4地址内 Command5: 显示控制命令 10.3 读按键时序 CLK DIO Command1 Data1 Data2 Data3 Data4 STB Command1: 设置显示模式 Data1~4:读取按键数据 www.titanmec.com - 10 - LED 驱动控制专用电路 TM1638 10.4 程序设计流程图 采用地址自动加1的程序设计流程图: 开始 设置读键数据 命 令 ( 42H) 初始化 No 读 1BTYE内 容 设置写显存的数据命令, 采 用 地 址 自 动 加 1( 40H) 设置起始地 址 ( 0C0H) 将按键值存放在 MCU的 寄 存 器 中 No 传送数据 读 完 4BYTE 吗? Yes 16BYTE数 据 传送完毕了? 有按键被按 下吗? No Yes Yes 传显示控制命令设置 最 高 亮 度 ( 8FH) 按键处理程 序 结束 www.titanmec.com - 11 - LED 驱动控制专用电路 TM1638 采用固定地址的程序设计流程图: 开始 传显示控制命令设置 最 高 亮 度 ( 8FH) 初始化 设置读键数据 命 令 ( 42H) No 设置写显存的数据命令 采 用 固 定 地 址 ( 44H) 读 1BTYE内 容 设置地址 ( 0C0H) 将按键值存放在 MCU的 寄 存 器 中 传 送 1BYTE 数据 读 完 4BYTE 吗? Yes 重新设置地 址 ( 0C1H) 有按键被按 下吗? 按键处理程 序 No ……传 完 所 有的数据 Yes 传 送 1BYTE 数据 结束 www.titanmec.com - 12 - LED 驱动控制专用电路 TM1638 十一.应用电路: 11.1 TM1638驱动共阳数码屏硬件电路,如图(16): GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED1 DPY a a b c f b g d e e c d f dp g dp GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED7 DPY a a b c f b g d e e c d f dp g dp GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED13 DPY a a b c f b g d e e c d f dp g dp SG1 SG2 SG3 GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED2 DPY a a b c f b g d e e c d f dp g dp GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED8 DPY a a b c f b g d e e c d f dp g dp GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED14 DPY a a b c f b g d e e c d f dp g dp SG4 SG5 SG6 GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED3 DPY a a b c f b g d e e c d f dp g dp SG7 GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED9 DPY a a b c f b g d e e c d f dp g dp SG8 GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED15 DPY a a b c f b g d e e c d f dp g dp SG9 GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 LED4 DPY a a b c f b g d e e c d f dp g dp SG10 SG8 SG7 SG6 SG5 SG4 SG3 SG2 SG1 S2 S5 S8 S11 S14 S17 S20 S23 S3 S6 S9 S12 S15 S18 S21 S24 S25 S26 S27 S28 S29 S30 S31 S32 K1 K2 K3 VCC R3 VCC 10K 10K tm1638 C1 100uF C2 104 VCC K1 K2 K3 SG1 SG2 SG3 SG4 SG5 SG6 SG7 SG8 SG9 SG10 注 :滤波电容与芯片VDD, GND之间回路尽量短. K1 K2 K3 VDD SEG1/KS1 SEG2/KS2 SEG3/KS3 SEG4/KS4 SE5/KS5 SEG6/KS6 SEG7/KS7 SEG8/KS8 SEG9 SEG10 R2 R1 10K STB CLK DIO GND GR1 GR2 GR3 GR4 GR5 GR6 GND GR7 GR8 VDD C3 C4 GR1 GR2 GR3 GR4 GR5 GR6 C5 101 101 101 GR7 GR8 图(16) www.titanmec.com - 13 - STB CLK DIO LED 驱动控制专用电路 TM1638 11.2 TM1638驱动共阴数码屏硬件电路,如图(17): DVD GR1 GR2 GR3 GR4 GR5 GR6 GR7 GR8 SG1 SG2 SG3 SG4 SG5 SG6 SG7 SG8 1 2 3 4 5 6 7 8 dts DDD a b c d e f g h VCD MP3 PBC VCC R3 VCC 10K 10K tm1638 C1 100uF C2 104 K1 K2 K3 VCC 注 :滤波电容与芯片VDD, GND之间回路尽量短. R1 10K K1 K2 K3 VDD SEG1/KS1 SEG2/KS2 SEG3/KS3 SEG4/KS4 SE5/KS5 SEG6/KS6 SEG7/KS7 SEG8/KS8 SEG9 SEG10 SG1 SG2 SG3 SG4 SG5 SG6 SG7 SG8 SG9 SG10 R2 STB CLK DIO GND GR1 GR2 GR3 GR4 GR5 GR6 GND GR7 GR8 VDD C3 C4 C5 GR1 GR2 GR3 GR4 GR5 GR6 101 101 101 GR7 GR8 SG8 SG7 SG6 SG5 SG4 SG3 SG2 SG1 S2 S5 S8 S11 S14 S17 S20 S23 S3 S6 S9 S12 S15 S18 S21 S24 S25 S26 S27 S28 S29 S30 S31 S32 K1 K2 K3 图(17) ▲注意: 1、VDD、GND之间滤波电容在PCB板布线应尽量靠近TM1629芯片放置,加强滤波效果。 2、连接在DIO、CLK、STB通讯口上三个100P电容可以降低对通讯口的干扰。 3、因蓝光数码管的导通压降压约为3V,因此TM1629供电应选用5V。 十二、 电气参数: 极限参数(Ta = 25℃, Vss = 0 V) 参数 符号 范围 单位 逻辑电源电压 VDD -0.5 ~+7.0 V 逻辑输入电压 VI1 -0.5 ~ VDD + 0.5 V LED Seg 驱动输出电流 IO1 -50 mA LED Grid 驱动输出电流 IO2 +200 mA 功率损耗 PD 400 mW 工作温度 Topt -40 ~ +80 ℃ www.titanmec.com - 14 - STB CLK DIO LED 驱动控制专用电路 储存温度 Tstg TM1638 -65 ~+150 ℃ 正常工作范围(Ta = -20 ~ +70℃,Vss = 0 V) 参数 符号 最小 典型 逻辑电源电压 VDD 高电平输入电压 VIH 0.7 VDD - 低电平输入电压 VIL 0 - 最大 单位 测试条件 V - VDD V - 0.3 VDD V - 5 电气特性(Ta = -20 ~ +70℃,VDD = 4.5 ~ 5.5 V, Vss = 0 V 参数 符号 最小 典型 最大 单位 测试条件 Ioh1 -20 -25 -40 mA Seg1~Seg11, Vo = vdd-2V Ioh2 -20 -30 -50 mA Seg1~Seg11, Vo = vdd-3V 低电平输出电流 IOL1 80 140 - mA Grid1~Grid6 Vo=0.3V 低电平输出电流 Idout 4 - - mA VO = 0.4V,dout 高电平输出电流容 许量 Itolsg - - 5 % VO = VDD – 3V, Seg1~Seg11 输出下拉电阻 RL KΩ K1~K3 输入电流 II - - μA VI = VDD / VSS 高电平输入电压 VIH 0.7 VDD - V CLK,DIN,STB 低电平输入电压 VIL - - 0.3 VDD V CLK,DIN,STB 滞后电压 VH - 0.35 - V CLK,DIN,STB 动态电流损耗 IDDdyn - - 5 mA 无负载,显示关 高电平输出电流 10 ±1 www.titanmec.com - 15 - LED 驱动控制专用电路 TM1638 开关特性(Ta = -20 ~ +70℃,VDD = 4.5 ~ 5.5 V) 参数 符号 最小 典型 最大 单位 测试条件 振荡频率 fosc - 500 - KHz R = 16.5 KΩ tPLZ - - 300 ns CLK → DOUT tPZL - - 100 ns CL = 15pF, RL = 10K Ω TTZH 1 - - 2 μs 传输延迟时间 Seg1~Seg11 CL = 300p F 上升时间 Grid1~Grid4 Seg12/Grid7~ Seg14/Grid5 TTZH 2 - - 0.5 μs 下降时间 TTHZ - - 120 μs CL = 300pF,Segn, Gridn 最大时钟频率 Fmax 1 - - MHz 占空比50% 输入电容 CI - - 15 pF - 时序特性(Ta = -20 ~ +70℃,VDD = 4.5 ~ 5.5 V) 参数 符号 最小 典型 最大 单位 测试条件 时钟脉冲宽度 PWCLK 400 - - ns - 选通脉冲宽度 PWSTB 1 - - μs - 数据建立时间 tSETUP 100 - - ns - 数据保持时间 tHOLD 100 - - ns - CLK →STB 时间 tCLK STB 1 - - μs CLK↑→STB↑ 等待时间 tWAIT 1 - - μs CLK↑→CLK↓ www.titanmec.com - 16 - LED 驱动控制专用电路 TM1638 时序波形图: www.titanmec.com - 17 - LED 驱动控制专用电路 TM1638 十三、 封装尺寸 z All specs and applications shown above subject to change without prior notice. (以上电路及规格仅供参考,如本公司进行修正,恕不另行通知。) 本应用文档最后更新日期为:2008-8-4 www.titanmec.com - 18 -