AN-929:针对电容传感应用调整AD714x

简介

The AD714x CapTouch 控制器必须针对用户的特定应用进行调 整,以提供最佳性能。调整取决于控制器所连接的传感器 类型,如按钮、滚动条或滚轮等。传感器大小、周围环境 和叠层等因素全都会对性能产生影响。

调整过程包括五个简单的步骤,本应用笔记将详加说明。 这些步骤可以通过两种方法来完成:

  • 方法A利用开发系统来读写寄存器,而不是利用AD714x 评估板。
  • 方法B则是利用AD714x评估板和软件。

开始调整前,确保您面对的是最终产品或最终设计(与最终产品一致或尽可能接近的传感器PCB)。传感器上的叠层应按照最终产品的要求进行安装。

注意,传感器PCB、安装或叠层材料如有改变,必须再次进行调整。

对于每个传感器,调整的五个步骤如下所列:

  1. 设置输入连接。
  2. 抵消体电容或杂散电容。
  3. 获取高低箝位值。
  4. 获取高低偏移值。
  5. 设置灵敏度。

对于每个转换级,重复第1步至第5步。

每级/每个传感器有8个调整寄存器,位于寄存器Bank 2中,分别为:

  • STAGEX_CONNECTION Bits[6:0]
  • STAGEX_CONNECTION Bits[13:7] 
  • STAGEX_AFE_OFFSET 
  • STAGEX_SENSITIVITY 
  • STAGEX_OFFSET_LOW 
  • STAGEX_OFFSET_HIGH 
  • STAGEX_OFFSET_HIGH_CLAMP 
  • STAGEX_OFFSET_LOW_CLAMP

初始步骤

确保AD714x未经编程


开始调整之前,必须确保AD714x未经编程。为此,应确保各级(X = 0到11)的前三个寄存器设置如下:

  • StageX_Connection 位[6:0] = 0xFFFF
  • StageX_Connection 位[13:7] = 0x3FFF
  • StageX_AFE_Offset = 0x0000

设置好这三个寄存器后,就可以进入调整过程。在两种可能的调整方法中,方法A预设使用AD714x评估板以外的开发系统,方法B预设使用AD714x评估板。


连接一个外部传感器PCB到AD714x评估板(仅针对方法B用户)


可以使用评估板软件和主机微控制器来评估定制传感器(方法B)。开始之前,方法B用户必须按照下列步骤将一个外部传感器PCB连接到评估板:

  • 给评估板上电。
  • 将S4切换到断开位置。
  • 将外部传感器PCB连接到J1或J2。

外部传感器PCB上的AD714x串行接口现已连接到评估板上的ADuC841串行接口。

注意,外部传感器PCB上必须有AD714x,因为无法利用评估板上的AD714x来控制外部传感器。


了解控制器序列器


AD714x序列器(见图1)采用时分多路复用(TDM)方法控制AD714x的转换。AD7142和AD7147有12个转换级,AD7143有8个转换级。

Figure 1. Conversion Sequence.
图1. 转换序列

对于传感器各CIN输入,至少有一个转换级用来测量其电容。可以将任意CIN输入指定给任意级。调整是在逐级基础上完成的。

第1步:设置输入连接

各CIN输入可以连接到转换器的正输入端或负输入端(见图2)。各CIN输入可以内部连接到偏置节点,或者保持悬空。任何未连接到CDC的CIN输入应连接到偏置节点。

Figure 2. Input Connection Setup.
图2. 输入连接设置

各CIN输入有2位用来控制此连接。

每个转换级的CIN输入设置是不同的。一般说来,在一个转换级中,CIN输入连接到CDC,以测量连接到该CIN的传感器。


按钮


按钮传感器可以连接到电容数字转换器(CDC)的正输入端或负输入端,如图3所示。两个按钮可以使用同一级(差分),其中一个按钮连接到正CDC输入,另一个连接到负CDC输入。注意,差分连接的按钮无法同时激活,因为它们会互相抵消。

Figure 3. Connecting Button Sensors.
图3. 连接按钮传感器

滚动条和滚轮


滚动条和滚轮包括8个独立的传感器段(见图4)。8段分别连接到不同的正CDC输入,像按钮连接一样。

Figure 4. Connecting Sliders/Wheels.
图4. 连接滚动条/滚轮

滚动时,用户与多个传感器段发生交互。使用软件算法来获得高分辨率位置。

对于比率式滚动条(见图5),只使用两路CIN输入。应将各CIN输入连接到正CDC输入。

Figure 5. Connecting Ratiometric Sliders.
图5. 连接比率式滚动条

键盘


键盘的各列和各行通过一个连接与正CDC输入相连(见图6)。对于矩阵键盘操作,通过检查行和列的状态来找到激活的键。

