找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 837|回复: 3
打印 上一主题 下一主题

小数分频有任何好处吗?

[复制链接]

15

主题

56

帖子

837

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
837
跳转到指定楼层
1#
发表于 2014-11-25 11:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本人在研究一个RS422接收程序的时候,发现程序中有一个波特率的产生进程。在这个进程中进行了小数分频。(将12MHz的系统时钟分频成9600*16的波特率)因此程序里面出现了78.112的分频语句。8 V1 b' i3 P) t' f
signal baud16ACC: std_logic_vector(16 downto 0);& d& D" j# b! |6 y8 [( ]: t- M
begin) X" }/ }3 N, x8 X4 E$ K$ r  T
baud16x<=baud16acc(16);! i3 |7 C3 \  W
process(clk_12M,rst)% U+ T. o' s1 t: e' r' l
begin
' p- T0 H, f# _0 ?  \6 C5 ~+ b1 P  if (rst='0')then6 |1 M2 t3 S4 v, ]! O* B- i5 z( w
   baud16ACC<=(others=>'0');   3 t2 V* O" G0 @* m) G" w- |( D
  elsif rising_edge(clk_12M) then& f# ]; Y! J% f1 z& d7 ?# ]
     baud16acc<=("01111111111111111"and baud16acc)+839;
/ ~/ [/ P+ t$ T; ^' ^# F9 H  X% D  end if;  @) h: |4 G# U# b1 R6 f, P
end process;
2 s+ L! \( M* i# b* w4 p3 v8 h. W8 W' X5 w6 J8 L
这个程序是将频率进行2的16次方除以839等于78.112分频。输出时钟就可以是接近9600*16但是这样有任何好处吗?
3 C! e# D$ [, t2 f% i7 Y# t因为程序是在上升沿触发的,因此有时候时钟是78个上升沿来一次,有时候会是79个上升沿来一次,这样我感觉单纯的增加技术难度,万一出错了呢?为什么不直接进行78分频呢,又简单,大神指点一二。! Y# w3 E0 ^8 V! H8 ~2 o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

4

主题

43

帖子

913

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
913
2#
发表于 2014-11-27 10:14 | 只看该作者
串行接口可以容忍一定程度的波特率误差,但是78分频误差有点大了吧,小数分频的好处是精度高。如果你喜欢整数,也可以有时78分频,有时79,来接近9600*16。再说了不存在万一出错的情况,程序运行是不会出错的,除非算法本身就错了。

15

主题

56

帖子

837

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
837
3#
 楼主| 发表于 2014-12-1 09:24 | 只看该作者
谢谢版主了,虽然还存有疑问,还是先看看书,巩固下基础再来问版主啦

7

主题

132

帖子

559

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
559
4#
发表于 2015-2-20 22:03 来自手机 | 只看该作者
这个代码写的比较好啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-18 18:38 , Processed in 0.057981 second(s), 33 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表