• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
清风醉明月 slp_art
博客园    首页    新随笔    联系   管理    订阅  订阅

关于任意小数分屏器的摘要

平均意义的小数分频:

小数分频器的系统原理是:通过精确的控制器来控制内部分频器进行N分频还是N+1分频,从而在平均意义上实现分频系数为小数的分频器。

输入时钟是33MHz,要分出一路2.048MHz的时钟

1.考虑到33000/2048=16+(232/2048)->16+(58/512), 即输出时钟每8+29/512个输入时钟翻转一次. 用累加器在每个输入时钟周期将余数累加直到溢出(>512), 大部分时间输出时钟每8拍翻转一次, 逢累加器溢出时, 9拍输入时钟再翻转. (注意: 溢出部分剩余值还应留在累加器中等待下一次累加). 这样做的结果即可实现分数分频, 且输出最大抖动取决于输入时钟.

2.比如画一条从原点到(33000, 2048)的直线,要求画笔每沿x轴移动16.11328125个象素,就沿y轴移动一个象素,如此往复。实际只能按整数象素移动,那么大部分时间每沿x轴移动16个象素,就沿y轴移动一个象素(并且把误差累积起来),如果误差大于0.5个象素,那么说明沿x轴移动过快,那就多等一步(即移动17个象素)再沿y轴移动。长期平均起来看,正好是33000/2048的比例。

摘自http://blog.csdn.net/Solstice/archive/2005/12/12/549965.aspx

另一个想法:Fo= (Fclk*K)/(2^N)

Fo 为输出方波

Fclk为输入时钟

2^N指将输出方波进行2^N抽样,存放在存储单元中

K为单次相位累加量(每次clk累加一次并读取相应相位的方波抽样数据)

K/(2^N)即为分频参数,通过调整可对Fclk任意分数分频

注意:相位步进量大于(抽样数/2)时  相当于  以(抽样数 - 相位步进量)为新的步进量沿反方向步进(即相位累减)所以分频后的频率最大为原频率的2分频

posted @ 2010-12-11 21:47  清风醉明月 slp_art  阅读(742)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3