术语和定义
参考文献
有关文件及软件,请浏览:
//www.xmece.com/configurable-mixed-signal
下载我们的免费GreenPAK™Designer软件[1],打开。gp文件[2]并查看建议的电路设计。使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。yabo国际娱乐Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。
- GreenPAK设计软件,软件下载和用户指南,Dialog半导体yabo国际娱乐
- AN-CM-282 4xN LED驱动器。gp,绿派克设计文件,Dialog半导体yabo国际娱乐
- GreenPAK开发工具,对话半导体GreenPAK开发工具网页yabo国际娱乐
- GreenPAK应用笔记,绿派克应用笔记网页,对话半导体yabo国际娱乐
- SLG46537,数据表,对话框半导体。yabo国际娱乐
- - 1092,I2C受控状态机,应用笔记,Dialog半导体。yabo国际娱乐
作者:Krupa Bhavsar
介绍
LED显示器广泛应用于数字时钟、计数器、计时器、电子表、基本计算器和其他能够显示数字信息的电子设备。图1描述了一个7段LED显示器的例子,它可以显示十进制数字和字符。由于LED显示屏上的每一段都可以单独控制,所以这种控制需要很多信号,尤其是对多位数的控制。本应用笔记描述了一个基于GreenPAK的实现,以驱动多个数字与2线I2C接口从一个MCU。
背景
LED显示屏分为两类:共阳极和共阴极。在一个共同的阳极配置,阳极端子内部短路在一起,如图2所示。要打开LED,共阳极端连接到系统供电电压VDD,阴极端通过限流电阻接地。
共同的阴极配置类似于共同的阳极配置,除了阴极端子短路在一起,如图3所示。开启共阴极LED显示屏时,共阴极端子接地,阳极端子通过限流电阻连接到系统供电电压VDD。
一个N位多路LED显示器可以通过连接N个独立的7段LED显示器得到。图4描绘了一个4 × 7 LED显示器的实例,通过在一个共同的阳极配置中组合4个独立的7段显示器获得。
如图4所示,每个数字都有一个共同的阳极引脚/背板,可以用来单独启用每个数字。每个分段(A, B,…G, DP)的阴极管脚应该从外部短路在一起。要配置这个4x7 LED显示屏,用户只需要12个引脚(每个数字的4个普通引脚和8段引脚)来控制多路4x7显示屏的所有32段。
GreenPAK的设计,详细如下,显示了如何生成这个LED显示器的控制信号。这种设计可以扩展到控制多达4位和16段。请参阅参考资料部分,以获得Dialog网站上提供的GreenPAK设计文件的链接。
GreenPAK设计
图5中显示的GreenPAK设计在一个设计中同时包含段和数字信号生成。段信号由ASM产生,数字选择信号由DFF链产生。分段信号通过限流电阻连接到分段引脚,但数字选择信号连接到显示器的公共引脚。
数字信号的一代
如第4节所述,多路复用显示器上的每个数字都有一个独立的背板。在GreenPAK中,每个数字的信号都是由内部振荡器驱动的DFF链产生的。
这些信号驱动显示器的普通引脚。图6显示了数字选择信号。
通道1(黄色)-引脚6(数字1)
通道2(绿色)-引脚3(数字2)
通道3(蓝色)-引脚4(数字3)
通道4(洋红)-引脚5(数字4)
段信号生成
GreenPAK ASM生成不同的模式来驱动段信号。7.5ms计数器循环遍历ASM状态。由于ASM是电平敏感的,本设计采用了一个控制系统,以避免在7.5ms时钟的高周期内快速切换多个状态的可能性。这个特定的实现依赖于由倒时钟极性控制的连续ASM状态。段和数字信号都是由相同的25kHz内部振荡器产生的。
ASM配置
图7描述了ASM的状态图。状态0自动切换到状态1。类似的切换发生在状态2到状态3,状态4到状态5,状态6到状态7。在ASM转换到下一个状态之前,使用DFF 1、DFF 2和DFF 7立即锁存状态0、状态2、状态4和状态6的数据,如图5所示。这些dff锁定来自ASM的均匀状态的数据,这使用户能够使用GreenPAK的ASM控制扩展的4x11/4xN (N多达16段)显示。
在4xN显示上的每个数字由ASM的两种状态控制。状态0/1、状态2/3、状态4/5和状态6/7分别控制数字1、数字2、数字3和数字4。表1描述了ASM状态以及它们各自的RAM地址来控制每个数字。
ASM RAM的每个状态存储一个字节的数据。因此,要配置4x7显示,数字1的3段由ASM的State 0控制,数字1的5段由ASM的State 1控制。这样,LED显示屏上每一位数字的所有片段都是通过连接得到的
这些片段来自于它们对应的两个状态。表2描述了数字1的每个片段在ASM RAM中的位置。以类似的方式,ASM的状态2到状态7分别包含数字2到数字4的段位置。
ASM状态#
|
ASM内存地址
|
位领导位置
|
---|---|---|
状态0 |
0 xd0 |
数字1 |
状态1 |
0 xd1 |
数字1 |
状态2 |
0 xd2 |
数字2 |
状态3 |
0 xd3 |
数字2 |
状态4 |
0 xd4 |
数字3 |
国家5 |
0 xd5 |
数字3 |
国家6 |
0 xd6 |
数字4 |
州7 |
0 xd7 |
数字4 |
由表2可知,状态0的OUT 3 ~ OUT 7段和状态1的OUT 0 ~ OUT 2段未使用。图5中的GreenPAK设计可以通过配置ASM的所有奇态的OUT 0到OUT 2段来控制4x11显示。该设计可以进一步扩展,通过使用更多的DFF逻辑单元和gpio来控制扩展4xN (N至16段)显示。
ASM RAM
|
||||||||
---|---|---|---|---|---|---|---|---|
出7
|
出6
|
出5
|
出4
|
出3
|
出2
|
出1
|
从0
|
|
状态0
|
x |
x |
x |
x |
x |
赛格C |
赛格B |
赛格一 |
状态1
|
赛格DP |
赛格G |
赛格F |
赛格电子 |
赛格D |
x |
x |
x |
测试
图8显示了用于在4x7段LED显示屏上显示十进制数字的测试原理图。Arduino Uno用于与GreenPAK的ASM RAM寄存器进行I2C通信。更多关于I2C通信的信息,请参考[6]。显示器的普通阳极引脚连接到数字选择gpio。分段引脚通过限流电阻连接到ASM。限流电阻的大小与LED显示屏的亮度成反比。用户可以根据GreenPAK gpio的最大平均电流和LED显示屏的最大直流电流来选择限流电阻的强度。
表3描述了将在4x7显示器上显示的二进制和十六进制格式的十进制数字0到9。0表示开启,1表示关闭。如表3所示,需要两个字节才能在显示器上显示一个数字。通过关联表1、表2和表3,用户可以修改ASM的RAM寄存器,以便在屏幕上显示不同的数字。
十进制数
|
领导部门
|
数据字节(十六进制)
|
|||||||
---|---|---|---|---|---|---|---|---|---|
DP
|
G
|
F
|
E
|
D
|
C
|
B
|
一个
|
||
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 xf8 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 xc7 |
|
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 xf9 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 xff |
|
2 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 xfc |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 xa7 |
|
3. |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 xf8 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 xb7 |
|
4 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 xf9 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 x9f |
|
5 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 xfa |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 x97 |
|
6 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 xfa |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 x87 |
|
7 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 xf8 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 xff |
|
8 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 xf8 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 x87 |
|
9 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 xf8 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 x97 |
表4描述了4 × 7 LED显示屏上数字1的I2C命令结构。I2C命令需要一个起始位、控制位、字地址、数据位和停止位。可以为数字2、数字3和数字4编写类似的I2C命令。
信息
|
数据(十六进制)
|
---|---|
起始位 |
开始 |
控制字节/奴隶地址 |
0×50 |
字地址/ RAM 8输出的asm状态0 |
0 xd0 |
ASM-State 0的数据 |
数字1 |
ASM-State 1的数据 |
数字1 |
停止位 |
停止 |
例如,要在4x7 LED显示屏上写入1234,需要写入以下I2C命令。
[0x50 0xD0 0xF9 0xFF]
[0x50 0xD2 0xFC 0xA7]
[0x50 0xD4 0xF8 0xB7]
[0x50 0xD6 0xF9 0x9F]
通过重复写入ASM的所有8个字节,用户可以修改显示的模式。例如,Dialog网站上的这个应用程序注释的ZIP文件中包含一个计数器代码。
结论
本应用说明中描述的GreenPAK解决方案使用户能够最小化成本、组件数量、板空间和功耗。
大多数情况下,mcu的gpio数量有限,所以将驱动gpio的LED卸载到一个小而便宜的GreenPAK IC,用户可以节省IOs以获得额外的功能。
此外,GreenPAK ICs很容易测试。ASM RAM可以通过点击GreenPAK设计软件中的几个按钮进行修改,这表明了灵活的设计修改。通过配置本应用说明中描述的ASM,用户可以控制4个n段LED显示器,每个显示器最多16段。