串口通信波特率

  1. 波特率的定义
    波特率表示每秒钟传送的码元(符号)的个数,单位是波特(Baud,symbol/s)。
  2. 与比特率的关系
    通过不同的调制方式,可以在一个码元符号上负载多个bit位信息。
    在这里插入图片描述
    其中I为传信率,S为波特率,N为每个符号承载的信息量。比特率=波特率*单个调制状态对应的二进制位数。
    但是在串口通信中,传输码元(符号)就是比特(bit),即波特率=比特率=时钟周期的数值。
  3. 串口通信按照字节传输,1Byte到底有几位?
    串口模式下,若波特率是9600,1秒种只能传送9600/10=960Byte数据,而不是9600/8=1200Byte数据。
    这是因为在网络传输的时候为了区别一个字节的开始和结束需要在每个字节前加一位0,后面加一位1。其中有8个b是表示数据,另外2b是控制信息。在串口模式下传送数据,传送1Byte有效数据需要10位。
    在这里插入图片描述
  4. FPGA中的串口通信
    版权声明:本文为CSDN博主「Crazzy_M」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    什么是波特率,波特率怎么计算

假设系统时钟50M,波特率115200. 则传输1bit需要 1/115200s=8.68us。需要计数50*10^6/115200=434个。那么1Byte(串口传输格式为:1bit起始位+8bit数据位+1bit停止位)是不是循环计数10次434就可以传输完毕。
在这里插入图片描述

  1. 什么时候去采样串口线上的数据呢?
      观察上图,Buad_Flag信号(通道2)表示了传输1Bit传输的间隔,每遇到1个Buad_Flag=1的信号,数据线上切换1次数据,所以两个Buad_Flag=1之间的数据是稳定的数据,根据抽样定理是不是应该在两个Buad_Flag=1信号的中间去采样数据呢,其实就是在1bit数据持续期间的中间点采样,才能得到最稳定的数据。
    ————————————————
  • 17
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值