首页 > 其他分享 >UART协议

UART协议

时间:2024-03-17 15:11:25浏览次数:30  
标签:协议 CTS UART 低电平 发送 RTS 发送数据

参考博客:https://blog.csdn.net/weixin_49259827/article/details/133761740   Uart:Universal Asyncchronous Receiver Transmitter即通信异步收发器,是一种通用的串行、异步通信总线。该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统中常用于主机与设备之前的通信 波特率:波特率用来描述UART通信时的通信速度,其单位为bsp(bit per second),即每秒钟传送的bit数量,例如波特率为115200,就是每秒中传输115200bit数据  

UART帧格式:

0 1、启动位也称起始位 2、字符数据5-8位,先发低位,再发高位,一般发八位,符合一个字节 3、校验位可有可无,一般为奇校验或者偶校验,取决于控制器设置,校验位仅校验数据是否正确,无法纠正数据 4、停止位一般为1bit 5、发收双发需设置相同波特率才能正常进行通信  

UART的优缺点:

以下是uart通信的一些优缺点: 优点: 1.仅使用两根传输线 2.无需时钟信号 3.具有奇偶校验位以允许进行错误检查 4.只要双方都设置好数据包的结构,即可改变其数据包结构 缺点: 1.数据帧的大小最大为9位 2.不支持多个从属系统或多个主系统 3.每个UART的波特率必须在彼此的10%之内  

UART的CTS和RTS:

有些uart控制器会加上RTS和CTS信号线,如下:

RTS和CTS用于流控,提供了流控信号,但实际的流控功能还是要在软件实现,就是说即使硬件上RTS和CTS做了连线,但软件没有使用这两个信号,则通信就如无流控状态。

RTS (Require ToSend,发送请求)为输出信号,用于指示本设备准备好可接收数据,低电平有效,低电平说明本设备可以接收数据。
CTS (Clear ToSend,发送允许)为输入信号,用于判断是否可以向对方发送数据,低电平有效,低电平说明本设备可以向对方发送数据

RTS的作用是告诉对方我可以接受数据,是输出口;CTS的作用是根据电平高低控制发送或不发送数据。 如:A与B通信,现在A给B发送数据,当B出现某种情况(可能是接受缓存快要满了)的时候,B的RTS拉低(一般拉低表示有效,但也不一定),A的CTS是与B的RTS相连的,则A检测到它的CTS拉低,就知道B在告诉他暂时不要再发了。他就乖乖地停止发送。等到B可以继续接收数据的时候,B的RTS拉高,这时候A的CTS也拉高,A就知道可以继续发送数据了。如果A和B收发情况换一下也是一样的道理  

CTS/RTS流控的工作原理如下:

当串口准备好发送数据时,RTS信号一般只会被置高电平一次,也就是只有一个上升沿。这个上升沿会被接收端的芯片检测到,如果当前可以接收数据,接收端发送一个CTS(Clear To Send)信号(该信号一直保持高电平),表示接收端已经准备好接收数据了。如果接收端的缓冲区已经满了,CTS信号会被置低电平,发送端就会停止发送数据,等待接收端的缓冲区有空间可以存放新的数据后再继续发送;
当发送端接收到CTS信号后,发送端的RTS电平会被拉高,开始发送数据;
当发送端发送完数据后,会将RTS信号置为低电平,表示发送数据结束。此时,接收端的CTS信号也会被置为低电平,表示不再需要接收数据;

 

TTL、RS-232、RS-485:

均是串行通信标准,可参考https://www.cnblogs.com/lethe1203/p/18078494

标签:协议,CTS,UART,低电平,发送,RTS,发送数据
From: https://www.cnblogs.com/lethe1203/p/18078611

相关文章

  • web通信协议
    正式进入网站部署的学习web通信流程client工作流程TCP/IP协议OSI七层网络模型抓包工具,查看TCP/IP的三次握手经典的问题,你了解TCP/IP的三次握手四次挥手吗具体数据包的报文格式,暂时不用过多去琢磨;什么时候需要琢磨数据包的序列号,只有当你在生产环境下,遇见的及其......
  • JS实现之用户注册协议倒计时
    要求:按钮显示5秒倒计时,5秒前禁点,5秒后可以点击按钮运行结果:5秒前5秒后思路开启禁用按钮属性disabled获取按钮元素开启倒计时函数setInterval调用函数,函数里包括变量自减,使用DOM对象修改时间,关闭按钮禁用属性HTML代码:首先禁用按钮属性<textareaname=""id=""......
  • 【物联网】Modbus 协议及Qinghub物联网平台应用
    Modbus协议简介QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集,这里就我们的实际项目经验分享Modbus协议你可以通过QingHub作业直接体验试用,也可以根据手册开发相应的代码块。qinghub项目已经全面开源。源码文件地址:https://g......
  • FPGA常用通信协议——I2C(二)
    一、时序 上一篇中我们已经了解了I2C的基本时序,这里我们只考虑I2C的写数据,具体时序见下图 二、信号列表sta_flag开始信号,拉高时开始一次读或写sda_en三态门控制信号,控制SDA是输出还是输入ready_flag结束标志,传入下一个模块,提醒下一模块可继续发送write总线正在工作信号,......
  • 【计算机网络】传输层——传输层概念&UDP协议
    传输层概述主要学TCP和UDP协议,为应用层提供通信服务,使用网络层的服务只有主机才有的层次(路由器到网络层就没了)传输层功能1.提供进程与进程之间的通信2.复用和分用3.传输层对收到的报文进行差错检测。4.传输层的两种协议。TCPUDP差异面向连接的传输控制协议T......
  • 【计算机网络】网络层——ARP DHCP ICMP三大协议
    数据发送的过程同一局域网内(一号到三号)应用层是pdf到传输层把它分成一个个报文网络层,就拿报文段1距离,给他加上IP1(源地址)和IP3(目的地址)到数据链路层,就加前后缀。后缀中要增加MAC地址。MAC1是自己的地址,MAC3是目的地址一般会应用ARP高速缓存中IP地址和MAC地址的映射来获......
  • 【计算机网络】网络层——RIP OSPF BGP:路由选择协议
    路由选择协议回顾RIP小,OSPF大网RIP路由信息协议RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。距离:通常为“跳数”,即从源端口到目......
  • 警惕Memcached协议滥用!网络攻击愈演愈烈,如何做好服务器防御?
    近期,网络安全领域迎来了一场新的挑战。Memcached协议,这个原本用于提升数据库读取性能的开源内存缓存系统,近期被恶意攻击者所滥用,进行大规模分布式拒绝服务(DDoS)放大攻击。全球多家公司服务器受到波及,其中包括知名的网络安全公司ArborNetworks。攻击频发据监测数据显示,这类攻......
  • 无线电模块ODIN-W263-06B专为物联网网关应用而设计,QN9080-001-M17Y支持蓝牙和NFC的模
    本篇文章主要介绍三款无线模块:无线电模块ODIN-W263-06B专为物联网网关应用而设计,QN9080-001-M17Y支持蓝牙和NFC的模块,RS9116W-DB00-AB1多协议无线模块——明佳达1、ODIN-W2系列:具有Wi-Fi和蓝牙双模式(蓝牙BR/EDR和蓝牙低能耗v4.2)描述:ODIN-W2是一款紧凑而强大的独立多无线电模块......
  • 【物联网】Modbus 协议简介
    Modbus协议简介QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集,这里就我们的实际项目经验分享Modbus协议你可以通过QingHub作业直接体验试用,也可以根据手册开发相应的代码块。qinghub项目已经全面开源。源码文件地址:https://g......