[AVR单片机] Atmega64 PD4 输入捕捉干扰滤波问题

[复制链接]
 楼主| 金色大元宝 发表于 2014-6-18 09:28 | 显示全部楼层 |阅读模式
同样的原理,同样的程序移植,STM32工作良好,AVR端口输入捕捉干扰很大。 是AVR的问题吗? 有没有什么硬件方式可以修正?

实现目的,检测PD4的脉冲输入,捕捉ICR1,使能ICNC1开启噪声抑制,但输入的时候ICR1跳变很大,

于是加入滤波算法,中位值平均滤波法,

一开始,采样12次,去掉一个最大值和一个最小值,中间10个取平均值,没多大效果,然后采样率慢慢往上加

采样20次,各去5个最大值和5个最小值,终于比较稳定了。偶尔有跳变。

追踪采样200次,各去50个最大值和50个最小值,示波器非常稳定,和STM32的输入捕捉可以媲美。

但是这个应该是AVR的问题, 示波器测试了。输入的波形很稳定。就是1个2Khz的方波,AVR不加滤波算法根本无法使用。是这样的吗?


以下为部分代码
  1. /*
  2. *********************************************************************************************************
  3. *        函 数 名: TIM1_GPIO_Config
  4. *        功能说明: 配置TIM1输出PWM时用到的I/O
  5. *        形    参:无
  6. *        返 回 值: 无
  7. *
  8. *********************************************************************************************************
  9. */
  10. static void TIM1_GPIO_Config(void)
  11. {
  12.         PWM1_DDR  &= ~(1 << PWM1_GPIO_PUL); //PD4(ICP1)口为输入捕捉口
  13.         PWM1_PORT |= (1 << PWM1_GPIO_PUL); //使能PD4的内部上拉电阻,平时该口为高电平,以便执行下降沿捕捉
  14. }
  1. /*
  2. *********************************************************************************************************
  3. *        函 数 名: TIM1_Mode_Config
  4. *        功能说明: 配置TIM1输入捕捉寄存器
  5. *        形    参:无
  6. *        返 回 值: 无

  7. *
  8. *********************************************************************************************************
  9. */
  10. static void TIM1_Mode_Config(void)
  11. {
  12.         _CLI();                        // 关总中断

  13.         TCCR1A  =  0x00; //设置为普通模式
  14.         TCCR1B |= (1 << ICNC1)|(1 << CS11); //开启输入捕捉口的噪声抑制器,时钟8分频
  15.         TCCR1B &= ~(1 << ICES1); //下降沿捕捉
  16.     TIMSK  |= (1 << TICIE1); //输入捕捉使能
  17.         TCNT1   = 0; //计数初值

  18.         _SEI();         // 开总中断
  19.    
  20. }
连续采样200次的话,对于剧烈变化的波形,反应会非常迟钝,而且增加RAM开销,有没有什么办法,用硬件来去干扰?
H2705902010 发表于 2016-1-22 16:03 | 显示全部楼层
本帖最后由 H2705902010 于 2016-1-22 16:05 编辑

我的也是!!!ATMEGA 128 T3输入捕捉,输入波形用示波器看很正常,我在捕捉中断里,对其他IO端口进行操作,异或其中一位,再用示波器测量其波形,发现根本就和输入波形对不上,偶尔有跳动,而且是频率越低,跳动越多,差异性越大,在PROTEUS 里仿真都没问题!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

82

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部