yaboPP电子
工业文章

设计系统监控4-MUX LCD驱动程序解决方案

2019年4月18日经过克鲁帕·巴夫萨尔,Dialog半导体公司

本应用笔记描述了一个简单的硬件实现一个4-Mux LCD驱动使用时分复用技术以及系统监控使用GreenPAK IC。

本应用笔记描述了一个简单的硬件实现一个4-Mux LCD驱动使用时分复用技术以及系统监控使用GreenPAK IC。

液晶通常用于制作电子系统的简单屏幕,如数字时钟和汽车音频面板。

在LCD中,液晶通过与穿过LCD的光相互作用来控制分段显示为ON或OFF。当电压被放置在一个薄片上时,内部分子会与电场排列在一起,从而让光畅通无阻地通过。当屏幕上没有电压时,光穿过液晶并旋转90˚。在这两种情况下,光通过前偏振光滤光片和后偏振光滤光片。

液晶屏

图1所示。液晶屏

液晶显示器是独一无二的,它的光源可以是无源的,也可以是有源的。对于无源显示,外部灯被用来照亮和查看显示上的字符。另一方面,主动显示器在屏幕背面设计了一个内部光源。

有关lcd工作原理的详细描述,请参阅Microchip的应用说明8位PIC单片机的LCD基本原理及LCD驱动模块(PDF)。本文分解了LCD背后的物理成分和科学理论。它还介绍了各种LCD类型的益处和缺点,包括反射性,透射和透射反射显示器。

该应用程序笔记建立在Microchip的应用程序笔记[8]中描述的设计之上,将许多处理和硬件需求从MCU卸载到一个小而便宜的GreenPAK IC上。

图2:框图

图2。框图

图2显示了这个建议解决方案的框图。除了LCD驱动电路,GreenPAK解决方案还包括系统监控功能,如硬件复位、监控定时器和RAM存储。

为LCD屏幕创建驱动信号

LCDS巧妙地类似于LED屏幕,因为它们都需要直流电压打开它们的段,但相似之处在此结束。实际上,将持续的直流电压放在LCD段中会损坏液晶。以下部分详细介绍了设计人员使用的一些技术,以在各个LCD段中维持零伏的平均值。

LCD驱动技术:静态驱动和多路复用驱动器

当设计小型液晶显示器(如7段显示器)的驱动电路时,通常有两种不同的类别:静态驱动和多路驱动。

静态驱动技术

静态驱动LCD段有两个连接:一个单一的公共线共享在每个段和每个段的独特的控制信号。为了避免在一个分段上产生非零的直流平均电压,COM线和SEGx线用如图3所示的方波驱动。

分线段线和COM线之间的差产生了每个分段的直流电压,而不改变分段的平均直流电压。为了使LCD段,只需将驱动感兴趣的特定段的方波倒转。LCD段的平均电压仍然是0V。

静态驱动技术

图3。静态驱动技术

静态驱动技术是简单和快速的小型液晶显示器。它不需要特殊的电压水平或复杂的时间行为,但是GPIO要求影响了这种技术在高段计数显示中的可行性。

多路驱动技术

多路驱动技术降低了驱动大型液晶显示器的GPIO要求。这种技术的基础围绕着使用多个COM线为特定的SEG线。使用时域多路复用,每个段可以单独在一条COM线上启用。

图4:电压偏置复用技术

图4。电压偏置复用技术

图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之间。

时分复用技术

图5。时分复用技术

该技术利用GPIO输入结构来产生VDD/2电压电平。通过将GPIO连接到从VDD到GND的分压器,GPIO用于在高阻抗输入和推挽输出之间切换,以产生三个电压级别。这种技术使用标准的GPIO来驱动每条COM线。

本应用笔记中的GreenPak设计基于图5所示的第二多路复用驱动技术。

GreenPAK设计

图6显示了GreenPAK的设计,该设计实现了LCD驱动架构以及2V调节器、看门狗计时器、硬件复位和8字节的RAM。2V稳压器适应LCD的1.7V到2.2V的工作电压范围。

图6:GreenPAK设计

图6。GreenPAK设计

COM信号生成

