沁恒 RISC-V 蓝牙芯片触摸按键应用调试说明
2026/7/23 21:55:50 网站建设 项目流程
来看看沁恒触摸按键的应用 ...... 矜辰所致

前言

相较于传统机械按键,电容式触摸按键具备外观一体平整、无机械磨损、使用寿命更长等优势,现已广泛应用于各类消费电子设备。沁恒 RISC-V 架构常用芯片 CH58x、CH592 系列芯片列都提供了电容触摸检测模式,配合 ADC 模块可以实现电容类触摸按键检测功能。

官方 EVT 也提供了相关的例程,但是对于自己的应用,触摸按键的实现与调试与 PCB 设计息息相关。所以本文我们就从应用的角度,来说明一下触摸按键的设计与调试相关内容 。

我是矜辰所致,全网同名,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!

目录

  • 前言
  • 一、 基础说明
    • 1.1 原理说明
      • 1.1.1 电容触摸原理
      • 1.1.2 触摸检测原理
    • 1.2 触摸相关资料
      • 1.2.1 文档&软件
      • 1.2.2 开发板
    • 1.3 推荐文章
  • 二、应用调试
    • 2.1 硬件设计
    • 2.2 软件调式
      • 2.2.1 待调试板子固件烧录
      • 2.2.2 导入模板 & 打开设备
      • 2.2.3 配置通道
      • 2.2.4 充放电调试
      • 2.2.5 阈值调试
      • 2.2.6 多通道干扰分析
      • 2.2.7 生成&使用库文件
      • 2.2.8 测试效果说明
    • 2.3 一些配置说明
      • 2.3.1 实际通道数量配置
      • 2.3.2 触摸数据打印
      • 2.3.3 跑蓝牙时候使用触摸库
  • 三、电荷迁移方案说明
  • 结语

一、 基础说明

1.1 原理说明

1.1.1 电容触摸原理

在下文介绍的官方文档《 WCH触摸应用指南 》里面,有原理的相关说明,而且现在有了 AI ,对于资料文档中这些基础原理描述不理解,还可以通过 AI 详细了解,这里我只用一张图表示就行:

1.1.2 触摸检测原理

这个原理在官方文档中也有说明:

触摸感应盘和单片机引脚形成一个不断充放电的RC电路,如果没有触摸按键,RC电路有一个固定的充放电周期;如果手指触摸按键后,那么等效电容C 增加,充放电周期就变长,频率则相应降低。

一般有以下方式进行触摸检测:

  1. 电流源充电方案 (通用方案) :
    相同的充电时间,通过单片机内部AD采集触摸通道的电压值,与未按下时的值作差,再根据定义的阈值识别按键按下与抬起。

  2. 松弛振荡方案:
    单片机内部采集固定时间段的脉冲个数,与未按下时的个数作差,然后根据定于的阈值识别按键的按下与抬起。

  3. 电荷迁移方案(仅 CH585/4):
    通过模拟开关在参考电容 Cs与触摸电极电容 Cx之间周期性转移电荷,手指触摸会改变电荷分配后的均衡电压或电荷迁移循环次数,与无触摸基准对比后判定按键状态。

1.2 触摸相关资料

1.2.1 文档&软件

在官方 CH592 EVT 包中,在 TOUCH 文件夹下面有两份资料:

  1. 《WCH触摸库使用说明》
    官方触摸代码是以库的形式提供的,这份文档给了库函数说明。
  2. ❤️《WCH触摸应用指南》❤️
    关键文档!!!要做触摸应用务必好好看看这份文档!!!里面说明了原理,应用开发的软件,PCB 设计示例,PCB 设计注意事项,触摸面板选择,ESD 等必要内容! 大家做触摸产品,务必仔细看看这份文档。
    现在可以去官网下载《WCH_TouchApplicationGuide.PDF》文档,和上面文档要说明的内容基本一致,属于更新的匹配最新开发板的说明文档。
    文档局部截图示例:

不是所有的 EVT TOUCH 文件夹里面都有《WCH触摸应用指南》文档的,比如在 CH585 EVT 中就没有(至少博主使用的时候 2026年7月份是没有的),大家可以参考 CH592 的 EVT 资料,设计准则和注意事项都是一样的。

在官网的触摸参考文档 WCH_TouchApplicationGuide.PDF (搜索关键字名字之类的很容易找到):

