使用用户模块对CapSense性能进行调校
M8C_EnableGInt;
SmartSense_Start();
SmartSense_ScanAllSensors();
SmartSense_SetDefaultFingerThresholds() ;
Timer16_EnableInt();
Timer16_SetPeriod (TIMEOUT_10MS) ; Timer16_Start();
while( 1 ) {
/* Scan all 3 sensors and update Baseline */
SmartSense_ScanAllSensors();
SmartSense_UpdateAllBaselines();
/* Wait till timer expires or sleep here */
while (bTimerTicks != 1) ; bTimerTicks = 0 ;
if(CSDAUTO_bIsAnySensorActive() ) {
//1ms firmware routines }
// Toggle Port_0[1]
PRT0DR_Shadow ^= 0x01 ; PRT0DR = PRT0DR_Shadow ; } }
// Timer16 ISR program
void myTimer_ISR_Handler(void) {
bTimerTicks++; }
在上述示例中,即使传感器完成扫描,程序仍会等待定时器到期。应该根据最差情况下主循环执行的时间来选择定时器的时间。这是在最差情况下,每个CapSense传感器扫描时间的总和。如果传感器的寄生电容接近SmartSense电容组的界限,则应选择较高的扫描时间(使用表4-6)来计算。
通过使用SmartSense用户模块,您可以在系统中轻松实现电容式触摸感应用户界面。面对PCB生产程序的变化和其他变化,它避免了调校过程中存在的困难,也提高了生产力。因此,最好的选择是将现有的基于CSD的CapSense设计移植到SmartSense,并在新设计中使用SmartSense。
主循环执行时间和SmartSense扫描时间都会根据程序的变化而改变。尽管不会影响CapSense的性能,但在利用SmartSense自动调校技术来实现CapSense PLUS应用时,固件开发人员应该考虑到这一点。
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 46
5. 设计注意事项
当您的应用设计中采用电容式触摸感应技术时,必须将CapSense元件置入较大的框架中。请认真考虑从PCB布局到用户界面到最终使用操作环境等各项细节,以实现既稳定又可靠的系统性能。更多有关信息,请参见CapSense入门一节。
5.1 覆盖层选择
在CapSense基本原理部分,使用公式1计算手指电容,如下所示: ????=
??0????????其中:
ε0 = 空气介电常数 εr = 覆盖层的介电常数
A = 手指与传感器板覆盖层的接触面积(mm2) D = 覆盖层厚度(mm)
若要增大CapSense信号的强度,请选择具有较高介电常数的覆盖层材料,降低覆盖层的厚度,并增大按键直径。 表5-1. 覆盖层材料介电强度
材料 空气 木材 – 干 玻璃 – 普通 玻璃 — 硼硅酸盐(Pyrex?)) PMMA塑料(Plexiglas?) ABS 聚碳酸酯(Lexan?) 福米卡 FR-4 PET薄膜 — (Mylar?) 聚酰亚胺薄膜 — (Kapton?) 击穿电压(V/mm) 1200 – 2800 3900 7900 13,000 13,000 16,000 16,000 18,000 28,000 280,000 290,000 12 kV时的覆盖层最小厚度(mm) 10 3 1.5 0.9 0.9 0.8 0.8 0.7 0.4 0.04 0.04 传导材质不能用做覆盖层,因为它会与电场模式相干扰。出于这个原因,覆盖层不能使用包含金属颗粒的油漆。 粘合剂用来将覆盖层粘贴到CapSense PCB上。3M?有一种产品号为200MP的透明丙烯酸粘合膜,可用于CapSense应用。这种特殊的粘合剂是从纸作胶带卷抽取(3M?编号为467MP和468MP的产品)的。
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 47
设计注意事项
5.2 ESD保护
精密系统设计自然要有强大的抗ESD能力。经过考虑在最终产品(尤其是用户界面)中可能发生的接触放电,我们的设计可承受18 kV放电事件,并且不会对CapSense控制器造成任何损害。
CapSense控制器引脚可承受2 kV的直接电流。在大多数情况下,覆盖层材料能为控制器引脚提供充分的ESD保护。表5-1列出了为使CapSense传感器避免经受12 kV放电所需要的各种覆盖层材料的厚度(按照IEC 61000-4-2规定)。如果覆盖层材料无法提供足够的保护,将按以下顺序采用ESD对策:预防、重定向、钳制。
5.2.1 预防
确保触摸表面上所有路径的击穿电压均大于潜在高电压接触。此外,系统设计需要确保CapSense控制器和ESD源之间保持适当的距离。如果无法保持足够的距离,可在ESD源和CapSense控制器之间放置一个高击穿电压的保护层。厚度为5 mil的一层Kapton?胶带可承受18 kV电压。
5.2.2 重定向
如果您的产品空间密集,则可能无法防止放电事件。在这种情况下,您可以通过控制放电发生的位置来保护CapSense控制器。标准做法是在连接到机壳接地的电路板周边放置一个保护环。按照PCB布局指南中的建议,在按键或滑条传感器周围提供一个网格接地层可重定向ESD事件,使其远离传感器和CapSense控制器。
5.2.3 钳制
当必须将CapSense传感器放置在触摸表面附近时,重新定向路径的方法可能并不实用。在这种情况下,合理的做法是添加串联电阻或者专用ESD保护器件。 建议使用560 ?的串联电阻。
更有效的方法是在易受影响的走线上提供特殊用途ESD保护器件。用于CapSense的ESD保护器件必须是低电容的。表5-2列出了针对CapSense控制器使用的建议器件。 表5-2. 建议用于CapSense的低电容ESD保护器件
ESD保护器件 制造商 Littlefuse Vishay NXP 器件型号 SP723 VBUS05L1-DD1 NUP1301 输入电容 5 pF 0.3 pF 0.75 pF 漏电流 2 nA 0.1 μA < 30 nA 接触放电的 最大限制 8 kV ±15 kV 8 kV 空气放电的 最大限制 15 kV ±16 kV 15 kV 5.3 电磁兼容性(EMC)的注意事项
5.3.1 辐射干扰
辐射电能可能影响系统测量,并可能影响处理器内核的运行过程。这种干扰进入PCB级别上的PSoC芯片,穿过CapSense传感器走线,然后穿过其他所有数字和模拟输入。最小化射频干扰影响的布局指南如下: ? 接地层:在PCB上提供一个接地层。
? 串联电阻:在CapSense控制器引脚的10 mm内安装串联电阻。
? CapSense输入线的建议串联电阻值为560 ?。 ? 通信线(I2C和SPI)的建议串联电阻值为330 ?。 ? 走线长度:应该尽量缩短走线长度。
? 电流环路区域:尽量减少电流的返回路径。应在传感器和走线的1 cm范围内提供网格接地(而不是实体填充)来
减小寄生电容的影响。 ? RF源位置:隔离带有噪声源(如LCD反相器和开关电源(SMPS))的系统,以使此干扰与CapSense输入相
分隔。电源屏蔽是另一种防止干扰的通用方法。
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 48
设计注意事项
5.3.2 辐射
选择低频率的开关电容时钟,可以减少CapSense发出的辐射。使用预分频器选项在固件中控制该时钟。增加预分频器的值将降低开关时钟的频率。
5.3.3 抗传导干扰和辐射
通过与其他系统的互连而进入系统的噪声被称为传导噪声。这些互连包括电源和通信线。因为CapSense控制器是低功耗器件,所以必须避免传导辐射。以下指南可帮助减少传导辐射和干扰: ? 按照数据手册中的建议使用去耦电容。
? 在系统电源输入端添加双向滤波器。这对于传导辐射和干扰都有效。π型滤波器能够防止电源噪声影响敏感器件,
但同时也会阻隔该敏感器件耦合返回到电源层的开关噪声。 ? 如果CapSense控制器PCB通过线缆连接到电源,请尽量减小线缆长度并考虑使用屏蔽线缆。 ? 请在电源或者通信线周围放置一个铁氧体磁珠,以滤除高频噪声。
5.4 软件滤波
软件滤波是处理高级系统噪音的技术之一。表5-3列出了对CapSense有用的滤波器类型。 表5-3. CapSense滤波器表
类型 均值滤波器 IIR 中值滤波器 抖动 基于事件的滤波器 基于规则的滤波器 说明 具有同样的加权系数的有限脉冲响应滤波器(无反馈路径) 具有与RC滤波器类似的阶跃响应的无限脉冲响应滤波器(有反馈回路) 从大小为N的缓冲区计算中值输入值的非线性滤波器 根据之前输入来限制当前输入的非线性滤波器 对传感器数据中观察到的模式发出预定义响应的非线性滤波器 对传感器数据中观察到的模式发出预定义响应的非线性滤波器 来自电源的周期性噪声 高频白噪声(1/f噪声) 来自电机和开关电源的噪声毛刺 来自厚覆盖层的噪声(SNR < 5:1),对滑条中心数据非常有用。 通常用于非触摸事件中,用于阻止CapSense数据传输。 通常在触摸表面的正常操作过程中使用,以响应特殊情况,例如,意外选择多个按键 应用 表5-4详细说明了不同软件滤波器的RAM和闪存要求。每种滤波器所需的闪存空间取决于编译器的性能。这里列出的要求适用于ImageCraft编译器和ImageCraft Pro编译器。 表5-4. RAM和闪存要求
RAM (每个传感器的字节) 6 2 6 6 10 2 2 闪存(字节) ImageCraft编译器 675 429 767 516 516 277 131 闪存(字节) ImageCraft Pro编译器 665 412 622 450 450 250 109 滤波器类型 均值滤波器 IIR 滤波器的阶位 2–8 1 2 中值滤波器 3 5 用于原始计数的抖动滤波器 用于滑条中心的抖动滤波器 N/A N/A AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 49
设计注意事项
5.5 功耗
5.5.1 系统设计建议
对于许多设计而言,最小化功耗是重要目标。有多种方法可降低CapSense电容式触摸感应系统的功耗。 ? 将通用I/O驱动设置为低耗能模式。 ? 关闭高功耗模块。
? 优化CPU速度,以降低功耗。 ? 在较低的VDD下工作。
除了上述建议外,还可应用睡眠-扫描方法。
5.5.2 睡眠-扫描方法
在一般应用中,CapSense控制器不需要一直处于活动状态。可将器件置于睡眠状态,以停止器件的CPU和主要模块。在睡眠状态下,该器件所消耗的电流远低于有效电流。 使用以下公式可计算器件在较长周期中所消耗的平均电流。
(????????×????????)+(????????×????????)
??
????????=
公式10
器件的平均功耗可按以下方式计算:
????????= ??????×???????? 公式11
5.5.3 响应时间与功耗
如公式11所示,可通过降低IAVE或VDD来减少平均功耗。增加睡眠时间可减少IAVE。延长睡眠时间到较高值会导致CapSense按键响应时间差。因此,睡眠时间必须符合系统要求。
在任何应用中,若功耗和响应时间都是需要考虑的重要参数,则可使用下述优化方法,即同时采用连续扫描和睡眠-扫描模式。使用该方法时,在大部分时间内器件将处于睡眠扫描模式。如先前章节所述,器件会周期性扫描传感器,并进入睡眠,从而消耗较低的功率。用户通过触摸传感器操作系统时,器件将切换到连续扫描模式。在该模式下,传感器连续扫描而不会进入睡眠模式,从而大大缩短响应时间。在指定的超时期间内,器件仍然处于持续扫描模式。如果在该超时周期内,用户未对传感器进行操作,则器件会切换回睡眠-扫描模式。
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 50