如前所述,通过修改GPIO设置并使用在VDD / 2处设置的外部电阻分频器来生成COM信号。GPIO控制信号源自振荡器驱动的DFF链,如图6所示。这些信号确定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)

COM信号

图7。COM信号

段信号生成

ASM配置

在这个设计中,ASM被重新用作一个花式图案发生器来驱动SEG输出。在图6中,Pipe Delay块用于循环各种ASM状态。

GreenPAK ASM由8个状态组成,每个LCD COM线对应两个ASM状态。表1列出了ASM状态及其相关的COM线。

表1。LCD的COM信号与ASM状态对应

表1:LCD的COM信号与ASM状态的对应

每个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。这种数据反演现象与以上在多路驱动技术一节中的描述相关联。

表2。随机存取存储器数据位

表2:ASM RAM数据位

注: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。细分波形

图8显示了SEG/COM行为的一个例子。这些波形显示特定的COM/SEG对按照表3启用。要启用这些com - seg对,ASM RAM必须配置为表4中所示的值,其中状态0到3的“0”和状态4到7的“1”表示ON段。通过分析图8,可以通过从COM信号中减去SEG信号来解码LCD段的状态。

表3。例段/常见行为

表3:示例段/公共行为

表4. ASM RAM数据

表4:ASM RAM数据

GreenPAK的2V电压调节器

由于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了解该调节器的系统级实现。

GreenPak设计的其他功能

为了同步SEG和COM信号,当断言为LOW时,I2C虚拟输入“nRST”将主动重置设计。当释放HIGH时,SEG和COM信号将在时域彼此同步,因为它们都从相同的25kHz振荡器工作。有关用I2C重置ASM的更多信息,请参考[6]。

GreenPAK解决方案还实现了硬件按钮复位、看门狗计时器和RAM存储等系统监控功能。通过GPIO从外部控制按钮复位,同时通过MCU的I2C通信控制看门狗定时器和RAM存储。

修改液晶

启用和禁用LCD上的不同段在GreenPak ASM中重写RAM寄存器时简单。要正确执行更改,我们建议您描述的程序:

  1. 使用I2C虚拟输入断言nRST LOW
  2. 将新的RAM内容编程到ASM中
  3. 设置nRST HIGH启动LCD驱动信号

按照上述顺序将保证COM和SEG引脚在时域保持同步。表5显示了ASM状态的I2C地址。通过使用I2C重写这些ASM RAM寄存器来修改LCD上的数据。

表5所示。ASM RAM注册I2C地址

表5:ASM RAM寄存器I2C地址

测试设计