除了上面的文档资料,官方还提供一个触摸的调试软件 WCHTouchKeyTool (可找沁恒 FAE 获得),博主拿到的触摸调试工资料包如下(里面有WCHTouchKeyTool 软件,模板文件,和调试固件 ):

  • 其中模板文件是在调试时候根据自己应用选择的芯片型号需要导入到 WCHTouchKeyTool 软件中的文件。
  • 调试固件是在调试时候需要下载到自己需要配置的 触摸 PCB 板子上的程序代码。

本文博主也会记录使用 WCHTouchKeyTool 软件进行触摸调试的过程,详细的使用会在下文说明。

1.2.2 开发板

目前官方提供的触摸开发板,是基于 CH584 的,有两种形式,如下图:

这只是官方提供的示例开发板,大家自己应用自己画的板子一样可以使用官方配套软件调试。

1.3 推荐文章

博主本文意在说明如何快速上手调试,所以对于原理以及实现方式并没做过多解释,这里推荐几篇文章,大家可以加深一下对触摸应用的理解以及使用时候的一些参考建议。

首先是沁恒官方公众号的一篇文章,形象直观的展示了触摸按键的应用(直接放链接会有审核之类的问题):

手动防检测(CSDN有毒)https://mp.weixin.qq.com/s/vKqCkWQETGAU3RiDAXMEww?scene=1&click_id=1922202135

另外是一个是某前辈的博客,他的触摸合集部分都可以看看 :

手动防检测(CSDN有毒)
https://www.cnblogs.com/gscw/p/17001207.html

二、应用调试

基础的资料介绍完毕,我们就开始讲一下实际应用中的设计调试。

2.1 硬件设计

触摸按键的 PCB 设计,就是 IO 口引出来的一个 Pad,虽然原理图简单,但是它的走线和布局,以及与周围其他走线、敷铜、GND 等都有关联。

所以 PCB 设计务必参考上面提到的 《WCH触摸应用指南》里面的内容 !不至于到头来,看起来一样,自己画的触摸性能怎么就这么差 。

触摸按键产品一般都会带面板,常用的比如钢化玻璃、PC、亚克等,这个文档种也有说明。参数调试的时候一定要带上自己选择的外壳,这样调出来的参数才是准确的!

额外提一句,PCB 设计串口预留是必要的,因为调试触摸是需要串口与 PC 软件进行通信的 (任意一组串口都可以)。

2.2 软件调式

板子到手以后,我们可以使用官方的 TOUCH 目录及下的示例做基础测试:

如果你的板子和官方的示例的触摸 IO 顺序选择都是一致的,倒是可以直接使用示例测试,但是一般都不这么用,更加合理的方式是自己根据自己的应用需求正常的选择设计触摸 IO ,然后通过 WCHTouchKeyTool 调试参数,然后再把生成的配置文件替换示例种的配置文件进行测试。

本文以上面官方的 8 个按键的 EX002 开发板做示例说明一下调试步骤 。

2.2.1 待调试板子固件烧录

首先给待调试的板子烧录对应的固件,在我们拿到的工具包调试固件里面 :

CH584 与 CH585 使用同一个固件,本文以电流源方案的调试做说明,电荷迁移的类似。

烧录就使用通用的 ISP 工具:

烧录完成以后,使用 串口 (任意一组串口都可以)通过 USB 转串口与 PCB 连接,进行按键调试。

2.2.2 导入模板 & 打开设备

打开 WCHTouchKeyTool 软件,先导入模板,如下图:

在调试的时候,模板文件并不需要修改,个人也不建议去修改,使用官方默认的即可。

然后选择设备连接的串口,打开设备,如下图:

若打开失败,请检查设备固件和串口号是否存在问题 。

2.2.3 配置通道

根据自己的硬件设计,配置对应的通道,从 1 开始给按键标号, 1对应 KEY1 , 2 对应 KEY2,有几个触摸按键,根据自己实际需要的对应关系就设置几个。

比如你可以把 PA4 设置为1 号,对应 KEY1,也可以把 PA5 设置为 1号,对应 KEY1 ,就是看自己的实际需求。

若选择过程中配置顺序错误,可以通过双击芯片模型的操作进行重新配置,配置完成后,点击下一步,完成通道初始化。

2.2.4 充放电调试

点击开始全部充放电测试进行调试:

完成的结果如下:

上面要注意,全部充放电测试只能有一次,如果不小心多点了一次,可以返回上一步,然后再下一步回到这个栏目重新来一遍。

