IC:

概述

Cap-Touch控制器(CTC)提供 4 个用于电容感应的通道,可实现广泛的电容检测范围。

每个通道的灵敏度和阈值都是可配置的。

对于不同的应用场景和环境,应当调整参数以达到最佳性能。

用法

Cap Test工具

Cap Test 工具是瑞昱(Realtek)开发的官方Cap-Touch校准工具,它可以校准通用和特定通道的Cap-Touch配置。

我们建议直接使用Cap Test 工具自动进行CTC校准。当然,用户也可以参考 CTC 初始化CTC 校准 两节的内容,手动调整配置参数以满足特殊要求。

CTC 初始化

CTC 初始化的实现步骤如下:

  1. 调用 CapTouch_StructInit() 函数来初始化Cap-Touch的配置参数,如 SampleCntScanIntervalDiffThreshold 等。

  2. 设置以下配置参数,包括触摸阈值、噪声阈值、偏置电流以及每个通道的启用控制,并使用这些参数更新 步骤 1 中的参数。

    const CapTouch_CHInitTypeDef ctc_ch_config[4] =
    {
       /*DiffThreshold, MbiasCurrent, ETCNNoiseThr, ETCPNoiseThr, CHEnable*/
       {80,      0x0C,      40,    40,    ENABLE}, /* Channel 0 */
       {80,      0x0C,      40,    40,    DISABLE}, /* Channel 1 */
       {80,      0x0C,      40,    40,    DISABLE}, /* Channel 2 */
       {80,      0x0C,      40,    40,    DISABLE}, /* Channel 3 */
    };
    

    每个通道调整参数的方法,可参考 CTC 校准

    注意

    配置参数可以从Cap Test工具中获取。

    1. 调用 CapTouch_Init() 函数来配置Cap-Touch功能。

    2. 通过 CapTouch_Cmd() 函数启用Cap-Touch功能,并通过 CapTouch_INTConfig() 函数启用中断。

之后,Cap-Touch将开始工作。

CTC 校准

为实现最佳性能(灵敏度、可靠性或响应时间),用户在开发过程中需要调整触摸阈值、噪声阈值和偏置电流。

偏置电流设置

偏置电流需在开发阶段重点考虑,因为不同的电路(如 PCB 布局)具有不同的寄生电容和灵敏度。

当电路设计确定后,用户可以使用Realtek提供的Cap Test工具对偏置电流进行初始化。

校准原则:调整偏置电流,使在无触摸情况下基线信号值(baseline)约为 3300 ~ 3600。

阈值调整

  • 差分阈值:推荐设置为参考差分阈值( baseline − touch signal)的 80%。

  • 噪声阈值:推荐设置为参考差分阈值的30% ~ 40%。

用户可增减阈值以满足信噪比要求(信噪比 > 5)。

备注

  • 具体操作请参考Cap Test工具的应用说明。

  • 偏置电流过大将导致充电电压超出满量程,可能会损坏电路。

  • 为防止漏电,使用Cap-Touch功能时,Cap-Touch的引脚应配置为 shutdownno-pull 状态,同时禁用该引脚的输入/输出功能。

CTC 唤醒

当将CTC用作唤醒源时,需按以下步骤配置 CTC 和系统:

  1. 参考 CTC 初始化 章节,初始化 CTC 并启用相关中断。

  2. sleep_wevent_config[] 中,将相关唤醒源 WAKE_SRC_CTOUCH 设置为 WAKEUP_KM4WAKEUP_KM0 (取决于想要唤醒的 CPU),并将中断注册在同一CPU 上。

  3. 在系统进入睡眠模式之前,通过调用 RCC_PeriphClockSource_CTC() 函数将 CTC的时钟源切换为 CTC IP 时钟。

  4. 通过释放 KM4 中的唤醒锁来进入睡眠模式(由于启动时默认获取了 PMU_OS,因此需要释放它)。

  5. 唤醒时清除 CTC 中断,并通过调用 RCC_PeriphClockSource_CTC() 函数将 CTC的时钟源切换为 LBUS 时钟。