脉冲宽度调制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。

PWM之所以要配置这么多的寄存器是(表中只有少部分不用配置),应因为基本上是定时器不仅有PWM输出还有间隔定时器、方波输出、外部事件计数器、分频器、输入脉冲间隔测量、输入信号的高/低电平宽度的测量、延迟计数器、单触发脉冲输出功能。

首先配置PER0中的TAU0EN为1,允许输入时钟的供应。再用TPS0来分频得到CK01、CK00这两个时钟(在选择的通道0和通道1是的时钟时可以选择一个时钟作为两个时钟,当然也可以一个通道一个时钟)。

接下来是控制定时器单元启停的TE0、TS0、TT0,其中TE0

也就是说在这里我们不用配置。

TS0和TSH0寄存器是触发寄存器,用于初始化定时器/计数器寄存器0n (TCR0n)并开始各通道的计数操作。(启用)

TT0和TTH0寄存器为用于停止各通道的计数操作的触发寄存器。(停用)

接下来是控制输出寄存器TOE0、TO0、TOL0、TOM0,其中TOE0寄存器用于允许或禁止各通道的定时器输出。TO0寄存器是各通道的定时器输出的缓冲器寄存器。TOL0寄存器是用于控制各通道定时器输出电平的寄存器。TOM0寄存器用于控制各通道的定时器输出模式。(这里我们选择TOM0的TOM01为1:从属通道输出模式)

接下来是TMR0xH和TMR0xL。TMR0n寄存器包括两个8位寄存器,用于设置通道n的操作模式。该寄存器用于选择工作时钟(fMCK),选择计数时钟,选择主/从属,选择16位或8位定时器(仅限通道1),设置开始触发和捕捉触发,选择定时器输入的有效边沿,以及设置操作模式(间隔、捕捉、事件计数器、单计数、或者捕捉&单计数)

最后是TDR0xH和TDR0xL,其中初值和空占比都是由此设置。在执行连续读取或连续写入操作的过程中,如果插入对TDR0nH的写操作、对TDR0nL的读操作或者对TCR0n的读操作,则将不能保证读取操作和写入操作的数据。

相关文档
最新文档