具有变频计数特性的多模式时基单元系统及计数控制方法与流程

文档序号:31631082发布日期:2022-09-24 02:00阅读:63来源:国知局
具有变频计数特性的多模式时基单元系统及计数控制方法与流程

1.本发明涉及集成于mcu/soc的计数电路领域,特别是涉及一种具有变频计数特性的多模式时基单元系统及计数控制方法。


背景技术:

2.随着mcu/soc集成技术的飞速发展, mcu产品的应用普及越来越广,尤其在数字变频控制领域。目前用于数字变频领域的计数电路计数模式单一,且集成于mcu/soc时占用的面积大、功耗较高,难以满足目前的产品需求。


技术实现要素:

3.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种具有变频计数特性的多模式时基单元系统及计数控制方法,用于解决现有技术中计数电路技术模式单一、占用面积大、功耗高的技术问题。
4.为实现上述目的及其他相关目的,本发明提供如下技术方案:一种具有变频计数特性的多模式时基单元系统,包括:自动重装载寄存器,包括第一预装载寄存器和第一影子寄存器,用于在发生更新事件时将所述第一预装载寄存器写入所述第一影子寄存器中以控制更新计数分频和周期值;预分频器,与所述自动重装载寄存器相连接,包括第二预装载寄存器和第二影子寄存器,用于根据所述第二预装载寄存器的设定值通过预装载使能位的配置值实现工作频率的控制和切换;计数器,与所述预分频器相连接,用于受所述预分频器的输出控制驱动以在所述计数器处于使能状态下时根据预置的计数模式进行周期性计数;重复计数器,与所述计数器相连接,用于指定所述计数器更新的计数周期值;方向控制及选择模块,与所述计数器相连接,用于根据配置信号控制所述计数器的计数模式及计数方向;使能控制单元,与所述预分频器、所述计数器及所述重复计数器相连接,用于根据配置的使能信号控制所述预分频器、所述计数器及所述重复计数器使能工作;更新事件产生模块,与所述计数器相连接,用于根据所述计数器的计数结果产生更新事件及中断标志;初始化单元,与所述预分频器、所述计数器及所述重复计数器相连接,用于根据初始化信号实现预分频器的计数值、重复计数器的计数值、时基单元系统的计数值的初始化、以及控制所述更新事件产生模块产生更新事件或中断标志。
5.作为发明的一种优选方案,所述预分频器还包括分频计数器和门控时钟电路;所述分频计数器用于根据输入的外部时钟源对分频系数进行计数并在下一次更新事件发生时被采用;
所述门控时钟电路用于产生计数时钟信号以切换工作频率。
6.作为发明的一种优选方案,所述分频计数器连接有自加器,所述自加器用于所述分频计数器计数值重新清零后自加计数。
7.作为发明的一种优选方案,所述重复计数器包括重复计数寄存器和重复次数计数器;所述重复计数寄存器用于在发生更新事件时重新从配置的初始值开始计数;所述重复次数计数器用于对所述计数器的计数周期次数进行计数。
8.作为发明的一种优选方案,所述计数模式包括向上计数模式、向下计数模式、中央对齐计数模式以及编码器计数模式。
9.作为发明的一种优选方案,所述初始化信号包括输入的复位信号和计数值溢出信号。
10.作为发明的一种优选方案,所述更新事件由计数器计数溢出或者经时钟域处理产生时钟同步产生。
11.另一方面,为解决上述技术问题,本发明还提供一种计数控制方法,所述计数控制方法基于上述任一技术方案所述的时基单元系统,所述方法包括:自动重装载寄存器在发生更新事件时将第一预装载寄存器写入第一影子寄存器中以控制更新计数分频和周期值;预分频器根据设定值通过预装载使能位的配置值进行工作频率的控制和切换;在使能状态下,计数器受所述预分频器的输出控制驱动及方向控制及选择模块根据配置信号输出的选择信号选择相应的计数模式及计数方向进行周期性计数;当计数器计数溢出时更新事件模块产生更新事件以使所述自动重装载寄存器进行下一次更新。
12.作为发明的一种优选方案,所述计数器每计数溢出一次,重复计数器计数减1,当重复计数器自减至0,若再次发生计数器计数溢出,则产生更新事件。
13.作为发明的一种优选方案,所述方法还包括:初始化单元根据初始化信号进行预分频器的计数值、重复计数器的计数值、时基单元系统的计数值的初始化、以及控制所述更新事件产生模块产生更新事件或中断标志,所述初始化信号包括输入的复位信号和计数值溢出信号。
14.如上所述,本发明具有如下有益效果:本发明实施例通过提供一种具有变频计数特性的多模式时基单元系统及计数控制方法,其中,时基单元系统包括:自动重装载寄存器、预分频器、计数器、重复计数器、方向控制及选择模块、使能控制单元、更新事件产生模块、以及初始化单元,可以根据需要通过预分频器写入和更新计数时钟频率的变化和切换,且其中内置多种计数模式,可以根据需要配置相应信号选择性相应的计数模式,实现多模式计数功能;同时,本发明的时基单元系统能够集成于mcu/soc中,能够实现数字变频特性计数或者pwm输出电路的产生和输出,集成度高、通用性强、功耗低、占用面积小且成本低。
附图说明
15.图1显示为本发明实施例的结构示意图。
16.图2显示为本发明实施例中分频计数器的电路原理图。
17.图3显示为本发明实施例中方向控制及选择模块的控制逻辑图。
18.图4显示为本发明实施例中初始化模块的电路原理图。
19.图5显示为本发明实施例中门控时钟电路的电路原理图。
20.图6a显示为本发明实施例中时基单元系统异步置位控制逻辑原理图。
21.图6b显示为本发明实施例中时基单元系统异步置位值逻辑示意图。
22.图7a显示为本发明实施例中在中央对齐模式下方向控制位逻辑示意图。
23.图7b显示为本发明实施例中重复计数器的运算逻辑图。
24.图7c显示为本发明实施例中计数器的计数电路原理图。
25.图8显示为本发明实施例中向上计数模式下(tim_arr预装载)和(tim_pscr预装载)的时序图。
26.图9显示为本发明实施例中向下计数模式下(tim_arr预装载)和(tim_pscr预装载)的时序图。
27.图10显示为本发明实施例中中央对齐计数模式下(tim_arr预装载)和(tim_pscr预装载)的时序图。
具体实施方式
28.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
29.请参阅图1至图10。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
30.请参阅图1,本发明提供一种具有变频计数特性的多模式时基单元系统,包括:自动重装载寄存器,包括第一预装载寄存器和第一影子寄存器,用于在发生更新事件时将第一预装载寄存器写入第一影子寄存器中以控制更新计数分频和周期值;预分频器,与自动重装载寄存器相连接,包括第二预装载寄存器和第二影子寄存器,用于根据第二预装载寄存器的设定值通过预装载使能位的配置值实现工作频率的控制和切换;计数器,与预分频器相连接,用于受预分频器的输出控制驱动以在计数器处于使能状态下时根据预置的计数模式进行周期性计数;重复计数器,与计数器相连接,用于指定计数器更新的计数周期值;方向控制及选择模块,与计数器相连接,用于根据配置信号控制计数器的计数模式及计数方向;使能控制单元,与预分频器、计数器及重复计数器相连接,用于根据配置的使能信号控制预分频器、计数器及重复计数器使能工作;更新事件产生模块,与计数器相连接,用于根据计数器的计数结果产生更新事件及中断标志,更新事件由计数器计数溢出或者经时钟域处理产生时钟同步产生;初始化单元,与预分频器、计数器及重复计数器相连接,用于根据初始化信号实现预分频器的计数值、重复计数器的计数值、时基单元系统的计数值的初
始化、以及控制更新事件产生模块产生更新事件或中断标志。
31.具体地,预分频器还包括分频计数器和门控时钟电路;分频计数器用于根据输入的外部时钟源对分频系数进行计数并在下一次更新事件发生时被采用;门控时钟电路用于产生计数时钟信号以切换工作频率,且分频计数器连接有自加器,自加器用于分频计数器计数值重新清零后自加计数。
32.如图1所示,自动重装载寄存器在发生uev事件时,配置的第一预装载寄存器写入第一影子寄存器;重复计数器在发生uev事件时,计数初始值重新从配置的数值开始计数;ck_psc为输入的时钟源,由其他模块产生,可以是内部时钟,也可以是外部的时钟源,具体可通过配置寄存器进行选择;decord_md为输入的编码器模式的信号,当为1时,计数时基单元模式为编码器模式;预分频器具体用于进行时钟预分频计数和分频后的时钟 ck_cnt频率控制的转换,预分频器计数产生的分频系数和门控时钟控制ck_cnt的产生和频率转换;使能控制模块用于控制预分频器、重复计数器、16位计数器的使能工作;方向控制及选择主要控制16位计数器的计数方向,更新事件也根据计数模式和方向的控制而产生;初始化电路根据输入的reset信号以及各种计数模式下的计数值溢出信号而产生初始化,具体为分频计数器psc_cnt计数初始化、重复计数器计数值以及计数器计数值的初始化;更新事件产生模块用于控制更新事件uev的产生和事件中断的产生。
33.如图2所示,图2示出了分频计数器的电路原理图,本实施例为16位分频计数器,其中psc_cnt[15:0]为控制分频后时钟产生的分频计数值,tim_psc_shd_zero为第一影子寄存器值为0值的信号,psc_cnt_init为初始化模块产生的信号,用于控制预分频器计数值的初始化;当第一影子寄存器值为0值,或者cnt_en为0、psc_cnt_init信号为1,都会初始化psc_cnt计数器,并清零重新计数;第一影子寄存器值不为0时,在开启计数器cnt_en时,分频计数器开启计数功能,分频计数器的计数值计数到和第一影子寄存器值相同时,预分频计数值重新清零后开始自加计数。
[0034]
重复计数器包括重复计数寄存器和重复次数计数器,重复计数寄存器用于在发生更新事件时重新从配置的初始值开始计数,重复次数计数器用于对计数器的计数周期次数进行计数。
[0035]
本实施例的计数模式包括向上计数模式、向下计数模式、中央对齐计数模式以及编码器计数模式,计数模式由方向控制及选择模块控制选择。如图3所示,图3示出了方向控制及选择模块的控制逻辑图,其中当dir为1时,计数器向下计数,当dir为0时,计数器向上计数,cms[1:0]控制计数模式,cms[1:0]值为2’b00时,为边沿对齐模式,即向上计数模式或向下计数模式,配置其他值时,计数模式为中央对齐模式。当cms[1:0]值为2’b00时,才能配置编码器模式,dir_r为计数器时基单元在中央对齐模式下由内部逻辑硬件产生,标志着中央对齐模式下,计数器计数方向;decoder_md为通过寄存器配置产生的标志编码器模式的信号,dir_decoder为编码器模式下计数器计数方向,在编码器模式下,产生的计数方向信号dir选择dir_decoder控制,dir_w为写入寄存器方向位的值。
[0036]
如图4所示,图4示出了初始化模块的电路原理图,初始化模块主要是有外部输入的复位信号和计数器溢出后产生控制分频计数器psc_cnt以及计数器初始化的逻辑控制,复位信号为reset信号;计数器的计数时钟由分频器产生的时钟ck_cnt控制计数,更新事件uev和中断标志由时钟clkper控制产生,内部逻辑需要不同的时钟域同步处理;
reset信号由ug寄存器或外部硬件触发复位产生,需要同步到ck_cnt时钟域,控制计数器的初始化,图4中的cnt_init是reset经ck_cnt时钟同步后产生的控制计数器计数值初始化的信号;reset发生时,会使ug_law信号异步置位,当cnt_en使能时,经ck_cnt同步后的ug_syn1信号,或者当cnt_en不使能时产生的psc_init信号,都会使ug_law异步清零;psc_init为经过clkper时钟域同步后的用于控制产生uev及更新事件中断标志的信号;当cnt_en置位,即计数器使能时,每当psc_cnt_init置1,或者当cnt_en为0,配置不使能时,若发生reset,经clkper时钟同步后产生psc_init控制逻辑;tim_psc_shd_zero值为1表示第一影子寄存器的值为0,当其值为0,发生cnt_init,或者第一影子寄存器的值不为0,psc_cnt预分频计数值和tim_psc_shd相同时的情况下,都会产生psc_cnt_init信号;以上都是ug或硬件触发复位产生的reset,经不同时钟域处理后对预分频器和计数器初始化以及更新事件及中断标志产生和控制;cnt_udf为计数器计数值向下溢出值,cnt_ovf为计数器计数向上溢出值,当开启计数使能,在边沿计数模式下,即向上计数模式或者向下计数模式,dir向下计数,当计数值为16’h0000时,或者中央对齐计数模式下,dir向下计数,当计数值为16’h0001时,都会产生cnt_udf信号置1;在边沿计数模式下,dir向上计数,当计数值等于tim_arr_shd-1’b1,或者中央对齐模式下,当计数值等于tim_arr_shd值,都会产生cnt_ovf信号置1;当计数值发生溢出并且rep_cnt_zero发生rep_cnt,即重复次数计数器计数到0时,以及cnt_init信号发生,都会产生控制计数器初始化重新从0计数的信号;计数器溢出并且rep_cnt_zero置位发生时,经过ck_cnt以及clkper不同时钟域处理产生溢出事件或者经时钟同步后的psc_init发生都会产生uev事件。
[0037]
如图5所示,图5为门控时钟电路的电路原理图,其中当tim_pscr_shd不为0,当pcn_cnt计数值小于tim_pscr_shd[15:1]或者等于tim_pscr_shd[15:0],或者自动装载使能位arpe位置1、evt_w信号置1时,ck_cnt_w都会置1;为防止时钟毛刺,产生的ck_cnt_w信号,经过ck_psc同步后,产生ck_cnt_r信号,当tim_pscr_shd[15:0]为0时,ck_cnt_f通过选择控制为ck_psc的时钟频率,tim_pscr_shd[15:0]不为0时,选择为ck_cnt_r的频率;计数器计数工作时钟由ck_cnt控制,ck_cnt由门控单元产生,门控单元主要通过使能信号cnt_en_r控制,当cnt_en_r置位时,门控使能ck_cnt_f信号通过产生ck_cnt时钟;cnt_en_r经过ck_psc同步后产生,防止时钟切换产生毛刺现象。
[0038]
如图6a和6b所示,图6a为本实施例的时基单元系统异步置位控制逻辑原理图,图6b为本实施例的时基单元系统异步置位值逻辑示意图。计数器在ck_cnt时钟产生后进行计数,而ck_cnt在配置计数器使能后才会产生,在没有配置使能时,能够减少电路的运行功耗,由于没有开启使能时,没有控制计数器的时钟,设计了异步置位信号,以及异步置位时寄存器异步置位的值,异步电路减少了计数器工作的功耗,特别是当没有开启定时器运行时的功耗;图6a中的tim_cntr_clr_set信号为用于控制时基单元系统的异步置位信号,用于控制计数器计数、重复计数器计数、以及中央对齐模式方向产生dir_r的异步置位信号,当发生异步置位信号时,计数器被置位值为tim_cntr_value_r[15:0],重复计数器计数值被置位为rep_cnt_val_r[7:0],方向dir_r被置位为dir_r_val_r;图6a中的tim_cntrh_w_flag为cpu写计数器高8位的标志, tim_cntrl_w_flag为cpu写计数器低8位的标志,经
clkper时钟域产生;当开启ck_cnt计数时,需要进行同步处理,tim_cntrh_val以及tim_cntl_val逻辑图显示了控制和产生原理,当cnt_en不使能时,psc_init以及写定时器数值同步后的信号都会控制tim_cntr_clr_set的产生;图6b中的tim_cntr_value_r[15:0]、rep_cnt_val_r[7:0]、dir_r_val_r都为cnt_en不使能时由clkper同步产生,防止异步置位信号出现不确定态数值;当tim_cntr_clr为1即发生psc_init信号产生时,dir_r_val_r经clkper同步后,产生值为1’b0;而当tim_cntr_clr为1时,rep_cnt_val_r[7:0]经时钟同步初始化为rep[7:0]即为重复计数器寄存器的配置值;当tim_cntr_clr为1时,边沿计数模式下,当dir为1即向下计数时,经clkper同步后tim_cntr_value_r[15:0]值为tim_arr_shd[15:0], 当dir为0,即向上或中央对齐模式计数,tim_cntr_value_r[15:0]值为16’h0000;当tim_cntr_set_w置1,即发生写计数器的操作,通过clkper同步后,tim_cntr_value_r[15:0]值为写入计数器的值。
[0039]
如图7a所示,图7a示出了中央对齐模式下方向控制位逻辑示意图。当发生异步置位tim_cntr_clr_set时,中央对齐模式下的方向控制位dir_r置位为dir_r_val_r,当计数使能时,发生初始化事件,即evt_w置1,此时,当计数值上溢出时,dir_r置位1,当计数值下溢出时,dir_r置位0;当计数没有发生初始化事件,若向下计数,并且计数值至16’h0000,dir_r值取反,即变化方向;若向上计数,并且计数值至tim_arr_shd,dir_r值取反,即变化方向。
[0040]
如图7b所示,图7b示出了重复计数器的运算逻辑图。当发生异步置位tim_cntr_clr_set时,重复计数器计数值置位为rep_cnt_val_r[7:0]的值;当发生计数器初始化事件,即evt_w置1时,rep_cnt[7:0]初始化更新为寄存器配置的rep[7:0]的值;在中央对齐计数模式下,计数值溢出时,并且rep_cnt[7:0]非零时,若向下计数,当计数器计数值为16’h0000时,rep_cnt[7:0]的值减少1;若向上计数,当计数器计数值等于tim_arr_shd影子寄存器的值时,rep_cnt[7:0]的值减少1。在边沿计数模式下,并且rep_cnt[7:0]非零时,若向下计数,当计数器计数值为16’h0000时,rep_cnt[7:0]的值减少1;若向上计数,当计数器计数值等于tim_arr_shd影子寄存器时,rep_cnt[7:0]的值减少1;其他条件下,rep_cnt[7:0]的值保持不变。
[0041]
如图7c所示,图7c示出了计数器的计数电路原理图。其中当发生异步置位tim_cntr_clr_set时,计数器计数值被异步置位为tim_cntr_value_r[15:0]值,在中央对齐计数模式下,若发生计数器初始化事件,即evt_w置1时,当cnt_init为1时,计数器值tim_cntr[15:0]经ck_cnt时钟同步被初始化为16’h0000,当计数器上溢出,即cnt_ovf_w为1,计数值经ck_cnt时钟同步被初始化为tim_arr_shd的值;当计数使能置1,并开启计数模式,在边沿计数模式下,若发生计数器初始化事件,即evt_w置1时,向上计数时,ck_cnt时钟同步被初始化为16’h0000,向下计数时,ck_cnt时钟同步被初始化为tim_arr_shd的值,当工作在编码器模式即图中decord_md置1,若发生计数器初始化事件,即evt_w置1时,当向上计数时,当计数值等于tim_arr_shd-1’b1,ck_cnt时钟同步被初始化为tim_arr_shd的值, 当向下计数时,当计数值等于16’h0001,经ck_cnt时钟同步计数值被初始化16’h0000。
[0042]
当evt_w不为1时,在中央对齐计数模式下,计数方向向下即dir为1,当计数器计数值为16’h0000,计数器计数值加1,计数器为其他计数值,计数器计数值减1;当计数方向向上即dir为0,当计数器计数值为tim_arr_shd的值,计数器计数值减1,计数器为其他计数
值,计数器计数值加1。当计数模式为边沿计数模式或编码器计数模式时,当计数方向向上,当计数器计数值为tim_arr_shd的值,经ck_cnt时钟同步后下一拍计数值为16’h0000,其他计数值时,经ck_cnt时钟同步后计数器计数值加1;当计数方向向下,当计数器计数值为16’h0000,经ck_cnt时钟同步后下一拍计数值为tim_arr_shd的值,其他计数值时,经ck_cnt时钟同步后计数器计数值减1。
[0043]
本发明实施例的计数器选用16位的自动装载计数器,预分频器为可编程的数字预分频器,通过预分频器产生的时钟驱动计数器的基本计数和定时,可作用通用的高级定时器或控制变频pwm输出的时基单元系统,也可作为需要中间对齐计数模式pwm应用的控制计数电路,还可以作为具有通用的8位/16位变频特性的高级计数单元集成于soc/mcu中,实现数字变频特性计数。
[0044]
本发明实施例中可根据寄存器配置实现16位向上、向下、中央对齐计数模式,并且可进行自动装载,计数模式通过寄存器配置的cms[1:0]信号控制,且通过重复计数器允许在指定数目的计数器周期之后更新计时器;自动重装载寄存器、预分频器、计数器和重复计数器均可通过软件进行读写操作,通过配置自动预装载使能位aper,在arpe配置为1时,写入预分频器,自动重装载寄存器和重复计数器寄存器的数值保持在预装载寄存器的值中,在下一个更新事件(uev)发生时传送到相应的影子寄存器。
[0045]
本实施例的时基单元系统,以内置8位cpu的mcu为例进行说明,第一预装载寄存器和第二预装载寄存器在操作时需要先写入高位字节,后写入低位字节;而相应的第一影子寄存器和第二影子寄存器在高位字节写入时被锁定,并保持到低位字节写完,且影子寄存器带有缓冲器,因此它能够在运行时被改变。
[0046]
本实施例的时基单元系统,在向上计数模式中,计数器从0计数到用户定义的比较值,然后重新从0开始计数并产生一个计数器溢出事件,当发生一个更新事件时,所有的寄存器都被更新,第一影子寄存器被重新置入第一预装载寄存器的值,预分频器的缓存器被置入第二预装载寄存器的值;在向下计数模式中,计数器从自动装载的值开始向下计数到0,然后再从自动装载的值重新开始计数,并产生一个计数器向下溢出事件。在中央对齐计数模式中,计数器从0开始计数到自动加载的值(tx_arr寄存器)-1,产生一个计数器溢出事件,然后向下计数到0并且产生一个计数器下溢事件;然后再从0开始重新计数,且在此模式下,不能写入dir方向位,它由硬件更新并指示当前的计数方向。
[0047]
设置了重复计数器,在重复了指定次数的向上和向下溢出之后会产生更新事件(uev),即,计数器每计数溢出一次,重复计数器计数减1,当重复计数器自减至0,若再次发生计数器计数溢出,即产生更新事件,否则每一次的向上向下溢出都会产生更新事件,同时,通过软件方式或者使用从模式控制器产生的reset信号都可以产生一个更新事件。此时,计数器重新从0开始计数,预分频器也重新从0开始计数。说明变频技术主要是arpe置位,在uev事件发生时,实现变频器计数频率的更新。
[0048]
计数器由预分频器的输出ck_cnt驱动,而ck_cnt仅在内部控制寄存器的计数器使能位cen被置位时才有效,在使能了cen位的一个时钟周期后,计数器才开始计数。如图8所示,图8示出了向上计数模式下(tim_arr预装载)和(tim_pscr预装载)的时序图,图8中的预分频从0变为2,计数模式为边沿向上,因此计数器的时钟(ck_cnt)频率由和ck_psc一致变化为预分频时钟(ck_psc)频率的1/3。 当前的自动重装载寄存器被更新为预装载值(tx_
arr寄存器中的内容),需要注意的是,自动重装载寄存器在计数器重载入之前被更新,因此下一个周期才是预期的值。
[0049]
如图9和图10所示,图9示出了向下计数模式下(tim_arr预装载)和(tim_pscr预装载)的时序图,图10示出了中央对齐计数模式下(tim_arr预装载)和(tim_pscr预装载)的时序图。
[0050]
以图9为例,图9中的预分频从0变为1,计数模式为边沿向下,因此计数器的时钟(ck_cnt)频率由和ck_psc一致变化为预分频时钟(ck_psc)频率的一半,当前的自动重装载寄存器影子值被更新为预装载值(tx_arr寄存器中的内容)。
[0051]
本发明的时基单元系统可以根据需要通过预分频器写入和更新计数时钟频率的变化和切换,且其中内置多种计数模式,可以根据需要配置相应信号选择性相应的计数模式,实现多模式计数功能;同时,本发明的时基单元系统能够集成于mcu/soc中,能够实现数字变频特性计数或者pwm输出电路的产生和输出,集成度高、通用性强、功耗低、占用面积小且成本低。
[0052]
另一方面,本发明实施例还提供一种计数控制方法,计数控制方法基于上述技术方案所示的时基单元系统实现,该方法包括:s100、自动重装载寄存器在发生更新事件时将第一预装载寄存器写入第一影子寄存器中以控制更新计数分频和周期值。
[0053]
s200、预分频器根据设定值通过预装载使能位的配置值进行工作频率的控制和切换;s300、在使能状态下,计数器受预分频器的输出控制驱动及方向控制及选择模块根据配置信号输出的选择信号选择相应的计数模式及计数方向进行周期性计数;s400、当计数器计数溢出时更新事件模块产生更新事件以使自动重装载寄存器进行下一次更新,具体的,计数器每计数溢出一次,重复计数器计数减1,当重复计数器自减至0,若再次发生计数器计数溢出,则产生更新事件。
[0054]
s500、初始化单元根据初始化信号进行预分频器的计数值、重复计数器的计数值、时基单元系统的计数值的初始化、以及控制更新事件产生模块产生更新事件或中断标志,初始化信号包括输入的复位信号和计数值溢出信号。
[0055]
通过上述过程,可以根据需要通过预分频器写入和更新计数时钟频率的变化和切换,且其中内置多种计数模式,可以根据需要配置相应信号选择性相应的计数模式,实现多模式计数功能;同时,本发明的时基单元系统能够集成于mcu/soc中,能够实现数字变频特性计数或者pwm输出电路的产生和输出,集成度高、通用性强、功耗低、占用面积小且成本低。
[0056]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1