注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

highspeedlogic

FPGA/MATLAB/Simulink

 
 
 

日志

 
 

波特率的计算方法概述  

2018-01-06 01:15:59|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

电子通信领域,波特率即调制速率,指的是信号被调制以后在单位时间内的波特数,即单位时间内载波参数变化的次数。它是对信号传输速率的一种度量,通常以波特每秒Bps)为单位。 波特率有时候会同比特率混淆,实际上后者是对信息传输速率(传信率)的度量。波特率可以被理解为单位时间内传输码元符号的个数(传符号率),通过不同的调制方法可以在一个码元上负载多个比特信息。调制解调器的通讯速度。波特率是指线路状态更改的次数。只有每个信号符合所传输数据的一位时,才等于每秒位数。 为了在彼此之间通讯,调制解调器必须使用相同的波特率进行操作。如果将调制解调器的波特率设置为高于其他的调制解调器的波特率,则较快的调制解调器通常要改变其波特率以匹配速度较慢的调制解调器。

FPGA中,我们要讲时钟频率转化为对应的波特率频率,其具体的代码如下:

 parameter div_par=16'h104; //产生波特率为9600的分频值

//产生9600波特率的时钟信号

always@(posedge clk )         //40_0000_00/(9600*2)=2083.333333

begin                                

     if(!rst)                      //----又由于有8个时隙

            div_reg<=0;                   

     else begin                   //----所以分频率系数为:

            if(div_reg==div_par-1)        

                   div_reg<=0;          //----2083.333333/8=260.4~260

            else                          

                   div_reg<=div_reg+1;   //----转化为16进制为:104

      end

end

//产生9600波特率的时钟信号

always@(posedge clk)

begin

     if(!rst)

            clkbaud8x<=0;

     else if(div_reg==div_par-1)

            clkbaud8x<=~clkbaud8x;

end

由计算公式,我们将时钟频率40MHZ除以波特率9600的两倍,可以得到一个分频系数2083.3333,又由于我们的串口通信的8位通信,应此要将获得的分频值再除以8,我们得到260,转化为16进制16'h104,这个就是我们得到的分频值。

  评论这张
 
阅读(31082)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018