使用用户模块对CapSense性能进行调校
4.1.1.2 CapSense噪声
CapSense噪声表示在手指未触摸传感器时,传感器响应的峰-峰的变动,如图4-1所示。在该示例中,手指未触摸时输出波形跳跃限幅为最大为5938次计数和最小为5912次计数。因为噪声为该波形最大计数与最小计数之间的差,所以噪声 = 5938 – 5912 = 26次计数。
4.1.1.3 CapSense信噪比
CapSense信噪比是信号和噪声间简单的比例。继续该示例,如果信号为135次计数,噪声为26次计数,那么SNR将为135:26,这样可使SNR降低到5.2:1。CapSense的最小建议SNR为5:1,表示信号比噪声大5倍。滤波器通常在固件中实现,以降低噪声。更多有关信息,请参见软件滤波。
4.1.2 充电/放电率
在调校过程中,要获得最大灵敏度,必须在每个周期内对传感器电容进行完全充电和放电。充电/放电路径以某个频率在两种状态的之间进行切换,该频率由CSA_EMC用户模块中的时钟和CSD用户模块中的预充电时钟设置。 充电/放电路径包含串联电阻,这降低了电荷转移的速度。该电荷转移的变化率由RC时间常数描绘,该时间常数与传感器电容和串联电阻相关,如图4-2所示。
图4-2. 充电/放电波形
VsVddTsmin >= 10*Rx*CxVxCxRxVrefVsVxVdd5*Rx*Cx5*Rx*CxtVreft
将充电/放电率设置为与RC时间常数兼容的级别。您应该将每个转变的时间周期设置为5RC,每个周期有两次切换(一次充电、一次放电)。最小时间周期和最大频率的计算公式如下: ??????????=10 ×???????? ??????????=
110×????????
公式6 公式7
例如,假定串联电阻包含560 ?的外部电阻和800 ?内部电阻,且传感器的电容为标准电容: RX = 1.4 k? CX= 24 pF
在本示例中,时间常数值和前端最大切换频率为: Tsmin = 0.34 μs fsmax = 3 MHz
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 31
使用用户模块对CapSense性能进行调校
4.1.3 基准线更新阈值验证的重要性
温度和湿度都会引起平均计数随时间浮动。基准线是CapSense测量值的参考计数量,这对于环境影响补偿而言起着重要作用。高级决策(例如,手指触摸和手指离开状态)是基于基准线建立的参考级别。由于每个传感器具有相应的独特寄生电容,因此所有电容式传感器均有各自的基准线。
基准线以基准线更新阈值参数所设置的速率来跟踪计数变化。确保更新速率与预期应用相互匹配。如果更新速率过快,那么,基准线将补偿手指产生的所有变量,并不予检测手指移动的情况。如果更新速率过慢,那么,相对较慢的环境变化可能导致手指出错。开发期间,应验证基准线更新阈值的设置情况。
4.2 调校CSA_EMC用户模块
图4-3是展示调校CSA_EMC参数过程的流程图。CSA_EMC用户模块分两大类:低级(硬件)参数和高级参数。这两种类别的参数以不同的方式影响电容式感应系统的性能。然而,每个传感器的灵敏度之间都有互补关系,由硬件参数设定和若干高级参数设置决定。当硬件参数改变时,必须确保相应的高级参数也相应作出调整。调校CSA_EMC用户模块参数应该先从硬件参数开始。
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 32
使用用户模块对CapSense性能进行调校
图4-3. CSA_EMC用户模块参数调校流程图
StartHardware ParametersHigh-Level API ParametersSet Shield Electrode Out according to needs of designMeasure Cp of sensors using EP64134 Revise PCB design according to AN2292 and AN2318NoYesIs SNR from all sensors > 5:1?YesDoes scan time meet design requirements?NoSet Finger Threshold to 75% of signalIf max Cp < 45 pF set Idac Range to 4X. Otherwise set to 8X.Set Noise Threshold to 40% of signalEnable AutocalibrationSet BaselineUpdate Threshold to double the Noise ThresholdSet Precharge Source to PRSSet Prescaler according to Table 4-2Increase Resolution and/or experiment with Scanning Speed until optimal SNR is obtainedNoSet Sensors Autoreset according to needs of designSet Hysteresis to 15% of signalSet Resolution according to Figure 4-5 and Table 4-3Is SNR from all sensors > 5:1?YesSet Debounce according to needs of designSet Scanning Speed to FastEstablish digital communication interface and obtain raw counts from each sensor during finger activation cycle, for example. Figure 4-6Reduce Resolution or use faster Scanning SpeedSet Negative Noise Threshold to same value as Noise ThresholdSet PRS Resolution to 12 bits if scan time > 380 μs, otherwise set to 8 bits. Set Low Baseline Reset to 10Start
4.3 CSA_EMC的建议CINT值
使用1.2 nF的建议值CINT开始调校过程。在调校过程中,如果发现传感器信号不足以达到5:1的信噪比,则可以增加CINT。CINT的最大建议值为5.6 nF。推荐使用X7R或者NPO类型的电容,以保证CINT在不同的温度条件下保持稳定状态,同时电容的电压不应该低于5 V。
4.4 测量传感器CP
调校程序的第一步是测量传感器寄生电容(CP)。测量的分步步骤如下:
1. 将CPU_CLK的值设置为等于SysClk/2。 2. 将Clock(时钟)的值设置为等于IMO/8。 3. 将Settling Time(建立时间)设置为255。
4. 回读由特定传感器算法设置的IDAC代码。读值将被存储在CSA_EMC_baDACCodeBaseline[]阵列内 5. 测量IDAC代码相应的IDAC电流。
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 33
使用用户模块对CapSense性能进行调校
使用以下代码创建PSoC Designer项目。该代码将IDAC路由到端口引脚P1[4]。
//configure P1[4] to HI-Z PRT1DM0 &= ~ (1<<4); PRT1DM1 |= (1<<4);
//connect P1[4] to analog mux bus MUX_CR1 = (1<<4);
// set IDAC to read back IDAC Code IDAC_D =
将电流仪放在引脚P1[4]与地之间,然后测量电流。它的值为IMEASURED。 6. 使用公式CP = IMEASURED/ ((IMO/8) * 1.3)计算CP
传感器CP的数值也可通过LCR测量仪测量得到。将LCR仪表的一个终端连接到传感器引脚上,另一个终端连接到GND,以测量CP。
4.5 估算CSA_EMC时钟
表4-1展示了所推荐的预充电时钟频率,它是基于传感器CP的函数。设定CSA_EMC时钟以获取推荐预充电时钟频率。预充电时钟频率由所选IMO 、CSA_EMC时钟设置和传感器的CP决定。 确保预充电时钟频率不超过推荐值。
表4-1. 基于CP和IMO的CSA_EMC时钟设置
CSA_EMC时钟 CP(pF) IMO = 24 MHz < 5 5到10 10到15 15到20 20到25 25到30 30到35 35到40 40到45 45到50 IMO/2 IMO/4 IMO/4 IMO/4 IMO/16 IMO/16 IMO/16 IMO/16 IMO/16 IMO/16 IMO = 12 MHz IMO IMO/2 IMO/4 IMO/4 IMO/8 IMO/8 IMO/8 IMO/8 IMO/8 IMO/8 IMO = 6 MHz IMO IMO IMO/2 IMO/2 IMO/4 IMO/4 IMO/4 IMO/4 IMO/4 IMO/8 4.6 设置建立时间
使用公式8估计出建立时间参数的最小值。
Settling Time=
其中:
(5?Cint)
1
(Clock?Cp?25?(Fcpu))
公式8
? CINT = 积分电容器的值
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 34
使用用户模块对CapSense性能进行调校
? 时钟 = 预充电时钟频率(CSA_EMC时钟) ? CP = 传感器的寄生电容值 ? FCPU = CPU时钟频率
4.7 监测CapSense数据
请参考CapSense数据查看工具。
4.8 增大信噪比的方法
此部分叙述了增大信噪比的方法。
4.8.1 降低噪声
增大信噪比的方法是减小噪声计数。要减小噪声计数,可以使用以下任一种方法: ? 使用软件滤波器 — 更多细节,请参见软件滤波。 ? 使能扩频功能 — 更多细节,请参见扩频。 ? 增加抗噪级别 — 更多细节,请参见Freq Num。
4.8.2 提高信号
通过以下两种方法增加信号可以提高信噪比:
? 增加由宏CSA_EMC_BASELINE定义的值。该宏位于CSA_EMC.inc文件内。默认情况下,将0x0800值分配
给该宏。 ? 增加CINT电容的值
4.9 调校CSD用户模块
图4-4显示的是CSD UM参数调校过程的流程图。CSD UM参数可以分为两大类:低级(硬件)参数和高级API参数。这两种类别的参数以不同的方式影响电容式感应系统的性能。然而,各个传感器的灵敏性之间存在互补关系,这由硬件参数设置和许多高级参数设置所决定。更改任何硬件参数时,您必须考虑这种情况,由此确保相应地调整相对的高级参数。调校CSD用户模块参数应始终从硬件参数开始。
AN65973 — CY8C20xx6A/H/AS CapSense?设计指南,文档编号:001-78419版本*B 35