S3C2410的PWM定时器
PMW是指对一个方波序列信号的占空比按照要求进行调制,而不改变信号的幅度和周期,因此脉宽调制信号是数字式的。若调制信号的频率远远大于信号接收者的分辨率,则接受者获得的是信号的平均效果,因此模拟信号可以用PWM实现。
S3C2410的PWM定时器的逻辑构造图如下:
定时器工作时先装入计数初值,再启动计数。计数结束后能产生中断请求。也可以设置重装初值,实现连续计数。但是改变初值后要等到本次计数结束才会生效。
死区是一小段时间间隔,在此时间段内,禁止两个开关同时处于开启状态。
死区是在功率控制设备中常采用的一种技术,防止两个开关同时打开起反作用。
S3C2410的timer0具有死区发生器功能,可用于控制大功率设备。
图中TOUT0为正向输出,nTOUT为反向输出,下面对应这两个信号具有死区地输出信号。
S3C2410的PWM定时器具体内构造和一些说明。
S3C2410的5个计时器都可设为DMA请求功能,但同一时刻只能有一个处于DMA功能模式下,且配置为DMA模式的定时器不会产生中断请求,只会产生DMA请求。
定时器可在任意时刻产生DMA请求信号并可以一直保持其为低电平直到定时器收到ACK信号。当其收到ACK信号时,使请求信号无效。
关于PWM的计算公式:
一道例题:
PWM的相关寄存器:
定时器初始化流程:
1. 写TCFG0,设置计数时钟的预分频值和Timer0的死区宽度;
2. 写TCFG1,选择各个定时器的分频值和DMA、中断服务;
3. 对TCNTBn分别写入计数初值和比较初值;
4. 写TCON,设置计数初值自动重装或手动重装初值;
5. 写TCON,清除手动重装初值加载位、设置正向(或反向)输出、启动计数;
6. 写TCON,禁止计数初值自动重装,停止定时器(注意:一般不使用运行控制位停止输出)
S3C2410使用手册中一个例子: