一种用于UART接口芯片的无毛刺自适应时钟切换方法技术

技术编号:9381549 阅读:139 留言:0更新日期:2013-11-27 23:56
一种用于UART接口芯片的无毛刺自适应时钟切换方法。本发明专利技术公开了一种UART接口芯片的时钟切换方法,包括如下步骤:1)自适应时钟切换模块根据CPU并行写入的配置信息获得UART接口芯片的下一工作状态:输入时钟频率和波特率;2)计算UART接口芯片所需主时钟频率;3)比较所需主时钟频率与输入时钟频率,当所需主时钟频率高于输入时钟频率时,计算倍频率,打开倍频器,当所需主时钟频率低于输入时钟频率时,关闭倍频器;4)根据倍频器的开闭,进行芯片主时钟的切换。UART接口芯片包括一自适应时钟切换模块与芯片主时钟连接。本发明专利技术根据高速UART接口芯片当前的工作状态,以及CPU写入的下一个工作状态,自动地调整芯片的时钟策略,达到优化功耗的目的。

【技术实现步骤摘要】
一种用于UART接口芯片的无毛刺自适应时钟切换方法
本专利技术涉及UART接口芯片的时钟切换方法。
技术介绍
计算机主机与外部设备之间的数据传输包括并行传输和串行传输两种,其中并行传输用于距离短、速度快的场合,而在距离长、速度要求不高的情况下,通常采用串行传输。如图1所示,在CPU与串口设备之间多采用UART(通用异步收发器)接口芯片进行并串口转换:UART接口芯片将CPU并行写入的数据转成串口协议,按预先设定的帧格式和波特率发送给串口设备;并将接收到的串行数据存放到内部缓存中,供CPU并行读取。大多数UART接口芯片可以工作于多种波特率(传输速率)下,并且为了提高串行通讯的抗干扰和可靠性,串行接口芯片通常采用16倍时钟采样串口信号,即芯片主时钟是串口波特率的16倍。随着计算机技术的不断发展,一些特殊场合往往会要求串口速率达到5Mbit/s甚至更高,因此要求串口芯片在满足常用标准波特率(如110、300、600、1200、2400、4800、9600、19200、38400、614400等)传输的情况下,还能兼顾非标的高速串口协议。为了在16倍采样时兼顾非标的高速串口协议,如图1所示UART接口芯片中通常集成时钟倍频器。目前的串口芯片的波特率调整,多是芯片输入时钟频率固定,由CPU调整UART接口芯片内部时钟预分频器101的方法实现。但是由于UART接口芯片内部时钟倍频器的存在,仅仅靠分频的方式调整波特率,无法达到UART接口芯片功耗的优化。
技术实现思路
本专利技术的目的在于:使高速UART接口芯片在较宽的波特率范围内,能够根据波特率要求实时调整芯片内部时钟策略,并保证时钟安全、无毛刺地切换,从而达到优化芯片功耗的目的。在数字电路中,输入的数字信号改变或进行一些逻辑运算(如非、与、或等)时,输出信号没有能完全同步改变,从而引发短暂时间内的错误信号脉冲输出,这种错误信号的脉冲很窄,被称作“毛刺”(英语:glitch);在本专利技术中,UART芯片的主时钟(mclk)在芯片输入时钟clkin与芯片内部倍频器输出时钟pllclk二者之间切换时,操作不当会引入的过窄脉冲,也被称为毛刺。为达到上述目的所采用的技术方案为:一种UART接口芯片的时钟切换方法,包括如下步骤:1)自适应时钟切换模块根据CPU并行写入的配置信息获得UART接口芯片的下一工作状态:输入时钟频率和波特率;2)计算UART接口芯片所需主时钟频率;3)比较所需主时钟频率与输入时钟频率,当所需主时钟频率高于输入时钟频率时,计算倍频率:倍频率=主时钟频率/输入时的频率,打开倍频器,当所需主时钟频率低于输入时钟频率时,关闭倍频器;4)根据倍频器的开闭,进行芯片主时钟的切换。所述UART接口芯片所需主时钟频率为波特率*UART接口芯片时钟倍数。UART接口芯片时钟倍数为16。所述芯片主时钟的切换是芯片输入时钟和倍频器输出时钟之间的切换。所述芯片输入时钟和倍频器输出时钟的切换方法,包括如下步骤:A.当倍频器由开启切换成关闭时,将芯片主时钟由倍频器输出时钟切换为芯片输入时钟;B.当倍频器由关闭切换成开启,将芯片主时钟由芯片输入时钟切换为倍频器输出时钟;C.若倍频器需要保持开启,并且需要调整倍频率时,将芯片主时钟切换到倍频率调整后的倍频器输出时钟。所述将芯片主时钟由倍频器输出时钟切换为芯片输入时钟的步骤为:在倍频器输出时钟的下降沿关闭倍频器输出时钟到芯片主时钟的通路;关闭倍频器;在下一个芯片输入时钟的下降沿开启芯片输入时钟到芯片主时钟的通路;完成芯片主时钟由倍频器输出时钟到芯片输入时钟的切换。所述将芯片主时钟由芯片输入时钟切换为倍频器输出时钟的步骤为:设置倍频率,开启倍频器,倍频器输出稳定后进行芯片主时钟的切换:在芯片输入时钟的下降沿关闭芯片输入时钟到芯片主时钟的通路;在下一个倍频器输出时钟的下降沿开启倍频器输出时钟到芯片主时钟的通路;完成芯片主时钟由芯片输入时钟到倍频器输出时钟的切换。所述将芯片主时钟切换到倍频率调整后的倍频器输出时钟的步骤为:在倍频器输出时钟的下降沿关闭倍频器输出时钟到芯片主时钟的通路;调整倍频器的倍频率;倍频器输出稳定后,在下一个倍频器输出时钟的下降沿开启倍频器输出时钟到芯片主时钟的通路;完成芯片主时钟向倍频率调整后的倍频器输出时钟的切换;通过一计数器来确定倍频器输出稳定所需时间,计数器的值达到倍频器的锁定时间后进行切换。本专利技术专利的优点在于:根据高速UART接口芯片当前的工作状态,以及CPU写入的下一个工作状态,自动地调整芯片的时钟策略,达到优化功耗的目的。若需要调整高速UART接口芯片内部倍频器的工作状态,则自动避开倍频器在状态切换时的不稳定期,避免高速UART接口芯片因主时钟抖动而跑飞,时钟切换时无毛刺。倍频器输出时钟与高速UART接口芯片输入时钟之间存在一定的相位差,并且该相位差与芯片制造工艺相关,因此可以认为倍频器输出时钟与高速UART接口芯片输入时钟为异步关系。本专利技术的一个重要组成部分是保证这两个异步时钟切换时,不会引入毛刺。附图说明图1为现有技术中的高速UART接口芯片的结构示意图;图2为本专利技术的UART接口芯片的加入自适应时钟切换模块的高速UART接口芯片工作结构示意图;图3为本专利技术方法的流程图;图4为图3中的时钟无毛刺切换步骤的流程图.具体实施方式芯片主时钟(mclk)是UART芯片内部时序电路的工作时钟;根据UART芯片不同的工作状态,mclk可以是芯片输入时钟(clkin),也可以是倍频器输出时钟(pllclk),即mclk为clkin和pllclk的二选一;比如选择信号=0时,mclk=pllclk,选择信号=1时,mclk=clkin。由于倍频器存在输入输出之间的延迟不确定性,造成pllclk与clkin之间的相位差不确定,从而导致pllclk与clkin切换时mclk出现很窄的脉冲,即毛刺,从而引起芯片电路很严重的逻辑错误。本专利技术的目的在于解决芯片主时钟(mclk)因UART芯片不同的工作状态切换带来的毛刺问题,保证芯片电路的安全运行。实施例本专利技术的UART接口芯片如图2所示,在原有高速UART接口芯片的预分频器101前中加入自适应时钟切换模块201,自适应时钟切换模块201与芯片主时钟连接,根据倍频器的状态变化,进行芯片主时钟的切换。具体的自适应时钟切换模块201还包括工作状态识别模块202、时钟切换模块203,工作状态识别模块202根据CPU并行写入的UART接口芯片工作状态信息,计算芯片所需主时钟的频率,依据所需主时钟频率是否高于输入时钟频率和目前倍频器状态,判断是否开启倍频器并在必要时计算倍频率;时钟切换模块203根据倍频器需要跳转的状态实时调整倍频器,并进行芯片输入时钟与倍频器输出时钟之间的切换。本专利技术的工作流程如图3所示,a.首先由工作状态识别模块202根据CPU并行写入的UART接口芯片工作状态信息(芯片输入时钟clkin的频率fclkin,波特率Br),计算芯片所需主时钟mclk的频率fmclk=Br×16(16为UART接口芯片时钟倍数)。依据fmclk是否大于fclkin,以及目前倍频器的工作状态,来确定倍频器的下一个工作状态:若所需主时钟频率不高于输入时钟频率(fmclk≤fclkin)本文档来自技高网...
一种用于UART接口芯片的无毛刺自适应时钟切换方法

