AVR单片机定时器使用总结TC0.docx
《AVR单片机定时器使用总结TC0.docx》由会员分享,可在线阅读,更多相关《AVR单片机定时器使用总结TC0.docx(11页珍藏版)》请在冰豆网上搜索。
AVR单片机定时器使用总结TC0
AVR单片机定时器使用总结T0
一、普通模式:
普通模式(WGM01:
0=0)为最简单的工作模式。
在此模式下计数器不停地累加。
计到8比特的最大值后(TOP=0xFF),由于数值溢出计数器简单地返回到最小值0x00重新开始。
在TCNT0为零的同一个定时器时钟里T/C溢出标志TOV0置位。
此时TOV0有点象第9位,只是只能置位,不会清零。
但由于定时器中断服务程序能够自动清零TOV0,因此可以通过软件提高定时器的分辨率。
在普通模式下没有什么需要特殊考虑的,用户可以随时写入新的计数器数值。
输出比较单元可以用来产生中断。
但是不推荐在普通模式下利用输出比较来产生波形,因为这会占用太多的CPU时间。
TCCR0:
FOC0
WGM00
COM01
COM00
WGM01
CS02
CS01
CS00
分频
HEX
0
0
0
0
0
0
0
1
1
01
0
0
0
0
0
0
1
0
8
01
0
0
0
0
0
0
1
1
64
03
0
0
0
0
0
1
0
0
256
04
0
0
0
0
0
1
0
1
1024
05
0
0
0
0
0
1
1
0
下降沿触发
0
0
0
0
0
1
1
1
上升沿触发
`该模式一般用来定时中断。
使用步骤:
1、计算确定TCNT0初值;
2、设工作方式,置初值;
3、开中断;
二、CTC(比较匹配时清零定时器)模式
在CTC模式(WGM01:
0=2)下OCR0寄存器用于调节计数器的分辨率。
当计数器的数值TCNT0等于OCR0时计数器清零。
OCR0定义了计数TOP值,亦即计数器的分辨率。
这个模式使得用户可以很容易地控制比较匹配输出的频率,也简化了外部事件计数的操作。
CTC模式的时序图为Figure31。
计数器数值TCNT0一直累加到TCNT0与OCR0匹配,然后TCNT0清零。
利用OCF0标志可以在计数器数值达到TOP时产生中断。
在中断服务程序里可以更新TOP的数值。
由于CTC模式没有双缓冲功能,在计数器以无预分频器或很低的预分频器工作的时候将TOP更改为接近BOTTOM的数值时要小心。
如果写入的OCR0数值小于当前TCNT0的数值,计数器将丢失一次比较匹配。
在下一次比较匹配发生之前,计数器不得不先计数到最大值0xFF,然后再从0x00开始计数到OCF0。
为了在CTC模式下得到波形输出,可以设置OC0在每次比较匹配发生时改变逻辑电平。
这可以通过设置COM01:
0=1来完成。
在期望获得OC0输出之前,首先要将其端口设置为输出。
波形发生器能够产生的最大频率为fOC0=fclk_I/O/2(OCR0=0x00)。
频率由如下
公式确定:
变量N代表预分频因子(1、8、64、或1024)。
TCCR0:
FOC0
WGM00
COM01
COM00
WGM01
CS02
CS01
CS00
OC0
0
0
0
1
1
0
0
1
取反
方波
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
1
清零
低
0
1
0
0
1
1
1
0
0
1
0
1
0
0
1
1
1
0
0
1
置位
高
0
1
0
0
1
1
1
0
0
1
0
1
三、快速PWM模式:
快速PWM模式(WGM01:
0=3)可用来产生高频的PWM波形。
快速PWM模式与其他PWM模式的不同之处是其单斜坡工作方式。
计数器从BOTTOM计到MAX,然后立即回到BOTTOM重新开始。
对于普通的比较输出模式,输出比较引脚OC0在TCNT0与OCR0匹配时清零,在BOTTOM时置位;对于反向比较输出模式,OC0的动作正好相反。
由于使用了单斜坡模式,快速PWM模式的工作频率比使用双斜坡的相位修正PWM模式高一倍。
此高频操作特性使得快速PWM模式十分适合于功率调节,整流和DAC应用。
高频可以减小外部元器件(电感,电容)的物理尺寸,从而降低系统成本。
工作于快速PWM模式时,计数器的数值一直增加到MAX,然后在后面的一个时钟周期清零。
具体的时序图为Figure32。
图中柱状的TCNT0表示这是单边斜坡操作。
方框图同时包含了普通的PWM输出以及反向PWM输出。
TCNT0斜坡上的短水平线表示OCR0和TCNT0的比较匹配。
计时器数值达到MAX时T/C溢出标志TOV0置位。
如果中断使能,在中断服务程序可以更新比较值。
工作于快速PWM模式时,比较单元可以在OC0引脚上输出PWM波形。
设置COM01:
0为2可以产生普通的PWM信号;为3则可以产生反向PWM波形(参见P79Table40)。
要想在引脚上得到输出信号还必须将OC0的数据方向设置为输出。
产生PWM波形的机理是OC0寄存器在OCR0TCNT0匹配时置位(或清零),以及在计数器清零(从MAX变为BOTTOM)的那一个定时器时钟周期清零(或置位)。
输出的PWM频率可以通过如下公式计算得到:
变量N代表分频因子(1、8、64、256或1024)。
OCR0寄存器为极限值时表示快速PWM模式的一些特殊情况。
若OCR0等BOTTOM,输出为出现在第MAX+1个定时器时钟周期的窄脉冲;OCR0为MAX时,根据COM01:
0的设定,输出恒为高电平或低电平。
通过设定OC0在比较匹配时进行逻辑电平取反(COM01:
0=1),可以得到占空比为50%的周期信号。
OCR0为0时信号有最高频率foc2=fclk_I/O/2。
这个特性类似于CTC模式下的OC0取反操作,不同之处在于快速PWM模式具有双缓冲。
TCCR0:
FOC0
WGM00
COM01
COM00
WGM01
CS02
CS01
CS00
OC0
0
1
0
0
1
——
——
——
普通
0
1
0
1
1
——
——
——
保留
0
1
1
0
1
——
——
——
匹配时OC0清零,TOP时OC0置位
0
1
1
1
1
——
——
——
匹配时OC0A置位,TOP时OC0清零
四、相位修正PWM模式:
相位修正PWM模式(WGM01:
0=1)为用户提供了一个获得高精度相位修PWM波形的方法。
此模式基于双斜坡操作。
计时器重复地从BOTTOM计到MAX,然后又从MAX倒退回到BOTTOM。
在一般的比较输出模式下,当计时器往MAX数时若发生了TCNT0与OCR0的匹配,OC0将清零为低电平;而在计时器往BOTTOM计数时若发生了TCNT0与OCR0的匹配,OC0将置位为高电平。
工作于反向输出比较时则正好相反。
与单斜坡操作相比,双斜坡操作可获得的最大频率要小。
但由于其对称的特性,十分适合于电机控制。
相位修正PWM模式的PWM精度固定为8比特。
计时器不断地累加直到MAX,然后开始减计数。
在一个定时器时钟周期里TCNT0的值等于MAX。
图中TCNT0的数值用柱状图表示,以说明双斜坡操作。
本图同时说明了普通PWM的输出和反向PWM的输出。
TCNT0斜坡上的小横条表示OCR0与TCNT0的比较匹配。
当计时器达到BOTTOM时T/C溢出标志位TOV0置位。
此标志位可用来产生中断。
工作于相位修正PWM模式时,比较单元可以在OC0引脚产生PWM波形:
将COM01:
0设置为2产生普通相位的PWM,设置COM01:
0为3产生反向PWM信号(参见P79Table41)。
要想在引脚上得到输出信号还必须将OC0的数据方向设置为输出。
OCR0和TCNT0比较匹配发生时OC0寄存器将产生相应的清零或置位操作,从而产生PWM波形。
工作于相位修正模式时PWM频率可由下式公式获得:
变量N表示预分频因子(1、8、64、256或1024)。
OCR0寄存器处于极值代表了相位修正PWM模式的一些特殊情况。
在普通PWM模式下,若OCR0等于BOTTOM,输出一直保持为低电平;若OCR0等于MAX,则输出保持为高电平。
反向PWM模式则正好相反。
在Figure33的第2个周期,虽然没有发生比较匹配,OCn也出现了一个从高到低的跳变。
其目的是保证波形在BOTTOM两侧的对称。
没有比较匹配时有两种情况会出现跳变:
•如Figure33所示,OCR0A的值从MAX改变为其他数据。
当OCR0A值为MAX时,引脚OCn的输出应该与前面降序记数比较匹配的结果相同。
为了保证波形在BOTTOM两侧的对称,当T/C的数值为MAX时,引脚OCn的输出又必须符合后面升序记数比较匹配的结果。
•定时器从一个比OCR0A高的值开始记数,并因而丢失了一次比较匹配。
系统因此引入发生OCn却仍然有跳变的现象。
TCCR0:
FOC0
WGM00
COM01
COM00
WGM01
CS02
CS01
CS00
OC0
0
1
0
0
0
——
——
——
普通
0
1
0
1
0
——
——
——
保留
0
1
1
0
0
——
——
——
升序匹配清零OC0;降序时匹配将置位OC0
0
1
1
1
0
——
——
——
升序匹配置位OC0;降序比较匹配将清零OC0
***中断屏蔽寄存器:
1:
允许中断,0:
屏蔽中断
7——OCIE2:
T/C2输出比较匹配中断使能;
6——TOIE2:
T/C2溢出中断使能
5——TICIE1:
T/C1输入捕捉中断使能
4——OCIE1A:
T/C1输出比较A匹配中断使能
3——OCIE1B:
T/C1输出比较B匹配中断使能
2——TOIE1:
T/C1溢出中断使能
1——OCIE0:
T/C0输出比较匹配中断使能
0——TOIE0:
T/C0溢出中断使能
PWM控制电路的基本构成及工作原理:
开关电源一般都采用脉冲宽度调制(PWM)技术,其特点是频率高,效率高,功率密度高,可靠性高。
然而,由于其开关器件工作在高频通断状态,高频的快速瞬变过程本身就是一电磁骚扰(EMD)源,它产生的EMI信号有很宽的频率范围,又有一定的幅度。
若把这种电源直接用于数字设备,则设备产生的EMI信号会变得更加强烈和复杂。
本文从开关电源的工作原理出发,探讨抑制传导干扰的EMI滤波器的设计以及对辐射EMI的抑制。
[点击在新窗口查看原始图片]1开关电源产生EMI的机理数字设备中的逻辑关系是用脉冲信号来表示的。
为便于分析,把这种脉冲信号适当简化,用图1所示的脉冲串表示。
根据傅里叶级数展开的方法,可用式
(1)计算出信号所有各次谐波的电平。
[点击在新窗口查看原始图片]式中:
An为脉冲中第n次谐波的电平;Vo为脉冲的电平;T为脉冲串的周期;tw为脉冲宽度;tr为脉冲的上升时间和下降时间。
开关电源具有各式各样的电路形式,但它们的核心部分都是一个高电压、大电流的受控脉冲信号源。
假定某PWM开关电源脉冲信号的主要参数为:
Vo=500V,T=2×10-5s,tw=10-5s,tr=×10-6s,则其谐波电平如图2所示。
图2中开关电源内脉冲信号产生的谐波电平,对于其他电子设备来说即是EMI信号,这些谐波电平可以从对电源线的传导干扰(频率范围为~30MHz)和电场辐射干扰(频率范围为30~1000MHz)的测量中反映出来。
在图2中,基波电平约160dBμV,500MHz约30dBμV,所以,要把开关电源的EMI电平都控制在标准规定的限值内,是有一定难度的。
[点击在新窗口查看原始图片]2开关电源EMI滤波器的电路设计当开关电源的谐波电平在低频段(频率范围~30MHz)表现在电源线上时,称之为传导干扰。
要抑制传导干扰相对比较容易,只要使用适当的EMI滤波器,就能将其在电源线上的EMI信号电平抑制在相关标准规定的限值内。
要使EMI滤波器对EMI信号有最佳的衰减性能,则滤波器阻抗应与电源阻抗失配,失配越厉害,实现的衰减越理想,得到的插入损耗特性就越好。
也就是说,如果噪音源内阻是低阻抗的,则与之对接的EMI滤波器的输入阻抗应该是高阻抗(如电感量很大的串联电感);如果噪音源内阻是高阻抗的,则EMI滤波器的输入阻抗应该是低阻抗(如容量很大的并联电容)。
这个原则也是设计抑制开关电源EMI滤波器必须遵循的。
几乎所有设备的传导干扰都包含共模噪音和差模噪音,开关电源也不例外。
共模干扰是由于载流导体与大地之间的电位差产生的,其特点是两条线上的杂讯电压是同电位同向的;而差模干扰则是由于载流导体之间的电位差产生的,其特点是两条线上的杂讯电压是同电位反向的。
通常,线路上干扰电压的这两种分量是同时存在的。
由于线路阻抗的不平衡,两种分量在传输中会互相转变,情况十分复杂。
典型的EMI滤波器包含了共模杂讯和差模杂讯两部分的抑制电路,如图3所示。
[点击在新窗口查看原始图片]图中:
差模抑制电容Cx1,~μF;差模抑制电感L1,L2100~130μH;共模抑制电容Cy1,Cy2<10000pF;共模抑制电感L15~25mH。
设计时,必须使共模滤波电路和差模滤波电路的谐振频率明显低于开关电源的工作频率,一般要低于10kHz,即[点击在新窗口查看原始图片]在实际使用中,由于设备所产生的共模和差模的成分不一样,可适当增加或减少滤波元件。
具体电路的调整一般要经过EMI试验后才能有满意的结果,安装滤波电路时一定要保证接地良好,并且输入端和输出端要良好隔离,否则,起不到滤波的效果。
开关电源所产生的干扰以共模干扰为主,在设计滤波电路时可尝试去掉差模电感,再增加一级共模滤波电感。
常采用如图4所示的滤波电路,可使开关电源的传导干扰下降了近30dB,比CISOR22标准的限值低了近6dB以上。
还有一个设计原则是不要过于追求滤波效果而造成成本过高,只要达到EMC标准的限值要求并有一定的余量(一般可控制在6dB左右)即可。
3辐射EMI的抑制措施如前所述,开关电源是一个很强的骚扰源,它来源于开关器件的高频通断和输出整流二极管反向恢复。
很强的电磁骚扰信号通过空间辐射和电源线的传导而干扰邻近的敏感设备。
除了功率开关管和高频整流二极管外,产生辐射干扰的主要元器件还有脉冲变压器及滤波电感等。
虽然,功率开关管的快速通断给开关电源带来了更高的效益,但是,也带来了更强的高频辐射。
要降低辐射干扰,可应用电压缓冲电路,如在开关管两端并联RCD缓冲电路,或电流缓冲电路,如在开关管的集电极上串联20~80μH的电感。
电感在功率开关管导通时能避免集电极电流突然增大,同时也可以减少整流电路中冲击电流的影响。
功率开关管的集电极是一个强干扰源,开关管的散热片应接到开关管的发射极上,以确保集电极与散热片之间由于分布电容而产生的电流流入主电路中。
为减少散热片和机壳的分布电容,散热片应尽量远离机壳,如有条件的话,可采用有屏蔽措施的开关管散热片。
整流二极管应采用恢复电荷小,且反向恢复时间短的,如肖特基管,最好是选用反向恢复呈软特性的。
另外在肖特基管两端套磁珠和并联RC吸收网络均可减少干扰,电阻、电容的取值可为几Ω和数千pF,电容引线应尽可能短,以减少引线电感。
实际使用中一般采用具有软恢复特性的整流二极管,并在二极管两端并接小电容来消除电路的寄生振荡。
[点击在新窗口查看原始图片]负载电流越大,续流结束时流经整流二极管的电流也越大,二极管反向恢复的时间也越长,则尖峰电流的影响也越大。
采用多个整流二极管并联来分担负载电流,可以降低短路尖峰电流的影响。
开关电源必须屏蔽,采用模块式全密封结构,建议用1mm以上厚度的镀锌钢板,屏蔽层必须良好接地。
在高频脉冲变压器初、次级之间加一屏蔽层并接地,可以抑制干扰的电场耦合。
将高频脉冲变压器、输出滤波电感等磁性元件加上屏蔽罩,可以将磁力线限制在磁阻小的屏蔽体内。
根据以上设计思路,对辐射干扰超过标准限值20dB左右的某开关电源,采用了一些在实验室容易实现的措施,进行了如下的改进:
——在所有整流二极管两端并470pF电容;——在开关管G极的输入端并50pF电容,与原有的39Ω电阻形成一RC低通滤波器;——在各输出滤波电容(电解电容)上并一μF电容;——在整流二极管管脚上套一小磁珠;——改善屏蔽体的接地。
经过上述改进后,该电源就可以通过辐射干扰测试的限值要求。
4结语随着电子产品的电磁兼容性日益受到重视,抑制开关电源的EMI,提高电子产品的质量,使之符合有关标准或规范,已成为电子产品设计者越来越关注的问题。
本文是在分析干扰产生机理、以及大量实践的基础上,提出了行之有效的抑制措施。