一种纯数字电路小数分频系统和分频方法与流程

文档序号:21777371发布日期:2020-08-07 19:44阅读:570来源:国知局
一种纯数字电路小数分频系统和分频方法与流程

本发明涉及分频技术领域,特别涉及一种纯数字电路小数分频系统和分频方法。



背景技术:

uart已经是芯片系统中不可缺少的模块,它可以用来接各种通用外设,比如wifi、蓝牙模块;也可以用来作为debug接口连接pc系统。由于其标准波特率比较特殊(如921.6k,230.4k等),而现有模块都只能实现整数分频,所以要实现这些标准的波特率,uart的输入时钟必须是这些频率的整数倍,目前的实现是在整个芯片系统中单独增加一个pll来给uart提供工作时钟(比如我们要产生921.6k的波特率,输入的时钟必须是14.7456m的整数倍,这个频率的时钟只能通过pll输出来实现)。但是,由于芯片系统中单独增加一个pll来给uart提供时钟,增加了芯片的成本和功耗,降低了芯片整体ppa的竞争力。



技术实现要素:

本发明提供了一种纯数字电路小数分频系统和分频方法,用以解决现有技术中利用单独增加一个pll来给uart提供时钟的分频方式,增加了芯片的成本和功耗的问题,所采取的技术方案如下:

一种纯数字电路小数分频系统,所述系统包括整数分频系统和小数分频调节系统;其中,

所述整数分频系统配置有第一输入端、第三输入端和第五输入端,所述第一输入端与芯片系统的配置寄存器相连,并且所述整数分频系统和小数分频调节系统之间进行电气连接;其中,芯片系统用于向uart提供时钟信号;所述整数分频系统的第三输入端和第五输入端与芯片系统的时钟clk端相连;

所述小数分频调节系统配置有第二输入端、第四输入端和第六输入端;所述第二输入端与芯片系统的配置寄存器相连;所述小数分频调节系统采用64进制,当小数分频调节系统产生小数分频输入值进位时,调准整数分频系统的分频值;所述第四输入端和第六输入端均与芯片系统的时钟clk端相连。

进一步地,所述整数分频系统包括整数计数器比较电路,整数分频计数器和分频时钟输出电路;

所述整数计数器比较电路的配置寄存器信号输入端即为所述整数分频系统的第一输入端,所述整数计数器比较电路的配置寄存器信号输入端与芯片系统的配置寄存器相连;所述整数计数器比较电路用于比较所述整数分频计数器获得的数值和整数配置输入值是否相等;

所述整数分频计数器的时钟信号输入端即为第三输入端,所述整数分频计数器的时钟信号输入端与芯片系统的时钟clk端相连;所述整数分频计数器与所述整数计数器比较电路电气连接,用于在芯片系统的每个时钟上升沿时进行计数值加1;

所述分频时钟输出电路的时钟输入端即为第五输入端;所述分频时钟输出电路与所述整数计数器比较电路电气连接,用于输出一个分频后的时钟。

进一步地,所述小数分频调节系统包括小数分频调节计数器和小数计数器溢出检测电路;

所述小数分频调节计数器的配置寄存器信号输入端即为所述小数分频调节系统的第二输入端,所述小数分频调节计数器的配置寄存器信号输入端与芯片系统的配置寄存器相连;所述小数分频调节计数器的时钟信号输入端即为第四输入端,并且,所述小数分频调节计数器与整数分频系统中的整数计数器比较电路电气相连;所述小数分频调节计数器,用于接收芯片系统的时钟信号和所述整数分频系统中的整数计数器比较电路输出的整数分频计数值,并根据时钟信号和整数分频计数值增加小数分频配置输入值;

所述小数计数器溢出检测电路分别与所述小数分频调节计数器和所述整数计数器比较电路进行电气相连;所述小数计数器溢出检测电路的时钟信号输入端即为第六输入端;,所述小数计数器溢出检测电路用于检测小数分频调节计数器是否产生溢出,并通过溢出检测结果控制整数计数器比较电路进行整数分频计数器的值和整数配置输入值之间的数值比较。

进一步地,所述整数分频系统的整数分频配置输入为16bit,所述小数分频调节系统的小数分频配置输入为6bit。

