术语和定义
参考文献
有关文件及软件,请浏览:
//www.wsdof.com/configurable-mixed-signal。
下载我们的免费GreenPAK设计软件[1],打开。gp文件[2]并查看建议的电路设计。使用GreenPAK开发工具[3]在几分钟内将设计修改为您自己的定制IC。雷竞技电竞平台Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。
- GreenPAK设计软件,软件下载和用户指南,Dialog半导体雷竞技电竞平台
- AN-CM-276 System Monitor 4-MUX LCD Driver Solution.gp,绿派克设计文件,Dialog半导体雷竞技电竞平台
- GreenPAK开发工具,对话半导体GreenPAK开发工具网页雷竞技电竞平台
- GreenPAK应用笔记,绿派克应用笔记网页,对话半导体雷竞技电竞平台
- SLG46537, Datasheet, 雷竞技电竞平台Dialog Semiconductor
- AN-1092, I2C受控状态机,应用笔记,Dialog半导体雷竞技电竞平台
- AN1447,标准ST62 4多路LCD的软件驱动程序,应用说明,意法半导体
- AN658,液晶基本原理及8位PIC单片机的液晶驱动模块,应用笔记,微芯片
- AN1428, LCD偏置和对比度控制方法,应用笔记,微芯片。
- 维基百科贡献者,液晶显示,免费百科全书, Page Version ID: 860435172, 2018
- TB1098, LCD应用的低功耗技术,应用说明,微芯片雷竞技安卓下载
- 段液晶显示器:避免过多的直流元件,期刊文章,焦点液晶显示器
介绍
液晶通常用于制作电子系统的简单屏幕,如数字时钟和汽车音频面板。
在LCD中,液晶通过与穿过LCD的光相互作用来控制分段显示为ON或OFF。当电压被放置在一个薄片上时,内部分子会与电场排列在一起,从而让光畅通无阻地通过。当屏幕上没有电压时,光穿过液晶并旋转90˚。在这两种情况下,光通过前偏振光滤光片和后偏振光滤光片。
液晶显示器是独一无二的,它的光源可以是无源的,也可以是有源的。对于无源显示,外部灯被用来照亮和查看显示上的字符。另一方面,主动显示器在屏幕背面设计了一个内部光源。
有关液晶显示器工作原理的详细说明,请参阅[8]。本文对液晶显示器的物理组成和科学原理进行了分析。它还描述了各种LCD类型的优点和缺点,包括反射、透射和半透明显示。
本应用笔记改进了[8]中描述的设计,将许多处理和硬件需求从MCU卸载到一个小型和廉价的GreenPAK IC上。
图2显示了这个建议解决方案的框图。除了LCD驱动电路,GreenPAK解决方案还包括系统监控功能,如硬件复位、监控定时器和RAM存储。
为LCD屏幕创建驱动信号
液晶显示器和LED屏幕看起来很相似,因为它们都需要直流电压来打开屏段,但相似之处就到此为止了。事实上,在LCD段上放置持续的直流电压会损坏液晶。以下几节详细介绍了一些技术,由设计师使用,以维持平均零伏的个别LCD段。
LCD驱动技术:静态驱动和多路驱动
当设计小型液晶显示器(如7段显示器)的驱动电路时,通常有两种不同的类别:静态驱动和多路驱动。
静态驱动技术
静态驱动LCD段有两个连接:一个单一的公共线共享在每个段和每个段的独特的控制信号。为了避免在一个分段上产生非零的直流平均电压,COM线和SEGx线用如图3所示的方波驱动。分线段线和COM线之间的差产生了每个分段的直流电压,而不改变分段的平均直流电压。为了使LCD段,只需将驱动感兴趣的特定段的方波倒转。LCD段的平均电压仍然是0V。
静态驱动技术是简单和快速的小型液晶显示器。它不需要特殊的电压水平或复杂的时间行为,但GPIO要求影响了这种技术的可行性高段计数显示。
多路驱动技术
多路驱动技术降低了驱动大型液晶显示器的GPIO要求。这种技术的基础围绕着使用多个COM线为特定的SEG线。使用时域多路复用,每个段可以单独在一条COM线上启用。
图4显示了第一复用驱动技术,它使用多个电压偏置电平来驱动每个SEG和COM线。当SEG和COM之间的电压差超过V1时,特定的SEG/COM对打开。
该技术基于COM线的时分复用。每4条COM线依次激活与SEG线相互作用。在COM线路的活动期间,可以将SEG线路反向驱动到相反的轨道,使SEG/COM对成为可能。
当在一个周期内平均SEG和COM线之间的差值时,平均直流电压保持在0伏特。这种技术的一个显著缺点是,它需要一个模拟GPO,具有产生4个不同的输出电压级别的能力。
第二种技术,如图5所示,其工作原理与电压偏置复用结构中描述的时域复用原理相同。为了减少所需输出电压电平的数量,该技术将周期增加一倍,以保持整个LCD段的平均0V。从图5可以看出,Section B中的SEGx信号为Section a的逆信号。当SEG和COM的差值为VDD或-VDD时,该SEG / COM对开启。这种技术假定分段的开启电压的大小在VDD/2和VDD之间。
该技术利用GPIO输入结构来产生VDD/2电压电平。通过将GPIO连接到从VDD到GND的分压器,GPIO用于在高阻抗输入和推挽输出之间切换,以产生三个电压级别。这种技术使用标准的GPIO来驱动每条COM线。
本应用笔记中的GreenPAK设计基于图5所示的第二种Multiplex Drive技术。
GreenPAK设计
图6显示了GreenPAK的设计,该设计实现了LCD驱动架构以及2V调节器、看门狗计时器、硬件复位和8字节的RAM。2V稳压器适应LCD的1.7V到2.2V的工作电压范围。
COM信号生成
COM信号的产生,如前所述,通过修改GPIO设置和使用外部电阻分压器设置在VDD/2。GPIO控制信号来源于如图6所示的振荡器驱动的DFF链。这些信号决定了GPIO是配置为输入还是输出,以及GPIO是高电平还是低电平。
可以看到,图7所示的COM信号与图5所示的COM信号相匹配。
注:VDD = 2.0V,对于高z模式,外部分频偏置为VDD/2
通道1(黄色)- COM0 (PIN3)
通道2(绿色)- COM1 (PIN5)
通道3(蓝色)- COM2 (PIN7)
Channel 4(品红)- COM3 (PIN10)
段信号生成
ASM配置
在这个设计中,ASM被重新用作一个花式图案发生器来驱动SEG输出。在图6中,Pipe Delay块用于循环各种ASM状态。
GreenPAK ASM由8个状态组成,每个LCD COM线对应两个ASM状态。表1列出了ASM状态及其相关的COM线。
|
COM信号#
|
ASM州
|
|---|---|
|
COM 0 |
状态0和状态4 |
|
COM 1 |
状态1和状态5 |
|
COM 2 |
州3和州6 |
|
COM 3 |
州4和州7 |
每个ASM状态持有一个字节的数据在RAM中输出到连接矩阵。表2提供了如何为每个ASM状态配置二进制数据的模板。假设a位被写到状态0,b位被写到状态1,c位被写到状态2,d位被写到状态3,那么状态4到状态7的位应该分别被反转为!a, !b, !c和!d。例如,打开与COM 0相关联的SEG 0,在状态0/SEG 0位置写一个0,在状态4/SEG 0位置写一个1。这种数据反演的现象与4.1.2中的描述相对应。
|
国家的名字
|
连接矩阵输出RAM
|
|||||||
|---|---|---|---|---|---|---|---|---|
|
赛格0
|
赛格1
|
赛格2
|
赛格3
|
赛格4
|
赛格5
|
赛格6
|
赛格7
|
|
|
状态0 |
一个 |
一个 |
一个 |
一个 |
一个 |
一个 |
一个 |
一个 |
|
状态1 |
b |
b |
b |
b |
b |
b |
b |
b |
|
状态2 |
c |
c |
c |
c |
c |
c |
c |
c |
|
状态3 |
d |
d |
d |
d |
d |
d |
d |
d |
|
状态4 |
! |
! |
! |
! |
! |
! |
! |
! |
|
国家5 |
b ! |
b ! |
b ! |
b ! |
b ! |
b ! |
b ! |
b ! |
|
国家6 |
c ! |
c ! |
c ! |
c ! |
c ! |
c ! |
c ! |
c ! |
|
州7 |
d ! |
d ! |
d ! |
d ! |
d ! |
d ! |
d ! |
d ! |
注:VDD = 2.0V,对于高z模式,外部分频偏置为VDD/2
通道1(黄色)- COM0 (PIN3)
通道2(绿色)- COM1 (PIN5)
D0 - seg0 (pin12)
D1 - seg1 (pin13)
D2 - se2 (pin14)
D3 -段3 (pin15)
D4 - seg4 (pin16)
D5 - seg5 (pin17)
D6 - seg6 (pin18)
D7 - se7 (pin19)
图8显示了SEG/COM行为的一个例子。这些波形显示特定的COM/SEG对按照表3启用。要启用这些com - seg对,ASM RAM必须配置为表4中所示的值,其中状态0到3的“0”和状态4到7的“1”表示ON段。通过分析图8,可以通过从COM信号中减去SEG信号来解码LCD段的状态。
|
COM0
|
COM1
|
COM2
|
COM3
|
|
|---|---|---|---|---|
|
SEG0
|
从 |
从 |
从 |
从 |
|
SEG1
|
在 |
从 |
从 |
从 |
|
SEG2
|
从 |
在 |
从 |
从 |
|
SEG3
|
从 |
从 |
在 |
从 |
|
SEG4
|
从 |
从 |
从 |
在 |
|
SEG5
|
从 |
从 |
从 |
从 |
|
SEG6
|
从 |
在 |
在 |
从 |
|
SEG7
|
从 |
从 |
从 |
从 |
|
ASM州名
|
SEG0
|
SEG1
|
SEG2
|
SEG3
|
SEG4
|
SEG5
|
SEG6
|
SEG7
|
|---|---|---|---|---|---|---|---|---|
|
状态0
|
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
状态1
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
|
状态2
|
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
|
状态3
|
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
|
状态4
|
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
国家5
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
|
国家6
|
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
州7
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
2 v电压调节器
由于LCD的工作电压范围是1.7V到2.2V,内部的2V调节器限制了GreenPAK的VDD,并决定了COM和SEG信号的逻辑级别。这个狭窄的范围取决于系统中使用的特定LCD。这个电压范围、GreenPAK gpio的驱动强度和外部无源组件的尺寸都影响LCD的对比度。
GreenPAK设计使用ACMP将3.3V电源调节到2.0V,使用带有低侧NMOS开关的电阻分压器。无源元件限制了电流流量,并决定了调节器的瞬态行为。如图6所示的ACMP0将电压调节到2V。请参考图9和图12了解该调节器的系统级实现。
附加功能
为了同步SEG和COM信号,当断言为LOW时,I2C虚拟输入“nRST”将主动重置设计。当释放HIGH时,SEG和COM信号将在时域彼此同步,因为它们都从相同的25kHz振荡器工作。有关用I2C重置ASM的更多信息,请参考[6]。
GreenPAK解决方案还实现了硬件按钮复位、看门狗计时器和RAM存储等系统监控功能。通过GPIO从外部控制按钮复位,同时通过MCU的I2C通信控制看门狗定时器和RAM存储。
修改LCD显示
在LCD上启用和禁用不同的段就像在GreenPAK的ASM中重写RAM寄存器一样简单。为了正确地执行更改,我们推荐以下步骤:
- 使用I2C虚拟输入断言nRST LOW
- 将新的RAM内容编程到ASM中
- 设置nRST HIGH启动LCD驱动信号
按照上述顺序将保证COM和SEG引脚在时域保持同步。表5显示了ASM状态的I2C地址。通过使用I2C重写这些ASM RAM寄存器来修改LCD上的数据。
|
ASM状态#
|
I2C地址
|
|---|---|
|
状态0 |
0 xd0 |
|
状态1 |
0 xd1 |
|
状态2 |
0 xd2 |
|
状态3 |
0 xd3 |
|
状态4 |
0 xd4 |
|
国家5 |
0 xd5 |
|
国家6 |
0 xd6 |
|
州7 |
0 xd7 |
测试
使用Arduino Uno对扭曲向列(TN)反射液晶显示器(鼠标#:696-LCD-S401M16KR)进行了测试。这个液晶显示器是一个4位,7段多路显示。
液晶显示模式
图9显示了用于在多路复用LCD上显示不同图案的测试原理图。I2C线(SCL和SDA)通过R1和R2上拉电阻连接到Arduino的3.3V输出。电阻R3和R4连同电容C2构成2V稳压器,如5.3所述。R5到R12用于产生COM信号的偏置电压。
如前所述,LCD对比度取决于振幅和LCD驱动信号的瞬态行为。R5到R12的尺寸和GreenPAK gpio的驱动强度影响LCD驱动信号的瞬态行为。通过台架迭代试验确定了最佳电阻值。这种外部电阻分压器网络影响了静态电流、PCB空间和系统解决方案的成本。有关电阻选择的更多信息,请参阅[9]和[11]。
按照5.5中描述的步骤在多路LCD上显示不同的图案。液晶显示器的引脚映射和数字和段位置分别显示在表6和图10。通过关联表6和图10,它可以确定销5和销6对应液晶的数字1,销7和8对应数字2,销9和10对应数字3和销11和12对应数字4。表7显示了这种相关性以及相应的ASM输出。
|
销
|
1
|
2
|
3.
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
COM0
|
COM0 |
-- |
-- |
-- |
1 d |
DP1 |
二维 |
DP2 |
3 d |
DP3 |
4 d |
上校 |
|
COM1
|
-- |
COM1 |
-- |
-- |
1 e |
1 c |
2 e |
2摄氏度 |
3 e |
3 c |
4 e |
4摄氏度 |
|
COM2
|
-- |
-- |
COM2 |
-- |
1克 |
1 b |
2 g |
2 b |
3 g |
3 b |
4 g |
4 b |
|
COM3
|
-- |
-- |
-- |
COM3 |
1 f |
1 |
2 f |
2 |
3 f |
3 |
4 f |
4 |
SEG 0和SEG 1输出的ASM控制数字1的LCD。类似地,seg2 /3, SEG4/5和SEG6/7分别控制数字2,3和4。表8显示了数字1和ASM输出连接。表1和表8显示,一个人必须写一个“0”到状态0/ SEG0和一个“1”到状态4/SEG0打开段D在数字1。类似地,其他段可以通过写各自的State x/SEG y位置来启用/禁用。
|
液晶数字#
|
液晶销#
|
ASM输出
|
|---|---|---|
|
数字1 |
Pin 5和Pin 6 |
SEG 0和SEG 1 |
|
数字2 |
Pin 7和Pin 8 |
SEG 2和SEG 3 |
|
数字3 |
Pin 9和Pin 10 |
SEG 4和SEG 5 |
|
数字4 |
Pin 11和Pin 12 |
SEG 6和SEG 7 |
|
液晶数字#
|
ASM状态#
|
ASM输出
|
|
|---|---|---|---|
|
赛格0
|
赛格1
|
||
|
数字1 |
状态0 |
D |
DP1 |
|
状态1 |
E |
C |
|
|
状态2 |
G |
B |
|
|
状态3 |
F |
一个 |
|
|
状态4 |
D ! |
DP1 ! |
|
|
国家5 |
E ! |
C ! |
|
|
国家6 |
G ! |
B ! |
|
|
州7 |
F ! |
! |
|
为了在LCD上显示模式,二进制数据首先被转换成十六进制格式,然后写入ASM RAM寄存器。例如,要在LCD上显示“1234”,请遵循5.5中列出的I2C程序。将数据写入ASM RAM寄存器的I2C命令如下:
[Start 0x08 0xF4 0x00 Stop]
[开始0x08 0xD0 0xEB 0x71 0x01 0x97 0x14 0x8E 0xFE 0x68停止]
[开始0x08 0xF4 0x01停止]
这里,0x08是I2C从地址,0xF4是I2C虚拟输入的字地址。在GreenPAK中有各种各样的I2C从地址可用。更多关于I2C通信的信息,请访问[5]。
表9显示了ASM RAM所需的一些示例模式和相应的十六进制字节。
Dialog网站上的应用程序说明的ZIP文件中包含一些使用Arduino Uno控制LCD的示例代码。
|
液晶显示模式
|
ASM RAM数据(十六进制)
|
|||||||
|---|---|---|---|---|---|---|---|---|
|
状态0
|
状态1
|
状态2
|
状态3
|
状态4
|
国家5
|
国家6
|
州7
|
|
|
1234 |
0 xeb |
0 x59 |
0 x01 |
0 x97 |
0 x14 |
0 xa6 |
以0 xfe |
0 x68 |
|
95.76 |
0 xb2 |
0连接 |
0 x98 |
0 x10 |
0 x4d |
0 xea |
0 x67 |
0 xef |
|
跑完 |
0 x6b |
0 x43 |
0 x53 |
0 x43 |
0 x94 |
0 xbc |
0 xac |
0 xbc |
液晶的可靠性
LCD的可靠性依赖于LCD驱动信号的平均直流偏置电压。直流偏置被测量为COM和SEG信号的幅值随时间的差异。如果平均差在50mV或更大的数量级上,直流偏置将最终损坏LCD。有关可接受的直流偏置规格的更多信息,请参阅[12]。
图11显示了用于测量此解决方案中直流偏置的测试设置。R13, R14和C3创建一个高阻抗测量接口,使用数字万用表监测平均电压。为直流偏置测量选择的电阻大约比设计中用于避免负载电阻分压器网络的电阻大十倍。
在5mV左右测量直流偏置。因为这个偏移量小于50mV的偏移量标准,所以LCD应该不会损坏。
设计注意事项和解决方案
在评估此设计时,应该考虑某些标准。这些标准包括LCD的工作电压范围、GreenPAK gpio的驱动强度、外部组件选择和低功耗优化。
被测LCD的工作电压范围为1.7V到2.2V。当操作超出此范围时,LCD会出现重影。此电压范围将随液晶显示器的类型而变化。
如图8所示,COM信号的三个电压等级是由外部电阻分压器网络产生的。为了获得最佳性能,我们建议使用更小的电阻和更强的GPIO结构来加速瞬态行为。我们的许多GreenPAK gpio可以配置为“2x推挽”,以增加驱动强度。
静态电流消耗和性能之间存在权衡。较小的外部电阻在LCD上提供了更好的对比度,但增加了系统的静态电流。如果当前消耗对给定的应用程序很重要,用户可以将低功耗模式集成到GreenPAK设计中。利用I2C功能,当不需要显示时,可以关闭内部振荡器和ACMP。也可以使用外部开关来为电压调节器供电。当在低功率模式下OFF时,这个开关将保证液晶显示器和电阻分压器网络上没有电压。这些技术将限制通过设备的整体静态电流。
功能扩展
GreenPAK可以用任何能够与I2C命令通信的MCU进行控制。DA14585是一个符合蓝牙5.0 soc的芯片,能够通过I2C与GreenPAK和LCD接口。
图12显示了使用3.0V硬币电池供电的DA14585芯片的测试设置原理图。DA14585的P1_0 (Port 1 - pin0)和P1_1 (Port 1 - pin1)分别为SDA和SCL的I2C引脚。I2C的SDA和SCL线通过上拉电阻R1和R2连接到3.0V轨上。请按照5.5中的描述将数据写入GreenPAK的ASM RAM寄存器和I2C虚拟输入。
当使用DA14585芯片代替Arduino Uno来控制LCD时,可以观察到类似的系统行为。Dialog网站上的应用程序说明的ZIP文件中包含一些使用DA14585控制LCD的示例代码。
结论
通过使用本应用说明中描述的GreenPAK解决方案,系统设计师可以减少MCU引脚数,降低成本,提高系统性能,并提高设计灵活性。此外,电池供电系统可以通过实现低功耗模式来禁用LCD电路,从而减少静态电流消耗。
通常情况下,基于提供给设计人员的gpio数量,mcu的功能受到限制。对于较小的LCD应用程序,将LC雷竞技安卓下载D驱动卸载到GreenPAK可以以较低的成本为GreenPAK IC在MCU上释放大量的GPIO。
类似地,mcu的处理能力也是有限的。许多现代mcu利用基于事件的编程来对特定编程环境中的任务进行优先排序。GreenPAK解决方案允许mcu通过在每个事件发送一些I2C命令来简化它们的软件需求。这允许MCU固件执行其他任务或将MCU置于低功耗设置,直到在系统中触发事件。
使用GreenPAK IC的一个固有好处是在GreenPAK Designer软件中测试和修改设计的简单性。在点击几个按钮,RAM设置内的ASM和振荡器时钟速度可以改变。类似地,看门狗设置和硬件复位定时器可以在IC内配置。