使用Arduino UNO测试扭曲的向型(TN)反射液晶显示器(Mouser#:696-LCD-S401M16KR)。该LCD显示屏是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 GPIOS的驱动强度影响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输出。

使用Arduino进行测试设置

图9。使用Arduino进行测试设置

LCD的数字和段位置

图10。LCD的数字和段位置

表6所示。液晶销地图

表6:LCD引脚图

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位置来启用/禁用。

表7所示。ASM和LCD数字关系

表7:ASM和LCD数字关系

表8.与ASM RAM的数字1段连接

表8:与ASM RAM的数字1段连接

为了在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所需的一些示例模式和相应的十六进制字节。

一些示例代码用于使用Arduino UNO控制LCD的示例代码包含在对话框网站上此应用笔记的zip文件中。

表9所示。模式显示

表9:模式显示

LCD可靠性

LCD的可靠性依赖于LCD驱动信号的平均直流偏置电压。直流偏置被测量为COM和SEG信号的幅值随时间的差异。如果平均差在50mV或更大的数量级上,直流偏置将最终损坏LCD。有关可接受的直流偏置规格的更多信息,请参阅[12]。

图11显示了用于测量此解决方案中直流偏置的测试设置。R13, R14和C3创建一个高阻抗测量接口,使用数字万用表监测平均电压。为直流偏置测量选择的电阻大约比设计中用于避免负载电阻分压器网络的电阻大十倍。

测量直流偏置

图11。测量直流偏置

在约5mV下测量DC偏移。由于此偏移量小于50mV偏移标准,因此LCD不应损坏。

设计注意事项和解决方案

在评估此设计时,应该考虑某些标准。这些标准包括LCD的工作电压范围、GreenPAK gpio的驱动强度、外部组件选择和低功耗优化。

被测LCD的工作电压范围为1.7V到2.2V。当操作超出此范围时,LCD会出现重影。此电压范围将随液晶显示器的类型而变化。

如图8所示,使用外部电阻分频器网络生成用于COM信号的三个电压电平。为了最佳性能,我们建议使用较小的电阻和更强

GPIO结构加速瞬态行为。我们的许多GreenPAK gpio可以配置为“2x推挽”,以增加驱动强度。

静态电流消耗和性能之间存在权衡。较小的外部电阻在LCD上提供更好的对比,但增加了系统静态电流。如果当前消耗对于给定的应用是重要的,则用户可以将低功耗模式集成到GreenPak设计中。使用I2C,MCU可以在不需要显示时禁用内部振荡器和ACMP。人们还可以使用外部开关为电压调节器供电。当处于低功耗模式时,此开关将保证LCD上没有电压和电阻分频器网络。这些技术将通过设备限制整个静态电流。

功能扩展

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进行测试设置

图12。使用DA14585进行测试设置

当使用DA14585芯片代替Arduino Uno来控制LCD时,可以观察到类似的系统行为。Dialog网站上的应用程序说明的ZIP文件中包含一些使用DA14585控制LCD的示例代码。

GreenPAK解决方案的结论

通过使用本申请中描述的GreenPak解决方案,系统设计器可以降低MCU引脚数,降低成本,提高系统性能,提高设计灵活性。另外,通过实现低功率模式以禁用LCD电路,电池供电系统可能受益于降低的静态电流消耗。

通常,基于提供给设计师的gpio数量,mcu的功能受到限制。对于较小的LCD应用程序,将LCD驱动卸载到GreenPAK可以以较低的成本为GreenPAK IC在MCU上释放大量的GPIO。

类似地,mcu的处理能力也是有限的。许多现代mcu利用基于事件的编程来对特定编程环境中的任务进行优先排序。GreenPAK解决方案允许mcu通过在每个事件发送一些I2C命令来简化它们的软件需求。这允许MCU固件执行其他任务或将MCU置于低功耗设置,直到在系统中触发事件。

使用GreenPAK IC的一个固有好处是在GreenPAK Designer软件中测试和修改设计的简单性。在点击几个按钮,RAM设置内的ASM和振荡器时钟速度可以改变。类似地,看门狗设置和硬件复位定时器可以在IC内配置。

本文由克雷格·卡里, Dialog Semiconductor高级应用工程师。

参考文献

有关文件和软件,请访问对话框半导体

下载免费的GreenPAK Designer软件[1],打开。gp文件[2],查看建议的电路设计。使用GreenPAK开发工具[3]在几分钟内将设计修改为您自己的定制IC。Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。

  1. GreenPAK设计软件,《软件下载及用户指南》,Dialog Semiconductor
  2. AN-CM-276系统监控4 mux LCD驱动解决方案。gp, GreenPAK设计文件,Dialog Semiconductor
  3. GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体
  4. GreenPAK应用笔记,绿派克应用笔记网页,对话半导体
  5. SLG46537, Datasheet, Dialog Semiconductor
  6. AN-1092,I2C控制状态机,应用笔记,对话半导体
  7. AN1447,标准ST62 4多路LCD的软件驱动程序,应用说明,意法半导体yabosports官网
  8. AN658,液晶基本原理及8位PIC单片机的液晶驱动模块,应用笔记,微芯片
  9. AN1428, LCD偏置和对比度控制方法,应用笔记,微芯片。
  10. 维基百科贡献者,液晶显示,维基百科免费百科,页面版本ID: 860435172, 2018
  11. TB1098, LCD应用的低功耗技术,应用说明,微芯片
  12. 段液晶显示器:避免过多的直流元件,期刊文章,焦点液晶显示器

行业文章是一种内容形式,允许行业合作伙伴以编辑内容不太适合的方式与All About Circuits的读者分享有用的新闻、消息和技术。yaboPP电子所有行业文章都遵循严格的编辑指导方针,目的是为读者提供有用的新闻、技术专长或故事。工业文章中表达的观点和意见是合作伙伴的观点和意见,不一定是All About Circuits或其作者的观点和意见。yaboPP电子