进一步地,所述小数分频调节系统的小数分频配置输入值通过公式(1)获得:

a≈(a-b)×64(1)

其中,a表示小数分频配置输入值,并且a为利用公式(1)计算结果的四舍五入的整数值;a表示uart所需分频值,b为整数配置输入值,即为uart所需分频值的整数部分。

一种系统的纯数字电路小数分频方法,所述方法包括:

当整数分频系统的第一输入端与芯片系统的配置寄存器相连时,获取整数芯片系统提供的整数配置输入值;并且,所述整数分频系统与小数分频调节系统之间进行电气连接时,接收小数分频调节系统获得的计数溢出信号;同时,所述小数分频调节系统对小数分频配置输入值进行进位;

当小数分频调节系统的第二输入端与芯片系统的配置寄存器相连时,获取uart所需分频值,根据uart所需分频值获取小数分频配置输入值;所述小数分频调节系统采用64进制,当小数分频调节系统产生小数分频输入值进位时,调准整数分频系统的分频值;

当所述整数分频系统和小数分频调节系统与芯片系统的时钟clk端连接时,获取芯片系统的时钟信号。

进一步地,所述方法的过程包括:

步骤1、纯数字电路小数分频系统复位后开始工作,所述整数分频系统和小数分频调节系统的初始值均设置为0,所述小数分频调节计数器的溢出标志为0;

步骤2、获取uart所需分频值,根据uart所需分频值获取小数分频配置输入值;

步骤3、在芯片系统的每个时钟上升沿时,所述整数分频计数器进行计数值加1,并将所述计数值发送至整数计数器比较电路中;

步骤4、所述整数计数器比较电路比较整数分频计数器的计数值与整数配置输入值减1后的数值是否相等,若所述整数分频计数器的计数值与整数配置输入值减1后的数值相等,则跳转执行步骤5;

步骤5、所述小数分频调节计数器增加小数分频配置输入值,同时,分频时钟输出电路输出一个所需的分频后的时钟;

步骤6、所述小数计数器溢出检测电路检测所述小数分频调节计数器是否产生溢出,若所述小数分频调节计数器产生溢出,则跳转执行步骤7;

步骤7、启动所述整数计数器比较路比较所述整数分频计数器的计数值与所述整数配置输入值是否相等;当所述整数分频计数器的计数值与所述整数配置输入值相等时,所述小数分频调节计数器增加小数分频配置输入值,同时,所述分频时钟输出电路输出一个所需的分频后的时钟,并清除小数分频调节计数器的溢出标志。

进一步地,步骤2所述小数分频配置输入值通过公式(1)获得:

a≈(a-b)×64(1)

其中,a表示小数分频配置输入值,并且a为利用公式(1)计算结果的四舍五入的整数值;a表示uart所需分频值,b为整数配置输入值,即为uart所需分频值的整数部分。

本发明有益效果:

本发明提出的一种纯数字电路小数分频系统和分频方法,实现增加了小数分频调节电路,当整数分频误差达到了一定程度的时候,小数分频电路将自动调节整数分频电路的分频值来消除误差。误差值越大调节电路工作就越频繁,所以不会出现误差累计,实现了正确分频的结果。

附图说明

图1为本发明所述分频系统的系统结构图;

图2为本发明所述分频方法的流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明提供了一种纯数字电路小数分频系统和分频方法,旨在解决现有技术中利用单独增加一个pll来给uart提供时钟的分频方式,增加了芯片的成本和功耗的问题。

本发明的一个实施例,一种纯数字电路小数分频系统,所述系统包括整数分频系统和小数分频调节系统;

所述整数分频系统的第一输入端与芯片系统的配置寄存器相连,并且所述整数分频系统和小数分频调节系统之间进行电气连接;其中,芯片系统用于向uart提供时钟信号;

所述整数分频系统配置有第一输入端、第三输入端和第五输入端,所述第一输入端与芯片系统的配置寄存器相连,并且所述整数分频系统和小数分频调节系统之间进行电气连接;其中,芯片系统用于向uart提供时钟信号;所述整数分频系统的第三输入端和第五输入端与芯片系统的时钟clk端相连;

