该设备的实现原理图如图5所示。
图5:电容式传感电路原理图。
为了实现电容式传感和串行通信,该电路采用了赛普拉斯的CY8C21x34系列中的PSoC IC芯片。该芯片包含一组模拟和数字功能块,这些功能块可由存储于板上闪存中的固件来配置。另一颗芯片负责处理RS232的电平移位,以便建立到主机的通信链接,并实现波特率为115,200的电容式传感数据记录。四个电容传感按键的引脚分配在图5的表中给出。PSoC是通过一个包含电源、地以及编程引脚SCL和SDA的ISSP接头来实现编程的。而通过一个DB9连接器将电脑与电容式传感电路板相连。
调整传感器
每次调用上列程序中的调用函数CSR_1_Start()时,均对Button1的电容进行测量。原始计数值被存储于CSR_1_iaSwResult[ ]阵列中。用户模块还跟踪一个用于原始计数的基线。每个按键的基线值均为一个由软件中的IIR滤波器进行周期性计算的平均原始计数值。IIR滤波器的更新速率是可编程的。基线使得系统能够适应于由于温度和其它环境影响而引起的系统中的漂移。开关差分阵列CSR_1_iaSwDiff[ ]包含消除了基线偏移的原始计数值。利用开关差值来决定按键目前的开/关状态。这可使系统的性能保持恒定,即便在基线有可能随着时间的推移而发生漂移的情况下也是如此。图6显示了固件中实现的差分计数与按键状态之间的转移函数。
图6:差分计数与按键状态之间的转移函数。
该转移函数中的延滞带来了开关状态之间的快速转换,即使计数是有噪声的情况下也不例外。同时这还给按键带来了一种反跳功能。低门限被称为“噪声门限”,而高门限则被称为“手指门限”。门限水平的设定决定了系统的性能。当覆盖层非常厚时,信噪比很低。在此类系统中设定门限水平是一项具有挑战性的工作,而这恰好是电容式传感设计技巧的一部分。
图7展示了一个持续时间为3秒的按键触压操作的理想原始计数波形。
图7:将门限水平绘制在一个去除了基线的原始计数图上。
噪声门限被设定的计数值为10,而手指门限设定的计数值则为60。实际上,在实际计数数据中噪声分量是始终存在,图中没有显示是为了能清晰地显示门限水平。
部分调整过程还包括选择电流源DAC的电平以及设置用于计数累加的振荡器周期数。在固件中,函数CSR_1_SetDaCCurrent(200, 0)把电流源设定在其低电流范围内,数值为200(最高255),大约对应于14μA。函数CSR_1_SetSCANSpeed(255)把振荡器周期数设定为253(255-2)。原始计数和差分计数的分析表明:该系统的寄生引线电容CP约为15pF而手指电容CF约为0.5pF。可见,手指电容使总电容产生了约3%的变化。对于每个按键,每个原始计数值的采集所需要的时间仅为500μs。