Figure 6. Connecting Keypads.
图6. 连接键盘

控制器支持的最大键盘尺寸如下:

  • AD7142和AD7147:6 × 6 = 36键
  • AD7143:4 × 4 = 16键

方法A:写入AD714x


  1. 写入STAGEX_CONNECTION位[6:0]和STAGEX_CONNECTION位[13:7]寄存器,配置CIN连接。
  2. 配置各级中的各CIN输入的连接。
    • 00 = CINx 未连接到CDC输入
    • 01 = CINx 连接到CDC负输入
    • 10 = CINx 连接到CDC正输入
    • 11 = CINx 连接到BIAS(连接不使用的CIN输入)
  3. 对于大部分应用,只需将一路CIN输入连接到各级中的CDC输入。
  4. 将所有不使用的CIN输入连接到偏置。

例如,要在转换级2中测量CIN4,应进行如下设置:

STAGE2_CONNECTION [6:0] = 0xFEFF

STAGE2_CONNECTION [13:7] = 0x3FFF


对于每个转换级,重复第1步至第4步。


方法B:使用评估软件


要打开输入配置对话框(见图7),请启动评估软件并选择“Register Conguration”(寄存器配置),然后选择“CIN Conguration Block STAGEX”(CIN配置模块STAGEX)。

将所有CINx连接到正或负CDC输入,或者偏置(如果不使用),如图7所示。对各转换级重复此过程。

Figure 7. Input Configuration Menu.
图7. 输入配置菜单

第2步:抵消体电容或杂散电容

对于AD7142和AD7143,CBULK是PCB材料所产生的电容。 对于AD7147,CSTRAY是接地电容。注意下列事项:

  • 应防止 CBULK 或 CSTRAY影响CIN的测量。
  • CIN的衡量单位为飞法(fF)。
  • CBULK/CSTRAY的衡量单位为皮法(pF)。

片内7位DAC用于抵消 CBULK/CSTRAY (20 pF抵消能力)。

使用这些DAC将未触摸传感器时的CDC输出值设置为中间电平CDC输出代码(约有32,000个代码)。


方法A:写入AD714x


  1. 从寄存器CDC_RESULT_SX读取传感器的 CBULK值。
  2. 如果CINx连接到正CDC输入,则将POS_AFE_OFFSET 值 提 高 1 L S B 。 如 果 C I N x 连 接 到 负 C D C 输 入 , 则 将 NEG_AFE_OFFSET值提高1 LSB。
  3. 再次回读CDC_RESULT_STAGEX寄存器。
  4. 重复第2步和第3步,直到CDC_RESULT_STAGEX值尽可能接近32,768。注意,POS_AFE_OFFSET和 NEG_AFE_OFFSET的最佳值可以是0。

方法B:使用评估软件


要打开图8所示的对话框,请启动评估软件并选择“Register Conguration”(寄存器配置),然后选择“CIN Conguration Block STAGEX”(CIN配置模块STAGEX)。

Figure 8. Programming the AFE_OFFSET.
图8. 设置AFE_OFFSET

使用快捷按钮获得所需的偏移值。设置正确的偏移值后,CDC的输出应接近中间电平 (约有32, 700个代码 )。另外,也可以点击POS_AFE_OFFSET或NEG_AFE_OFFSET框中的箭头来改变值。

第3步:获取高低箝位值

记录传感器激活活动


当从某个传感器测得的值提高到上限以上,或降低到下限以下时,该传感器激活,如图9所示。

Figure 9. Sensor Activation.
图9. 传感器激活

根据环境(背景)电容水平的变化,片内逻辑不断更新阈值。


箝位值


片内数字逻辑需要初始值。

高低箝位值是通过确定传感器可能的最大和最小响应而得到的。

这些箝位值由环境补偿和自适应阈值片内数字逻辑使用。

对于只有一路CIN输入连接到CDC的转换级,高箝位值与低箝位值相等。

如果CINx连接到正CDC输入,而CINy连接到负CDC输入,则高低箝位值可能不同。两个差分连接的按钮就是这种情况。


方法A:写入AD714x


在未触摸传感器的情况下,读取ADC_RESULT_SX(也称为 CDC_RESULT_SX)。

然后触摸传感器,并再次读取ADC_RESULT_SX。最大的 手指产生最大的传感器响应。

箝位值等于触摸值与未触摸值之差。

箝位 = |触摸CDC值 – 未触摸CDC值|

高箝位值写入STAGEX_OFFSET_HIGH_CLAMP,低箝位值写入STAGEX_OFFSET_LOW_CLAMP。