所述小数分频调节系统配置有第二输入端、第四输入端和第六输入端;所述第二输入端与芯片系统的配置寄存器相连;所述小数分频调节系统采用64进制,当小数分频调节系统产生小数分频输入值进位时,调准整数分频系统的分频值;所述第四输入端和第六输入端均与芯片系统的时钟clk端相连。

其中,如图1所示,所述整数分频系统包括整数计数器比较电路,整数分频计数器和分频时钟输出电路;

所述整数计数器比较电路的配置寄存器信号输入端即为所述整数分频系统的第一输入端,所述整数计数器比较电路的配置寄存器信号输入端与芯片系统的配置寄存器相连;所述整数计数器比较电路用于比较所述整数分频计数器获得的数值和整数配置输入值是否相等;

所述整数分频计数器的时钟信号输入端即为第三输入端,所述整数分频计数器的时钟信号输入端与芯片系统的时钟clk端相连;所述整数分频计数器与所述整数计数器比较电路电气连接,用于在芯片系统的每个时钟上升沿时进行计数值加1;

所述分频时钟输出电路的时钟输入端即为第五输入端;所述分频时钟输出电路与所述整数计数器比较电路电气连接,用于输出一个分频后的时钟。

如图1所示,所述小数分频调节系统包括小数分频调节计数器和小数计数器溢出检测电路;

所述小数分频调节计数器的配置寄存器信号输入端即为所述小数分频调节系统的第二输入端,所述小数分频调节计数器的配置寄存器信号输入端与芯片系统的配置寄存器相连;所述小数分频调节计数器的时钟信号输入端即为第四输入端,并且,所述小数分频调节计数器与整数分频系统中的整数计数器比较电路电气相连;所述小数分频调节计数器,用于接收芯片系统的时钟信号和所述整数分频系统中的整数计数器比较电路输出的整数分频计数值,并根据时钟信号和整数分频计数值增加小数分频配置输入值;

所述小数计数器溢出检测电路分别与所述小数分频调节计数器和所述整数计数器比较电路进行电气相连;所述小数计数器溢出检测电路的时钟信号输入端即为第六输入端;,所述小数计数器溢出检测电路用于检测小数分频调节计数器是否产生溢出,并通过溢出检测结果控制整数计数器比较电路进行整数分频计数器的值和整数配置输入值之间的数值比较。

所述整数分频系统的整数分频配置输入为16bit,所述小数分频调节系统的小数分频配置输入为6bit。

所述小数分频调节系统的小数分频配置输入值通过公式(1)获得:

a≈(a-b)×64(1)

其中,a表示小数分频配置输入值,并且a为利用公式(1)计算结果的四舍五入的整数值;a表示uart所需分频值,b为整数配置输入值,即为uart所需分频值的整数部分。

上述方案的工作原理为:小数分频配置输入和整数分频配置输入是软件配置值,在uart系统中,小数分频调节计数器一般64进制就能满足误差要求,所以小数配置输入为6bit。整数分频计数器16bit就能满足要求,所以整数配置输入为16bit。

假设需要做16.3分频,那么整数配置输入值为16,小数配置输入值通过公式(1)计算为19,即a≈(a-b)×64=0.3×64=19.2,然后四舍五入取整为19。

电路复位后开始工作时,整数和小数分频电路的初始值都为0,小数计数器溢出标志为0,每个时钟上升沿,整数分频计数器加1,当整数计数器比较电路比较到整数分频计数器的值和整数配置输入值减1相等时(即整数分频计数器的值等于15),小数分频调节计数器增加小数分频配置输入值(即增加19),同时分频时钟输出电路输出一个所需的分频后的时钟。当小数计数器溢出检测电路检测到小数分频调节计数器产生溢出时(即小数分频调节计数器增加19时,其结果大于64),下次整数计数器比较电路比较的是整数分频计数器的值和整数配置输入值是否相等(即整数分频计数器的值等于16),如果相等,小数分频调节计数器增加小数分频配置输入值(即增加19),同时分频时钟输出电路输出一个所需的分频后的时钟并清除小数计数器溢出标志。

上述方案的技术效果为:实现增加了小数分频调节电路,当整数分频误差达到了一定程度的时候,小数分频电路将自动调节整数分频电路的分频值来消除误差。误差值越大调节电路工作就越频繁,所以不会出现误差累计,实现了正确分频的结果。

