【S3C2410中文版第10章】主要介绍了S3C2410处理器中的脉宽调制(PWM)定时器模块。该处理器具有5个16位定时器,其中定时器0、1、2和3支持PWM功能,而定时器4仅有一个内部定时器,无输出引脚。定时器0还配备了一个死区发生器,适用于大电流应用。 每个定时器都有5种不同的时钟分频器,分别为1/2、1/4、1/8、1/16和TCLK。这些定时器从对应的8位预定标器接收时钟信号,而8位预定标器由TCFG0和TCFG1寄存器中的数值分隔PCLK。定时器计数缓冲寄存器(TCNTBn)存储初始值,启用定时器后,该值会加载到递减计数器中。同样,定时器比较缓冲寄存器(TCMPBn)也存储初始值,用于比较寄存器,确保在频率和占空比变化时能产生稳定的输出。 每个定时器有一个16位的递减计数器,由定时器时钟驱动。当计数器减到0时,会产生中断请求通知CPU,同时TCNTBn的值自动加载到计数器以进行下一次操作。但若在运行模式中清除定时器使能位(TCONn),则TCNTBn的值将不再加载。 PWM功能的核心在于比较寄存器TCMPBn。当递减计数器的值与比较寄存器的值相同,定时器控制逻辑会改变输出电平,决定了PWM输出的高电平时间,即占空比。定时器具有自动再装入模式或一次脉冲模式,并且具有死区发生器功能。 定时器的输出频率受8位预定标器和4位分频器的设置影响。例如,当PCLK为66.5MHz时,通过不同分频器设置可以实现不同范围的频率输出。通过调整预定标器和分频器的值,可以精确控制PWM输出的时间间隔。 定时器的基本操作包括初始化、自动加载和双缓冲模式。在双缓冲模式下,设置新的定时器值不会影响当前定时周期,保证了定时器操作的连续性。初始化定时器时,需要设置手动更新位,然后写入初始值到TCNTBn和TCMPBn,接着设置起始位启动定时器。如果需要更新定时器值,需再次执行手动更新。 在实际应用中,注意TOUT反相器开关位的配置,因为其值改变会影响TOUTn的逻辑值。因此,反相器开关位的配置应与手动更新位同步进行。 总结来看,S3C2410的PWM定时器提供了一套灵活、可配置的定时方案,支持多种时钟分频、占空比设置以及双缓冲模式,适用于需要精确控制时序和输出波形的应用场景,如电机控制、LED亮度调节等。
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助