对于只连接一路CIN输入的转换级,高箝位值与低箝位值相同。

对于有两个传感器连接到CDC的转换级,请执行下面的第 1步到第3步。

  1. 一次触摸一个传感器。
  2. 从触摸时显示CDC代码提高的传感器获取高箝位值。
  3. 从触摸时显示CDC代码降低的传感器获取低箝位值。

方法B:使用评估软件


  1. 使用评估软件绘制各传感器的CDC输出图(见图 10)。

    Figure 10. Measuring the Sensor Response.
    图10. 测量传感器响应
    首先启动评估软件,选择Register Conguration(寄存 器配置),然后选择Calibration STAGEX(校准 STAGEX)。点击Read Continuously(连续读取)按钮 绘制CDC值曲线。
  2. 使用最大的手指获得最大/最小的传感器响应。
  3. 通过下式计算箝位值:

    箝位 = |触摸CDC值 – 未触摸CDC值|

    本例中,

    箝位 = | 34540 – 33450 |

    STAGEX_OFFSET_HIGH _CLAMP = 1090

    STAGEX_OFFSET_LOW _CLAMP = 1090

  4. 将第3步测得的值写入STAGE_OFFSET_CLAMP寄存器。

第4步:获取高低偏移值

无论使用方法A还是方法B,用于获取高低偏移值的过程均相同。

高低偏移值用于计算上电时传感器的激活阈值。实际的阈值还要考虑灵敏度设置。

计算如下:

偏移 = 箝位值 × 0.8

STAGEX_OFFSET_LOW =
STAGEX_OFFSET_LOW_CLAMP × 0.8

STAGEX_OFFSET_HIGH =
(STAGEX_OFFSET_HIGH_CLAMP × 0.8

例如,当LOW_CLAMP = 2000、HIGH_CLAMP =2500时,

STAGEX_OFFSET_LOW = 1600

STAGEX_OFFSET_HIGH = 2000


使用评估软件更改箝位值和偏移值


要打开图11所示的对话框,请启动评估软件并选择“Register Conguration”(寄存器配置),然后选择“Calibration STAGEX”(校准STAGEX)。

Figure 11. Programming the Offset and Clamp Values.
图11. 设置偏移和箝位值

要更改STAGEx_OFFSET_CLAMP值和STAGEx_OFFSET值,请使用适当的箭头增大或减小值。

第5步:设置灵敏度

每个传感器可以使用不同的灵敏度设置。灵敏度最多可以设置16级。灵敏度设置激活阈值,范围为平均最大输出(相对于环境)的25%到95%,参见图12。

Figure 12.
图12

低灵敏度设置值意味着轻轻触摸就能触发传感器,高灵敏度设置值意味着只有有力触摸才能触发传感器。


方法A:写入AD714x


灵敏度设置完全取决于设计师对用户感觉的把握。

初始设置为53%。

STAGEX_SENSITIVITY = 0110

如果需要更灵敏的响应,请减小灵敏度设置。

例如:

STAGEX_SENSITIVITY = 0001 = 29%

如果需要不那么灵敏的响应,请增大灵敏度设置。

例如:

STAGEX_SENSITIVITY = 1101 = 85%


方法B:使用评估软件


灵敏度设置取决于客户的需求(通过用力触摸还是轻柔触摸来激活传感器),参见图13。

Figure 13. Altering the Sensitivity Settings using the Evaluation Software.
图13. 使用评估软件更改灵敏度设置

初始设置为标称值50%。

如果需要更高的灵敏度(更轻柔的触摸即可激活传感器),请降低灵敏度百分比。如果需要更低的灵敏度(更有力的触摸才能激活传感器),请提高灵敏度百分比。

总结

本应用笔记详细描述了调整AD714x CapTouch控制器的五步骤程序。

  1. 设置输入连接。
  2. 抵消体电容或杂散电容。
  3. 获取高低箝位值。
  4. 获取高低偏移值。
  5. 设置灵敏度。

对每个转换级执行第1步到第5步后,便可获得AD714x的整个寄存器bank 2的配置值。器件上电时,应将这些值写入AD714x,使其具有适合应用的正确配置。


使用评估软件保存AD714x配置


要打开图14所示窗口,请启动评估软件并选择Register Conguration(寄存器配置)。

Figure 14. Saving Configuration Data.
图14. 保存配置数据

若要以C代码形式保存配置数据,请选择 Create Config File(创建配置文件)按钮,这将把AD714X寄存器配置保存为C 代码头文件。

若要保存配置数据以便能利用评估软件将它重新加载到 AD714x,请选择 Setup Registers(设置寄存器)按钮,然后 选择 Save(保存)。

作者

Generic_Author_image

Susan Pratt