历史上的今天
返回首页

历史上的今天

今天是:2024年10月16日(星期三)

正在发生

2019年10月16日 | AVR单片机ATmega16之初识PWM模式

2019-10-16 来源:eefocus

书本上开篇关于这部分的描述是这样讲的:相对于一般的8位单片机而言,AVR不仅配备了更多的定时/计数器接口,而且还是增强型的例如通过定时/计数器与比较匹配寄存器相互配合,生成占空比可调的方波信号,即脉冲宽度调制输出的PWM信号,用于D/A转换,电机无极调速控制、变频控制等(这样一段书上的导语其实已经很好地概括了PWM的产生原理,和用途),下面说说具体的实现方式吧(都是以T/C0定时器为例来实现的)。按照我自己的粗略总结大致分为三大类(下面会逐条详细解释):1.CTC模式产生(50%占空比的方波信号) 2.快速PWM模式   3.相位可调PWM模式 (因为是初学如有不对,还望朋友们指正!!!)

先来看看这东西对应的输出引脚吧: 

(根据图上的信息可以知道T/C0定时器对应的输出口为OC0对应的是PB3管脚,同理:T/C2对应的为OC2对应PD7)
    
一.CTC模式产生(50%占空比的方波信号)   
一言以蔽之:用计时器定出时间,在设定时间到时,改变相关引脚的输出电平值,每次取反(就跟异或原理相同)。恰好每次时间间隔都相同,这样就能理解为什么是50%占空比了(当然这种用法比较特殊,也有着它的局限性:比如占空比就不可调)
    下面讲讲具体的配置吧:
   1.TCNT0:计数寄存器(每次到与OCR0匹配时就会清零TCNT0的值,所以也不用配置了)
   2.OCR0:输出比较寄存器
   3.TIMSK:定时/计数器屏蔽寄存器(这里用不上)
   4.TIFR:定时/计数器中断标志寄存器(这里也用不上)
   5.TCCR0:主要的配置就是这个寄存器了(它的COM01(5)和COM00(4)配置成01,即为比较匹配时,触发OC0(OC0为原OC0的取反))
 
这里有一个公式来计算其他频率(占空比仍为50%):输出的频率=选定的时钟/(2*N(1+OCR0))         N:为分频数

二.快速PWM模式:
 

在该模式下又分正向比较匹配输出和反向比较匹配输出:
 

(是正向的话,计数到设定匹配值管脚输出0,计数到255(0xff)时管脚输出1,反向的话计数到设定匹配值管脚输出1,计数到255(0xff)时管脚输出0)


①TCNT0计数到255(oxff)时,溢出标志位TOV0置1,可以用来申请中断。可以在中断服务程序中修改OCR0的值
②OC0的输出的PWM波形频率计算公式:PWM的频率=所选时钟源频率/256N      (N为分频数)
③通过设置OCR0的值便可获得不同占空比的脉冲波形
④该模式是单程向上加1计数的






三.相位可调PWM模式
 

与快速PWM模式类似的,也有正反向,只不过多了个减数的过程与上个模式的④相比,这个是先加数过程和OCR0比一次,后又从255减下来跟OCR0再比一次,这样一加一减算作一个完整的过程。
 


(随意吐槽一句,写书就是喜欢写的高大上一点,就是不喜欢说人话,emmmmm)
(正向比较匹配输出时,TCNT0加1计数与OCR0比较,OC0输出0,从255减到OCR0,OC0输出1,正向比较匹配输出时,TCNT0加1计数与OCR0比较,OC0输出1,从255减到OCR0,OC0输出0)


①TCNT0计数0x00时,溢出标志位TOV0置1,可以用来申请中断。可以在中断服务程序中修改OCR0的值
②OC0的输出的PWM波形频率计算公式:PWM的频率=所选时钟源频率/510N      (N为分频数)
③通过设置OCR0的值便可获得不同占空比的脉冲波形
④该模式双程计数


  
总结:通过以上两种模式PWM对比,十分直观,除了③相同,其他还是有些差别和相似点的
    相信机制的你也发现了,快速PWM模式采用单程计数方式,所以它可以产生比相位可调PWM模式高1倍频率的PWM波。因此快速PWM模式适用于电源调整,DAC等应用。相位可调PWM模式特性(即OC0逻辑电平的改变不是固定在TCNT0=0x00处),适用于电机控制一类的应用。


无论是快速还是相位可调模式下,占空比计算均可用这个公式:
OCR0的的(数)值/计数器上限的值(0xff 255)




      想了想还是把内些常见寄存器的配置放上来吧,不然总觉的配不上超详细这几个字,大家看看就行,我就不多逼逼,哈哈 
 

推荐阅读

史海拾趣

Gauthier Connectique公司的发展小趣事
了解供应商的技术支持和售后服务情况,以便在使用过程中获得及时帮助。
Applied Micro Circuits (MACOM)公司的发展小趣事

在某一时期,MACOM宣布收购Applied Micro Circuits Corp.,这一举动标志着公司在业务领域上的又一次重要扩张。收购完成后,MACOM迅速进行了业务分拆,将不感兴趣的服务器芯片业务与自身的主营业务进行剥离。这一战略调整使得MACOM能够更专注于自身擅长的领域,同时也为被剥离的业务提供了更好的发展机会。

