使用 EFM8TM 和 Simplicity StudioTM 的智能电容感测设计

by Administrator Siliconlabs ‎04-18-2016 02:17 AM - edited ‎05-12-2016 07:13 AM

Silicon Labs开发的电容感测解决方案是其推出的EFM8 8 位微控制器(MCU系列的组成部分,可以帮助设计者完成开发流程的各步骤,让客户可通过内置电容感测固件库生成项目,使用直观且强大的Simplicity StudioIDE 添加和调试功能,使用Capacitive Sensing Profiler可视化工具实时查看系统内电容感测性能。

 

电容感测设计基础知识

电容感测技术测量连接到传感器输入端的电极的电容。所测电极通常是印刷电路板式设计的圆形实心铜,其与板的接地端隔离,直径大约10mm。印刷电路板上有时涂有薄覆层(通常由某类塑料或玻璃制成),这样系统增加了触摸界面的功能,无需使用机械按钮。当用户触摸覆盖电极的覆层区域时,人体电容影响电极的电容耦合,导致芯片级电容传感器所测电容值发生改变。样品流之后的样品处理将检测电容的变化并将此变化定义为“触摸”。

 

因为所有电容感测技术都要在会产生电噪声的混合信号系统中感测模拟信号的相当微小的变化,因此设计耐用和可靠的感应界面是非常有难度的。除了涉及电路板布局的和电极设计的硬件问题,传感器的后样本处理操作必须在动态回应系统级事件时更新状态变量。

 

触摸感应策略通常涉及到保持“基线”(电极处于非触摸状态时电容传感器的预期输出值)和设置与此基线相关的一个或更多触摸阈值的难题。处理过程会比较这些阈值和传感器输出水平以确定进行触摸和出现回应事件的时间。除了这些操作之外,固件必须被设计为以最高效运行,将代码大小和平均电流消耗最小化。

 

为了减轻固件开发的负担,许多电容传感器经销商提供固定功能的设备,这些设备提供对电容取样以及通过串行接口或端口引脚逻辑电路来输出触摸检测的集成电路。尽管这些产品因为其易用性而对开发人员来说具有一定吸引力,但是其缺少可编程闪存和有限的自定义功能集,使系统开发人员不得不让更高耗电的主机处理器承担更多触摸检测的任务。

 

例如,对高干扰环境中误报触摸事件敏感的固定功能设备 (FFD) 会迫使主机处理器忽略FFD的触摸检测信息,而是读取 FFD 的原始数据和运行其自有的触摸检测算法。类似地,FFD向主机处理器频繁的发送错误触摸信号会导致处理器从低功耗状态唤醒来处理触摸事件,增加了系统的平均电流消耗。

 

电容传感式EFM8SB1 MCU结合使用 Silicon Labs 电容感测固件库之后,既具有固定功能设备的易用性,也具有通用混合信号MCU的灵活性。

 

预编译库提供触摸检测算法、状态变量保持和检索触摸事件信息的简单 API,同时保留了闪存和多种芯片级外围设备,可使开发人员向 MCU 添加更多功能和任务。此库也利用 EFM8SB1 的电源管理单元 (PMU) 和芯片级实时时钟来创建精密、可模式切换的 MCU,可在多种使用情况下实现不到 1 uA 的平均电流消耗。

 

SimplicityStudio

Silicon Labs Simplicity Studio 为电容感测嵌入式系统设计者提供端到端开发支持,包括从配置和导入电容感测固件库到系统内调试和电容感测输出的实时可视化。Simplicity Studio 启动窗口可以依据开发中所用的 MCU 动态填充窗格,此窗口显示开发各步骤中所用到的工具。

1-1.png

图說:Simplicity Studio 启动窗口和突出显示的工具

 

上述启动窗口中标注的数字表示多数用户会用到的基本开发路径:

  1. Configurator 生成电容感测库并允许客户配置硬件外围设备
  2. Simplicity IDE 提供代码开发和可以将其他功能添加到固件项目中的调试环境
  3. Energy Profiler 为已下载到入门套件评估板的项目提供实时电流消耗测量
  4. Capacitive Sense Profiler 显示运行时的电容感测数据原始值和算法推导值,例如 触摸状态、基线和阈值

 

配置电容感测项目

项目开发从 Configurator 工具开始,此工具为用户提供图形界面和属性窗口。在此工具中,客户可以将 端口引脚指定为电容感测输入,配置扫描时长、低功耗功能等库性能设置。如果客户的配置选择要求使用其他配置设置,“问题透视”中会列出相关的警告和错误。

1-2.png

图說:Simplicity StudioConfigurator

 

用户配置项目时,在“项目浏览”窗口中生成并组织相应的文件。单击其中一个文件后,配置器视图切换到 Simplicity IDE 视图。用户可以通过单击“项目浏览”窗口中列出的配置器文件,随时返回配置器并更改或添加配置内容。

 

IDE 中的代码开发和下载

Simplicity IDE 具有客户在基于 Eclipse 环境中所需要的所有功能,包括代码编写和格式化工具。IDE 也在评估板上深度整合了调试电路以及 Silicon Labs USB 调试适配器,可以完全读/ MCU 寄存器和变量。

客户在项目中使用电容感测固件库之后,配置器提供可以扫描开启的传感器、检测触摸事件、甚至通过串行接口输出信息的现用项目。此功能使客户无需在 IDE 中进行任何开发便可生成项目,也就是说,如果客户要测试板上的电容感测,只需使用 IDE 来创建和下载图像而无需编写任何代码。

 

EnergyProfiler Capacitive Sense Profiler 的性能介绍

代码下载到 EFM8SB1 之后,可使用 Energy Profiler Capacitive SenseProfiler 查看 Configurator 中的配置选择和 IDE 中创建的任何其他功能如何影响电流消耗和电容感测性能。对于电容感测应用来说,Capacitive SenseProfiler 非常有用,因为其允许用户检测系统内性能,完成产品覆层和其他适当的后期开发系统组件。

1-3.png

图說:Capacitive Sense Profiler

 

此分析仪支持诸如标准差和信噪比计算等高级功能,以此来展现板的性能。此工具也允许将捕获的数据导出至文本文件中以供诸如 Microsoft® Excel® 等其他程序进一步分析。

 

开发工作流灵活性

设计电容感测系统的难点之一是在迭代开发流程中管理项目,在此过程中用户创建项目、测试性能,然后回到开发过程以进一步优化性能。Simplicity Studio 中的工具都经过精心设计,能够完美支持此类工作循环。

 

例如,开发人员可以创建超薄 1/16 英寸覆层的电容感测项目,在 Capacitive SenseProfiler 中建立项目并测试性能。如果产品要求出现了变更,覆层厚度变为 1/8 英寸,开发人员仅需单击该项目的配置文件并调整触摸阈值设置。更改之后,开发人员仅需重建和下载项目,然后通过 Profiler 实时查看较厚覆层的性能。

 

此工具的另一迭代开发优势是可以随着项目进展向项目添加其他固件功能。例如,一位开发人员已创建了电容感测项目,并使用 Simplicity 的诊断工具检查确认该项目的所有性能和电流消耗都符合要求。然后,此开发人员基于电容感测输入来设计控制其他系统组件的串行接口。此新组件对电流消耗和电容感测反应提出新要求。

 

通过 Simplicity Studio,此新组件可以被添加至项目代码库中且不会破坏源代码和配置器工具之间的关联。创建项目之后,开发人员可能发现要使用新组件的功能必须先修改电容感测组件。例如,系统可能需要在比首次配置的更长时间内处于激活模式以扫描按钮触摸事件,因为连接到系统其余部分的串行接口需要处于激活状态并对输入做出最佳反应。开发人员可以转到配置器,调整系统进入触摸会话间低功耗睡眠状态之前处于激活状态的时间长度,然后重建代码。

 

关键字顺序示例

Simplicity Studio 可以生成代码并最小化开发人员需要编写的低平电容感测代码的数量,在许多使用实例中可以向感测 MCU 添加应用专用感测功能。这些使用实例可以将 Silicon Labs 解决方案与固定功能解决方案区别开来,在后者中所有应用专用功能都必须由系统中更高耗电的处理器来承担。关键字顺序检测器功能是电容感测中利用通用 MCU 优势的最明显实例。

 

在许多使用控制面板的产品中,终端用户必须输入关键字顺序或密码来解锁产品功能。在使用固定功能设备的系统中,主处理器必须在首次输入关键字时就处于唤醒状态,在激活状态中等待用户输入关键字顺,然后处理顺序以确定其是否与正确的密码相符。此激活时间对于高功率 MCU 而言可能不是太长时间,下面我们将考察总功率预算。

 

假如此电池供电的控制面板每日平均有10015秒用户交互会话。会话分为两个阶段:输入关键字顺序并对照密码进行检查的验证阶段,控制面板在系统中的其他地方发出命令的反应阶段。在固定功能设备的设计中,主处理器必须在验证和反应阶段都处于唤醒状态,此例中为每次会话 15 秒。如果验证阶段使用 EFM8SB1 MCU MCU,主处理器仅需要在反应阶段唤醒或处于激活状态,大约 7.5 秒。假如主处理器在激活时消耗10mA(许多 32 位处理器的常见耗电量),那么 EFM8SB1 通过电容感测固件库中先进的机器电源状态管理在激活时仅消耗 20μA。在此例中,我们稍微简化了电流消耗,没有考虑用户交互会话之间的耗电量。

 

如果 FFD 要求主处理器在验证时必须处于激活状态,则系统的平均电流消耗大约为 17μA。如果在交互会话期间使用低功耗 EFM8SB1,则平均电流消耗大约为 9 uA。如果此电池供电的系统使用 CR2032 等纽扣电池,此类电池的电量通常为 225mAh 左右,如果在设计中使用 EFM8SB1,那么大概3年都无需更换电池。FFD 系统要求大约1.5年更换一次电池,这会明显减少运行时间,这就是受欢迎产品和注定获得一星Amazon客户评价的不受欢迎产品之间的差别。

 

巧妙的设计带来更好的产品

没有两种产品设计会具有相同要求或具有相同的终端客户使用实例。因此,使用“一刀切”的固定功能设备不可能结合使用其他系统 IC 来实现管理任务的良好设计,更不会以最少电流消耗实现最佳功能。使用配有电容感测固件库的EFM8SB1 MCU 和随 Simplicity Studio 提供的一体化工具集之后,开发人员可以巧妙的方式在设计中集成电容感测模块,同时也能实现系统内其他模块和优先顺序之间的平衡。

 

更多关于 Silicon Labs EFM8 MCU 的信息,请访问官方網站相應網頁:http://cn.silabs.com/products/mcu/8-bit/Pages/8-bit-microcontrollers.aspx?Utm_Source=Cmty&Utm_Medium...