沁恒 RISC-V 蓝牙芯片触摸按键应用调试说明

发布时间:2026/7/23 21:55:55
沁恒 RISC-V 蓝牙芯片触摸按键应用调试说明 来看看沁恒触摸按键的应用 ...... 矜辰所致前言相较于传统机械按键电容式触摸按键具备外观一体平整、无机械磨损、使用寿命更长等优势现已广泛应用于各类消费电子设备。沁恒 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 增加充放电周期就变长频率则相应降低。一般有以下方式进行触摸检测电流源充电方案 (通用方案) :相同的充电时间通过单片机内部AD采集触摸通道的电压值与未按下时的值作差再根据定义的阈值识别按键按下与抬起。松弛振荡方案单片机内部采集固定时间段的脉冲个数与未按下时的个数作差然后根据定于的阈值识别按键的按下与抬起。电荷迁移方案仅 CH585/4通过模拟开关在参考电容 Cs与触摸电极电容 Cx之间周期性转移电荷手指触摸会改变电荷分配后的均衡电压或电荷迁移循环次数与无触摸基准对比后判定按键状态。1.2 触摸相关资料1.2.1 文档软件在官方 CH592 EVT 包中在 TOUCH 文件夹下面有两份资料《WCH触摸库使用说明》官方触摸代码是以库的形式提供的这份文档给了库函数说明。❤️《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?scene1click_id1922202135另外是一个是某前辈的博客他的触摸合集部分都可以看看 手动防检测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,72.3.2 触摸数据打印在上面我们可以看到会打印 8 列通道的触摸数据这个我们可以在 库的配置 Touch.h 文件里面打开关闭的2.3.3 跑蓝牙时候使用触摸库我们知道芯片跑蓝牙时候是靠 TMOS 调度的我们使用触摸库和蓝牙一起运行的时候也需要把调度权交给 TMOS 这也是在 Touch.h 里面配置的具体自己应用的实现只需要参考官方示例即可后期使用如果遇到具体的细节问题博主再来说明。三、电荷迁移方案说明还是补充一下电荷迁移方案说明。给待调试板子烧录带_CT 后缀的调试固件只有 CH585/4 支持电荷迁移功能新推出的CH595 也支持。WCHTouchKeyTool 软件导入模板选择对应芯片带 带_CT后缀的模板。对于电荷迁移我们之前讲到过它的原理是基于参考电容 Cs与触摸电极电容 Cx之间周期性转移电荷所以我们必须要有一个参考电容而这个参考电容需要我们硬件设计上额外使用一个 IO 某一个 ADC 输入通道连接一个电容官方开发板为 1nF 。在导入模板后要检查参数配置中的大电容通道是否是和硬件设计的一致比如开发板用的是 PA9所以选择 TS13如下图按照上面的流程正常的生成配置文件导入测试工程测试操作流程和上文介绍方式都一致。结语本文介绍了沁恒 RISC-V 蓝牙芯片触摸按键应用调试 实际上官方给我们提供了充足的参考设计资料就算我们不懂原理也可以通过现有的资料进行触摸按键的应用开发。好了本文就到这里。谢谢大家