首页 > 其他分享 >接口协议(3) - UART

接口协议(3) - UART

时间:2022-09-05 12:57:04浏览次数:68  
标签:接口协议 UART DCE 校验 发送 校验位 数据

UART(Universal Asynchronous Receiver and Transmitter),通用异步收发器(串口),还有一种USART(Universal Synchronous Asynchronous Receiver and Transmitter),通用同步异步收发器,后者比前者多了同步时钟信号,两者支持全双工,半双工,单向通信中的一种或几种。一般是LSB通信,有些支持可配置的MSB/LSB通信。

1. 通信速率

有很多种不同速率,常见的有4800、9600、38400、115200、256000 bps等波特率,查了一些厂商的数据手册,常见的可支持到4/4.5/5Mbps。

2. UART接口

有0(低电平)和1(高电平)两种数据状态,在空闲时,数据线应该保持在逻辑高电平状态。

2.1 DB9

DTE,数据终端(Master)
DCE,数据设备(Slaver)

ID Name Symbol Type Comment
1 载波检测 DCD Output Data Carrier Detect,数据载波检测,用于DTE 告知对方,本机是否收到对方的载波信号。
2 接收数据 RXD Input Receive Data,数据接收信号,即输入。
3 发送数据 TXD Output Transmit Data,数据发送信号,即输出。两个设备之间的 TXD 与 RXD 应交叉相连。
4 数据终端就绪 DTR Output Data Terminal Ready,数据终端就绪,用于DTE向对方告知本机是否已准备好。
5 地线 GND - Ground,信号地线。
6 数据设备就绪 DSR Input Data Set Ready,数据发送就绪,用于DCE告知对方本机是否处于待命状态。
7 请求发送 RTS Output Request To Send,请求发送,DTE请求DCE本设备向DCE端发送数据。
8 允许发送 CTS Input Clear To Send,允许发送,DCE回应对方的RTS发送请求,告知对方是否可以发送数据。
9 响铃指示 RI Input Ring Indicator,响铃指示,表示DCE端与线路已接通。

 

2.2 流控制

示例

2.3 TXD/RXD

示例

3. 起始信号

1 bit逻辑0表示开始。

4. 结束信号

可选0.5/1/1.5/2 bit个逻辑1表示结束。

5. 数据位

可选5/6/7/8 bit逻辑位,如ASCII是7位,扩展BCD码是8位,LSB(小端)传输,有些器件可配置MSB/LSB。

6. 校验位

ID Name Type Comment
0 奇校验 odd 奇校验要求有效数据和校验位中"1"的个数为奇数。
1 偶校验 even 偶校验要求有效数据和校验位中"1"的个数为偶数。
2 0校验 space 0校验是不管有效数据中的内容是什么,校验位总为"0"。
3 1校验 mark 1校验是不管有效数据中的内容是什么,校验位总为"1"。
5 无校验 noparity 无校验则没有校验位。

7. 空闲位

处于逻辑1状态,表示当前线路上没有数据。

8. 工作原理

一般是一帧一帧发送的,而不是连续发送,一帧即起始位 + 数据位 + 校验位 + 停止位。

8.1 TXD/RXD

示例

8.2 流控制

示例

9. IrDA

现代UART控制器一般也支持IrDA红外的收发解析。

标签:接口协议,UART,DCE,校验,发送,校验位,数据
From: https://www.cnblogs.com/phoebus-ma/p/16657711.html

相关文章

  • 接口协议(2) - SPI
    SPI(SerialPeripheralInterface)是一种可以全双工/半双工/单工通信的接口协议,由2(单工)/3(双工)条信号线和1+条(每个从设备1条)片选信号线组成。支持MSB/LSB传输模式,支持......
  • PHY配置_MDIO接口协议设计
    一.基本知识千兆以太网通过MAC和PHY芯片通信,MAC端可由FPGA实现,而PHY是物理芯片,只需要配置其工作模式,速率等等参数,便可正常运行。在前面的千兆以太网收发模块中我们并......
  • STM32F769NI-Discovery开发笔记(二)UART
    开发环境:开发板:STM32F769NI-DiscoveryKEIL版本:5.33STM32CubeMX版本:6.3.0 本篇主要讲STM32F769NI的串口实现STM32F769NI-Discovery开发板的usb接口带有stlink与串口,......
  • S32K148-uart(裸机开发)
    上周分享了基于S32-SDK方法配置uart的方法,本次分享UART底层裸机配置,废话不多数,直接上代码:1)初始化voiduart1_init(void){/**PTC6uart1_rx*PTC7ua......
  • 基于温度检测练习: uart_rx + ascii_2_hex + opcode_dect 仿真
    topcode:对所有模块进行例化1moduletemp_top(2clk,3rst_n,4......
  • .NET6 WebApi 实现定时任务调度Quartz
    前言本地json持久化调度任务,无需数据库直接调用本地类方法,无需通过WebApi接口1.创建项目,安装组件创建.NET6WebApi项目;引入GZY.Quartz.MUI1.1.51.1Progarm.c......
  • 基于LL库函数实现UART
    5.基于LL库函数实现UART5.1Cube配置5.2Cube生成代码voidMX_USART1_UART_Init(void){/*USERCODEBEGINUSART1_Init0*//*USERCODEENDUSART1_Ini......
  • 可编程USB转 UART/I2C /SMBusS/SPI/CAN/1 -Wire适配器USB2S 常见问题及注意事项
    河北稳控科技可编程USB转UART/I2C/SMBusS/SPI/CAN/1-Wire适配器USB2S常见问题及注意事项 (1)外接引线长度当使用导线连接外部设备或芯片时,导线不可过长,一般控制在2......
  • quartus ii 与 modelsim联合仿真方法
    学习Verilog有一段时间了,今天总结下quartusii与modelsim联合仿真方法步骤(开发板芯片用的是Altera的EP4CE10F17C8)1.首先说一下新建工程:选定工程所在的文件夹下一般以......
  • 定时任务Quartz、elastic-job、xxl-job对比
    一、概述Quartz:Java上的定时任务标准。但Quartz关注点在于定时任务而非数据,并无一套根据数据处理而定制化的流程。虽然Quartz可以基于数据库实现作业的高可用,但缺少分布......