CN104571263B - 一种片上定时器 - Google Patents

一种片上定时器 Download PDF

Info

Publication number
CN104571263B
CN104571263B CN201410841846.8A CN201410841846A CN104571263B CN 104571263 B CN104571263 B CN 104571263B CN 201410841846 A CN201410841846 A CN 201410841846A CN 104571263 B CN104571263 B CN 104571263B
Authority
CN
China
Prior art keywords
output
input
capture
signal
logic
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.)
Active
Application number
CN201410841846.8A
Other languages
English (en)
Other versions
CN104571263A (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 CN201410841846.8A priority Critical patent/CN104571263B/zh
Publication of CN104571263A publication Critical patent/CN104571263A/zh
Application granted granted Critical
Publication of CN104571263B publication Critical patent/CN104571263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

一种片上定时器,包括计数器模块,捕获比较器模块,地址译码与读写逻辑,数据总线输入输出逻辑和中断寄存器与中断控制逻辑,其中计数器模块具有停止模式、增计数模式、连续计数模式、增减计数模式四种工作模式和三种计数时钟源可供选择,在捕获比较器模块设计了三个捕获比较器,最多可同时对三路不同事件发生的时间及高低电平进行捕获,并可根据配置产生定时中断,定时脉冲及输出八种模式的PWM信号,没有软件带来的误差,同时本发明定时器结构简单,易于与其他功能部件配合,方便扩展,便于在芯片上实现,提高了微控制器外设工作的灵活性。

Description

一种片上定时器
技术领域
本发明属于计算机技术领域,涉及微控制器、处理器和SoC芯片中定时器外设的设计和制造,特别是一种片上定时器。
背景技术
自从微控制器问世以来,就以其片上集成了丰富的外设,以及灵活的应用和低廉的成本,而广泛应用于工业控制、智能仪器仪表和武器装备等领域。而定时器则是微控制器中最常用的外设之一,随着应用系统对微控制器处理事务能力及灵活度需求的不断提高,当前微控制器中所采用的通过软件方式进行定时效率较低,并有误差;片上集成的定时器通常仅支持简单、单一频率下的定时,计数与中断功能,以及较少的PWM输出选择,已经很难满足日益增长的需求,所以如何使微控制器中定时器功能更强大,使用更灵活是微控制器外设设计的重要内容。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种广泛适用于微控制器、处理器及SoC的片上定时器。
本发明的技术解决方案是:一种片上定时器,包括:地址译码与读写逻辑、计数器模块、捕获比较器模块、数据总线输入输出逻辑、中断寄存器与中断控制逻辑,其中
地址译码与读写逻辑,接收地址总线ABUS<15:0>发送的片上定时器中内部的寄存器地址、读写信号RW和系统时钟MCLK,进行译码后产生用于数据总线DBUS<15:0>与内部寄存器总线Reg_D<15:0>及Reg_Dn<15:0>进行数据交换的控制信号Din_CTRL和Dout_CTRL并送至数据总线输入输出逻辑,产生读写中断寄存器的控制信号INTReg_IOC送至中断寄存器与中断控制逻辑,产生读写16位计数器控制寄存器的控制信号CNTCR_IOC送至16位计数器控制寄存器,产生读写16位计数器的控制信号CNT_IOC送至16位计数器,产生读写16位捕获比较控制寄存器的控制信号CCCRx_IOC,x=0,1,2分别送至16位捕获比较控制寄存器x,产生读写16位捕获比较寄存器的控制信号CCRx_IOC分别送至16位捕获比较寄存器x;
计数器模块包括16位计数器控制寄存器、时钟选择与分频逻辑、计数模式控制逻辑和16位计数器;
16位计数器控制寄存器,接收地址译码与读写逻辑发送的16位计数器控制寄存器读写信号CNTCR_IOC,接收数据总线输入输出逻辑发送的内部寄存器总线信号Reg_D<15:0>和Reg_Dn<15:0>,在CNTCR_IOC的控制下将Reg_D<15:0>和Reg_Dn<15:0>上的数据写入16位计数器控制寄存器,并输出计数器计数时钟源选择位CK_S[1:0]、时钟分频选择位CK_D[1:0]至时钟选择与分频逻辑用作输入时钟源的选择与时钟信号的分频,输出计数模式选择位Mode_S[1:0]至时钟选择与分频逻辑用作产生16位计数器计数时钟T_CLK和T_CLKN的门控信号、至计数模式控制逻辑用作产生16位计数器增减计数控制信号UP_DOWN与16位计数器清零信号SET_ZERO、同时还送至捕获比较器中的输出逻辑用作产生输出信号OUT_x,输出清零控制位T_CLR至时钟选择与分频逻辑用作时钟选择与分频的清零、至16位计数器做计数器的清零、同时还送至计数模式控制逻辑用作16位计数器增减计数控制信号UP_DOWN和16位计数器清零信号SET_ZERO的清零,输出计数器溢出中断使能位CNTIE至中断寄存器与中断控制逻辑用作产生中断请求信号IREQ;接收中断寄存器与中断控制逻辑输出的计数器中断标志位CNTIFG并写入16位计数器控制寄存器中用于表示计数器溢出中断的挂起状态;
时钟选择与分频逻辑,接收计数时钟源选择位CK_S[1:0]、时钟分频选择位CK_D[1:0],根据计数时钟源选择位CK_S[1:0]从时钟源AsCLK、SuCLK、ExCLK中选择一个时钟,然后根据时钟分频选择位CK_D[1:0]对该时钟进行1或2或4或8分频,产生定时器工作时钟S_CLK后送至中断寄存器与中断控制逻辑与捕获比较器模块中的16位捕获比较控制寄存器x、捕获逻辑x、比较逻辑x、16位捕获比较寄存器x、输出逻辑x;接收16位计数器控制寄存器发送的计数模式选择位Mode_S[1:0],接收16位计数器产生的计数器全零信号CNT_ZERO,产生16位计数器计数时钟T_CLK和T_CLKN并送至16位计数器用于计数器的计数时钟;接收16位计数器控制寄存器发送的清零控制位T_CLR信号对定时器工作时钟S_CLK进行清零;
计数模式控制逻辑,接收16位计数器控制寄存器输出的计数模式选择位Mode_S[1:0],接收16位计数器发送的计数器全零状态信号CNT_ZERO,产生16位计数器增减计数控制信号UP_DOWN与16位计数器清零信号SET_ZERO送至16位计数器用于16位计数器的增减计数与清零的控制;接收16位计数器控制寄存器发送的清零控制位T_CLR信号对计数器增减计数控制信号UP_DOWN和计数器清零信号SET_ZERO进行清零;
16位计数器,接收时钟选择与分频逻辑发送的16位计数器计数时钟T_CLK与T_CLKN,接收计数模式控制逻辑发送的计数器增减计数控制信号UP_DOWN和计数器清零信号SET_ZERO,根据计数器增减计数控制信号UP_DOWN进行增或减计数并根据SET_ZERO信号对计数器进行清零,输出计数器最高位进位信号CNT_Carry至中断寄存器与中断控制逻辑用于产生计数器溢出中断标志位CNTIFG,输出计数器全零状态信号CNT_ZERO至计数模式控制逻辑用作产生16位计数器增减计数控制信号UP_DOWN、同时还送至时钟选择与分频逻辑用作产生的16位计数器计数时钟T_CLK和T_CLKN的门控信号,产生计数值CNT<15:0>送至16位捕获比较寄存器x用作捕获模式下发生捕获操作时记录当前计数值、同时还送至比较逻辑x用作在比较模式下和16位捕获比较寄存器输出的设定值CCRx<15:0>进行比较产生比较相等信号EQU_x信号;接收16位计数器控制寄存器发送的T_CLR信号进行清零;
捕获比较模块,包括捕获比较器x,捕获比较器x包括16位捕获比较控制寄存器x、捕获逻辑x、比较逻辑x、16位捕获比较寄存器x、输出逻辑x,其中
16位捕获比较控制寄存器x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收地址译码与读写逻辑发送的16位捕获比较控制寄存器读写信号CCCRx_IOC,接收数据总线输入输出逻辑发送的内部寄存器总线信号Reg_D<15:0>和Reg_Dn<15:0>,在CCCRx_IOC的控制下将Reg_D<15:0>和Reg_Dn<15:0>上的数据写入16位捕获比较寄存器x中,输出捕获比较模式选择位Cx_Cpt_Cmp_S、捕获比较输入信号选择位Cx_IN_S[1:0]、捕获模式选择位Cx_Cpt_M[1:0]、同异步捕获选择位Cx_SAS_S至捕获逻辑x用于捕获控制,输出输出模式选择位Cx_Out_M[2:0]、输出控制位Cx_Out_Ctrl至输出逻辑x用于产生输出信号OUT_x,输出捕获比较中断使能位Cx_CCIE至中断寄存器与中断控制逻辑用于产生中断请求信号IREQ;接收中断寄存器与中断控制逻辑发送的Cx_CCIFG与Cx_CPTOVF并写入16位捕获比较控制寄存器中分别用于表示捕获比较中断的挂起状态和捕获溢出的状态;接收比较逻辑x发送的EQU_x信号,将捕获比较输入信号Cx_CC_in的值由EQU_x信号锁存到Cx_Cmp_in位;
捕获逻辑x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收16位捕获比较控制寄存器发送的捕获比较选择位Cx_Cpt_Cmp_S,捕获比较输入信号选择位Cx_IN_S[1:0]、捕获模式选择位Cx_Cpt_M[1:0]、同异步捕获选择位Cx_SAS_S,并接收外部输入的两路输入信号IN_Ax和IN_Bx,在输入信号IN_Ax或IN_Bx变化的上升沿、下降沿或上升下降双边沿进行同步或异步捕获,将捕获到的输入信号电平存入Cx_CC_in位中后送至比较逻辑x,产生捕获信号Cpt_x并送至16位捕获比较寄存器x用于将当前计数值CNT<15:0>写入16位捕获比较寄存器x,将捕获信号Cpt_x送至中断寄存器与中断控制逻辑用于产生捕获比较中断标志位Cx_CCIFGx、捕获溢出信号Cx_CPTOVF以及根据捕获比较中断使能Cx_CCIE产生中断请求信号IREQ;
比较逻辑x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收16位计数器发送的计数值CNT<15:0>和16位捕获比较寄存器输出的设定值CCRx<15:0>,判断计数值CNT<15:0>与设定值CCRx<15:0>,当两者相等时,输出状态信号EQU_x送至输出逻辑用于产生PWM信号、送至中断寄存器与中断控制逻辑用于产生捕获比较中断标志位Cx_CCIFG、同时还送至16位捕获比较控制寄存器用于将捕获比较输入信号Cx_CC_in的值由EQU_x信号锁存到Cx_Cmp_in位;
输出逻辑x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收16位捕获比较控制寄存器输出的输出模式选择位Cx_Out_M[2:0]、输出控制位Cx_Out_Ctrl,接收16位计数器控制寄存器输出的计数模式选择位Mode_S[1:0],同时还接收比较逻辑x输入的EQU_x信号,产生PWM信号并通过OUT_x输出;
16位捕获比较寄存器x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;当捕获比较器x配置为捕获模式时,接收地址译码与读写逻辑发送的16位捕获比较控制寄存器读写信号CCCRx_IOC,接收捕获逻辑发送的捕获信号Cpt_x,同时还接收16位计数器输出的计数值CNT<15:0>信号,当发生捕获时,在捕获信号Cpt_x的控制下将计数值CNT<15:0>写入寄存器中,产生片上控制系统读16位捕获比较寄存器x状态信号Rd_Stx送至中断寄存器与中断逻辑中用于产生捕获溢出状态位Cx_CPTOVF,接收地址译码与读写逻辑发送的16位捕获比较寄存器x读写信号CCRx_IOC,在捕获发生后读取16位捕获比较寄存器x的值时,将16位捕获比较寄存器x的值通过内部寄存器总线Reg_D<15:0>送至数据总线输入输出逻辑后送至数据总线DBUS<15:0>上;当捕获比较器x配置为比较模式时,接收地址译码与读写逻辑产生的16位捕获比较寄存器x读写信号CCRx_IOC,在CCRx_IOC的控制下将接收到的数据总线输入输出逻辑发出的内部寄存器总线信号Reg_D<15:0>和Reg_Dn<15:0>写入16位捕获比较寄存器x,并将此时16位捕获比较寄存器的设定值CCRx<15:0>送至比较逻辑x;
数据总线输入输出逻辑,用于数据总线DBUS<15:0>与内部寄存器的数据交换,接收地址译码与读写逻辑发出的数据总线输入信号Din_CTRL,当发生写操作时,在Din_CTRL的控制下将数据总线DBUS<15:0>上的值经差分保持器以差分形式送至内部寄存器数据总线Reg_D<15:0>和Reg_Dn<15:0>后送至片上定时器中内部的寄存器;接收地址译码与读写逻辑发出的数据总线输出信号Dout_CTRL,当发生读操作时,在Dout_CTRL的控制下将片上定时器中内部的寄存器数据总线信号Reg_D<15:0>经三态门送至数据总线DBUS<15:0>上;
中断寄存器与中断控制逻辑,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于中断逻辑工作时钟;接收16位计数器发出的最高位进位信号CNT_Carry后产生计数器溢出中断标志位CNTIFG并送至16位计数器控制寄存器,接收计数器溢出中断使能位CNTIE后产生中断请求信号IREQ;接收捕获逻辑x发送的Cpt_x信号和比较逻辑x发送的EQU_x信号产生捕获比较中断标志位Cx_CCIFG并送至16位捕获比较控制寄存器x,接收捕获比较中断使能信号Cx_CCIE产生中断请求信号IREQ;接收16位捕获比较寄存器x发出的读状态信号Rd_Stx并根据Cpt_x信号产生捕获溢出状态信号Cx_CPTOVF后送至16位捕获比较控制寄存器x中;接收片上控制系统发出的中断应答信号IRACC清除中断标志位及中断请求信号IREQ。
所述的16位计数器控制寄存器包括两位计数时钟源选择位CK_S[1:0]、两位时钟分频选择位CK_D[1:0]、两位计数模式选择位Mode_S[1:0]、计数器清零控制位T_CLR、计数器溢出中断使能位CNTIE、计数器溢出中断标志位CNTIFG以及7位保留位;计数时钟选择位CK_S[1:0]等于00时选择外部时钟ExCLK,等于01时选择辅助时钟AsCLK,等于10时选择子系统时钟SuCLK,等于11时选择外部时钟的非;分频选择位CK_D[1:0]等于00时对所选时钟进行1分频,等于01时进行2分频,等于10时进行4分频,等于11时进行8分频;计数模式选择位Mode_S[1:0]为00时等于停止模式,等于01时为增计数模式,等于10时为连续计数模式,等于11时为增/减计数模式;计数器清零位T_CLR等于1时可对计数器模块各逻辑进行清零,等于0时无效;计数器溢出中断使能位CNTIE等于1时有效,等于0时无效;计数器溢出中断标志位CNTIFG等于1时表示中断未响应,等于0时表示已响应。
所述的计数模式控制逻辑根据接收计数模式选择位Mode_S[1:0]、16位计数器全零状态信号CNT_ZERO以及捕获比较器0输出的计数值与EQU_0信号产生16位计数器增减计数控制信号UP_DOWN和16位计数器清零信号SET_ZERO的过程为,产生16位计数器增减计数控制信号UP_DOWN与16位计数器清零信号SET_ZERO,当16位计数器增减计数控制信号UP_DOWN等于0时为增计数,等于1时为减计数,16位计数器清零信号SET_ZERO等于1时为计数器置零,等于0无效;当计数模式选择位Mode_S[1:0]等于00时为计数停止模式,由计数器门控时钟实现,此时UP_DOWN信号等于0,SET_ZERO信号等于0;当计数模式选择位Mode_S[1:0]等于01时为增计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到等于捕获比较寄存器0中设置的计数值时输出EQU_0等于1信号,此时UP_DOWN信号等于0,SET_ZERO信号变为1,计数器重新从0开始增计数,SET_ZERO信号在下一时钟上升沿又变为0;当计数模式选择位Mode_S[1:0]等于10时为连续计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到0FFFFH时再加1则产生计数器全零信号CNT_ZERO等于1,此时UP_DOWN信号等于0,SET_ZERO信号变为1,计数器重新从0开始增计数,SET_ZERO信号在下一时钟上升沿又变为0;当计数模式选择位Mode_S[1:0]等于11时为增减计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到等于捕获比较寄存器0中设置的计数值时输出EQU_0等于1信号,此时UP_DOWN信号等于1,SET_ZERO保持为0,计数器开始从捕获比较寄存器0设置值进行减计数到0,然后UP_DOWN信号变为0,SET_ZERO保持为0,计数器又从0开始增计数。
所述的16位计数器中每位电路结构相同,任意一位电路结构包括计数器寄存器CNT_Reg、全加器fad_1、二输入或门or2_1、二输入或非门nor2_1、反相器inv_5、第二级寄存器dff_1、三输入与门and3_1、二输入或门or2_2、反相器inv_6、二输入与门and2_1:计数器寄存器CNT_Reg为第一级寄存器,包括四个nmos管和四个反相器,反相器inv_1和inv_2交叉耦合相接作为寄存器的存储部分,nmos_1和nmos_2作为数据存储管,栅端接寄存器读写控制信号CNT_RW,源端分别接内部寄存器数据总线Reg_Dn[i]和Reg_D[i],漏端分别接inv_1和inv_2的输入,nmos_3和nmos_4分别作为寄存器的置位和清零控制管,栅端分别接三输入与非门and3_1和二输入或门or2_2的输出,源端接地,漏端分别接inv_1和inv_2的输入端,方向器inv_3和inv_4分别接inv_2的输出和inv_1的输出,inv_3的输出为寄存器的输出CNT[i],inv_4的输出为寄存器的输出CNT_N[i];全加器fad_1的两个输入端分别接增减控制信号UP_DOWN和CNT_Reg输出CNT[i],fad_1的进位输入端为前一位电路结构输出进位Ci-1,全加器fad_1进位的输出为Ci接下一位电路结构,fad_1和的输出接反相器inv_5的输入,inv_5的输出和计数器置零信号SET_ZERO作为二输入或非门nor2_1的输入,D触发器dff_1为第二级寄存器,nor2_1的输出接dff_1的数据端,系统复位信号Sys_Rst和计数器模块清零信号T_CLR接二输入或门or2_1的输入,or2_1的输出接dff_1的异步清零端,计数器时钟T_CLKN作为第二级寄存器dff_1的计数时钟,dff_1的输出Q端,or2_1的输出以及计数器时钟T_CLK接三输入与门and3_1的三个输入,and3_1输出为第一级寄存器CNT_Reg的置位信号,or2_1的输出接反相器inv_6的输入,dff_1的输出Qn端和计数器时钟T_CLK接二输入与门and2_1的输入,inv_6的输出和and2_1的输出接二输入或非门or2_2的输入,or2_2的输出为第一级寄存器CNT_Reg的清零信号。
所述的捕获逻辑包括二输入与门and2_4、延迟单元delay_cell、二输入与门and2_3、触发器dff_4、二输入与门and2_2、二输入或非门nor2_2、二输入或非门nor2_3、触发器dff_3、触发器dff_2、反相器inv_8、三输入或门or3_1、二输入与非门nand2_1、二输入与非门nand2_2、反相器inv_7、四选一选择器mux41_1;电路结构为内部输入信号IN_Ax,外部输入信号IN_Bx,接地信号GND,接电源信号Vcc分别作为四选一选择器mux41_1的四个数据输入端,两位捕获比较输入选择位IN_S[1:0]接mux41_1的控制端,mux41的输出为捕获比较输入Cx_CC_in,Cx_CC_in分别接D触发器dff_2的时钟端和反相器inv_8的输入端,inv_8的输出接D触发器dff_3的时钟端,系统复位信号Sys_Rst和捕获比较模式选择位Cx_Cpt_Cmp_S以及二输入与门and2_4的输出接三输入或门or3_1的三个输入,三输入或门or3_1的输出分别接dff_3和dff_2的异步置位端,Cx_Cpt_Cmp_S接反相器inv_7的输入,inv_7的输出和捕获模式选择位Cx_CPT_M[1]接二输入与非门nand2_2的输入,nand2_2的输出接dff_3的数据端,inv_7的输出和捕获模式选择位Cx_CPT_M[0]接二输入与非门nand2_1的输入,nand2_1的输出接dff_2的数据端,dff_2和dff_3的两个QN输出端接二输入或非门nor2_2的输入,nor_2的输出和or3_1的输出接二输入与门and2_2的输入,and2_2的输出接D触发器dff_4的异步清零端,nor2_2的输出和延迟单元delay_cell的输出接二输入或非门nor2_3的输入,nor2_3的输出分别接dff_4的数据端和二输入与门and2_3的输入端,同步或异步捕获选择位Cx_SAS_S接and2_3另一输入端,and2_3的输出为dff_4的异步置位端,dff_4的Q端输出为捕获信号Cpt_x,Cpt_x分别接延迟单元delay_cell的输入和二输入与门and2_4的输入,delay_cell的输出接and2_4的另一输入,and2_4输出位窄脉冲信号,宽度等于或信号Cpt_x宽度。
所述的输出逻辑包括反相器inv_9、二输入或非门nor2_4、二输入与门and2_5、四输入与非门nand4_1、反相器inv_10、二输入与非门nand2_3、二输入与门and2_6、二输入与门and2_7、二输入异或门xor2_1、二输入或非门nor2_5、反相器inv_11、二输入或非门nor2_6、三输入与门and3_2、二输入或非门nor2_7、三输入或非门nor3_1、反相器inv_12、二输入异或门xor2_2、二输入与门and2_8、二输入与门and2_9、二输入或门or2_3、D触发器dff_5;电路结构为输出模式Cx_Out_M[1]接反相器inv_9的输入,inv_9的输出与输出模式Cx_Out_M[0]接二输入或非门nor2_4的输入,两位计数模式选择信号Mode_S[1:0]接二输入与门and2_5的输入,比较相等状态信号EQU_x与EQU_0和nor2_4的输出,and2_5的输出接四输入与非门nand4_1的四个输入,nand4_1的输出和比较相等信号EQU_x接二输入与门and2_6的输入,比较相等信号EQU_0接反相器inv_10的输入,inv_10的输出和nand4_1的输出接二输入与非门nand2_3的输入,nand2_3的输出和输出模式Cx_Out_M[1]接二输入与门and2_7的输入,输出模式Cx_Out_M[2]和D触发器dff_5的输出Out_x接二输入异或门xor2_1的两个输入,xor2_1的输出和and2_7的输出接二输入或非门nor2_5的输入,输出模式Cx_Out_M[0]接反相器inv_11的输入,inv_11的输出和nor2_5的输出以及and2_6的输出接三输入与门and3_2的三个输入,nor2_5的输出和and2_6的输出接二输入或非门nor2_6的输入,and3_2的输出和nor2_6的输出接二输入或非门nor2_7的输入,nor2_7的输出和输出模式Cx_Out_M[2]接二输入异或门xor2_2的输入,xor2_2的输出接D触发器dff_5的数据端,三位输出模式Cx_Out_M[2:0]接三输入或非门nor3_1的三个输入,nor3_1的输出与输出控制Cx_Out_Ctrl接二输入与门and2_9的输入,and2_9的输出接dff_5的异步置位端,输出控制Cx_Out_Ctrl接反相器inv_12的输入,inv_12的输出和nor3_1的输出接二输入与门and2_8的输入,and2_8的输出与系统复位信号Sys_Rst接二输入或门or2_3的输入,or2_3的输出接dff_5的异步清零端,dff_5的Q端输出即为输出信号Out_x。
本发明与现有技术相比的优点在于:
(1)本发明片上定时器结构简单、面积小、功耗低、易于扩展,便于在芯片上实现;
(2)本发明片上定时器可根据需要灵活配置,所产生的多种定时中断、定时脉冲及PWM信号,避免了软件带来的误差;
(3)本发明片上定时器工作流程简单,与其它功能部件的时序配合容易,提高了微控制器外设工作的灵活性;
(4)本发明中多种频率时钟源以及多路事件捕获比较,提高了微控制器处理I/O端口事务的能力和速度。
附图说明
图1为本发明一种片上可配置定时器的结构;
图2为本发明一种片上可配置定时器的工作流程;
图3为本发明计数器模块中一位计数器电路结构图;
图4是本发明捕获比较器中的捕获逻辑电路结构图;
图5是本发明捕获比较器中输出逻辑电路结构图;
图6是本发明中断标志位及中断请求电路结构图。
具体实施方式
本发明是以16位低功耗微控制器MXT0805为设计背景。在MXT0805中包含该定时器,设置定时器的目的是为了通过软件配置,使定时器更加灵活的进行定时计数功能;支持对多种事件的精确捕获功能,从而提高I/O端口处理事务的能力和速度;同时又具备多种类型的PWM输出模式。
如图1所示,一种片上定时器包括计数器模块,捕获比较器模块,地址译码与读写逻辑,数据总线输入输出逻辑和中断寄存器与中断控制逻辑。
计数器模块由16位计数器控制寄存器,时钟选择与分频逻辑,计数模式控制逻辑和16位计数器组成。在定时器工作前由系统对16位计数器控制寄存器进行配置,从而可确定计数器计数时钟源选择位CK_S[1:0],时钟分频选择位CK_D[1:0],计数模式选择位Mode_S[1:0],以及计数器溢出中断使能位CNTIE;时钟选择与分频逻辑根据计数时钟源选择位CK_S[1:0]从输入的三个不同频率的时钟源AsCLK(32KHz),SuCLK(1MHz),ExCLK(最高10MHz)中选择一个,然后根据时钟分频选择位CK_D[1:0]对所选时钟进行1或2或4或8分频,从而产生定时器工作时钟S_CLK;在对16位计数器进行一些操作时,需使计数器停止,是通过对S_CLK进行门控从而产生16位计数器计数时钟T_CLK和T_CLKN;计数模式控制逻辑根据计数模式选择位Mode_S[1:0],16位计数器全零状态信号CNT_ZERO以及捕获比较器0输出的计数值与捕获比较寄存器值相等信号EQU_0信号,产生16位计数器增减计数控制信号UP_DOWN和16位计数器清零信号SET_ZERO;16位计数器在计数模式控制逻辑的控制下根据计数时钟T_CLK和T_CLKN进行增或减计数,并输出计数器最高位进位信号CNT_Carry,计数器全零状态信号CNT_ZERO;中断逻辑根据最高位进位信号CNT_Carry产生计数器溢出中断标志位CNTIFG,并根据溢出中断使能CNTIE产生计数器溢出中断请求信号。计数器模块的清零由系统复位信号Sys_Rst或16位计数器控制寄存器中的清零控制位T_CLR产生。系统可对16位计数器的计数值进行读写操作,并立即生效。
捕获比较模块,由至少3个相同的捕获比较器组成(具体实施方式中以捕获比较模块包括3个捕获比较器为例进行说明),每个捕获比较器由16位捕获比较控制寄存器,捕获逻辑,比较逻辑,16位捕获比较寄存器,输出逻辑组成;每个捕获比较器通过对各自的16位捕获比较控制寄存器进行配置,从而可确定捕获比较模式选择位Cx_Cpt_Cmp_S(x=0或1或2,分别表示三个捕获比较器中的信号,下同),捕获比较输入信号选择位Cx_IN_S[1:0],捕获模式选择位Cx_Cpt_M[1:0],同异步捕获选择位Cx_SAS_S,输出模式选择位Cx_Out_M[2:0],输出控制位Cx_Out_Ctrl,捕获比较中断使能位Cx_CCIE;当捕获比较器配置为捕获模式时,捕获逻辑根据捕获比较输入信号选择位Cx_IN_S[1:0],捕获模式选择位Cx_Cpt_M[1:0],同异步捕获选择位Cx_SAS_S,对内部IN_Ax或外部IN_Bx或软件捕获源在其变化的上升沿或下降沿或上升下降双边沿进行同步或异步捕获,同时将捕获到的输入信号电平存入Cx_CC_in位中,并产生捕获信号Cpt_x,通过判断捕获比较器中前一捕获值是否读取来产生捕获溢出信号Cx_CPTOVF,如果发生溢出需由系统对捕获溢出位Cx_CPTOVF进行清除后进入下一次捕获等待中,如果未发生溢出,则将此刻16位计数器计数值复制到该捕获比较寄存器中,并置捕获比较中断标志位Cx_CCIFG,同时根据捕获比较中断使能Cx_CCIE产生捕获比较中断请求信号;当捕获比较器配置为比较模式时,比较逻辑判断16位计数器的计数值是否等于16位捕获比较器中设定值,当二者相等时输出状态信号EQU_x到输出逻辑,并将此刻捕获比较输入信号Cx_CC_in的值由EQU_x信号锁存到Cx_Cmp_in位,并置捕获比较中断标志位Cx_CCIFG,同时根据捕获比较中断使能Cx_CCIE产生捕获比较中断请求信号;输出逻辑根据输出模式选择位Cx_Out_M[2:0],输出控制位Cx_Out_Ctrl,计数模式选择位Mode_S[1:0]以及比较逻辑输入的EQU_0与EQU_1或EQU_2信号可产生八种类型的PWM信号。特别的捕获比较器0中的输出逻辑0,仅有EQU_0一个状态信号,只能产生四种类型的PWM信号。
地址译码与读写逻辑,用于产生对内部寄存器进行读写的控制信号,定时器内部寄存器都有各自的地址,对内部寄存器进行读写操作时,地址译码与读写逻辑接受系统发出的读写信号RW,地址总线ABUS上的目标寄存器地址以及系统时钟MCLK信号,经过地址译码后,产生对内部寄存器进行读写的控制信号。
数据总线输入输出逻辑,用于系统数据总线DBUS与内部寄存器的数据交换,由输入差分保持器和输出三态门逻辑组成。当系统对定时器内部寄存器进行读操作时,通过地址译码与读写逻辑产生控制信号,将寄存器值通过内部寄存器数据总线REG_D经输出三态门送到系统数据总线DBUS上;当系统对定时器内部寄存器进行写操作时,通过地址译码与读写逻辑产生控制信号,将数据总线DBUS上值经输入差分保持器以差分形式通过内部寄存器数据总线REG_D和REG_DN写入目标寄存器中。
中断寄存器与中断控制逻辑,定时器共有4个中断源,根据中断优先级从高到底依次为捕获比较0中断、捕获比较1中断、捕获比较2中断、计数器溢出中断,中断控制逻辑接收来自计数器模块的计数器最高进位CNT_Carry以及来自捕获比较器模块的相等状态信号EQU_x(x=0或1或2,分别表示三个捕获比较器中的信号,下同),捕获信号Cpt_x产生计数器溢出标志位CNTIFG,捕获比较中断标志位Cx_CCIFG以及捕获溢出状态位Cx_CPTOVF,并根据计数器溢出使能位CNTIE和捕获比较使能位Cx_CCIE产生中断请求信号IREQ,并根据四种不同中断写中断向量寄存器值。系统响应定时器中断时发送中断应答信号IRACC并读取中断向量寄存器来判断中断源,并根据优先级响应中断,清除中断标志位。
如图2所示,定时器的工作流程为:首先配置16位计数器控制寄存器,当计数器计数模式配置为增计数模式或增/减计数模式时,捕获比较器0必须配置为比较模式,来设定16位计数器的计数值上限,然后配置三个16位捕获比较控制寄存器,如果捕获比较器配置为比较模式,则接下来配置相应的捕获比较寄存器值;接下来先对16位计数器写0进行清零操作,然后可通过两种方法启动计数器,方法一,当时钟源有效时,写计数模式Mode_S>0(计数模式为00时为停止模式,计数模式为01时为增计数模式,计数模式为10时为连续计数模式,计数模式为11时为增/减计数模式),方法二,在计数器模式配置为增模式或增/减计数模式时,向捕获比较寄存器0写入非零值;此时计数器启动,开始计数,在计数过程中如果计数器溢出,则置计数器溢出中断标志位CNTIFG如果计数器溢出中断使能CNTIE有效,则产生中断请求,响应中断时,先读取中断向量寄存器值判断中断源,然后根据中断优先级执行中断服务程序,并清除中断标志位,并继续计数;当捕获比较器配置为比较模式时,当计数值等于捕获比较器中的设定值,则产生EQU_x(x=0或1或2,分别表示三个捕获比较器中的信号,下同)信号,并置捕获比较中断标志位Cx_CCIFG,输出EQU_x信号到输出逻辑,产生定时脉冲或PWM信号,对输入信号Cx_CC_in进行锁存,并根据捕获比较中断使能Cx_CCIE产生中断请求,响应中断时,先读取中断向量寄存器值判断中断源,然后根据中断优先级执行中断服务程序,并清除中断标志位,然后返回继续计数等待下一次计数值等于捕获比较器设定值。当捕获比较器配置为捕获模式时,当输入信号或软件设定条件满足捕获条件时,产生捕获信号Cpt_x,并判断前次捕获时捕获比较寄存器是否被读取,如未读取,则产生捕获溢出,置捕获溢出位Cx_CPTOVF,并等待系统清除后重新进入捕获等待,如前次捕获时捕获比较器已读取则将当前16位计数器计数值复制到捕获比较寄存器中,置捕获比较中断标志位Cx_CCIFG,将当前输入信号存入Cx_CC_in位,并根据捕获比较中断使能Cx_CCIE产生中断请求,响应中断时,先读取捕获比较寄存器值,再读取中断向量寄存器值判断中断源,然后根据中断优先级执行中断服务程序,并清除中断标志位,并返回计数等待下一次捕获产生。
如图3所示,16位计数器一位电路结构为:第一级寄存器为计数器寄存器CNT_Reg,有单独的地址,系统可对其进行读写操作,由四个nmos管和四个反相器组成,反相器inv_1和inv_2交叉耦合相接作为寄存器的存储部分,nmos_1和nmos_2作为数据存储管,栅端接寄存器读写控制信号CNT_RW,源端分别接内部寄存器数据总线Reg_Dn[i]和Reg_D[i],漏端分别接inv_1和inv_2的输入,nmos_3和nmos_4分别作为寄存器的置位和清零控制管,栅端分别接三输入与非门and3_1和二输入或门or2_2的输出,源端接地,漏端分别接inv_1和inv_2的输入端,方向器inv_3和inv_4分别接inv_2的输出和inv_1的输出,inv_3的输出为寄存器的输出CNT[i],inv_4的输出为寄存器的输出CNT_N[i];全加器fad_1的两个输入端分别接增减控制信号UP_DOWN和CNT_Reg输出CNT[i],fad_1的进位输入端为前一级计数器单元输出进位Ci-1,全加器fad_1进位的输出为Ci接下一级,fad_1和的输出接反相器inv_5的输入,inv_5的输出和计数器置零信号SET_ZERO作为二输入或非门nor2_1的输入,第二级寄存器由D触发器dff_1实现,nor2_1的输出接dff_1的数据端,系统复位信号Sys_Rst和计数器模块清零信号T_CLR接二输入或门or2_1的输入,or2_1的输出接dff_1的异步清零端,计数器时钟T_CLKN作为第二级寄存器dff_1的计数时钟,dff_1的输出Q端,or2_1的输出以及计数器时钟T_CLK接三输入与门and3_1的三个输入,and3_1输出为第一级寄存器CNT_Reg的置位信号,or2_1的输出接反相器inv_6的输入,dff_1的输出Qn端和计数器时钟T_CLK接二输入与门and2_1的输入,inv_6的输出和and2_1的输出接二输入或非门or2_2的输入,or2_2的输出为第一级寄存器CNT_Reg的清零信号。
如图4所示,捕获逻辑电路结构为:内部输入信号IN_Ax(x=0或1或2,分别表示三个捕获比较器中的信号,下同),外部输入信号IN_Bx,接地信号GND,接电源信号Vcc分别作为四选一选择器mux41_1的四个数据输入端,两位捕获比较输入选择位IN_S[1:0]接mux41_1的控制端,mux41的输出为捕获比较输入Cx_CC_in,Cx_CC_in分别接D触发器dff_2的时钟端和反相器inv_8的输入端,inv_8的输出接D触发器dff_3的时钟端,系统复位信号Sys_Rst和捕获比较模式选择位Cx_Cpt_Cmp_S以及二输入与门and2_4的输出接三输入或门or3_1的三个输入分别接dff_3和dff_2的异步置位端,Cx_Cpt_Cmp_S接反相器inv_7的输入,inv_7的输出和捕获模式选择位Cx_CPT_M[1]接二输入与非门nand2_2的输入,nand2_2的输出接dff_3的数据端,inv_7的输出和捕获模式选择位Cx_CPT_M[0]接二输入与非门nand2_1的输入,nand2_1的输出接dff_2的数据端,dff_2和dff_3的两个QN输出端接二输入或非门nor2_2的输入,nor_2的输出和or3_1的输出接二输入与门and2_2的输入,and2_2的输出接D触发器dff_4的异步清零端,nor2_2的输出和延迟单元delay_cell的输出接二输入或非门nor2_3的输入,nor2_3的输出分别接dff_4的数据端和二输入与门and2_3的输入端,同步或异步捕获选择位Cx_SAS_S接and2_3另一输入端,and2_3的输出为dff_4的异步置位端,dff_4的Q端输出为捕获信号Cpt_x,Cpt_x分别接延迟单元delay_cell的输入和二输入与门and2_4的输入,delay_cell的输出接and2_4的另一输入,and2_4输出位窄脉冲信号,宽度等于或信号Cpt_x宽度。
如图5所示,输出逻辑电路结构为:输出模式Cx_Out_M[1](x=0或1或2,分别表示三个捕获比较器中的信号,下同)接反相器inv_9的输入,inv_9的输出与输出模式Cx_Out_M[0]接二输入或非门nor2_4的输入,两位计数模式选择信号Mode_S[1:0]接二输入与门and2_5的输入,比较相等状态信号EQU_x与EQU_0和nor2_4的输出,and2_5的输出接四输入与非门nand4_1的四个输入,nand4_1的输出和比较相等信号EQU_x接二输入与门and2_6的输入,比较相等信号EQU_0接反相器inv_10的输入,inv_10的输出和nand4_1的输出接二输入与非门nand2_3的输入,nand2_3的输出和输出模式Cx_Out_M[1]接二输入与门and2_7的输入,输出模式Cx_Out_M[2]和D触发器的输出Out_x接二输入异或门xor2_1的两个输入,xor2_1的输出和and2_7的输出接二输入或非门nor2_5的输入,输出模式Cx_Out_M[0]接反相器inv_11的输入,inv_11的输出和nor2_5的输出以及and2_6的输出接三输入与门and3_2的三个输入,nor2_5的输出和and2_6的输出接二输入或非门nor2_6的输入,and3_2的输出和nor2_6的输出接二输入或非门nor2_7的输入,nor2_7的输出和输出模式Cx_Out_M[2]接二输入异或门xor2_2的输入,xor2_2的输出接D触发器dff_5的数据端,三位输出模式Cx_Out_M[2:0]接三输入或非门nor3_1的三个输入,nor3_1的输出与输出控制Cx_Out_Ctrl接二输入与门and2_9的输入,and2_9的输出接dff_5的异步置位端,输出控制Cx_Out_Ctrl接反相器inv_12的输入,inv_12的输出和nor3_1的输出接二输入与门and2_8的输入,and2_8的输出与系统复位信号Sys_Rst接二输入或门or2_3的输入,or2_3的输出接dff_5的异步清零端,dff_5的Q端输出即为输出信号Out_x。
如图6所示,捕获比较器中断标志位及中断请求产生电路结构为:捕获比较模式选择信号Cx_Cpt_Cmp_S(x=0或1或2,分别表示三个捕获比较器中的信号,下同)接反相器inv_13的输入,inv_13的输出和捕获信号Cpt_x接二输入与门and2_10的输入,and2_10的输出接D触发器dff_6的异步置位端,Cx_Cpt_Cmp_S和比较相等状态信号EQU_x接二输入与门and2_11的输入,and2_11的输出接dff_6的数据端,系统复位信号Sys_Rst和中断应答信号IRACC接二输入或门or2_4的输入,or2_4的输出接dff_6的异步清零端,定时器时钟S_CLK接dff_6的时钟端,dff_6的Q端输出为捕获比较中断标志位Cx_CCIFG,Cx_CCIFG和捕获比较中断使能Cx_CCIE接二输入与门and2_12的输入,and2_12的输出为捕获比较中断请求信号Cx_IREQ;计数器溢出中断标志位及中断请求电路结构为:系统复位信号Sys_Rst和中断应答信号IRACC接二输入或门or2_5的输入,or2_5的输出接dff_7的异步清零端,计数器最高位进位CNT_Carry和定时器时钟S_CLK分别接dff_7的数据端和时钟端,dff_7的输出为计数器溢出中断标志位CNTIFG,CNTIFG与计数器溢出中断使能CNTIE接二输入与门and2_13的输入,and2_13的输出位计数器溢出中断请求CNT_IREQ。
16位计数器控制寄存器由两位计数时钟源选择位CK_S[1:0],两位时钟分频选择位CK_D[1:0],两位计数模式选择位Mode_S[1:0],计数器清零控制位T_CLR,计数器溢出中断使能位CNTIE,计数器溢出中断标志位CNTIFG以及7位保留位组成;计数时钟选择位CK_S[1:0]等于00时选择外部时钟ExCLK,等于01时选择辅助时钟AsCLK,等于10是选择子系统时钟SuCLK,等于11时选择外部时钟的非;分频选择位CK_D[1:0]等于00时对所选时钟进行1分频,等于01时进行2分频,等于10时进行4分频,等于11时进行8分频;计数模式选择位Mode_S[1:0]为00时等于停止模式,等于01时为增计数模式,等于10时为连续计数模式,等于11时为增/减计数模式;计数器清零位T_CLR等于1时可对计数器模块各逻辑进行清零,等于0时无效;计数器溢出中断使能位CNTIE等于1时有效,等于0时无效;计数器溢出中断标志位CNTIFG等于1时表示中断未响应,等于0时表示已响应。
时钟选择与分频逻辑在产生16位计数器计数时钟时产生的门控信号为:CG=~CNT_RW&~(CCR0_ZERO&CNT_ZERO&Mode_S[0])&(Mode_S[1]|Mode_S[0]),其中CNT_RW为16位计数器寄存器读写控制信号,CCR0_ZERO时捕获比较寄存器0全零状态信号,CNT_ZERO是16位计数器全零状态信号,Mode_S[1:0]是计数模式控制信号;通过门控信号,可在三种情况下停止16位计数器,分别是读写16位计数器中寄存器时;在增计数模式或增减计数模式时对捕获比较器寄存器0写入全零;以及在计数停止模式时;所产生的两相16位计数器时钟为T_CLK=CG&SCLK;T_CLKN=~T_CLK。
计数模式控制逻辑,接收计数模式选择位Mode_S[1:0],16位计数器全零状态信号CNT_ZERO以及捕获比较器0输出的计数值与捕获比较寄存器值相等信号EQU_0信号,产生16位计数器增减计数控制信号UP_DOWN等于0时为增计数,等于1时为减计数以及16位计数器清零信号SET_ZERO等于1时为计数器置零,等于0无效;当计数模式选择位Mode_S[1:0]等于00时为计数停止模式,由计数器门控时钟实现,此时UP_DOWN信号等于0,SET_ZERO信号等于0;当计数模式选择位Mode_S[1:0]等于01时为增计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到等于捕获比较寄存器0中设置的计数值时输出EQU_0等于1信号,此时UP_DOWN信号等于0,SET_ZERO信号变为1,计数器重新从0开始增计数,SET_ZERO信号在下一时钟上升沿又变为0;当计数模式选择位Mode_S[1:0]等于10时为连续计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到0FFFFH时再加1则产生计数器全零信号CNT_ZERO等于1,此时UP_DOWN信号等于0,SET_ZERO信号变为1,计数器重新从0开始增计数,SET_ZERO信号在下一时钟上升沿又变为0;当计数模式选择位Mode_S[1:0]等于11时为增减计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到等于捕获比较寄存器0中设置的计数值时输出EQU_0等于1信号,此时此时UP_DOWN信号等于1,SET_ZERO保持为0,计数器开始从捕获比较寄存器0设置值进行减计数到0,然后UP_DOWN信号变为0,SET_ZERO保持为0,计数器又从0开始增计数。
16位捕获比较控制寄存器由捕获比较模式选择位Cx_Cpt_Cmp_S(x=0或1或2,分别表示三个捕获比较器中的信号,下同),两位捕获比较输入选择位Cx_IN_S[1:0],两位捕获模式选择位Cx_CPT_M[1:0],同步或异步捕获选择位Cx_SAS_S,捕获溢出状态位Cx_CPTOVF,捕获比较输入Cx_CC_in,比较输入位Cx_Cmp_in,三位输出模式选择位Cx_Out_M[2:0],输出控制位Cx_Out_Ctrl,捕获比较中断使能位Cx_CCIE,捕获比较中断标志位Cx_CCIFG组成;捕获比较模式选择位Cx_Cpt_Cmp_S等于0时为捕获模式,等于1时为比较模式;捕获比较输入选择位Cx_IN_S[1:0]等于00时选择内部信号IN_Ax,等于01时选择外部信号IN_Bx,等于10时选择接地信号GND,用于软件捕获,等于11时选择接电源信号Vcc,用于软件捕获;捕获模式选择位Cx_CPT_M[1:0]等于00时不进行捕获,等于01时在上升沿捕获,等于10时在下降沿捕获,等于11时在上升沿和下降沿同时捕获;同步或异步捕获选择位Cx_SAS_S等于0时进行同步捕获,等于1时进行异步捕获;捕获溢出状态位Cx_CPTOVF等于1时发生捕获溢出,等于0时未发生捕获溢出;捕获比较输入Cx_CC_in为捕获或比较模式下经输入选择后的信号;比较输入位Cx_Cmp_in为在比较模式下当EQU_x等于1时对捕获比较输入信号Cx_CC_in进行锁存;输出模式选择位Cx_Out_M[2:0]等于000时为固定输出模式,输出电平由Cx_Out_Ctrl位决定,等于001时为置位输出模式(当EQU_x等于1时Out_x置位,x=0或1或2),等于010时为翻转/复位输出模式(当EQU_x等于1时Out_x翻转,当EQU_0等于1时Out_x复位,x=1或2),等于011时为置位/复位输出模式(当EQU_x等于1时Out_x置位,当EQU_0等于1时Out_x复位,x=1或2),等于100时为翻转输出模式(当EQU_x等于1时Out_x翻转,x=0或1或2),等于101时为复位输出模式(当EQU_x等于1时Out_x复位,x=0或1或2),等于110时为翻转/置位输出模式(当EQU_x等于1时Out_x翻转,当EQU_0等于1时Out_x置位,x=1或2),等于111时为复位/置位输出模式(当EQU_x等于1时Out_x复位,当EQU_0等于1时Out_x置位,x=1或2);当输出模式为固定输出模式时,输出控制位Out_Ctrl等于1输出高电平,等于0输出低电平;捕获比较中断使能位CCIE等于1时有效,等于0时无效;捕获比较中断标志位CCIFG等于1时表示中断未响应,等于0时表示已响应。
中断向量寄存器与中断控制逻,定时器共有四个中断源,中断向量寄存器的不同值表示不同的中断源,按照优先级中断向量寄存器值依次为捕获比较器0中断为02H,捕获比较器1中断04H,捕获比较器2中断06H,计数器溢出中断08H,在响应中断后系统通过读取中断向量寄存器值来判断中断源;捕获比较器中断标志位及中断请求产生电路结构为:捕获比较模式选择信号Cx_Cpt_Cmp_S(x=0或1或2,分别表示三个捕获比较器中的信号,下同)接反相器inv_13的输入,inv_13的输出和捕获信号Cpt_x接二输入与门and2_10的输入,and2_10的输出接D触发器dff_6的异步置位端,Cx_Cpt_Cmp_S和比较相等状态信号EQU_x接二输入与门and2_11的输入,and2_11的输出接dff_6的数据端,系统复位信号Sys_Rst和中断应答信号IRACC接二输入或门or2_4的输入,or2_4的输出接dff_6的异步清零端,定时器时钟S_CLK接dff_6的时钟端,dff_6的Q端输出为捕获比较中断标志位Cx_CCIFG,Cx_CCIFG和捕获比较中断使能Cx_CCIE接二输入与门and2_12的输入,and2_12的输出为捕获比较中断请求信号Cx_IREQ;计数器溢出中断标志位及中断请求电路结构为:系统复位信号Sys_Rst和中断应答信号IRACC接二输入或门or2_5的输入,or2_5的输出接dff_7的异步清零端,计数器最高位进位CNT_Carry和定时器时钟S_CLK分别接dff_7的数据端和时钟端,dff_7的输出为计数器溢出中断标志位CNTIFG,CNTIFG与计数器溢出中断使能CNTIE接二输入与门and2_13的输入,and2_13的输出位计数器溢出中断请求CNT_IREQ
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (6)

1.一种片上定时器,其特征在于包括:地址译码与读写逻辑、计数器模块、捕获比较器模块、数据总线输入输出逻辑、中断寄存器与中断控制逻辑,其中
地址译码与读写逻辑,接收地址总线ABUS<15:0>发送的片上定时器中内部的寄存器地址、读写信号RW和系统时钟MCLK,进行译码后产生用于数据总线DBUS<15:0>与内部寄存器总线Reg_D<15:0>及Reg_Dn<15:0>进行数据交换的控制信号Din_CTRL和Dout_CTRL并送至数据总线输入输出逻辑,产生读写中断寄存器的控制信号INTReg_IOC送至中断寄存器与中断控制逻辑,产生读写16位计数器控制寄存器的控制信号CNTCR_IOC送至16位计数器控制寄存器,产生读写16位计数器的控制信号CNT_IOC送至16位计数器,产生读写16位捕获比较控制寄存器的控制信号CCCRx_IOC,x=0,1,2分别送至16位捕获比较控制寄存器x,产生读写16位捕获比较寄存器的控制信号CCRx_IOC分别送至16位捕获比较寄存器x;
计数器模块包括16位计数器控制寄存器、时钟选择与分频逻辑、计数模式控制逻辑和16位计数器;
16位计数器控制寄存器,接收地址译码与读写逻辑发送的16位计数器控制寄存器读写信号CNTCR_IOC,接收数据总线输入输出逻辑发送的内部寄存器总线信号Reg_D<15:0>和Reg_Dn<15:0>,在CNTCR_IOC的控制下将Reg_D<15:0>和Reg_Dn<15:0>上的数据写入16位计数器控制寄存器,并输出计数器计数时钟源选择位CK_S[1:0]、时钟分频选择位CK_D[1:0]至时钟选择与分频逻辑用作输入时钟源的选择与时钟信号的分频,输出计数模式选择位Mode_S[1:0]至时钟选择与分频逻辑用作产生16位计数器计数时钟T_CLK和T_CLKN的门控信号、至计数模式控制逻辑用作产生16位计数器增减计数控制信号UP_DOWN与16位计数器清零信号SET_ZERO、同时还送至捕获比较器中的输出逻辑用作产生输出信号OUT_x,输出清零控制位T_CLR至时钟选择与分频逻辑用作时钟选择与分频的清零、至16位计数器做计数器的清零、同时还送至计数模式控制逻辑用作16位计数器增减计数控制信号UP_DOWN和16位计数器清零信号SET_ZERO的清零,输出计数器溢出中断使能位CNTIE至中断寄存器与中断控制逻辑用作产生中断请求信号IREQ;接收中断寄存器与中断控制逻辑输出的计数器中断标志位CNTIFG并写入16位计数器控制寄存器中用于表示计数器溢出中断的挂起状态;
时钟选择与分频逻辑,接收计数时钟源选择位CK_S[1:0]、时钟分频选择位CK_D[1:0],根据计数时钟源选择位CK_S[1:0]从时钟源AsCLK、SuCLK、ExCLK中选择一个时钟,然后根据时钟分频选择位CK_D[1:0]对该时钟进行1或2或4或8分频,产生定时器工作时钟S_CLK后送至中断寄存器与中断控制逻辑与捕获比较器模块中的16位捕获比较控制寄存器x、捕获逻辑x、比较逻辑x、16位捕获比较寄存器x、输出逻辑x;接收16位计数器控制寄存器发送的计数模式选择位Mode_S[1:0],接收16位计数器产生的计数器全零信号CNT_ZERO,产生16位计数器计数时钟T_CLK和T_CLKN并送至16位计数器用于计数器的计数时钟;接收16位计数器控制寄存器发送的清零控制位T_CLR信号对定时器工作时钟S_CLK进行清零;
计数模式控制逻辑,接收16位计数器控制寄存器输出的计数模式选择位Mode_S[1:0],接收16位计数器发送的计数器全零状态信号CNT_ZERO,产生16位计数器增减计数控制信号UP_DOWN与16位计数器清零信号SET_ZERO送至16位计数器用于16位计数器的增减计数与清零的控制;接收16位计数器控制寄存器发送的清零控制位T_CLR信号对计数器增减计数控制信号UP_DOWN和计数器清零信号SET_ZERO进行清零;
16位计数器,接收时钟选择与分频逻辑发送的16位计数器计数时钟T_CLK与T_CLKN,接收计数模式控制逻辑发送的计数器增减计数控制信号UP_DOWN和计数器清零信号SET_ZERO,根据计数器增减计数控制信号UP_DOWN进行增或减计数并根据SET_ZERO信号对计数器进行清零,输出计数器最高位进位信号CNT_Carry至中断寄存器与中断控制逻辑用于产生计数器溢出中断标志位CNTIFG,输出计数器全零状态信号CNT_ZERO至计数模式控制逻辑用作产生16位计数器增减计数控制信号UP_DOWN、同时还送至时钟选择与分频逻辑用作产生的16位计数器计数时钟T_CLK和T_CLKN的门控信号,产生计数值CNT<15:0>送至16位捕获比较寄存器x用作捕获模式下发生捕获操作时记录当前计数值、同时还送至比较逻辑x用作在比较模式下和16位捕获比较寄存器输出的设定值CCRx<15:0>进行比较产生比较相等信号EQU_x信号;接收16位计数器控制寄存器发送的T_CLR信号进行清零;
捕获比较模块,包括捕获比较器x,捕获比较器x包括16位捕获比较控制寄存器x、捕获逻辑x、比较逻辑x、16位捕获比较寄存器x、输出逻辑x,其中
16位捕获比较控制寄存器x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收地址译码与读写逻辑发送的16位捕获比较控制寄存器读写信号CCCRx_IOC,接收数据总线输入输出逻辑发送的内部寄存器总线信号Reg_D<15:0>和Reg_Dn<15:0>,在CCCRx_IOC的控制下将Reg_D<15:0>和Reg_Dn<15:0>上的数据写入16位捕获比较寄存器x中,输出捕获比较模式选择位Cx_Cpt_Cmp_S、捕获比较输入信号选择位Cx_IN_S[1:0]、捕获模式选择位Cx_Cpt_M[1:0]、同异步捕获选择位Cx_SAS_S至捕获逻辑x用于捕获控制,输出输出模式选择位Cx_Out_M[2:0]、输出控制位Cx_Out_Ctrl至输出逻辑x用于产生输出信号OUT_x,输出捕获比较中断使能位Cx_CCIE至中断寄存器与中断控制逻辑用于产生中断请求信号IREQ;接收中断寄存器与中断控制逻辑发送的Cx_CCIFG与Cx_CPTOVF并写入16位捕获比较控制寄存器中分别用于表示捕获比较中断的挂起状态和捕获溢出的状态;接收比较逻辑x发送的EQU_x信号,将捕获比较输入信号Cx_CC_in的值由EQU_x信号锁存到Cx_Cmp_in位;
捕获逻辑x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收16位捕获比较控制寄存器发送的捕获比较选择位Cx_Cpt_Cmp_S,捕获比较输入信号选择位Cx_IN_S[1:0]、捕获模式选择位Cx_Cpt_M[1:0]、同异步捕获选择位Cx_SAS_S,并接收外部输入的两路输入信号IN_Ax和IN_Bx,在输入信号IN_Ax或IN_Bx变化的上升沿、下降沿或上升下降双边沿进行同步或异步捕获,将捕获到的输入信号电平存入Cx_CC_in位中后送至比较逻辑x,产生捕获信号Cpt_x并送至16位捕获比较寄存器x用于将当前计数值CNT<15:0>写入16位捕获比较寄存器x,将捕获信号Cpt_x送至中断寄存器与中断控制逻辑用于产生捕获比较中断标志位Cx_CCIFGx、捕获溢出信号Cx_CPTOVF以及根据捕获比较中断使能Cx_CCIE产生中断请求信号IREQ;
比较逻辑x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收16位计数器发送的计数值CNT<15:0>和16位捕获比较寄存器输出的设定值CCRx<15:0>,判断计数值CNT<15:0>与设定值CCRx<15:0>,当两者相等时,输出状态信号EQU_x送至输出逻辑用于产生PWM信号、送至中断寄存器与中断控制逻辑用于产生捕获比较中断标志位Cx_CCIFG、同时还送至16位捕获比较控制寄存器用于将捕获比较输入信号Cx_CC_in的值由EQU_x信号锁存到Cx_Cmp_in位;
输出逻辑x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;接收16位捕获比较控制寄存器输出的输出模式选择位Cx_Out_M[2:0]、输出控制位Cx_Out_Ctrl,接收16位计数器控制寄存器输出的计数模式选择位Mode_S[1:0],同时还接收比较逻辑x输入的EQU_x信号,产生PWM信号并通过OUT_x输出;
16位捕获比较寄存器x,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于工作时钟;当捕获比较器x配置为捕获模式时,接收地址译码与读写逻辑发送的16位捕获比较控制寄存器读写信号CCCRx_IOC,接收捕获逻辑发送的捕获信号Cpt_x,同时还接收16位计数器输出的计数值CNT<15:0>信号,当发生捕获时,在捕获信号Cpt_x的控制下将计数值CNT<15:0>写入寄存器中,产生片上控制系统读16位捕获比较寄存器x状态信号Rd_Stx送至中断寄存器与中断逻辑中用于产生捕获溢出状态位Cx_CPTOVF,接收地址译码与读写逻辑发送的16位捕获比较寄存器x读写信号CCRx_IOC,在捕获发生后读取16位捕获比较寄存器x的值时,将16位捕获比较寄存器x的值通过内部寄存器总线Reg_D<15:0>送至数据总线输入输出逻辑后送至数据总线DBUS<15:0>上;当捕获比较器x配置为比较模式时,接收地址译码与读写逻辑产生的16位捕获比较寄存器x读写信号CCRx_IOC,在CCRx_IOC的控制下将接收到的数据总线输入输出逻辑发出的内部寄存器总线信号Reg_D<15:0>和Reg_Dn<15:0>写入16位捕获比较寄存器x,并将此时16位捕获比较寄存器的设定值CCRx<15:0>送至比较逻辑x;
数据总线输入输出逻辑,用于数据总线DBUS<15:0>与内部寄存器的数据交换,接收地址译码与读写逻辑发出的数据总线输入信号Din_CTRL,当发生写操作时,在Din_CTRL的控制下将数据总线DBUS<15:0>上的值经差分保持器以差分形式送至内部寄存器数据总线Reg_D<15:0>和Reg_Dn<15:0>后送至片上定时器中内部的寄存器;接收地址译码与读写逻辑发出的数据总线输出信号Dout_CTRL,当发生读操作时,在Dout_CTRL的控制下将片上定时器中内部的寄存器数据总线信号Reg_D<15:0>经三态门送至数据总线DBUS<15:0>上;
中断寄存器与中断控制逻辑,接收时钟选择与分频逻辑发送的定时器工作时钟S_CLK用于中断逻辑工作时钟;接收16位计数器发出的最高位进位信号CNT_Carry后产生计数器溢出中断标志位CNTIFG并送至16位计数器控制寄存器,接收计数器溢出中断使能位CNTIE后产生中断请求信号IREQ;接收捕获逻辑x发送的Cpt_x信号和比较逻辑x发送的EQU_x信号产生捕获比较中断标志位Cx_CCIFG并送至16位捕获比较控制寄存器x,接收捕获比较中断使能信号Cx_CCIE产生中断请求信号IREQ;接收16位捕获比较寄存器x发出的读状态信号Rd_Stx并根据Cpt_x信号产生捕获溢出状态信号Cx_CPTOVF后送至16位捕获比较控制寄存器x中;接收片上控制系统发出的中断应答信号IRACC清除中断标志位及中断请求信号IREQ。
2.根据权利要求1所述的一种片上定时器,其特征在于:所述的16位计数器控制寄存器包括两位计数时钟源选择位CK_S[1:0]、两位时钟分频选择位CK_D[1:0]、两位计数模式选择位Mode_S[1:0]、计数器清零控制位T_CLR、计数器溢出中断使能位CNTIE、计数器溢出中断标志位CNTIFG以及7位保留位;计数时钟选择位CK_S[1:0]等于00时选择外部时钟ExCLK,等于01时选择辅助时钟AsCLK,等于10时选择子系统时钟SuCLK,等于11时选择外部时钟的非;分频选择位CK_D[1:0]等于00时对所选时钟进行1分频,等于01时进行2分频,等于10时进行4分频,等于11时进行8分频;计数模式选择位Mode_S[1:0]为00时等于停止模式,等于01时为增计数模式,等于10时为连续计数模式,等于11时为增/减计数模式;计数器清零位T_CLR等于1时可对计数器模块各逻辑进行清零,等于0时无效;计数器溢出中断使能位CNTIE等于1时有效,等于0时无效;计数器溢出中断标志位CNTIFG等于1时表示中断未响应,等于0时表示已响应。
3.根据权利要求1所述的一种片上定时器,其特征在于:所述的计数模式控制逻辑根据接收计数模式选择位Mode_S[1:0]、16位计数器全零状态信号CNT_ZERO以及捕获比较器0输出的计数值与EQU_0信号产生16位计数器增减计数控制信号UP_DOWN和16位计数器清零信号SET_ZERO的过程为,当16位计数器增减计数控制信号UP_DOWN等于0时为增计数,等于1时为减计数,16位计数器清零信号SET_ZERO等于1时为计数器置零,等于0无效;当计数模式选择位Mode_S[1:0]等于00时为计数停止模式,由计数器门控时钟实现,此时UP_DOWN信号等于0,SET_ZERO信号等于0;当计数模式选择位Mode_S[1:0]等于01时为增计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到等于捕获比较寄存器0中设置的计数值时输出EQU_0等于1信号,此时UP_DOWN信号等于0,SET_ZERO信号变为1,计数器重新从0开始增计数,SET_ZERO信号在下一时钟上升沿又变为0;当计数模式选择位Mode_S[1:0]等于10时为连续计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到0FFFFH时再加1则产生计数器全零信号CNT_ZERO等于1,此时UP_DOWN信号等于0,SET_ZERO信号变为1,计数器重新从0开始增计数,SET_ZERO信号在下一时钟上升沿又变为0;当计数模式选择位Mode_S[1:0]等于11时为增减计数模式,16位计数器从0开始增计数,此时UP_DOWN信号等于0,SET_ZERO信号等于0,当计数到等于捕获比较寄存器0中设置的计数值时输出EQU_0等于1信号,此时UP_DOWN信号等于1,SET_ZERO保持为0,计数器开始从捕获比较寄存器0设置值进行减计数到0,然后UP_DOWN信号变为0,SET_ZERO保持为0,计数器又从0开始增计数。
4.根据权利要求1所述的一种片上定时器,其特征在于:所述的16位计数器中每位电路结构相同,任意一位电路结构包括计数器寄存器CNT_Reg、全加器fad_1、二输入或门or2_1、二输入或非门nor2_1、反相器inv_5、第二级寄存器dff_1、三输入与门and3_1、二输入或门or2_2、反相器inv_6、二输入与门and2_1:计数器寄存器CNT_Reg为第一级寄存器,包括四个nmos管和四个反相器,反相器inv_1和inv_2交叉耦合相接作为寄存器的存储部分,nmos_1和nmos_2作为数据存储管,栅端接寄存器读写控制信号CNT_RW,源端分别接内部寄存器数据总线Reg_Dn[i]和Reg_D[i],漏端分别接inv_1和inv_2的输入,nmos_3和nmos_4分别作为寄存器的置位和清零控制管,栅端分别接三输入与非门and3_1和二输入或门or2_2的输出,源端接地,漏端分别接inv_1和inv_2的输入端,方向器inv_3和inv_4分别接inv_2的输出和inv_1的输出,inv_3的输出为寄存器的输出CNT[i],inv_4的输出为寄存器的输出CNT_N[i];全加器fad_1的两个输入端分别接增减控制信号UP_DOWN和CNT_Reg输出CNT[i],fad_1的进位输入端为前一位电路结构输出进位Ci-1,全加器fad_1进位的输出为Ci接下一位电路结构,fad_1和的输出接反相器inv_5的输入,inv_5的输出和计数器置零信号SET_ZERO作为二输入或非门nor2_1的输入,D触发器dff_1为第二级寄存器,nor2_1的输出接dff_1的数据端,系统复位信号Sys_Rst和计数器模块清零信号T_CLR接二输入或门or2_1的输入,or2_1的输出接dff_1的异步清零端,计数器时钟T_CLKN作为第二级寄存器dff_1的计数时钟,dff_1的输出Q端,or2_1的输出以及计数器时钟T_CLK接三输入与门and3_1的三个输入,and3_1输出为第一级寄存器CNT_Reg的置位信号,or2_1的输出接反相器inv_6的输入,dff_1的输出Qn端和计数器时钟T_CLK接二输入与门and2_1的输入,inv_6的输出和and2_1的输出接二输入或非门or2_2的输入,or2_2的输出为第一级寄存器CNT_Reg的清零信号。
5.根据权利要求1所述的一种片上定时器,其特征在于:所述的捕获逻辑包括二输入与门and2_4、延迟单元delay_cell、二输入与门and2_3、触发器dff_4、二输入与门and2_2、二输入或非门nor2_2、二输入或非门nor2_3、触发器dff_3、触发器dff_2、反相器inv_8、三输入或门or3_1、二输入与非门nand2_1、二输入与非门nand2_2、反相器inv_7、四选一选择器mux41_1;电路结构为内部输入信号IN_Ax,外部输入信号IN_Bx,接地信号GND,接电源信号Vcc分别作为四选一选择器mux41_1的四个数据输入端,两位捕获比较输入选择位IN_S[1:0]接mux41_1的控制端,mux41的输出为捕获比较输入Cx_CC_in,Cx_CC_in分别接D触发器dff_2的时钟端和反相器inv_8的输入端,inv_8的输出接D触发器dff_3的时钟端,系统复位信号Sys_Rst和捕获比较模式选择位Cx_Cpt_Cmp_S以及二输入与门and2_4的输出接三输入或门or3_1的三个输入,三输入或门or3_1的输出分别接dff_3和dff_2的异步置位端,Cx_Cpt_Cmp_S接反相器inv_7的输入,inv_7的输出和捕获模式选择位Cx_CPT_M[1]接二输入与非门nand2_2的输入,nand2_2的输出接dff_3的数据端,inv_7的输出和捕获模式选择位Cx_CPT_M[0]接二输入与非门nand2_1的输入,nand2_1的输出接dff_2的数据端,dff_2和dff_3的两个QN输出端接二输入或非门nor2_2的输入,nor2_2的输出和or3_1的输出接二输入与门and2_2的输入,and2_2的输出接D触发器dff_4的异步清零端,nor2_2的输出和延迟单元delay_cell的输出接二输入或非门nor2_3的输入,nor2_3的输出分别接dff_4的数据端和二输入与门and2_3的输入端,同步或异步捕获选择位Cx_SAS_S接and2_3另一输入端,and2_3的输出为dff_4的异步置位端,dff_4的Q端输出为捕获信号Cpt_x,Cpt_x分别接延迟单元delay_cell的输入和二输入与门and2_4的输入,delay_cell的输出接and2_4的另一输入,and2_4输出窄脉冲信号,宽度等于或信号Cpt_x宽度。
6.根据权利要求1所述的一种片上定时器,其特征在于:所述的输出逻辑包括反相器inv_9、二输入或非门nor2_4、二输入与门and2_5、四输入与非门nand4_1、反相器inv_10、二输入与非门nand2_3、二输入与门and2_6、二输入与门and2_7、二输入异或门xor2_1、二输入或非门nor2_5、反相器inv_11、二输入或非门nor2_6、三输入与门and3_2、二输入或非门nor2_7、三输入或非门nor3_1、反相器inv_12、二输入异或门xor2_2、二输入与门and2_8、二输入与门and2_9、二输入或门or2_3、D触发器dff_5;电路结构为输出模式Cx_Out_M[1]接反相器inv_9的输入,inv_9的输出与输出模式Cx_Out_M[0]接二输入或非门nor2_4的输入,两位计数模式选择信号Mode_S[1:0]接二输入与门and2_5的输入,比较相等状态信号EQU_x与EQU_0和nor2_4的输出,and2_5的输出接四输入与非门nand4_1的四个输入,nand4_1的输出和比较相等信号EQU_x接二输入与门and2_6的输入,比较相等信号EQU_0接反相器inv_10的输入,inv_10的输出和nand4_1的输出接二输入与非门nand2_3的输入,nand2_3的输出和输出模式Cx_Out_M[1]接二输入与门and2_7的输入,输出模式Cx_Out_M[2]和D触发器dff_5的输出Out_x接二输入异或门xor2_1的两个输入,xor2_1的输出和and2_7的输出接二输入或非门nor2_5的输入,输出模式Cx_Out_M[0]接反相器inv_11的输入,inv_11的输出和nor2_5的输出以及and2_6的输出接三输入与门and3_2的三个输入,nor2_5的输出和and2_6的输出接二输入或非门nor2_6的输入,and3_2的输出和nor2_6的输出接二输入或非门nor2_7的输入,nor2_7的输出和输出模式Cx_Out_M[2]接二输入异或门xor2_2的输入,xor2_2的输出接D触发器dff_5的数据端,三位输出模式Cx_Out_M[2:0]接三输入或非门nor3_1的三个输入,nor3_1的输出与输出控制Cx_Out_Ctrl接二输入与门and2_9的输入,and2_9的输出接dff_5的异步置位端,输出控制Cx_Out_Ctrl接反相器inv_12的输入,inv_12的输出和nor3_1的输出接二输入与门and2_8的输入,and2_8的输出与系统复位信号Sys_Rst接二输入或门or2_3的输入,or2_3的输出接dff_5的异步清零端,dff_5的Q端输出即为输出信号Out_x。
CN201410841846.8A 2014-12-30 2014-12-30 一种片上定时器 Active CN104571263B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410841846.8A CN104571263B (zh) 2014-12-30 2014-12-30 一种片上定时器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410841846.8A CN104571263B (zh) 2014-12-30 2014-12-30 一种片上定时器

Publications (2)

Publication Number Publication Date
CN104571263A CN104571263A (zh) 2015-04-29
CN104571263B true CN104571263B (zh) 2018-01-19

Family

ID=53087573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410841846.8A Active CN104571263B (zh) 2014-12-30 2014-12-30 一种片上定时器

Country Status (1)

Country Link
CN (1) CN104571263B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302226B (zh) * 2015-10-30 2018-01-16 北京时代民芯科技有限公司 一种基于apb总线的多功能模式定时器电路
CN106950871B (zh) * 2016-01-07 2023-05-02 深圳市博巨兴微电子科技有限公司 一种微控制器及其定时计数器
CN110297688B (zh) * 2018-03-22 2022-04-12 龙芯中科技术股份有限公司 一种硬件计数装置、方法以及处理器
CN109217851B (zh) * 2018-09-26 2022-06-28 北京时代民芯科技有限公司 一种模拟电压比较器
CN114545801A (zh) * 2020-11-18 2022-05-27 芯巧科技股份有限公司 可由外部信号直接启动输出的处理器
CN115225080B (zh) * 2022-09-15 2022-12-09 苏州聚元微电子股份有限公司 带刹车功能的死区可配置互补输出电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161787A (en) * 1977-11-04 1979-07-17 Motorola, Inc. Programmable timer module coupled to microprocessor system
CN1365035A (zh) * 2001-01-09 2002-08-21 深圳市中兴集成电路设计有限责任公司 一种通用计时计数器
CN101923525A (zh) * 2010-08-11 2010-12-22 清华大学 一种带事件捕获功能的通用目的输入输出电路
CN102890445A (zh) * 2012-09-26 2013-01-23 中国航天科技集团公司第九研究院第七七一研究所 一种多功能定时器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161787A (en) * 1977-11-04 1979-07-17 Motorola, Inc. Programmable timer module coupled to microprocessor system
CN1365035A (zh) * 2001-01-09 2002-08-21 深圳市中兴集成电路设计有限责任公司 一种通用计时计数器
CN101923525A (zh) * 2010-08-11 2010-12-22 清华大学 一种带事件捕获功能的通用目的输入输出电路
CN102890445A (zh) * 2012-09-26 2013-01-23 中国航天科技集团公司第九研究院第七七一研究所 一种多功能定时器

Also Published As

Publication number Publication date
CN104571263A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104571263B (zh) 一种片上定时器
CN103631360B (zh) 一种支持睡眠模式的芯片及方法
CN102931994B (zh) 应用于信号处理芯片的高速信号采样和同步的架构及方法
CN106374893B (zh) 一种嵌入式SoC系统中通用死区可配置PWM波生成电路
CN103645794B (zh) 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法
CN2922277Y (zh) 一种时钟毛刺检测电路
CN105302226B (zh) 一种基于apb总线的多功能模式定时器电路
CN102970013A (zh) 基于扫描链的芯片内部寄存器复位方法及复位控制装置
CN104679681B (zh) Ahb总线访问片上sram的高速桥装置及其工作方法
CN102262604A (zh) 一种并发访问方法、系统及接口装置
CN110083563A (zh) 一种基于循环优先级实现公平仲裁的仲裁电路
CN103956991B (zh) 一种基于cpu/gpu异构平台的fir滤波并行实现方法
CN105048994A (zh) 一种应用于fir滤波器的分布式算法
CN109656856A (zh) 利用fpga实现非复用总线与复用总线互联装置及方法
CN105868026A (zh) 一种计算序列平均值的方法和装置
CN106055496B (zh) 一种eeprom控制器的信号生成电路及控制方法
CN103955255A (zh) 基于fpga的开入量事件精确测量的系统及其方法
CN109543811A (zh) 一种计数电路、计数方法及芯片
CN103219970B (zh) 单粒子瞬态脉冲宽度展宽方法与电路
CN103631314B (zh) 去除电平信号中毛刺的方法
CN103559161A (zh) 一种用于fpga配置的总线多宽度转换电路
CN201021996Y (zh) 一种8位复杂指令集计算机微控制器
CN207218713U (zh) 一种时钟恢复电路
CN103678202B (zh) 一种多核处理器的dma控制器
CN203104406U (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