一种基于apb总线的多功能模式定时器电路的制作方法_4

文档序号:9546616阅读:来源:国知局
缓冲模式,控制单元内部的设计了 3个缓冲器,对这3个寄存器的读和写都将直接改变对应寄存器的值,而不会立即影响缓冲器的值,在overflow信号有效时(即bload信号有效),缓冲器的值被更新,这样保证了在计数器一个计数周期内,定时器能输出连续的完整波形。
【主权项】
1.一种基于APB总线的多功能模式定时器电路,其特征在于:包括APB接口模块、可配置寄存器组、预分频器、计数器、捕获模块及控制单元; APB接口:APB接口与定时器外部的APB总线连接,应答APB总线的读写访问,转换为对定时器内部寄存器的读写操作;在六?8总线写周器,APB接口输出写操作信号到可配置寄存器组;在APB总线读周期,APB接口接收可配置寄存器组输出、预分频器的输出及计数器的输出,选择对应的数据送到APB总线上; 可配置寄存器组:接收APB接口输出的写信号、控制单元输出的捕获赋值信号、计数器输出信号及预分频器输出信号;包括控制寄存器、预置值寄存器、比较匹配寄存器A、比较匹配寄存器B、计数值Top寄存器、捕获值寄存器6个可配置寄存器;其中控制寄存器用于设置定时器的工作模式、启动和关闭、输入信号捕获时边沿的选择;预置值寄存器提供预分频器起始分频的预置值;比较匹配寄存器A、比较匹配寄存器B的值分别送入控制单元,在控制单元内与计数器的当前计数值分别进行比较,控制单元根据比较结果分别产生定时器输出信号A、定时器输出信号B及中断输出信号;计数值Top寄存器送入控制单元,用于设置计数器计数的最大值;捕获值寄存器用于在捕获事件发生时,存放计数器的计数值; 预分频器:接收可配置寄存器组输出的定时器启动信号,加载可配置寄存器组输出的预置值寄存器的值,每个时钟周期作减1计数,当计数值减到0时,产生一个时钟周期的脉冲信号Tick,重新加载预置值寄存器的值,重新开始; 计数器:接收控制单元输出的方向控制及清零信号,以及接收预分频器的脉冲信号Tick ;在Tick有效时,若方向控制信号为1时,作减1计数,若方向控制信号为0时,作加1计数;当计数器收到清零信号时,计数值置为0,重新开始计数; 捕获模块:接收控制单元输出的捕获使能信号,并监测外部输入信号,当检测到外部输入信号有效的上升沿或下降沿,产生捕获有效信号,送入控制单元; 控制单元:控制单元接收可配置寄存器组输出信号、计数器输出信号、捕获模块捕获有效信号;所述的控制单元为时序控制逻辑电路,控制整个定时器的工作;设置定时器的工作模式,产生计数器的方向控制及清零信号;在捕获模式时,产生捕获寄存器赋值信号、捕获使能信号,在其他模式下,把计数器的计数值与可配置寄存器组中相关寄存器的值进行比较,产生定时器输出信号A、定时器输出信号B及中断输出信号; 定时器通过配置分为工作在普通模式、捕获模式、快速PWM模式及相位与频率修正的PWM模式四种模式; 在普通模式下,定时器输出1路频率可调的方波信号;在该模式下,定时器工作流程如下:通过APB接口对可配置寄存器组内寄存器进行配置,设置控制寄存器的值将定时器置于普通模式,设置预置值寄存器的值、计数值top寄存器的值,启动定时器;定时器启动后,预分频器开始工作,加载预置值寄存器的值,每个时钟周期减1计数,当计数值减到0时,产生一个时钟周期的Tick脉冲信号,并重新加载预置值寄存器的值,重新开始减1计数;计数器从0开始加1计数,每检测到一次Tick信号有效,计数器的计数值加1 ;控制单元把计数器的当前计数值与计数值top寄存器的值进行比较,在二者的值相等时,将定时器输出信号A进行反向后输出,产生中断信号和计数器清零信号;计数器检测到控制单元输出的清零信号有效,将计数器的计数值设置为0,重新开始计数; 在捕获模式下,定时器不输出波形信号,而是对定时器的输入信号进行捕获;在该模式下,定时器工作流程如下:通过APB接口对可配置寄存器组内寄存器进行配置,设置控制寄存器的值将定时器置于捕获模式,设置预置值寄存器的值,启动定时器;定时器启动后,预分频器开始工作,加载预置值寄存器的值,每个时钟周期作减1计数,当计数值减到0时,产生一个时钟周期的Tick脉冲信号,并重新加载预置值寄存器的值,重新开始减1计数;计数器从0开始加1计数,每检测到一次Tick信号有效,计数器的计数值加1,计数器的计数值达到最大值后,从0开始重新计数;控制单元将输出的捕获使能信号有效,捕获模块开始工作;捕获模块先对定时器输入信号进行抑噪处理,所有的小于4个时钟周期的电平变化都被作为毛刺滤掉了,当检测到输入信号的有效边沿时,产生捕获有效信号;控制单元检测到捕获有效信号有效时,产生捕获赋值信号和中断输出信号;可配置寄存器组检测捕获赋值信号有效时,将计数器的当前计数值写入到捕获值寄存器; 在快速PWM模式,定时器输出2路频率和占空比均为可调的PWM波形;在该模式下,定时器工作流程如下:通过APB接口对可配置寄存器组内寄存器进行配置,设置控制寄存器的值将定时器置于快速PWM模式,设置预置值寄存器的值、计数值top寄存器的值、比较匹配寄存器A的值、比较匹配寄存器B的值,启动定时器;定时器启动后,预分频器开始工作,加载预置值寄存器的值,每个时钟周期减1计数,当计数值减到0时,产生一个时钟周期的Tick脉冲信号,并重新加载预置值寄存器的值,重新开始减1计数;计数器从0开始加1计数,每检测到一次Tick信号有效,计数器的计数值加1 ;控制单元把计数值top寄存器的值送入内部的缓冲器,缓冲器的输出值与计数器的当前计数值进行比较,在二者的值相等时,控制单元将输出信号A、B置为高电平、有效中断输出信号及计数器清零信号;控制单元将匹配寄存器A、B的值分别送入内部缓冲器,缓冲器的输出值与计数器的当前计数值分别进行比较,若两个值相等,分别将输出信号A、B置为低电平,并产生中断信号;计数器检测到控制单元输出的清零信号有效,将计数值设置为0,重新开始计数; 在相位与频率修正PWM模式下,定时器输出2路相位与频率均可调的PWM信号;在该模式下,定时器工作流程如下:通过APB接口对可配置寄存器组内寄存器进行配置,设置控制寄存器的值将定时器置于相位与频率修正PWM模式,设置预置值寄存器的值、计数值top寄存器的值、比较匹配寄存器A的值、比较匹配寄存器B的值,启动定时器;定时器启动后,预分频器开始工作,加载预置值寄存器的值,每个时钟周期减1计数,当计数值减到0时,产生一个时钟周期的Tick脉冲信号,并重新加载预置值寄存器的值,重新开始减1计数;在该模式下,计数器采用双斜坡的方式工作,每检测到一次Tick信号有效,控制单元输出的方向控制信号为0时,计数器加1计数,为1时,计数器减1计数;控制单元先将方向控制信号置为0,把计数值top寄存器的值送入内部的缓冲器,缓冲器的输出值与计数器的当前计数值进行比较,在二者的值相等时,控制单元将方向控制信号置为1 ;在方向控制信号为1期间,冲计数器的当前计数值与0,进行比较,在二者值相等时,控制单元将计数方向控制信号置为0,并产生中断输出信号;控制单元将匹配寄存器A、B的值分别送入内部缓冲器,缓冲器的输出值与计数器的当前计数值分别进行比较,在二者值相等时,若方向控制信号为0,将输出信号A、B置为低电平,若为1将输出信号A、B置为高电平,并产生中断输出信号。
【专利摘要】一种基于APB总线的多功能模式定时器电路,本发明通过APB接口挂接在SoC电路内部APB总线上;定时器包括APB接口模块、可配置寄存器组、预分频器、计数器、捕获模块及控制单元。通过配置,定时器可分别工作在普通模式、捕获模式、快速PWM模式及相位与频率修正的PWM模式等四种模式下。定时器工作快速PWM模式及相位与频率修正的PWM模式时,采用了两个独立的匹配单元,可以进行独立的比较,输出两路频率相同而占空比不同的波形信号;定时器相关寄存器采用缓冲模式设计,保证了输出波形完整性和连续性。定时器在捕获模式下,可以对输入信号进行捕获,对输入信号进行了抑噪处理,小于4个系统时钟周期的电平抖动都将被滤除。
【IPC分类】G06F1/08
【公开号】CN105302226
【申请号】CN201510728974
【发明人】王兴友, 彭和平, 于立新, 庄伟
【申请人】北京时代民芯科技有限公司, 北京微电子技术研究所
【公开日】2016年2月3日
【申请日】2015年10月30日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1