项目中前前后后用到过好多次带触摸按键功能的赛元单片机,第一次使用时研究了好久的使用手册。过了一段时间后,再次使用,便又忘了,写下这篇文章,方便今后查阅和回顾。
本文以SC92F8461B,静态调试高灵敏触摸为例。 流程总览[color=rgba(0, 0, 0, 0.75)]
1.烧录官方高灵敏hex文件
2.目标板连接电脑并选择初始参数
3.参数调整
4.验证相互间影响
5.将配置信添加到工程
6.灵活调整
下面从各个步骤进行说明,重点是步骤2、3及步骤6。 步骤说明1.烧录官方高灵敏hex文件向官方或者代理的技术支持要到静态触摸调试的hex文件(这个文件官网下载不到),SC92F8x6xB用到的hex文件已上传至楼主资源,文件截图如下:
用官方提供的程序烧录软件SOC Pro51烧录至目标板,软件及其界面如下:
烧录中的选项可参考此界面。 2.目标板连接电脑并选择初始参数完成上一步操作之后,最好将烧录器拔插一次,要不然上位机软件可能会检测不到目标板。打开触控调节的上位机软件,软件图标如下:
选择"高灵敏度触控":
上位机初始界面如下:
以SC92F8461B为例,我只会更改红框中的参数,首先选择对应的型号,抗干扰设置改为1:12bit,选择用到的通道,其它参数保持默认,就可以点确定了。
等待触控芯片自适应参数,若上位机提示检测不到目标板,可以按下面的步骤进行排查: 避坑指南
①重新拔插目标板与烧录器的连接,重新拔插烧录器与电脑的连接。
②调试时用到的TCK和DIO端口是否连接了阻容,如果是,最好拆掉后跳个线再试一下。
tips:以上问题都是我自己曾经遇到过的,最后都由上述方案得到了解决。
连接成功后,就可以进行参数调整了。 3.参数调整
目标板与电脑连接成功后的界面如上图所示,红框框中的按钮表示要调整两个按键的参数,点击第一个按钮,界面如下:
点击启动调试后,跟随上位机指示,完成参数调整。
在完成参数调整后,若参数调整成功,界面如下:
再看下失败的界面:
失败的界面下会有很多参数是红色的,这表示参数不在限定条件内,即参数调整失败。我在调整时也遇到过几次这样的现象,基本上都是硬件问题,经验如下:
①检查板子的CMOD引脚是否复用外接了负载,此引脚在激活触控功能时不能连接负载,若连接了负载,断开负载再试试。
②触摸按键所接的阻容参数不合适,这点可详细看下文档,或者问下FAE。
这些数字是多少不是很重要,只要是参数调节成功后,就可以进入下一步操作了。 4.验证相互间影响
点击上图中的按钮,
按照图片中的提示进行操作,当按键都检测完后,检测成功的话会有如下的提示:
我遇到过一次诊断失败的情况,但是最后排查后发现并不是目标板布线的问题,而是端子处的阻容不匹配,导致提示按键之间有影响。 5.将配置信添加到工程诊断完成后,便可点击如下按钮生成.h文件了,默认文件名是S_TouchKeyCFG.h,然后将此文件添加至工程即可。
我个人喜欢将此头文件和官方的lib文件和.c文件放在一个文件夹下,如下图所示,方便管理。
6.灵活调整将此文件添加至工程后,上位机生成的参数只是可以确保开发者能使用按键,但是对于EMC实验等还需要手动微调。可以在调节参数时使用相应规格的铜柱来辅助调整,这里没有什么技巧,就是慢慢试,而且调整一次就要烧录一次,然后用铜柱验证。
下面对哪些是开发者可以自己调整的参数进行说明:
①标号的位置表示是否激活组合按键,为0表示不激活组合按键,为1表示激活组合按键
②标号的位置是用于修改灵敏度的,可用于过emc的抗干扰试验,两个字节组成的16位数据,此数据越大,灵敏度便越低。一般来说都是灵敏度太高才需要我们去手动调整,我一般是直接修改高字节的数据,以上图为例的话,这个数据是未经修改的,我一般会把0x00改成0x01或0x02,来烧录验证。这些只是个人经验,具体板子需要具体应对。 总结需要提醒一下,赛元的官方库会直接输出一个键值信息,应该是32位的,这个键值是可以直接使用的,当然,也可以基于此键值继续写一下消抖函数,这个键值具体的用法这篇就不介绍了,本文主要目的在于如何成功输出一个有效的配置头文件。文中提到的工具都已打包好上传至我的资源中,包括说明文档,使用指南和烧录工具及上位机软件,都是赛元官方的,除了库文件外,官网都可以直接下载。 转自https://blog.csdn.net/weixin_42033886/article/details/115527020
|