【技术保护点】
一种UART接口芯片的时钟切换方法,包括如下步骤:?1)自适应时钟切换模块根据CPU并行写入的配置信息获得UART接口芯片的下一工作状态:输入时钟频率和波特率;?2)计算UART接口芯片所需主时钟频率;?3)比较所需主时钟频率与输入时钟频率,当所需主时钟频率高于输入时钟频率时,计算倍频率:倍频率=主时钟频率/输入时的频率,打开倍频器,当所需主时钟频率低于输入时钟频率时,关闭倍频器;?4)根据倍频器的开闭,进行芯片主时钟的切换。

【技术特征摘要】
1.一种UART接口芯片的时钟切换方法,包括如下步骤:1)自适应时钟切换模块根据CPU并行写入的配置信息获得UART接口芯片的下一工作状态:输入时钟频率和波特率;2)计算UART接口芯片所需主时钟频率;3)比较所需主时钟频率与输入时钟频率,当所需主时钟频率高于输入时钟频率时,计算倍频率:倍频率=主时钟频率/输入时的频率,打开倍频器,当所需主时钟频率低于输入时钟频率时,关闭倍频器;4)根据倍频器的开闭,进行芯片主时钟的切换,切换方法,包括如下步骤:A.当倍频器由开启切换成关闭时,将芯片主时钟由倍频器输出时钟切换为芯片输入时钟,步骤为:在倍频器输出时钟的下降沿关闭倍频器输出时钟到芯片主时钟的通路;关闭倍频器;在下一个芯片输入时钟的下降沿开启芯片输入时钟到芯片主时钟的通路;完成芯片主时钟由倍频器输出时钟到芯片输入时钟的切换;B.当倍频器由关闭切换成开启,将芯片主时钟由芯片输入时钟切换为倍频器输出时钟,步骤为:设置倍频率,开启倍频器,倍频器输出稳定后进行芯片主时钟的切换:在芯片输入时钟的下降沿...

【专利技术属性】
技术研发人员:郑炜朱天成李鑫杨阳周津
申请(专利权)人:中国航天科工集团第三研究院第八三五七研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1