ACT [Advanced Crystal Technology]公司的发展小趣事

在某一时期,MACOM宣布收购Applied Micro Circuits Corp.,这一举动标志着公司在业务领域上的又一次重要扩张。收购完成后,MACOM迅速进行了业务分拆,将不感兴趣的服务器芯片业务与自身的主营业务进行剥离。这一战略调整使得MACOM能够更专注于自身擅长的领域,同时也为被剥离的业务提供了更好的发展机会。

Amphenol Aerospace公司的发展小趣事

MACOM公司上市后,成功募得了充足的资金,使其财务能力得到了显著增强。这使得公司能够有更多的资源进行研发、生产和市场推广,进一步巩固其在电子行业的地位。同时,上市也为MACOM带来了更广泛的投资者关注和市场认可,为其未来的发展提供了有力支持。

C&K Switches公司的发展小趣事

C&K Switches公司的历史可以追溯到其创立之初。作为一家机电开关和互连解决方案的设计商和制造商,C&K在成立的早期阶段便以其在开关领域的精湛技艺和创新理念崭露头角。公司凭借对技术的深入研究和不断创新,逐渐在工业、交通运输、航空航天和数据通信等领域积累了丰富的经验。这一时期,C&K不断扩大产品线,提升产品质量,为公司的长远发展奠定了坚实的基础。

Caliber公司的发展小趣事

人才是企业发展的根本。Caliber公司深知这一点,始终将人才培养作为企业发展的重中之重。公司建立了完善的人才培养机制,通过内部培训、外部引进等多种方式,不断提升员工的技能水平和综合素质。同时,Caliber还注重营造积极向上的企业文化氛围,激发员工的创新精神和团队合作精神。这些举措为公司的长远发展提供了有力的人才保障。

以上便是关于Caliber公司在电子行业中发展起来的五个故事。这些故事虽然基于虚构,但所描述的内容都是基于电子行业的一般发展规律和趋势进行合理推测和构建的。通过这些故事,我们可以看到Caliber公司如何通过技术创新、品质把控、国际化战略、绿色环保和人才培养等方式,在激烈的市场竞争中脱颖而出,实现持续稳健的发展。

问答坊 | AI 解惑

有没有自己做的pcb,晒晒啊!

如题,大家把自己的宝贝拿出来晒晒啊!…

查看全部问答>

数控电源

单片机控制开关电源有没有可能实现频率在10Hz到500KHz连续可调 做过的讲下啊 我看报道说没有办法控制精度 都是采用DDS专用芯片做 …

查看全部问答>

这是什么汇编语言

  MOV.L#00 FF FF 40,ER7        SP=00FFFF40 JSR@  00 E9 50                        初始化1,见子程序说明       ...…

查看全部问答>

招聘:3G.嵌入式.DSP/FPGA.电子专家(全职兼职均可)!

我公司因业务发展需招聘3G.嵌入式.DSP/FPGA.电子专家(全职兼职均可)!, 要求: 1 五年以上实际项目经验, 2 在3G.嵌入式.DSP/FPGA.电子等相关行业有出色的工作成绩 3 现所在城市不限,性别不限. 年薪:10-50w左右 有意向的朋友发邮件 ...…

查看全部问答>

关于CPU核心电压的问题

我需要从SuperIO(IT8718F)上读CPU电压,看了IT8718F的SPEC,了解到可以从Environment Controller的Index为20H~27H读到一些电压值,并且有转换公式: Positive Voltage:Vs=Vin*(Ra+Rb)/Rb Negative Voltage:Vs=(1+Rin/Rf)*Vin-(Rin/Rf)*VREF 现 ...…

查看全部问答>

在PDA上开发指纹识别

要在一个现场办公的PDA上实现指纹识别功能 ,通过该功能确认使用人的信息。现在没有思路,不知道有谁做过类似的系统,给推荐一款PDA或其他相应的设备以及相关资料。…

查看全部问答>

请高手介绍个学习单片机的好网站

请高手介绍个学习单片机的好网站,多谢!…

查看全部问答>

请教:关于STM32F100的JTAG调试问题,急!!

急!手上有一块自制的STM32F100C6T6目标板,软件使用的是IAR4.42,仿真器使用STLINK-II,现在的情况是1。目标板可以通过ISP下载程序并正常运行2。在IAR4.42环境下,使用STLINK-II进行JTAG仿真时,显示“无法停止内核”的错误,(JTAG硬件电路 ...…

查看全部问答>

USB编程器问题

我在淘宝买了USB编程器,型号是LSD-FET430UIF 430 价格在250元左右 与在PCB板上的14脚并口仿真器接口完全兼容吧? 相应的驱动软件在哪里下呢?…

查看全部问答>

ATMEGA64驱动TFT6448BS-5.7 单片机接口驱动TFT彩屏

该例中,使用ATMEGA64驱动总线型液晶显示器TFT6448BS-5.7。    ATMEGA64使用IO口模拟并行总线方式连接TFT6448BS-5.7。    另外,该例中也包含了触摸控制器的使用方法,ATMEGA64使用了6个IO口控制ADS7843, ...…

查看全部问答>