电流源方案,这里的值一般最低在 2900 以上,再小很有可能板子有问题 。

2.2.5 阈值调试

每个通道单独的按下松开阈值的调试,操作如下:

上面有些栏目并没有说明什么意思,因为一般正常情况下都不需调节,实际上他们每个栏目的含义如下:

我们也可以手动修改阈值上下限值,一般应用不需要改,只是有时候想调一下灵敏度什么或者在下一步多通道干扰测试时发现有必要的时候,可以进行一定的调节,如下图 :

有位大佬的经验:一般来说上升下降阈值的判断会根据变化量的 0.8 0.6 比例来设置。如果要更灵敏可以设置成 0.6 0.4。
如果本身变化量较小建议上下阈值就不要设置的太小了,容易误触。

2.2.6 多通道干扰分析

最后多通道分析,点击开始分析,进行触摸按键操作,可以看到实际的展示效果,也可以直观的看到触摸按键对相邻通道的影响。

需要注意,在进行多通道干扰分析的时候,要先点击停止分析才能进行其他操作,否者会出错!

调试效果如下图:

正常情况下,如果板子设计合理,软件走一遍的参数就能直接用了,如果是比较特殊的板子,因为面积大小或者结构限制的问题,设计的触摸,干扰比较严重,就可以根据上面的分析进行阈值调整(当然,不合规范的设计只能尽可能的去调整,不一定能够满足实际应用)。

2.2.7 生成&使用库文件

上面调试观察没有问题,就可以进行下一步,生成库文件并导出 :

会在我们选择的文件夹生成一个 TouchKey_CFG.h 文件, 调式完成 。

生成的 TouchKey_CFG.h 怎么用

官方提供的任意带触摸的示例都会有 TouchKey_CFG.h 文件,测试自己的板子的时候,将我们上面调试生成好的 TouchKey_CFG.h文件添加到工程头文件中替换掉原本的配置文件TouchKey_CFG.h 即可(对于示例来说,只需要替换即可)。

然后工程编译下载观察效果即可。

其中说明一下文化中按键初始化的含义 :

2.2.8 测试效果说明

对于具体的效果,是和我们自己应用层的处理相关的,但是因为示例里面提供好了按键展示效果,我们也可以直接使用示例的应用处理逻辑:

对于示例而言,默认会打印 :

2.3 一些配置说明

2.3.1 实际通道数量配置

如果实际板子的通道和示例(8 个)不一样,和示例工程编译会有错误或者警告,只需要根据错误提示修改一个宏定义即可 :

//实际有几个,这里就写几个#defineTOUCH_KEY_CHS0,1,2,3,4,5,6,7

2.3.2 触摸数据打印

在上面我们可以看到会打印 8 列通道的触摸数据,这个我们可以在 库的配置 Touch.h 文件里面打开关闭的:

2.3.3 跑蓝牙时候使用触摸库

我们知道芯片跑蓝牙时候是靠 TMOS 调度的,我们使用触摸库和蓝牙一起运行的时候,也需要把调度权交给 TMOS, 这也是在 Touch.h 里面配置的:

具体自己应用的实现只需要参考官方示例即可,后期使用如果遇到具体的细节问题博主再来说明。

三、电荷迁移方案说明

还是补充一下电荷迁移方案说明。

  1. 给待调试板子烧录带_CT 后缀的调试固件(只有 CH585/4 支持电荷迁移功能,新推出的CH595 也支持)。
  2. WCHTouchKeyTool 软件导入模板选择对应芯片带 带_CT后缀的模板。
  3. 对于电荷迁移,我们之前讲到过它的原理是基于参考电容 Cs与触摸电极电容 Cx之间周期性转移电荷,所以我们必须要有一个参考电容,而这个参考电容,需要我们硬件设计上额外使用一个 IO (某一个 ADC 输入通道)连接一个电容(官方开发板为 1nF )。
    在导入模板后,要检查参数配置中的大电容通道是否是和硬件设计的一致,比如开发板用的是 PA9,所以选择 TS13,如下图:
  4. 按照上面的流程正常的生成配置文件,导入测试工程测试,操作流程和上文介绍方式都一致。

结语

本文介绍了沁恒 RISC-V 蓝牙芯片触摸按键应用调试, 实际上官方给我们提供了充足的参考设计资料,就算我们不懂原理,也可以通过现有的资料进行触摸按键的应用开发。

好了,本文就到这里。谢谢大家!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询