我现在用STM8L152做项目,其中用到了12触摸按键,采用的是CT感应方式(注意:不是RC方式)。
目前主要问题落在PCB Layout上面,ST的应用笔记(AN2869)上要求的很夸张,一般的应用中很难满足:
(原文件名:TSL.JPG)
问题如下:
1、在PCB Layout中需不需要严格按照AN2869上的要求来做?(感觉AN2869上提到的只是RC方式方面的要求,没有CT方式的)
2、如不满足AN2869上的要求,影响会不会很大?(比如AN2869要求每个GROUP之间的走线最小间隔距离是2mm,可是设计时只有1.5mm)
3、每个按键的走线需不需要等长?(最担心的是这个了,ST的触摸库里所有的按键都是统一的判定门限)
请各位DX帮忙,还有香水斑竹,谢谢!
补充:
现在画的板是这样的,按键部分的Layout心里没底
(原文件名:PCB.PNG)
底面
(原文件名:PCB1.PNG)
正面
(原文件名:PCB2.PNG)
---------------------------------------------------------------------------------------------
这一点大家都被迷惑了,这个问题我曾经咨询过ST的技术支持人员,他们也说不能分别设定。
但是,通过分析源代码,我发现实际上每一个按键都可以独立设定的。
只需在调用TSL_Init()之后,重新赋值以下变量(i表示按键的编号)
sSCKeyInfo.DetectThreshold
sSCKeyInfo.EndDetectThreshold
sSCKeyInfo.RecalibrationThreshold
不过从你的Layout来看,你的按键之间的差别不会太多。
3、每个按键的走线需不需要等长?(最担心的是这个了,st的触摸库里所有的按键都是统一的判定门限)
---------------------------------------------------------------------------------------------
这一点大家都被迷惑了,这个问题我曾经咨询过st的技术支持人员,他们也说不能分别设定。
但是,通过分析源代码,我发现实际上每一个按键都可以独立设定的。
只需在调用tsl_init()之后,重新赋值以下变量(i表示按键的编号)
ssckeyinfo.detectthreshold
ssckeyinfo.enddetectthreshold
ssckeyinfo.recalibrationthreshold
不过从你的layout来看,你的按键之间的差别不会太多。
-----------------------------------------------------------------------
多谢,这个太给力了
PCB背面
(原文件名:0222111201.jpg)
PCB正面
(原文件名:0222111300.jpg)
背面:
(原文件名:0222111200.jpg)
主芯片STM8L152
(原文件名:0222111400.jpg)
显示效果
(原文件名:0222111500.jpg)
显示效果
(原文件名:0222111601.jpg)
按键细节
(原文件名:0222111600.jpg)
按键细节
(原文件名:0222111700.jpg)
一周热门 更多>