打印

CSD调试中的噪声问题

[复制链接]
3065|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大家好,我正在用USB-I2C bridge 调试CY8C21434单片机的CSD模块,仅测试单个独立按键,可是发现噪声异常大,触摸按键无**常工作,我调了几天仍没找到原因,现在很着急,希望得到各位高手的指点,谢谢。
调试代码如下:
#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules

typedef struct I2C_regs
{
    INT state; //BYTE state;
    INT raw_counts; //WORD raw_counts;
    INT baseline; //WORD baseline;
    INT diff; //WORD diff;
} I2C_REGS;
I2C_REGS reg_info;

void main()
{
  EzI2Cs_SetRamBuffer(sizeof(reg_info), 0, (BYTE *) &reg_info);
  M8C_EnableGInt;
  EzI2Cs_Start();
  CSD_Start();
  CSD_InitializeBaselines();
  CSD_SetDefaultFingerThresholds();
  while (1){
  
        CSD_ScanAllSensors();
        CSD_UpdateAllBaselines();
        M8C_DisableGInt;
        reg_info.raw_counts = CSD_waSnsResult[0];
        reg_info.baseline = CSD_waSnsBaseline[0];
        reg_info.state = (CSD_baSnsOnMask[0] & 1)*10;
        reg_info.diff = CSD_waSnsDiff[0];
        M8C_EnableGInt;
         }
}

参数设置:

调试波形(未按下时):


手指按下 时:




红色的为原始计数值
绿色的为基线
蓝色的为差值
黑色的为按键开启状态

从上图可知,噪声大的完全超出范围,并且我觉得 计数差值=原始计数值-基线值, 但上图似乎并不满足条件,希望得到大家的帮助和指点。
沙发
jxin| | 2009-8-26 10:17 | 只看该作者
此图片来自QQ空间, 未经允许不可引用

使用特权

评论回复
板凳
englishilove|  楼主 | 2009-8-26 10:26 | 只看该作者
参数设置图形:
手指未按波形:

手指按下波形:

使用特权

评论回复
地板
momo803| | 2009-9-7 15:59 | 只看该作者
原因:
1. 板子设计不够好,肯定没按cypress 建议做。
2. 参数设定的不太合适。

使用特权

评论回复
5
eveliqingwen| | 2013-7-16 18:41 | 只看该作者
楼主,你的问题是否解决?解决的办法是什么?可以分享一下吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