CN103856211B - 计数器、计数方法和分频器 - Google Patents
计数器、计数方法和分频器 Download PDFInfo
- Publication number
- CN103856211B CN103856211B CN201410124410.7A CN201410124410A CN103856211B CN 103856211 B CN103856211 B CN 103856211B CN 201410124410 A CN201410124410 A CN 201410124410A CN 103856211 B CN103856211 B CN 103856211B
- Authority
- CN
- China
- Prior art keywords
- addition result
- remainder
- carry
- circuit
- summation circuit
- 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
Links
Landscapes
- Manipulation Of Pulses (AREA)
Abstract
本发明提供一种计数器、计数方法和分频器,包括第一累加电路、第二累加电路和选择电路;第一累加电路的两个输入端分别输入计数步长和选择电路发送的基数,用于将计数步长与基数相加得到第一相加结果;第二累加电路的两个输入端分别接收第一相加结果的余数和进制控制数,用于将第一相加结果的余数与进制控制数相加得到第二相加结果;选择电路分别接收第一相加结果和第二相加结果,若第一相加结果的进位和第二相加结果的进位中至少有一个为1,将第二相加结果的余数作为基数输出,若第一相加结果的进位和第二相加结果的进位均为0,将第一相加结果的余数作为基数输出。本发明提供的计数器能够对任意进制数进行计数,且能实现任意步长计数。
Description
技术领域
本发明涉及电路技术,尤其涉及一种计数器、计数方法和分频器。
背景技术
计数器是数字电路中的一种逻辑电路,能够对脉冲信号的个数进行计数,以实现测量或控制的功能。一个计数器自身的计数步长是固定的,若将多个计数器按照一定的触发方式连接起来,得到的电路结构可实现以多种步长进行计数,还可以实现多种进制的循环计数方式,常用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。分频器是计数器的一种常见应用,能够对给定的时钟信号进行分频,并得到所需要的时钟信号的一种硬件电路,分频器通常分为整数分频器和小数分频器。其中,整数分频器的输出时钟信号频率与给定时钟信号频率的比值(即:分频比)为整数,小数分频器的输出时钟信号频率与给定时钟信号频率的比值为小数。计数器作为整数分频器和小数分频器中的重要组成部分,用于提供分频所需的分频系数。
为了给分频器提供多种分频系数,通常采用多个计数器进行不同形式的组合,形成多级结构,经过分级累加计数来得到所需的分频系数,但采用较多的计数器使得分频器的电路结构较复杂,计数时间较长且灵活度较低。
发明内容
本发明提供一种计数器、计数方法和分频器,用于解决现有的分频器的电路结构较复杂的问题,以简化分频器的电路结构。
本发明实施例提供一种计数器,包括:第一累加电路、第二累加电路以及选择电路,所述计数器的进制数为小于所述第一累加电路的进制数的可变数值,所述第一累加电路与所述第二累加电路具有相同的进制数;其中,
所述第一累加电路的其中一个输入端用于输入计数步长,另一个输入端与所述选择电路的输出端连接,以接收所述选择电路发送的基数;所述第一累加电路用于将所述计数步长与所述基数相加,得到第一相加结果,并按照所述第一累加电路的进制数计算所述第一相加结果的余数和所述第一相加结果的进位;
所述第二累加电路的其中一个输入端与所述第一累加电路连接,用于接收所述第一相加结果的余数,所述第二累加电路的另一个输入端用于输入进制控制数,所述进制控制数为所述第一累加电路的进制数与所述计数器当前的进制数的差;所述第二累加电路用于将所述第一相加结果的余数与所述进制控制数相加,得到第二相加结果以对所述第一相加结果进行补充计算,并按照第二累加电路的进制数计算所述第二相加结果的余数和所述第二相加结果的进位;
所述选择电路分别与所述第一累加电路和第二累加电路连接,以接收所述第一相加结果的进位、第一相加结果的余数、第二相加结果的进位和第二相加结果的余数;若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,所述选择电路将所述第二相加结果的余数作为所述基数输出,若所述第一相加结果的进位和第二相加结果的进位均为0,所述选择电路将所述第一相加结果的余数作为所述基数输出。
如上述的计数器,所述第一累加电路为加法器;
所述第一累加电路的加数输入端用于输入所述计数步长,被加数输入端与所述选择电路的输出端连接以接收所述基数,余数输出端输出所述第一相加结果的余数,进位输出端输出所述第一相加结果的进位。
如上所述的计数器,所述第二累加电路为加法器;
所述第二累加电路的加数输入端用于输入所述进位控制数,被加数输入端与所述第一累加电路的余数输出端连接以接收所述第一相加结果的余数,余数输出端输出所述第二相加结果的余数,进位输出端输出所述第二相加结果的进位。
如上所述的计数器,所述选择电路包括:进位选择电路和余数选择电路;
所述进位选择电路的两个输入端分别与所述第一累加电路和第二累加电路连接,接收所述第一相加结果的进位和第二相加结果的进位;若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,所述进位选择电路输出有效的余数控制值,若所述第一相加结果的进位和第二相加结果的进位均为0,所述进位选择电路输出无效的余数控制值;
所述余数选择电路的控制端与所述进位选择电路的输出端连接,用于接收所述余数控制值,所述余数选择电路的两个输入端分别与所述第一累加电路和第二累加电路连接,接收所述第一相加结果的余数和第二相加结果的余数;若所述余数控制值有效,则所述余数选择电路将所述第二相加结果的余数作为所述基数输出,若所述余数控制值无效,则所述余数选择电路将所述第一相加结果的余数作为所述基数输出。
如上所述的计数器,所述进位选择电路为或门;
所述或门的一个输入端与所述第一累加电路的进位输出端连接,另一个输入端与所述第二累加电路的进位输出端连接,所述或门的输出端与所述余数选择电路的控制端连接。
如上所述的计数器,所述余数选择电路为二选一数据选择器;
所述二选一数据选择器的一个输入端与所述第一累加电路的余数输出端连接,另一个输入端于所述第二累加电路的余数输出端连接,所述二选一数据选择器的控制端与所述进位选择电路的输出端连接,所述二选一数据选择器的输出端作为所述余数选择电路的输出端。
如上所述的计数器,还包括寄存器;
所述寄存器设置在所述选择电路与所述第一累加电路之间,用于存储所述基数。
本发明实施例还提供一种计数方法,包括:
获取计数步长、基数、预设累加进制数、计数进制数和进制控制数;
将所述计数步长和基数相加得到第一相加结果,并按照所述预设累加进制数计算所述第一相加结果的余数和所述第一相加结果的进位;
将所述第一相加结果的余数和进制控制数相加得到第二相加结果,并按照所述预设累加进制数计算所述第二相加结果的余数和所述第二相加结果的进位;所述进制控制数为所述预设累加进制数与所述计数进制数的差;
若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,将所述第二相加结果的余数作为所述基数进行再次计算直到计数完成;若所述第一相加结果的进位和第二相加结果的进位均为0,将所述第一相加结果的余数作为所述基数进行再次计算直到计数完成。
如上所述的计数方法,还包括:
在计数完成时,若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,将所述第二相加结果的余数作为结果输出;若所述第一相加结果的进位和第二相加结果的进位均为0,将所述第一相加结果的余数作为结果输出。
本发明实施例还提供一种分频器,包括如上所述的计数器。
本发明实施例提供的计数器和分频器,通过采用第一累加电路对计数步长和基数进行相加,采用第二累加电路根据进制控制数对第一累加电路计算得到的第一相加结果进行补充计算得到第二相加结果,且采用选择电路根据第一相加结果和第二相加结果输出基数作为计数器的输出,其中的计数步长和进制控制数可以为任意数值,该计数器能够实现任意进制数的加法运算,且也能够进行任意步长的加法运算,应用在分频器中能够提供多种分频系数。且上述技术方案构成的计数器仅需要两个累加电路和一个选择电路就可以实现,其电路结构较简单,应用在分频器中,能够取代现有技术中较为复杂的计数器结构,为分频器提供多种分频系数,解决了现有的分频器的电路结构较复杂的问题,简化了分频器的电路结构。
附图说明
图1为本发明实施例一提供的计数器的结构示意图一;
图2为本发明实施例一提供的计数器的结构示意图二;
图3为本发明实施例二提供的计数方法的流程图。
具体实施方式
实施例一
本实施例提供一种计数器,可用于分频器中,也可以用于分布式共享存储处理机中。本实施例提供的计数器能够实现对任意进制数进行计数,且计数的步长也可以为任意值,因此该计数器能够为分频器提供任意整数值,实现以任意分频系数进行分频。下面对本实施例提供的计数器的实现方式进行具体说明。
图1为本发明实施例一提供的计数器的结构示意图一。如图1所示,本实施例提供的计数器可以包括:第一累加电路1、第二累加电路2以及选择电路3。
在本实施例中,第一累加电路1和第二累加电路2,具有相同的进制数,例如具有相同的进制数2N,即都能够对N位的二进制数进行累加运算。
其中,第一累加电路1的其中一个输入端用于输入计数步长R,另一个输入端与选择电路3的输出端连接,以接收选择电路3发送的基数,第一累加电路1用于将计数步长R与基数相加,得到第一相加结果,并按照第一累加电路1的进制数2N计算第一相加结果的余数和第一相加结果的进位。例如:设定N为4,则第一累加电路1的进制数24为16。该计数器的进制数X为小于第一累加电路1的进制数16的可变数值,若设定为十进制计数器,则计数器的进制数X为10。
第二累加电路2的其中一个输入端与第一累加电路1连接,用于接收第一相加结果的余数,第二累加电路2的另一个输入端用于输入进制控制数,第二累加电路2用于将第一相加结果的余数与进制控制数相加,得到第二相加结果,以对第一相加结果进行补充计算,并按照2N计算第二相加结果的余数和第二相加结果的进位。
上述进制控制数为第一累加电路1的进制数2N与计数器的当前进制数X之间的差值,为2N-X。计数器的进制数X为小于第一累加电路1的进制数2N的可变数值,也就是说计数器的进制数X可以为小于2N的任意数值,尤其是任意整数,本实施例可将进制数X设定为在2N与2N-1之间的任意整数。例如:若N为4,X为10,则进制控制数2N-X为6,若N为4,X为9,则进制控制数2N-X为7。
选择电路3分别与第一累加电路1和第二累加电路2连接,以接收第一相加结果的进位、第一相加结果的余数、第二相加结果的进位和第二相加结果的余数。若第一相加结果的进位和第二相加结果的进位中至少有一个为1,选择电路3将第二相加结果的余数作为基数输出,若第一相加结果的进位和第二相加结果的进位均为0,选择电路3将第一相加结果的余数作为基数输出。
上述计数步长R即为计数器的步长,可由计数器从外部电路接收,例如操作人员通过键盘等输入设备提供给计数器,上述基数和计数步长具体均可以为N位的二进制数。第一累加电路1在每一个工作周期执行一次相加操作,即将计数步长R与基数相加。该第一相加结果可用余数和进位来表示,该余数和进位则由第一累加电路1的进制数来确定。
进制控制数2N-X是通过第二累加电路2从外部电路接收的,例如操作人员通过键盘等输入设备将进制控制数2N-X提供给计数器,或者还可以设置其它的电路来发送进制控制数2N-X。第二累加电路2在每一个工作周期也执行一次相加操作,即将从第一累加电路1接收到的第一相加结果的余数与进制控制数2N-X相加,得到第二相加结果,该第二相加结果也用余数和进位来表示,该余数和进位则由第二累加电路2的进制数来确定,第一累加电路1和第二累加电路2的进制数相等。
对于上述第一累加电路1,本领域技术人员可以设计实现多种电路来实现,例如采用比较器、移位器或加法器等结构来实现。本实施例提供一种采用加法器的实现方式,第一累加电路1可以为加法器,可采用现有技术中常用的半加器,可对N位的二进制数进行相加操作。半加器具有两个输入端和两个输出端,其中两个输入端分别为加数输入端和被加数输入端,对应用于输入加数和被加数,两个输出端分别为余数输出端和进位输出端,对应用于输出相加结果的余数和进位。
具体的,第一累加电路1的加数输入端用于输入计数步长R,被加数输入端与选择电路3的输出端连接以接收基数,余数输出端输出第一相加结果的余数,进位输出端输出第一相加结果的进位。
下面举例来说明第一相加结果由余数和进位来表示的方式:假设设计该计数器为10进制计数器(即X=10),计数步长R的取值范围可根据0<R<X来确定,即计数步长R可以为数字0至10之间的任意整数,假设计数步长R为7,第一累加电路1和第二累加电路2可处理的二进制数位数N为4。
(1)假设基数为2,第一相加结果应当为2+7=9,由于第一累加电路1计算的二进制数位数N为4,其最大值为24-1=15,第一相加结果的余数和进位是相对于24来得到的,则余数为9,进位为0;
(2)假设基数为8,第一相加结果应当为8+7=15,则第一相加结果的余数为15,进位为0;
(3)假设基数为9,第一相加结果应当为9+7=16,则第一相加结果的余数为0,进位为1。
首先明确第一累加电路1的进位计算与计数器的进位计算的区别,第一累加电路1的进位是相对于2N来计算的,也即:满2N进位,而计数器是X进制的计数器,其进位是相对于X来计算的,也即:满X进位。
对于上述情况(1),对于4位的第一累加电路1而言,第一相加结果的余数为9,进位为0,对于10进制的计数器而言,其该计数器的余数确实为9,进位为0;
对于上述情况(2),对于4位的第一累加电路1而言,第一相加结果的余数为15,进位为0,但对于10进制的计数器而言,计数器的余数不可能为15,也就是说第一相加结果的余数并不能作为计数器的余数;
对于上述情况(3),对于4位的第一累加电路1而言,第一相加结果的余数为0,进位为1,但对于10进制的计数器而言,第一相加结果的余数0也并不是计数器的真实余数的数值。
因此,在第一累加电路1的基础上,可设置第二累加电路2,用于对第一计算结果进行补充计算。
对于第二累加电路2,本领域技术人员也可以设计实现多种电路来实现,例如采用比较器、移位器或加法器等结构来实现。本实施例提供一种采用加法器的实现方式,第二累加电路2可以为加法器,可采用现有技术中常用的半加器,第二累加电路2的结构可以与第一累加电路1的结构相同,可对N位的二进制数进行相加操作。
具体的,第二累加电路2的加数输入端用于输入进位控制数,该进位控制数可以为2N-X,被加数输入端与第一累加电路1的余数输出端连接以接收第一相加结果的余数,余数输出端输出第二相加结果的余数,进位输出端输出第二相加结果的进位。
则对于第一相加结果的进位为0的情况,需要进行进一步的判断,判断第一相加结果的余数是否大于进制数X,具体实现方式是设定进制控制数为24-X,使得第二累加电路2将进制控制数与第一相加结果的余数相加,得到第二相加结果,并判断第二相加结果是否有进位,若有进位,则确定第一相加结果的余数确实大于X,则将第二相加结果的余数作为整个计数器的余数输出,若无进位,则确定第一相加结果的余数确实小于X,则将第一相加结果的余数作为整个计数器的余数输出。
具体的,对于上述情况(1),计算4位二进制数的第一累加电路1输出第一相加结果的余数为9,进位为0,进制控制数24-X为6,第二累加电路2将第一相加结果的余数和进制控制数相加,得到第二相加结果为15,则第二相加结果相对于24计算进位方式,第二相加结果的余数为15,进位为0。则确定第一相加结果的余数9可作为10进制计数器的余数输出。
则对于上述情况(2),计算4位二进制数的第一累加电路1输出第一相加结果的余数为15,进位为0,进制控制数24-X为6,第二累加电路2将第一相加结果的余数和进制控制数相加,得到第二相加结果为21,则第二相加结果的余数为5,进位为1。则确定第二相加结果的余数5可作为10进制计数器的余数输出。
上述情况(1)和(2)中第一相加结果的进位都是0,对于情况(3),第一相加结果的进位是1,余数是0,由于第一累加电路1是相对于24进行进位计算的,则与10进制计数器相比,当第一相加结果的进位为1时,相当于第一相加结果的余数多减掉24-X,则在第二累加电路2中再加上24-X,即第二累加电路2接收的进制控制数为24-X,将其与第一相加结果的余数0相加,得到第二相加结果为6,进位为0。确定第二相加结果的余数6可作为10进制计数器的余数输出。
上述三个例子对于本实施例提供的第一累加电路1和第二累加电路2的结构和功能进行了具体说明,类似的,第一累加电路1和第二累加电路2也同样适应其它数值的计数步长R和进位控制数2N-X。
上述选择电路3分别与第一累加电路1和第二累加电路2连接,具体可分别与第一累加电路1的两个输出端连接和第二累加电路2的两个输出端连接,以接收第一相加结果的进位、第一相加结果的余数、第二相加结果的进位和第二相加结果的余数。若第一相加结果的进位和第二相加结果的进位中至少有一个为1,选择电路3将第二相加结果的余数作为基数输出,相当于若第一相加结果的进位和第二相加结果的进位均为0,选择电路3将第一相加结果的余数作为基数输出。该基数一方面可提供给第一累加电路1,使得在下一工作周期中,第一累加电路1将该基数继续与计数步长R相加;另一方面,该基数可作为计数器的输出值,在每一个计算周期将得到的基数输出。
基于上述列举的三种情况,情况(1)中,第一相加结果的进位和第二相加结果的进位均为0,则选择电路3可将第一相加结果的余数作为基数输出。情况(2)中,第二相加结果的进位为1,情况(3)中第一相加结果的进位为1,则对于情况(2)和(3),选择电路3可将第二相加结果的余数作为基数输出。
本领域技术人员可设计多种选择电路3的结构,以实现上述功能,本实施例提供一种具体的实现方式,可参照图2,图2为本发明实施例一提供的计数器的结构示意图二。选择电路3可以包括进位选择电路31和余数选择电路32。
其中,进位选择电路31的两个输入端分别与第一累加电路1和第二累加电路2连接,接收第一相加结果的进位和第二相加结果的进位,若第一相加结果的进位和第二相加结果的进位中至少有一个为1,则进位选择电路31输出有效的余数控制值,若第一相加结果的进位和第二相加结果的进位均为0,进位选择电路31输出无效的余数控制值。
进位选择电路31可以采用多种实现方式,最简单的一种结构为或门,该或门的一个输入端与第一累加电路1的进位输出端连接,以接收第一相加结果的进位,另一个输入端与第二累加电路2的进位输出端连接,以接收第二相加结果的进位,或门的输出端与余数选择电路32的控制端连接,以发送余数控制值。
或门能实现的功能是当第一相加结果的进位和第二相加结果的进位中至少有一个为1,则或门输出1,也即输出有效的余数控制值,当第一相加结果的进位和第二相加结果的进位都为0,则或门输出0,也即输出无效的余数控制值。
余数选择电路32的控制端与进位选择电路31的输出端连接,用于接收余数控制值,余数选择电路32的两个输入端分别与第一累加电路1和第二累加电路2连接,具体分别与第一累加电路1的余数输出端连接以接收第一相加结果的余数,以及与第二累加电路2的余数输出端连接以接收第二相加结果的余数。若余数控制值有效,则余数选择电路32将第二相加结果的余数作为基数输出,若余数控制值无效,则余数选择电路32将第一相加结果的余数作为基数输出。
余数选择电路32可以采用多种实现方式,最简单的一种结构为二选一数据选择器,该二选一数据选择器的一个输入端与第一累加电路1的余数输出端连接,另一个输入端于第二累加电路的余数输出端连接,二选一数据选择器的控制端与上述或门的输出端连接,二选一数据选择器的输出端作为余数选择电路32的输出端。
二选一数据选择器实现的功能是当余数控制值有效时,将第二相加结果的余数作为基数输出,当余数控制值无效时,将第一相加结果的余数作为基数输出。
本实施例提供的计数器能够实现任意进制数任意步长的计算,下面举例来说明该计数器的工作过程:
假设进制数X为10,计数步长R为7,两个累加电路需处理的二进制数的位数N为4,进制控制数2N-X为6,其中,计数步长R作为计数步长可由外部电路输入,进制控制数也由外部电路输入。
在计数器的第一工作周期内,设定基数为0,则第一累加电路1将基数0和计数步长7相加,得到第一相加结果为7,则第一相加结果的余数为7,进位为0;第二累加电路2将第一相加结果的余数7和进制控制数6相加,得到第二相加结果为13,则第二相加结果的余数为13,进位为0;上述第一相加结果的进位和第二相加结果的进位均为0,则或门输出余数控制数为0,二选一数据选择器将第一相加结果的余数7作为基数输出,并提供给第一累加电路1,参与下一工作周期的计算。
在计数器的第二工作周期内,第一累加电路1将基数7和计数步长7相加,得到第一相加结果为14,则第一相加结果的余数为14,进位为0;第二累加电路2将第一相加结果的余数14与进制控制数6相加,得到第二相加结果20,则第二相加结果的余数为4,进位为1;上述第二相加结果的进位为1,则或门输出余数控制数为1,二选一数据选择器将第二相加结果的余数4作为基数输出,并提供给第一累加电路1,参与下一工作周期的计算。
类似的,本实施例提供的计数器能够在多个工作周期内按照设定的步长和进制数进行计数,表一为计数器在9个工作周期中的中间数值。
表一计数器在9个工作周期中的中间数值
另外,在上述技术方案的基础上,计数器还可以包括寄存器,用于存储选择电路3输出的基数,以提供给第一累加电路1。该寄存器4设置在选择电路3与第一累加电路1之间,具体连接在二选一数据选择器的输出端与第一累加电路1之间。该寄存器4能够对选择电路3输出的基数进行存储,然后提供给第一累加电路1进行运算,在每个工作周期中,第一累加电路1都将寄存器4中存储的上一工作周期输出的基数与计数步长相加,实现了连续的累加计算过程。
本实施例的技术方案通过采用第一累加电路对计数步长和基数进行相加,采用第二累加电路根据进制控制数对第一累加电路计算得到的第一相加结果进行补充计算得到第二相加结果,且采用选择电路根据第一相加结果和第二相加结果输出基数作为计数器的输出,其中的计数步长和进制控制数可以为任意数值,该计数器能够实现任意进制数的加法运算,且也能够进行任意步长的加法运算,应用在分频器中能够实现多种分频系数。且上述技术方案构成的计数器仅需要两个累加电路和一个选择电路就可以实现,其电路结构较简单,应用在分频器中,能够取代现有技术中较为复杂的计数器结构,为分频器提供多种分频系数,解决了现有的分频器的电路结构较复杂的问题,简化了分频器的电路结构。
上述实施例所提供的计数器,除了能够应用于分频器之外,还可以应用于定时器,拓宽了定时器的定时时间范围。或者,该计数器可以按照待驱动设备的需要产生设定节拍的脉冲信号,以为不同的设备提供相应的工作脉冲信号或脉冲序列。该计数器还可以应用于计算机中,用于进行较复杂的数字运算。计数器应用的领域非常广泛,本领域技术人员可根据实际需要对计数器设定相应的计数步长和进制数。
实施例二
本发明实施例二还提供一种计数方法,可参照图3,图3为本发明实施例二提供的计数方法的流程图。该方法可以由上述技术方案中的计数器来执行,可参照图2所示的结构。该技术方法具体可以包括如下步骤:
步骤10、获取计数步长、基数、预设累加进制数、计数进制数和进制控制数。
其中,进制控制数为预设累加进制数与计数进制数的差值。若按照上述技术方案中提供的计数器来执行步骤10,则计数步长、计数进制数和进制控制数可以由外部电路提供给计数器,具体可以通过外部的其它电路接收用户的输入参数,或者由其它电路生成对应的参数。计数进制数相当于计数器的进制数X,预设累加进制数可以为第一累加电路1和第二累加电路2的进制数2N,则进制控制数为2N-X。
在计数的第一个周期中,基数可以由外部电路提供,在计数过程的后续周期中,基数可以由计数器内部产生,如由选择电路3产生;或者基数均可以由计数器内部的选择电路3产生。
步骤20、将计数步长和基数相加得到第一相加结果,并按照预设累加进制数计算第一相加结果的余数和第一相加结果的进位。
步骤30、将第一相加结果的余数和进制控制数相加得到第二相加结果,并按照预设累加进制数计算第二相加结果的余数和第二相加结果的进位;
步骤40、对第一相加结果的进位和第二相加结果的进位进行判断;
步骤50、若第一相加结果的进位和第二相加结果的进位中至少有一个为1,将第二相加结果的余数作为基数进行再次计算直到计数完成;若第一相加结果的进位和第二相加结果的进位均为0,将第一相加结果的余数作为基数进行再次计算直到计数完成。
另外,在计数完成时,若第一相加结果的进位和第二相加结果的进位中至少有一个为1,还可以将第二相加结果的余数作为计数结果输出;若第一相加结果的进位和第二相加结果的进位均为0,则还可以将第一相加结果的余数作为计数结果输出。
上述步骤的具体实现方式可参照对计数器的具体说明,此处不再赘述。上述步骤20可以由第一累加电路1来执行,步骤30可以由第二累加电路2来执行,步骤40和50可以由选择电路3来执行。采用上述计数方法可实现任意进制数的加法运算,且也能够进行任意步长的加法运算,应用在分频器中能够为分频器提供多种分频系数。
上述技术方法也可以不限于采用实施例一所提供的计数器来实现,本领域技术人员也可以按照上述各步骤来设计其它形式的电路结构来实现类似的功能,以进行任意进制和任意步长的计数。
另外,本实施例还提供一种分频器,可包括上述实施例所提供的计数器,因此,该分频器的电路结构较简单,且由于该计数器能够实现任意进制数的加法运算,也能够进行任意步长的加法运算,因此能实现多种分频系数,进而输出多种分频信号。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种计数器,其特征在于,包括:第一累加电路、第二累加电路以及选择电路,所述计数器的进制数为小于所述第一累加电路的进制数的可变数值,所述第一累加电路与所述第二累加电路具有相同的进制数;其中,
所述第一累加电路的其中一个输入端用于输入计数步长,另一个输入端与所述选择电路的输出端连接,以接收所述选择电路发送的基数;所述第一累加电路用于将所述计数步长与所述基数相加,得到第一相加结果,并按照所述第一累加电路的进制数计算所述第一相加结果的余数和所述第一相加结果的进位;
所述第二累加电路的其中一个输入端与所述第一累加电路连接,用于接收所述第一相加结果的余数,所述第二累加电路的另一个输入端用于输入进制控制数,所述进制控制数为所述第一累加电路的进制数与所述计数器当前的进制数的差;所述第二累加电路用于将所述第一相加结果的余数与所述进制控制数相加,得到第二相加结果以对所述第一相加结果进行补充计算,并按照第二累加电路的进制数计算所述第二相加结果的余数和所述第二相加结果的进位;
所述选择电路分别与所述第一累加电路和第二累加电路连接,以接收所述第一相加结果的进位、第一相加结果的余数、第二相加结果的进位和第二相加结果的余数;若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,所述选择电路将所述第二相加结果的余数作为所述基数输出,若所述第一相加结果的进位和第二相加结果的进位均为0,所述选择电路将所述第一相加结果的余数作为所述基数输出。
2.根据权利要求1所述的计数器,其特征在于,所述第一累加电路为加法器;
所述第一累加电路的加数输入端用于输入所述计数步长,被加数输入端与所述选择电路的输出端连接以接收所述基数,余数输出端输出所述第一相加结果的余数,进位输出端输出所述第一相加结果的进位。
3.根据权利要求2所述的计数器,其特征在于,所述第二累加电路为加法器;
所述第二累加电路的加数输入端用于输入所述进位控制数,被加数输入端与所述第一累加电路的余数输出端连接以接收所述第一相加结果的余数,余数输出端输出所述第二相加结果的余数,进位输出端输出所述第二相加结果的进位。
4.根据权利要求3所述的计数器,其特征在于,所述选择电路包括:进位选择电路和余数选择电路;
所述进位选择电路的两个输入端分别与所述第一累加电路和第二累加电路连接,接收所述第一相加结果的进位和第二相加结果的进位;若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,所述进位选择电路输出有效的余数控制值,若所述第一相加结果的进位和第二相加结果的进位均为0,所述进位选择电路输出无效的余数控制值;
所述余数选择电路的控制端与所述进位选择电路的输出端连接,用于接收所述余数控制值,所述余数选择电路的两个输入端分别与所述第一累加电路和第二累加电路连接,接收所述第一相加结果的余数和第二相加结果的余数;若所述余数控制值有效,则所述余数选择电路将所述第二相加结果的余数作为所述基数输出,若所述余数控制值无效,则所述余数选择电路将所述第一相加结果的余数作为所述基数输出。
5.根据权利要求4所述的计数器,其特征在于,所述进位选择电路为或门;
所述或门的一个输入端与所述第一累加电路的进位输出端连接,另一个输入端与所述第二累加电路的进位输出端连接,所述或门的输出端与所述余数选择电路的控制端连接。
6.根据权利要求4所述的计数器,其特征在于,所述余数选择电路为二选一数据选择器;
所述二选一数据选择器的一个输入端与所述第一累加电路的余数输出端连接,另一个输入端于所述第二累加电路的余数输出端连接,所述二选一数据选择器的控制端与所述进位选择电路的输出端连接,所述二选一数据选择器的输出端作为所述余数选择电路的输出端。
7.根据权利要求1-6任一项所述的计数器,其特征在于,还包括寄存器;
所述寄存器设置在所述选择电路与所述第一累加电路之间,用于存储所述基数。
8.一种计数方法,其特征在于,应用于如权利要求1至7任一项所述的计数器中,包括:
获取计数步长、基数、预设累加进制数、计数进制数和进制控制数;
将所述计数步长和基数相加得到第一相加结果,并按照所述预设累加进制数计算所述第一相加结果的余数和所述第一相加结果的进位;
将所述第一相加结果的余数和进制控制数相加得到第二相加结果,并按照所述预设累加进制数计算所述第二相加结果的余数和所述第二相加结果的进位;所述进制控制数为所述预设累加进制数与所述计数进制数的差;
若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,将所述第二相加结果的余数作为所述基数进行再次计算直到计数完成;若所述第一相加结果的进位和第二相加结果的进位均为0,将所述第一相加结果的余数作为所述基数进行再次计算直到计数完成。
9.根据权利要求8所述的计数方法,其特征在于,还包括:
在计数完成时,若所述第一相加结果的进位和第二相加结果的进位中至少有一个为1,将所述第二相加结果的余数作为结果输出;若所述第一相加结果的进位和第二相加结果的进位均为0,将所述第一相加结果的余数作为结果输出。
10.一种分频器,其特征在于,包括如权利要求1-7任一项所述的计数器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410124410.7A CN103856211B (zh) | 2014-03-28 | 2014-03-28 | 计数器、计数方法和分频器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410124410.7A CN103856211B (zh) | 2014-03-28 | 2014-03-28 | 计数器、计数方法和分频器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103856211A CN103856211A (zh) | 2014-06-11 |
CN103856211B true CN103856211B (zh) | 2016-07-06 |
Family
ID=50863476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410124410.7A Active CN103856211B (zh) | 2014-03-28 | 2014-03-28 | 计数器、计数方法和分频器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103856211B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653238B (zh) * | 2015-12-08 | 2018-10-02 | 沈阳东软医疗系统有限公司 | 一种计时方法及装置 |
CN110764439B (zh) * | 2018-07-25 | 2022-09-06 | 上海英威腾工业技术有限公司 | 伺服驱动脉冲输出分频器及其使用方法 |
CN111064466B (zh) * | 2019-12-27 | 2023-08-18 | 成都蓝大科技有限公司 | 一种负反馈方法及其系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777139A (zh) * | 2009-12-30 | 2010-07-14 | 宁波大学 | 一种基于神经mos管的多值计数器单元及多位多值计数器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000090668A (ja) * | 1998-09-07 | 2000-03-31 | Texas Instr Inc <Ti> | 半導体メモリ回路 |
-
2014
- 2014-03-28 CN CN201410124410.7A patent/CN103856211B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777139A (zh) * | 2009-12-30 | 2010-07-14 | 宁波大学 | 一种基于神经mos管的多值计数器单元及多位多值计数器 |
Non-Patent Citations (2)
Title |
---|
A General Power Model of Differential Power Analysis Attacks to Static Logic Circuits;Massimo Alioto 等;《Very Large Scale INtegration Systems,IEEE Transactions on》;20100531;第711-724 * |
基于PSOC的通用计数器设计;韩喜春 等;《黑龙江工程学院学报》;20110930;第25卷(第3期);第48-52页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103856211A (zh) | 2014-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7205800B2 (en) | Clock frequency divider circuit | |
US4339722A (en) | Digital frequency multiplier | |
CN103856211B (zh) | 计数器、计数方法和分频器 | |
CN110011659B (zh) | 分频器及其芯片 | |
JP2004519917A (ja) | 改善されたノイズとスパー性能をもつσ−δn分周周波数分周器 | |
US20100052740A1 (en) | Clock signal frequency dividing circuit and clock signal frequency dividing method | |
DE19802001C1 (de) | Digital gesteuerte Schaltung zur Verringerung der Phasenmodulation eines Signals | |
CN101421930A (zh) | 配置锁相环电路的方法以及系统 | |
US20150199174A1 (en) | Method for Checking an Output | |
US9584142B2 (en) | Fractional N frequency synthesizer and setting method thereof | |
CN101594146B (zh) | 锁相环电路 | |
CN112204886A (zh) | 可编程数字σ-δ调制器 | |
RU2444123C1 (ru) | Адаптивное цифровое сглаживающее устройство | |
US20140354262A1 (en) | Lock detector for digital phase-locked loop | |
JP2019070603A (ja) | Abz相の分周装置 | |
JP4434277B2 (ja) | クロック生成回路およびその使用方法 | |
US9160316B2 (en) | Digital controlled oscillator and frequency variable oscillator | |
CN1842964B (zh) | 高频分频器状态纠正 | |
US7231012B2 (en) | Programmable frequency divider | |
US7512208B2 (en) | Digital clock divider | |
US9564904B2 (en) | Asynchronous high-speed programmable divider | |
CN103984382A (zh) | 一种串联数字电位器阶数的设置方法 | |
CN110750129A (zh) | 分频电路 | |
CN107294529B (zh) | 一种实现无限精度的数字锁相环 | |
WO2023165216A1 (zh) | 锁相环、雷达系统及随机化fmcw信号初始相位的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |