CN105302226A - 一种基于apb总线的多功能模式定时器电路 - Google Patents

一种基于apb总线的多功能模式定时器电路 Download PDF

Info

Publication number
CN105302226A
CN105302226A CN201510728974.6A CN201510728974A CN105302226A CN 105302226 A CN105302226 A CN 105302226A CN 201510728974 A CN201510728974 A CN 201510728974A CN 105302226 A CN105302226 A CN 105302226A
Authority
CN
China
Prior art keywords
value
signal
register
timer
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510728974.6A
Other languages
English (en)
Other versions
CN105302226B (zh
Inventor
王兴友
彭和平
于立新
庄伟�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN201510728974.6A priority Critical patent/CN105302226B/zh
Publication of CN105302226A publication Critical patent/CN105302226A/zh
Application granted granted Critical
Publication of CN105302226B publication Critical patent/CN105302226B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种基于APB总线的多功能模式定时器电路,本发明通过APB接口挂接在SoC电路内部APB总线上;定时器包括APB接口模块、可配置寄存器组、预分频器、计数器、捕获模块及控制单元。通过配置,定时器可分别工作在普通模式、捕获模式、快速PWM模式及相位与频率修正的PWM模式等四种模式下。定时器工作快速PWM模式及相位与频率修正的PWM模式时,采用了两个独立的匹配单元,可以进行独立的比较,输出两路频率相同而占空比不同的波形信号;定时器相关寄存器采用缓冲模式设计,保证了输出波形完整性和连续性。定时器在捕获模式下,可以对输入信号进行捕获,对输入信号进行了抑噪处理,小于4个系统时钟周期的电平抖动都将被滤除。

Description

一种基于APB总线的多功能模式定时器电路
技术领域
本发明属于电路设计领域,用于SoC芯片设计,涉及一种基于APB总线的多功能模式定时器电路。
背景技术
随着设计工艺的发展,IC设计水平的不断提高,使得片上SoC的设计成为目前一种主流技术,并成为未来IC设计发展的必然趋势。SoC的设计从整个系统性能要求出发,把微处理器、总线结构、存储器模块、模拟/数字IP等集成到单个芯片上,并且各个功能模块采用标准的总线协议进行连接。一般SoC芯片内部都配有定时器模块,因此本发明设计了一种基于APB总线的多功能定时器电路,用于采用APB总线的SoC设计中,具有易于集成和可重用性。目前SoC芯片中集成的定时模块一方面功能模式单一,另一方面若产生的PWM信输出频率发生改变时,不能够产生完整的波形,因此目前的定时器已不能满足各种控制系统对定时器的需求。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供的一种基于APB总线多功能模式定时器电路,用一个定时器实现了4种功能模式;定时器内部设计了两个独立的匹配单元,每个比较单元具有独立的管脚进行波形输出,因此可以同时输出两路波形信号;定时器的控制逻辑相关寄存器采用了缓冲模式,增加了3个缓冲器,保证了输出的PWM信号连续性和完整波性;为了便于系统对定时器的控制,定时器在条件满足时,能够产生4类中断请求信号。
本发明的技术方案是:一种基于APB总线的多功能模式定时器电路,包括APB接口模块、可配置寄存器组、预分频器、计数器、捕获模块及控制单元;
APB接口:APB接口与定时器外部的APB总线连接,应答APB总线的读写访问,转换为对定时器内部寄存器的读写操作;在APB总线写周器,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置为高电平,并产生中断输出信号。
本发明与现有技术相比的优点在于:
1、本发明的定时器设计了四种功能模式,能够产生各种频率的方波信号,以及频率和占空比可变的PWM信号,定时器工作在捕获模式时,还可以对输入的信号进行捕获,因此能满足各种控制系统对定时器的需求,
2、本发明的定时器工作快速PWM模式及相位与频率修正的PWM模式时,采用了两个独立匹配单元,进行独立的比较,输出频率相同而占空比不同的两路波形信号。控制单元对相关寄存器采用缓冲模式设计,增加了3个缓冲器,保证了PWM信号输出波形的连续性和完整性。
3、本发明的定时器工作在捕获模式时,对输入信号进行了滤波处理,可以滤除小于4个时钟周期的脉冲信号。
附图说明
图1是本发明定时器电路的逻辑框图;
图2是APB接口模块框图;
图3是可配置寄存器组模块框图;
图4是预分配器模块框图;
图5是计数器模块框图;
图6是捕获模块逻辑框图;
图7是控制单元逻辑框图。
具体实施方式
如图1所示,本发明一种基于APB总线的多功能定时器电路,包括APB接口模块、可配置寄存器组、预分频器、计数器、捕获模块、及控制单元。通过APB接口对可配置寄存器组内寄存器的进行读/写操作,配置定时器的工作模式,进而控制整个定时器的工作过程。
如图2所示为APB接口模块框图,左侧的信号是模块与APB总线的连接信号,包括:片信号psel,使能信号pneable,读写控制信号pwrite,地址信号paddr,写数据信号pwdata,读数据信号prdata。模块右侧的输入信号包括:可配寄存器组的输出信号cntrol、pretop、cloadtop、cloada、cloadb、catchval,预分配器的当前计数值preval,以及计数器的当前计数值cntval。APB接口作用是应答APB总线的读/写访问,转换为对定时器内部寄存器的读/写操作。在APB总线写周期,当信号psel、pneable、pwrite有效时,对paddr进行译码,产生对可配置寄存器组内寄存器写操作信号rwsel[5:0]、rwr及wdata。在APB总线读周期,当信号psel、pneable有效时,对paddr进行译码,选择对应的模块右侧输入信号,赋给信号prdata。
如图3所示为可配置寄存器组模块框图。可配置寄存器组包括6个可配置寄存器,包括控制寄存器、预置值寄存器、计数值Top寄存器、比较匹配寄存器A、比较匹配寄存器B、捕获值寄存器。当输入信号rwsel[0]与rwr为高电平时,把输入信号wdata的值赋给控制寄存器,该寄存器值输出到control信号,其中control[0]用于设置定时器的启动和关闭,为1时,定时器启动,为0时定时器关闭;control[2:1]用于设置定时器的工作模式,00时为普通模式,01时为捕获模式,10时为快速PWM模式,11时为相位与频率修正PWM模式;control[3]用于设置定时器处于捕获模式时采样沿的选择,1为上升沿采样,0为下降沿采样。当输入信号rwsel[1]与rwr为高电平时,把输入信号wdata的值赋给预置值寄存器,该寄存器的值输出到pretop信号,送入预分频器提供起始分频的预置值;当输入信号rwsel[2]与rwr为高电平时,把输入信号wdata的值赋给计数值Top寄存器,该寄存器的值输出到cloadtop信号,送入控制单元,在控制单元内与计数器当前计数值进行比较,产生计数器控制信号及定时器输出信号;当输入信号rwsel[3]与rwr为高电平时,把输入信号wdata的值赋给比较匹配寄存器A,该寄存器的值输出到cloada信号,送入控制单元与计数器的当前计数值进行比较,根据比较结果,产生定时器输出信号outa;当输入信号rwsel[4]与rwr为高电平时,把输入信号wdata的值赋给比较匹配寄存器B,该寄存器的值输出到cloadb信号,送入控制单元与计数器的当前计数值进行比较,产生定时器输出信号outb;当输入信号rwsel[5]与rwr为高电平时,把输入信号wdata的值赋给捕获值寄存器,作为捕获事件的参考值,当cwr信号有效时,把输入的计数器的当前计数值cntval赋给捕获值寄存器,为捕获事件发时的捕获值。
如图4所示为预分频器的模块框图。预分频器为减法计数器,当输入信号conrol[0]为1时,即定时器启动,预分频器开始工作,加载输入信号pretop的值,每个时钟周期作减1计数,当预分频器的计数值减到0时,产生一个时钟周期的Tick信号,并重新加载输入信号pretop的值,重新开始减1计数。预分频器的当前计数值输出到preval信号,送入可配置寄存器组。计数值从pretop的值减到0为一个计数周期,通过不断循环计数周期,预分频器不间断产生Tick信号。
如图5所示为计数器的模块框图,计数器为可加/减计数器。在接收的Tick信号有效时,若控制单元给出的direction信号为1时,作减1计数,为0时,作加1计数。接收到控制单元的cntclr清零信号后,计数器的计数值清零,重新开始计数。计数器的当前计数值输出到cntval信号,送入到控制单元和可配寄存器组。
如图6所示为捕获模块的逻辑框图。捕获模块包括滤波电路和边沿检测电路。由控制单元给出的catchen信号有效后,滤波电路开始工作。滤波电路对定时器输入信号cin进行抑噪处理,若cin的脉冲宽度大于4个时钟周期,则cin输出到cvalid信号,若输入信号cin的脉冲宽度小于4个时钟周期,则输入被作为毛刺滤掉了,cvaild信号的值保持不变。边沿检测电路对信号cvalid进行边沿采样,若输入信号control[3]为1时,作上升沿采样,为0时,作下降沿采样,采样到有效边沿时,产生一个时钟周期的脉冲信号,输出到信号catchin,送入控制单元。
如图7所示为控制单元的逻辑框图。控制单元为时序控制逻辑电路,控制整个定时器的工作,包括模式控制电路、输出控制电路、比较单元、2个匹配单元、3个缓冲器。控制单元的输入信号包括:可配置寄存器组输出control[2:0]、cloadtop、cloada、cloadb,计数器输出信号cntval,以及捕获模块的输出catchin。控制单元的输出信号包括两部分,一部分为送给定时器其他模块的控制信号cwr、catchen、cntclr、direction,其中cwr为捕获寄存器赋值信号,catchen捕获使能信号,cntclr为计数器清零信号,direction为计数器计数方向控制信号;另一部分为定时器电路的波形输出信号outa、outb和中断输出信号inta、intb、intc、intd。
当信号contrl[0]为1时,模式控制电路开始工作,根据信号contrl[2:1]判断电路的工作模式。
当contrl[2:1]为00时,定时器处于普通工作模式。模式控制电路将输出信号direction置为0。信号cloadtop直接送入到比较单元与信号cntval进行比较,若两个值相等,比较单元有效overflow信号,模式控制电路产生计数器清零信号cntclr;输出控制电路将outa信号反向后输出,同时有效溢出中断信号inta。
当contrl[2:1]为01时,定时器处于捕获工作模式。模式控制电路将输出信号direction置为0,将捕获使能信号catchen置为1(该信号在其他模式置为0),当检测到输入信号catchin有效时,产生捕获寄存器赋值信号cwr;输出控制电路检测到输入信号catchin有效,有效捕获中断信号intb。
当contrl[2:1]为10时,定时器电路处于快速PWM模式。模式控制电路将输出信号direction置为0。输入信号cloadtop送到缓冲器T,缓冲器T的输出cloadtop_t送入到比较单元,与输入信号cntval进行比较,若两个值相等,比较单元有效overflow信号。模式控制电路检测到overflow信号有效,产生计数器清零信号cntclr,产生3个缓冲器的加载信号bload。信号cloada、cloadb值分别送入缓冲器A、B,缓冲器输出信号cloada_b、cloadb_b与输入信号cntval在匹配单元A、B内分别进行比较,若两个值相等,匹配单元A、B有效输出信号matcha、matchb。输出控制电路检测到matcha有效,将输出outa置为低电平,有效匹配中断信号intc,检测到matchb有效,将输出outb置为低电平,有效匹配中断信号intd。输出控制电路检测到overflow信号有效,将输出outa、outb置高电平,同时有效溢出中断信号inta。
当contrl[2:1]为11时,定时器电路处于相位与频率修正PWM模式。模式控制电路将输出信号direction置为0,输入信号cloadtop送到缓冲器T,缓冲器T的输出cloadtop_t送入到比较单元,与输入信号cntval进行比较,若两个值相等,将信号direction置为1,在direction信号为1期间,cntval的值与0进行比较,若两个值相等,则比较单元有效overflow信号。模式控制电路检测到overflow信号有效,产生3个缓冲器的加载信号bload。信号cloada、cloadb值分别送入缓冲器A、B,缓冲器输出信号cloada_b、cloadb_b与信号cntval在匹配单元A、B内分别进行比较,若两个值相等,匹配单元A、B有效信号matcha、matchb。输出控制电路检测到matcha有效,有效匹配中断信号intc,若信号direction为0时,输出outa置为低电平,若信号direction为高1时,将输出outa置高电平;输出控制电路检测到matchb有效,有效匹配中断信号intd,若信号direction为0时,输出outb置为低电平,若信号direction为高1时,将输出outb置高电平。输出控制电路检测到overflow信号有效,将有效溢出中断信号inta。
定时器可分别工作在普通模式、捕获模式、快速PWM模式及相位与频率修正的PWM模式下,在每种模式下定时器的具体工作过程为:
在普通模式下,定时器输出方波信号。设置控制寄存器的值control[2:1]为00,设置预分频器预置值寄存器pretop的值,设置计数值top寄存器cloadtop的值,设置定时器控制寄存器control[1]为1,则定时器开始工作。预分频器从pretop的值,开始减1计数,预分频器溢出时(即当前计数值preval等于0),产生一个时钟周期Tick脉冲信号,重新加载pretop的值,重新开始计数。控制单元将输出信号direction置为0,计数器作加法计数,每检测到一次Tick信号有效,计数器的计数值加1。控制单元把计数器的当前计数值cntval与colaodtop进行比较,若二者的数值相等,有效overflow信号,将输出管脚outa进行反向输出,有效溢出中断信号inta,有效计数器清零信号cntclr。计数器检测到信号cntclr有效,将计数值自动置为0,重新开始计数。
在捕获模式下,定时器不输出波形信号,而是对定时器输入信号cin进行捕获。设置控制寄存器的值control[2:1]为01,设置预分频器预置值寄存器pretop的值,设置定时器控制寄存器control[1]为1,则定时器开始工作。预分频器从pretop的值,开始减1计数,预分频器溢出时(即当前计数值preval等于0),产生一个时钟周期Tick脉冲信号,重新加载pretop的值,重新开始计数。控制单元将输出信号direction置为0,计数器作加法计数,每检测到一次Tick信号有效,计数器的计数值加1,计数器的计数值达到最大值后,从0重新开始计数。控制单元将捕获使能信号catchen置为1,捕获模块开始工作。捕获模块先对定时器输入信号cin进行抑噪处理,所有的小于4个时钟周期的电平变化都被作为毛刺滤掉了,当检测到cin的有效边沿时,产生捕获有效信号catchin。当控制单元检测到信号catchin有效时,则有效捕获赋值信号cwr,有效捕获中断信号intb。可配置寄存器组检测到信号cwr有效时,将计数器的当前计数值cntval保存至捕获值寄存器中。
在快速PWM模式下,可以输出频率和占空比均可调的PWM波形。设置控制寄存器的值control[2:1]为10,设置预分频器预置值寄存器pretop值,设置计数值top寄存器cloadtop的值,设置定时器控制寄存器control[1]为1,则定时器开始工作。预分频器从pretop的值,开始作减1计数,当预分频器溢出时(即当前计数值preval等于0),产生一个时钟周期Tick脉冲信号,重新加载pretop的值,重新开始计数。控制单元将输出信号direction置为0,计数器作加法计数,采用单斜坡的方式工作,每检测到一次Tick信号有效,计数器的计数值加1。控制单元把计数器的计数值top寄存器的值cloadtop置入缓冲器,缓冲器的输出值与计数器的当前计数值cntval进行比较,若两个值相等,有效overflow信号、计数器清零信号cntclr、3个缓冲器的加载信号bload。控制单元将匹配寄存器A的值送入缓冲器A,缓冲器的输出值与计数器的当前计数值cntval进行比较,若两个值相等,将输出outa置为低电平,有效匹配中断信号intc。控制单元将匹配寄存器B的值送入缓冲器B,缓冲器的输出值与计数器的当前计数值cntval进行比较,若两个值相等,将输出outb置为低电平,有效匹配中断信号intd。在overflow信号有效时,控制单元将输出outa、outb置为高电平,同时有效溢出中断信号inta。计数器检测到信号cntclr有效,计数值自动置为0,重新开始计数。比较匹配寄存器A、B和计数值top寄存器在该模式下使用双缓冲模式,控制单元内部的设计了3个缓冲器,对这3个寄存器的读和写都将直接改变对应寄存器的值,而不会立即影响缓冲器的值,在overflow信号有效时(即bload信号有效),缓冲器的值被更新,这样保证了在计数器一个计数周期内,定时器能输出连续的完整波形。
在相位与频率修正的PWM模式下,定时器能够输出相位与频率均可调的PWM信号。设置控制寄存器的值control[2:1]为11,设置预置值寄存器pretop的值,设置计数值top寄存器的cloadtop值,设置定时器控制寄存器control[1]为1,则定时器开始工作。预分频器从pretop的值开始作减1计数,当预分频器溢出时(即当前的计数值preval等于0),产生一个时钟周期Tick脉冲信号,重新加载pretop的值,重新开始计数。在该模式下,计数器采用双斜坡的方式工作,每检测到一次Tick信号有效,若控制单元输出信号direction为0时,计数器加1计数,为1时,计数器减1计数。控制单元先将信号direction置为0,将计数值top寄存器cloadtop的值置入缓冲器,缓冲器输出值与计数器当前计数值cntval进行比较,若两个值相等,将信号direction置为1,在direction信号为1期间,计数器当前计数值cntval与0进行比较,若两个值相等,将信号direction置为0,有效overflow信号、溢出中断信号inta、3个缓冲器的加载信号bload。控制单元将匹配寄存器A送入缓冲器,缓冲器输出值与计数器的当前计数值cntval进行比较,若两个值相等,有效匹配中断信号intc,若信号direction为0时,将输出outa置为低电平,若信号direction为高1时,将输出outa置高电平。控制单元将匹配寄存器B送入缓冲器,缓冲器输出值与计数器的当前计数值cntval分别进行比较,若两个值相等,有效匹配中断信号intd,若信号direction为0时,将输出outb置为低电平,若信号direction为高1时,将输出outb置高电平。与快速PWM模式相同,比较匹配寄存器A、B和计数值top寄存器也采用双缓冲模式,控制单元内部的设计了3个缓冲器,对这3个寄存器的读和写都将直接改变对应寄存器的值,而不会立即影响缓冲器的值,在overflow信号有效时(即bload信号有效),缓冲器的值被更新,这样保证了在计数器一个计数周期内,定时器能输出连续的完整波形。

Claims (1)

1.一种基于APB总线的多功能模式定时器电路,其特征在于:包括APB接口模块、可配置寄存器组、预分频器、计数器、捕获模块及控制单元;
APB接口:APB接口与定时器外部的APB总线连接,应答APB总线的读写访问,转换为对定时器内部寄存器的读写操作;在APB总线写周器,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置为高电平,并产生中断输出信号。
CN201510728974.6A 2015-10-30 2015-10-30 一种基于apb总线的多功能模式定时器电路 Expired - Fee Related CN105302226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510728974.6A CN105302226B (zh) 2015-10-30 2015-10-30 一种基于apb总线的多功能模式定时器电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510728974.6A CN105302226B (zh) 2015-10-30 2015-10-30 一种基于apb总线的多功能模式定时器电路

Publications (2)

Publication Number Publication Date
CN105302226A true CN105302226A (zh) 2016-02-03
CN105302226B CN105302226B (zh) 2018-01-16

Family

ID=55199599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510728974.6A Expired - Fee Related CN105302226B (zh) 2015-10-30 2015-10-30 一种基于apb总线的多功能模式定时器电路

Country Status (1)

Country Link
CN (1) CN105302226B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760330A (zh) * 2016-02-22 2016-07-13 中国兵器工业集团第二四研究所苏州研发中心 一种带apb接口的多路频率采集电路
CN105790737A (zh) * 2016-03-14 2016-07-20 深圳市博巨兴实业发展有限公司 一种超级timer
CN106374893A (zh) * 2016-09-22 2017-02-01 北方电子研究院安徽有限公司 一种嵌入式SoC系统中通用死区可配置PWM波生成电路
CN107358978A (zh) * 2017-06-15 2017-11-17 西安微电子技术研究所 一种兼容定时和性能计数的可配置装置
CN111581149A (zh) * 2020-04-24 2020-08-25 希翼微电子(嘉兴)有限公司 可重构地址重映射低功耗多功能定时器
CN111697949A (zh) * 2020-06-19 2020-09-22 西安微电子技术研究所 一种面向多元信号产生和检测的控制系统及控制方法
CN115097901A (zh) * 2022-08-22 2022-09-23 苏州聚元微电子股份有限公司 具有变频计数特性的多模式时基单元系统及计数控制方法
CN116436588A (zh) * 2023-04-17 2023-07-14 北京中科昊芯科技有限公司 一种高精度信号捕获量测的装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263450B1 (en) * 1998-10-09 2001-07-17 Celestica North America Inc. Programmable and resettable multifunction processor timer
CN101344875A (zh) * 2008-08-15 2009-01-14 北京中星微电子有限公司 一种片上集成系统SoC的APB总线桥
CN102457268A (zh) * 2010-10-15 2012-05-16 北京德威特电力系统自动化有限公司 32位捕获寄存器的实现方法
CN104571263A (zh) * 2014-12-30 2015-04-29 北京时代民芯科技有限公司 一种片上定时器
CN204595839U (zh) * 2014-12-30 2015-08-26 珠海欧比特控制工程股份有限公司 基于apb接口的通用定时器模块ip核

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263450B1 (en) * 1998-10-09 2001-07-17 Celestica North America Inc. Programmable and resettable multifunction processor timer
CN101344875A (zh) * 2008-08-15 2009-01-14 北京中星微电子有限公司 一种片上集成系统SoC的APB总线桥
CN102457268A (zh) * 2010-10-15 2012-05-16 北京德威特电力系统自动化有限公司 32位捕获寄存器的实现方法
CN104571263A (zh) * 2014-12-30 2015-04-29 北京时代民芯科技有限公司 一种片上定时器
CN204595839U (zh) * 2014-12-30 2015-08-26 珠海欧比特控制工程股份有限公司 基于apb接口的通用定时器模块ip核

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760330A (zh) * 2016-02-22 2016-07-13 中国兵器工业集团第二四研究所苏州研发中心 一种带apb接口的多路频率采集电路
CN105760330B (zh) * 2016-02-22 2019-03-19 中国兵器工业集团第二一四研究所苏州研发中心 一种带apb接口的多路频率采集电路
CN105790737A (zh) * 2016-03-14 2016-07-20 深圳市博巨兴实业发展有限公司 一种超级timer
CN106374893B (zh) * 2016-09-22 2019-06-04 北方电子研究院安徽有限公司 一种嵌入式SoC系统中通用死区可配置PWM波生成电路
CN106374893A (zh) * 2016-09-22 2017-02-01 北方电子研究院安徽有限公司 一种嵌入式SoC系统中通用死区可配置PWM波生成电路
CN107358978B (zh) * 2017-06-15 2020-06-23 西安微电子技术研究所 一种兼容定时和性能计数的可配置装置
CN107358978A (zh) * 2017-06-15 2017-11-17 西安微电子技术研究所 一种兼容定时和性能计数的可配置装置
CN111581149A (zh) * 2020-04-24 2020-08-25 希翼微电子(嘉兴)有限公司 可重构地址重映射低功耗多功能定时器
CN111697949A (zh) * 2020-06-19 2020-09-22 西安微电子技术研究所 一种面向多元信号产生和检测的控制系统及控制方法
CN111697949B (zh) * 2020-06-19 2023-02-07 西安微电子技术研究所 一种面向多元信号产生和检测的控制系统及控制方法
CN115097901A (zh) * 2022-08-22 2022-09-23 苏州聚元微电子股份有限公司 具有变频计数特性的多模式时基单元系统及计数控制方法
CN116436588A (zh) * 2023-04-17 2023-07-14 北京中科昊芯科技有限公司 一种高精度信号捕获量测的装置
CN116436588B (zh) * 2023-04-17 2024-04-16 北京中科昊芯科技有限公司 一种高精度信号捕获量测的装置

Also Published As

Publication number Publication date
CN105302226B (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
CN105302226A (zh) 一种基于apb总线的多功能模式定时器电路
CN103440216B (zh) 一种通过i2c从设备调试mcu的芯片及方法
US8719613B2 (en) Single-wire serial interface with delay module for full clock rate data communication between master and slave devices
CN105760330B (zh) 一种带apb接口的多路频率采集电路
US11016525B1 (en) Clock control circuit and clock control method
WO2013059987A1 (zh) 降低动态功耗的方法和电子设备
CN106489109A (zh) 一种单片机系统和用于单片机系统的复位方法
CN104571263A (zh) 一种片上定时器
CN103716031B (zh) 无极性rs485接口电路实现转换速率增强的方法及电路
CN104714907A (zh) 一种pci总线转换为isa和apb总线设计方法
CN103684698A (zh) 数据信号的处理方法和装置
CN103744322B (zh) 一种控制信号生成电路
CN104063223A (zh) 一种fpga实现软件编程器件可控看门狗功能的方法
CN109783933A (zh) 一种ahb总线访问片上sram的桥接方法
CN103064477A (zh) 一种服务器主板设计方法
CN103401743A (zh) 一种i2c总线消除干扰信号的方法和装置
CN106445854A (zh) 支持串行接口透明传输的方法及系统
CN108153511A (zh) 一种星载定长数字信号的毛刺滤除方法
CN103412615A (zh) 一种用于uart接口芯片的无毛刺自适应时钟切换方法
CN210693808U (zh) 一种pwm信号电平持续时间检测电路
CN104168524A (zh) 数字功放设备的控制电路及其控制方法
CN103198695B (zh) 一种基于cpld或fpga的多通道信号灯状态检测器
CN106917679A (zh) 一种发动机爆震信号处理方法、装置及发动机
CN105224481A (zh) Pwm在输入模式下传输数据的实现方式
CN102999961A (zh) 一种维根码数据的采集方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180116

Termination date: 20201030