我是靠谱客的博主 发嗲小丸子,最近开发中收集的这篇文章主要介绍(UVM验证学习17) UART通信协议概览,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

单工/双工概念

数据通信中,数据在线路上的传送方式可以分为单工通信、半双工通信和全双工通信。

单工通信:消息只能单方向传输,单工通信信道是单向信道,发送端和接收端固定,发送端不能接收数据。
半双工通信:数据可以在信道上沿两个方向传送,但是同一时刻一个信号只允许单方向传输,所以又称为双向交替通信。半双工要求收发两端都有发送装置和接收装置,这种方式需要频繁变换信道方向,效率低但是可以节约传输线路。
全双工通信:在通信的任意时刻,线路上可以同时存在双向的信号传输,全双工场景下,通信两端都设置了发送器和接收器,所以可以进行数据在两个方向上的同时传送,而无需进行方向的切换。

UART是一种串行、异步、全双工的通信协议

UART数据发送

在这里插入图片描述起始位:开始数据传输时发送方要先发一个低电平0表示传输开始(空闲时为高电平)
数据位:先发送最低位,最后发送最高位
校验位:串口校验有无校验,奇校验(让传输的数据加上校验位1的个数为奇数),偶校验
停止位:数据结束标志,可以是1位,1.5位,2位的高电平
空闲位:当总线处于空闲状态时信号线状态位高电平

异步通信以一个字符为传输单位,通信时两个字符之间的时间间隔不固定,但是在同一个字符中两个相邻位的时间间隔固定。两个uart设备之间异步通信,通信时不需要时钟线,需要在两个uart设备上指定相同的传输速率,以及空闲位、起始位、校验位、结束位,即需要遵守相同的协议。

数据传送速率用波特率来表示,即每秒钟传送的二进制位数。例如数据传送速率是120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率位10*120=1200 bit/s = 1200波特

最后

以上就是发嗲小丸子为你收集整理的(UVM验证学习17) UART通信协议概览的全部内容,希望文章能够帮你解决(UVM验证学习17) UART通信协议概览所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部