许多基于MCU的产品使用触摸和简单的LCD输出来实现用户界面设计,适用于消费,工业和家电应用。这些设备的例子就在我们身边:恒温器,警报/时钟,心率监视器,葡萄糖监视器,计算器,电子玩具,安全系统,万用表,微波炉和洗衣机/干衣机等。现代MCU采用专用硬件功能来简化这些类型设计的实现,包括触摸传感器接口和面向段的LCD控制器。
为了帮助工程师实现基于这些功能的用户界面,供应商还提供了广泛的软件功能生态系统,软件库,参考设计,目标开发工具和开发板。本文概述了实现触摸感应(电阻式和电容式触摸)以及基于段的LCD控制所需的一些最重要的硬件功能。还介绍了支持生态系统中的一些关键元素示例,以帮助为特定用户界面设计选择最佳解决方案。
段式LCD控制
MCU几乎用于驱动段的每个设备面向LCD的显示器,由于其低功耗和编程灵活性。即使是具有8位CPU的MCU也具有许多设计所需的计算能力和通用接口。飞思卡尔MC9S08LC60增加了一些特殊用途功能,进一步简化了基于段的LCD用户界面的实现。快速浏览一些关键的LCD控制器功能是评估和比较其他设备中类似功能的良好基准。
在实现基于段的LCD控制器功能时,两个最重要的参数可能是支持的LCD面板类型和可以驱动的段数。有些LCD面板需要3 V或5 V,而能够驱动任一电压电平的MCU(如MC9S08LC60)可提供额外的灵活性。可以驱动的细分数量和组织支持也是需要灵活性的领域。 MCS08LC60最多可支持4个背板(主选择信号)和最多41个前端(段选择信号)。段的总数是背板数量和前板数量的乘积。请注意,潜在的字符数取决于每个字符的段数以及支持的段数。有用的表格,如图1中MC9S08LC60所示,可用于识别支持的各种组合。请注意,封装上可用的引脚数也会影响段的总数,从而影响潜在字符的数量。
图1:飞思卡尔MC9S08LC60LK的显示选项(由飞思卡尔提供)一旦确定了LCD面板的类型和段/字符的数量,就需要探索LCD控制器的一些其他关键特性。空间受限设计中的一个有用特性是在MCU本身上包含LCD驱动器。这消除了对外部驱动器和相关电源电路的需要。 MC9S08LC60具有片上电荷泵(用于产生输出电压,是参考电压的两倍或三倍),为LCD面板产生3 V或5 V电源电压。在片上包含电荷泵还简化了LCD模块波形的产生,以提高功率效率。内部ADC还可用于监控LCD功率水平,以通过软件调整对比度,从而进一步提高功效当功率效率是关键要求时,甚至可以在MCU处于低功率状态时操作LCD。例如,即使MCU处于Wait或Stop3低功耗状态,MC9S08LC60也可以生成LCD波形。在这些低功耗状态下,片上专用LCD SRAM的内容将自动显示在LCD上,无需CPU干预。灵活的LCD帧频率和占空比设置也有助于降低与LCD相关的功耗。
除了提供高级硬件功能外,大多数供应商还提供先进的工具,开发套件和参考设计,以简化简单用户的实施接口。例如,德州仪器(TI)为使用TI MSP430系列的目标应用提供了一系列套件和参考设计。针对TI MSP430F6736的参考设计和评估模块可用于智能计量应用,它为各种面向段的计量设计提供了出色的起点。电路板图和设计相关框图如图2所示。
图2:具有分段LCD接口的智能电表参考设计(由德州仪器公司提供) 。
TI MSP430F6736上的LCD控制器可以驱动多达320个段,具体取决于器件上可用的引脚数。支持的LCD类型包括静态和多路复用型设备。多路复用样式最多使用8个常用信号,以实现一组最多40个单独的段控制。在上图中,六个7段数字中的每一个可以用不同的公共信号启用,以简化数字结果的显示。可以使用剩余的两个公共信号选择剩余的段(kWh,kW等),并根据它们的显示时间进行共享。规划段布局中的一些想法可以节省大量的数据格式和转换。理想情况下,LCD控制需要很少的处理,因此CPU可以尽可能地保持低功耗模式。
TI MSP430F6736具有多种自动化LCD控制功能,包括自动信号生成(因此CPU)不需要参与低级显示操作),可配置帧频,使用单独的闪烁存储器(静态,2到4多路复用LCD)自动段闪烁,集成电荷泵和1/3的分数偏置控制设置, VLCD设置的1/2和2/3。有四个中断源可用于简化显示存储器的更新,以避免在显示周期内发生变化。用于设置中断的示例程序包含在数据表中,并显示逐周期延迟,以帮助您制作最有效的中断处理程序。
TI提供了丰富的示例代码,其中包含智能电表参考设计,并包含预构建的项目,使用IAR编译器。包含了构建过程的演练,因此不需要以前使用IAR编译器的经验来从构建示例设计和查看演示中受益。还包括完整的原理图,以便轻松利用已经实施和测试的电路板设计和布局。
触摸界面
使用分段LCD向用户显示信息是一种出色的输出设备,但大多数用户界面也需要用户输入。触摸界面提供最直观的输入样式之一,通常比机械开关或指示器更强大。制造商正在为MCU添加功能,以实现直观的触摸界面。 Silicon Labs EFM32WG990F256具有一些针对电阻式触摸界面的高级功能Silicon Labs EMF32WG990F256上提供的低能量传感器接口(LESENSE)与其他外设配合使用,可使用可配置传感器执行许多自主测量。 LESENSE使用片上模拟比较器与DAC一起测量传感器信号,以生成准确的参考电压或执行传感器激励。 LESENSE包含自己的定序器,计数和比较块,以及用于配置和结果存储的RAM块。定序器处理与其他外围设备的交互以及传感器测量的定时。计数和比较块用于在与可配置阈值进行比较之前对来自模拟比较输出的脉冲进行计数。为了自主分析传感器结果,LESENSE解码器可以定义一个具有多达16个状态的可编程状态机,以及状态转换时的可编程动作。这允许解码器实现宽范围的解码方案,例如正交解码。专用RAM模块用于存储配置和测量结果,支持相对较大的结果缓冲器,使芯片能够在收集传感器数据的同时长时间保持低能量模式。 LESENSE可以在多种低功耗模式下工作,并可以在可配置事件中唤醒CPU。
LESENSE定序器的操作原理如图3所示。基本的电阻感应方法是简单地测量变量上的电压电阻器,其电阻根据环境因素而变化,例如温度,光或机械位置。具有可变电阻器的触摸传感器仅根据触摸板上的力(或不足)来改变电阻。 (一些最复杂的触摸界面也可以根据来自多个传感器的读数来定位触摸的位置,但理论与单个开/关开关的理论相同)。电阻检测接口的单引脚版本显示在图3的左上方。
电容放置在检测引脚的输出端,与电阻传感器“S”并联。在激励阶段期间,在输出上施加电压,对电容器充电。电荷停留在电容上,然后引脚切换到测量模式。如果传感器处于活动状态(并且传感器的电阻因此降低),则电压放电更快,如图3左下图所示。如果传感器处于非活动状态(并且传感器电阻较大) ,电压电平放电更慢。可以对输出引脚上的电压测量进行定时(在一些校准之后),使得样本将指示传感器是否已被触摸。在图3右上侧的配置中,使用了两个引脚。 LES_ALTEXn引脚用于激励传感器,ACMPn引脚用于测量电阻分压器上的电压。得到的测量值将指示传感器是处于高阻态还是低阻态以确定传感器是否已被触摸。
图3:使用Silicon Labs EFM32WG990F256的电阻式触摸感应(由Silicon Labs提供。)LESENSE外设可以使用非常低的功率从CPU的其余部分自主运行。 CPU可以从不需要更高级别响应的传感器事件中“屏蔽”,以便管理接口消耗最少的能量。专用SRAM甚至可以缓冲大量读数,以便CPU可以在低功耗状态下等待,直到有足够的样本可用于批量处理。 EFM32WG-DK3850开发套件包括各种示例程序,可用作自定义接口设计的起点。
Atmel提供各种“触摸就绪”的MCU(例如ATSAM3U4CA-AU) -ND)并且不仅具有广泛的硬件功能来支持电容式触摸,而且可以与功能强大的QTouch库¹结合使用,以使用高级结构快速实现触摸界面。设计人员可以在各种Atmel MCU上使用通用API嵌入电容式触摸按钮,滑块和滚轮功能。电容触摸通常使用图4中所示的技术来实现。如图的左侧所示,电容基于覆盖物朝向传感器按压的量而变化。可以测量在图的右侧示出的结果信号变化以确定是否正在触摸传感器。使用更复杂的测量,可以确定滑块,轮子甚至二维运动的运动(对于触摸板或触摸屏)。
图4:使用Atmel QTouch技术的电容式触摸实现(由Atmel提供)。
Atmel QTouch Library提供了关键的高级功能,用于初始化,配置,校准和测量电容式触摸传感器,如库中可用的API调用列表所示。传感器的典型呼叫序列显示在图5的右侧。请注意,可以初始化多个传感器,然后在单个传感器回路中进行测量。实现通用元素(如触摸界面)的库方法是一个功能强大的方法,可以显着提高生产力,并且我们可以期待看到其他常见接口,其中低级硬件细节可以轻易地从用户“隐藏”。 br》 Atmel还提供了一个名为“触摸解决方案概述”的产品培训模块,以帮助工程师进行设计。
图5:Atmel QTouch API示例和典型的调用序列。
总结
在许多MCU设计中都可以找到面向段的LCD和触摸接口。制造商正在提供功能,开发系统,参考设计和高级软件,以便在您的下一个设计中尽可能简单地包含这些功能。
全部0条评论
快来发表一下你的评论吧 !