本发明的一个实施例,一种系统的纯数字电路小数分频方法,所述方法包括:

当整数分频系统的第一输入端与芯片系统的配置寄存器相连时,获取整数芯片系统提供的整数配置输入值;并且,所述整数分频系统与小数分频调节系统之间进行电气连接时,接收小数分频调节系统获得的计数溢出信号;同时,所述小数分频调节系统对小数分频配置输入值进行进位;

当小数分频调节系统的第二输入端与芯片系统的配置寄存器相连时,获取uart所需分频值,根据uart所需分频值获取小数分频配置输入值;所述小数分频调节系统采用64进制,当小数分频调节系统产生小数分频输入值进位时,调准整数分频系统的分频值;

当所述整数分频系统和小数分频调节系统与芯片系统的时钟clk端连接时,获取芯片系统的时钟信号。

其中,如图2所示,所述方法的过程包括:

步骤1、纯数字电路小数分频系统复位后开始工作,所述整数分频系统和小数分频调节系统的初始值均设置为0,所述小数分频调节计数器的溢出标志为0;

步骤2、获取uart所需分频值,根据uart所需分频值获取小数分频配置输入值;

步骤3、在芯片系统的每个时钟上升沿时,所述整数分频计数器进行计数值加1,并将所述计数值发送至整数计数器比较电路中;

步骤4、所述整数计数器比较电路比较整数分频计数器的计数值与整数配置输入值减1后的数值是否相等,若所述整数分频计数器的计数值与整数配置输入值减1后的数值相等,则跳转执行步骤5;

步骤5、所述小数分频调节计数器增加小数分频配置输入值,同时,分频时钟输出电路输出一个所需的分频后的时钟;

步骤6、所述小数计数器溢出检测电路检测所述小数分频调节计数器是否产生溢出,若所述小数分频调节计数器产生溢出,则跳转执行步骤7;

步骤7、启动所述整数计数器比较路比较所述整数分频计数器的计数值与所述整数配置输入值是否相等;当所述整数分频计数器的计数值与所述整数配置输入值相等时,所述小数分频调节计数器增加小数分频配置输入值,同时,所述分频时钟输出电路输出一个所需的分频后的时钟,并清除小数分频调节计数器的溢出标志。

步骤2所述小数分频配置输入值通过公式(1)获得:

a≈(a-b)×64(1)

其中,a表示小数分频配置输入值,并且a为利用公式(1)计算结果的四舍五入的整数值;a表示uart所需分频值,b为整数配置输入值,即为uart所需分频值的整数部分。

上述方案的工作原理为:

纯数字电路小数分频系统复位后开始工作,所述整数分频系统和小数分频调节系统的初始值均设置为0,所述小数分频调节计数器的溢出标志为0;获取uart所需分频值,根据uart所需分频值获取小数分频配置输入值;在芯片系统的每个时钟上升沿时,所述整数分频计数器进行计数值加1,并将所述计数值发送至整数计数器比较电路中;所述整数计数器比较电路比较整数分频计数器的计数值与整数配置输入值减1后的数值是否相等,当所述整数分频计数器的计数值与整数配置输入值减1后的数值相等时,所述小数分频调节计数器增加小数分频配置输入值,同时,分频时钟输出电路输出一个所需的分频后的时钟;所述小数计数器溢出检测电路检测所述小数分频调节计数器是否产生溢出,当所述小数分频调节计数器产生溢出时,启动所述整数计数器比较路比较所述整数分频计数器的计数值与所述整数配置输入值是否相等;当所述整数分频计数器的计数值与所述整数配置输入值相等时,所述小数分频调节计数器增加小数分频配置输入值,同时,所述分频时钟输出电路输出一个所需的分频后的时钟,并清除小数分频调节计数器的溢出标志。

上述方案的技术效果为:实现增加了小数分频调节过程,当整数分频误差达到了一定程度的时候,小数分频电路将自动调节整数分频电路的分频值来消除误差。误差值越大调节电路工作就越频繁,所以不会出现误差累计,实现了正确分频的结果。有效提高分频的准确性和分频效率。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1