psoc4的capsense总结
psoc4的capsense算是个比较实用的东西,触摸按键,显得有点高大上,呵呵。今天试用了一下,对照着数据手册,现在总结一下。
1,先说原理,官方做文档的时候应该把原理讲一下,不要上来就讲怎么用,怎么配置,如果不知道原理的话那只能照葫芦画瓢了,大致原理就是传感器获得外部电容值的大小然后减去内部基准得到一个差值,这个差值与设定的阈值比较,如果大于阈值就认为有手指按动,否则判断为没有按动,就这么简单。内部基准psoc起了个名字叫基线。基线是通过一定的算法得到的。
2,模块用的是capsense_csd2.1,关于模块的配置因为用的是便宜的cy8ckit-049-42xx套件,没有所谓的slider,但是片子的io都通过引线引出来了,板子边上都是过孔,这就够了。但是需要注意的是需要调节的灵敏一点,否则检测不到。
3,下面是一些细节性的东西。
1),基线官方给了如下定义
基线值的计算是在噪声阈值下计算的,举个例子,假如我设置的噪声阈值是10,而现在环境中有噪声,这些噪声造成了即使在没有点击按键的情况下传感器的读数也不是0,而是大于0小于10的值,假设是5,那么此时基线就会变成5,但是如果噪声阈值仍然是10,但是噪声较大,是20,那么此时基线值是不会改变的,依然是0,而此时就会判断为有按动按键。
2)迟滞
迟滞其实就是当外部电容增大的时候减去基线的差值自然也是增大的,增大到设定的阈值的时候并不会立即认为有触摸,而是需要大于阈值加迟滞值。而当外部电容减小到阈值下的时候也不会立即认为没有触摸,而是需要小于阈值减去迟滞值,才会认为没有触摸。
3)官方推荐的各个值设置
我的设置
手指阈值是10,噪声阈值是5,迟滞是2,防抖动是1,也就是不防抖了,采用8位计数。
4)对于capsense的具体硬件部分的工作原理就不是很清楚了,只知道用到了idac,和一个外部电容cmod,至于是怎么工作的,找不到资料。
5)软件部分用到几个函数,但是需要先了解一些数据结构。
用到的几个函数
关于capsense_checkiswidgetactive()其实比较的两个对象分别是阈值和capsence_sensorsignal[];而非官方说的capsense_signal[].官方的说法让人不知所云,专门找了英文文档也是这么写的,看来不是翻译的问题。
那么整个软件的流程其实就可以用数据的变化来总结,先是是获取原始数据,获取基线值,之后就是差值获取,然后差值与阈值比较得到结果,所以每次要想获得结果需要三个函数1,updateenabledbaselines()会获得baseline的值,并且用sensorraw的值减去baseline的值获得sensorsignal的值。2,scanenabledwidgets()获得sensorraw的值。3,checkiswidgetactive 将sensorsignal的值与阈值比较得到结果。
psoc4的capsense总结的更多相关文章
- psoc4的中断笔记
psoc可以自定义中断服务函数.
- 蓝牙BLE实用教程
蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Re ...
- 蓝牙BLE实用教程(转载)
欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Ready 和 Smart 以及传统蓝牙之间是什么关 ...
- 用了这么多年的MCU,你知道哪些MCU原厂最牛?
单片机诞生于1971年,经历了SCM.MCU.SoC三大阶段.单片机由以前的1位.4位.8位.16位,发展到现在的32位甚至64位. 90年代后随着消费电子产品大发展,单片机技术得到了巨大提高,相继诞 ...
- psoc做dds
今天用psoc做了dds,现在总结一下. 1dds用到的相位累加器是用verilog写的,本来准备用一下datapath,这是和fpga不一样的一点,用了类似alu的结构,但是看手册后发现,虽然可以执 ...
- 2018.5.28 PSOC第一枪:基于cypress的蓝牙开发
Cypress-BLE 开发套件可以快速开发 物联网电子产品. PSOC编程特点: A 拖放各PSoC 组件到工作区中,以设计原理图B 完成各组件之间的布线,并配置GPIOC 使用所包含的组件API ...
- (转)I2C 上拉大小
中断,GPIO,I2C等一般都是OC或者OD门,芯片内部无上拉电阻时,则外部必须加上拉电阻才能输出高电平.一般I/O端的驱动能力在2-4mA量级,OC或者OD门的导通电压为0.4V左右,手机中加在上拉 ...
- 触摸板PCB制作-TM12
1.布局: 使 PSoC 与Sensor之间的距离保持最小化是一个不错的做法. 通常将 PSoC 与其他组件一起贴装到底层,而将 CapSense Sensor置于顶层上. Sensor和栅格地层位 ...
- 上拉电阻大小对i2c总线的影响
漏极开路上拉电阻取值为何不能很大或很小? 如果上拉电阻值过小,Vcc灌入端口的电流(Ic)将较大,这样会导致MOS管V2(三极管)不完全导通(Ib*β<Ic),有饱和状态变成放大状态,这样端口输 ...
随机推荐
- spring mvc: Hibernate验证器(字段不能为空,在1-150自己)
spring mvc: Hibernate验证器(字段不能为空,在1-150自己) 准备: 下载Hibernate Validator库 - Hibernate Validator.解压缩hibern ...
- 理解django的多对多ManyToManyField
转自:http://luozhaoyu.iteye.com/blog/1510635 对于第一次碰到django这样类activerecord的ORM,初学者可能比较疑惑的是ManyToManyFie ...
- linux入门总结
linux的核心概念知识: linux软件是开源免费的,而linux是由Unix演变而成,Unix是由MINIX演变而成. 2000年以后,linux系统日趋成熟,涌现大量基于linux服务平 ...
- flask学习(四):debug模式
一. 设置debug模式 1. flask 1.0之前 在app.run()中传入一个关键字参数debug,app.run(debug=True),就设置当前项目为debug模式 2. flask 1 ...
- torch7框架 深度学习(1)
前面已经安装好了torch,下面就来看看如何在torch框架上搭建深度学习模型,我一直觉得源码结合原理是机器学习最好的学习途径.所以我们从分析一个简单的案例开始吧. 参考Supervised Lear ...
- 【转】ubuntu下如何将笔记本自带的键盘关闭
想必大家都经历过这样的情况:在使用usb接口的外接键盘的时候,很容易按到笔记本自带的键盘,从而导致输入错误.尤其是你将外接键盘放在笔记本键盘上面的时候.怎么解决这个问题呢? 搜索之后,找到了答案.注意 ...
- MySQL相关问题总结
希望此贴能够将MySQL安装周围的问题总结清楚,也免得自己再遇到问题时而不知所措.本帖中所有关于MySQL的问题均涉及到两个平台:Ubuntu 和 Windows(本人没有Mac) 问题1:MySQL ...
- day7-python类反射
一.概述 一般的高阶语言都有反射的功能特性,python也不例外,网上资料显示,python支持类反射和模块反射,今天就先学习一下类反射的相关知识,模块反射后续再展开把.Python的类反射用于把字符 ...
- 八、dbms_rls(实现精细访问控制)
1.概述 本报只适用于Oracle Enterprise Edition,它用于实现精细访问控制,并且精细访问控制是通过在SQL语句中动态增加谓词(WHERE子句)来实现的.通过使用ORACLE的精细 ...
- Spring Framework Artifacts
GroupId ArtifactId Description org.springframework spring-aop Proxy-based AOP support org.springfram ...