前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通信协议之UART简析

通信协议之UART简析

作者头像
数字IC小站
发布2020-07-23 19:35:11
6350
发布2020-07-23 19:35:11
举报
文章被收录于专栏:数字IC小站数字IC小站
  1. 概述 UART的全称是通用异步收发器(Universal Asynchronous Receiver/Transmitter),是实现设备之间低速数据通信的标准协议。常用在FPGA与PC等外设之间的通信传输,其中“异步”指不需要额外的时钟线进行数据的同步传输,它是一种串行总线接口,只需用两根线就可以完成数据的收发(一根用来接收数据,一根发送数据),两个设备在使用串口通信时,必须先约定一个数据传输速率,并且这两个设备各自的时钟频率必须与这个速率保持相近,某一方的时钟频率相差很大都会导致数据传输混乱,常用的标准通信波特率有9600bps、115200bps等。
  2. 帧格式 UART中的每一帧(frame)都是由起始位、数据位、校验位以及停止位组成的,数据串行逐位传输,数据是小端传输,如下图所示:

2.1起始位:因为UART没有控制线,要让接收方知道什么时候开始接收数据,需要一些手段。当数据开始传输时,总线电平拉低,因此每次检测到电平拉低时,就是开始传输数据了,此时就是起始位。 2.2数据位:数据传输是小端模式,每次从低地址开始传输,数据的宽度可以是5--8位,这个宽度具体值根据传输数据的特点做限定,但是收/发双方在数据开始传输前,必须对双方数据位位数作一致的定义,否则会导致数据的传输错误。 2.3奇偶位:又称为校验位,紧挨着数据位,不是必须选项,可有可无,目的是为了验证数据传输的安全性,在进行数据传输前,需要在收/发双方进行数据传输前要预设好是否需要校验位,如果需要则是奇校验还是偶校验。 其中奇校验就是看数据位中的1的个数,然后通过在校验位添加1或0,使得校验位和数据位中1的总个数是奇数,偶校验是使得校验位和数据位中1的总个数是偶数,操作方法则是对数据逐位进行同或/异或操作,偶校验是对数据逐位进行异或操作,奇校验是对数据逐位进行同或操作。 2.4停止位:停止位的宽度可以是1到2位,发送逻辑1,之后就进入了空闲。

  1. 波特率和比特率 比特率(bit rate)又称传信率。其定义是:单位时间(每秒)内传输的信息量,即每秒能传输的二进制位数,通常用Rb表示,其单位是比特/秒(bit/s或b/s,英文缩略语为bps)。 波特率(Baud rate)又称传码率或调制速率。其定义是:单位时间(每秒)内传输的码元(脉冲)个数,通常用RB表示,单位是波特(Bd或Baud)。 从定义来看,区别就是传输的是二进制数据还是码元,因为一个码元可以包含多个二进制数,当一个码元只包含一个二进制数时,意义是差不多的,但是单位还是不一样。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字IC小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档