打印
[Atmel]

每天跟我读点资料:SAM D21数据手册(227)

[复制链接]
717|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
30.6.3.3 抖动操作

   TCC 支持在16,32,64PWM周期帧内的脉宽或周期抖动。
   在一个由几个PWM周期组成的帧里抖动是由额外的一些扩展时钟周期组成,这提高了输出脉宽或周期的平

均值精度。额外的时钟周期被添加上一些比较匹配信号,一次一个时间,通过“蓝噪声”的过程,最大限度

地减少对产生抖动图案忽隐忽现。

   抖动使得能够提高平均输出脉冲宽度或周期的精度。

   抖动是通过向CTRLA寄存器中的相应增强分辨率位写1来实现的(CTRLA.RESOLUTION)。

   。DITH4 每16PWM帧使能抖动
   。DITH5 每32PWM帧使能抖动
   。DITH6 每64PWM帧使能抖动   

DITHERCY比特在COUNT,PER和CCx定义了插入到帧中的扩展周期的数量(DITHERCY比特从独立的COUNT,PER或者

CCx寄存器)。COUNT,PER,CCx剩余的比特定义自己的比较值。

  伪代码,给予额外的周期插入的周期是:

  int extra_cycle(resolution, dithercy, cycle){
int MASK;
int value
switch (resolution){
DITH4: MASK = 0x0f;
DITH5: MASK = 0x1f;
DITH6: MASK = 0x3f;
}
value = cycle * dithercy;
if (((MASK & value) + dithercy) > MASK)
return 1;
return 0;
}

1.7.3.1:关于周期抖动

写PER里边的DITHERCY将导致一个平均PWM周期,配置通过下列公式:
如果DITH4模式使能,最后4个比特指示出了相应的DITHERCY的值,余下的比特是相应的RER/CCx或COUNT值。

可以用以下公式计算该脉宽调制分辨率:




1.7.3.3.2:关于脉宽的抖动

在CCx中写入DITHERCY将导致由下式构成的平均PWM脉冲宽度:








相关帖子

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

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6956

帖子

67

粉丝