资料介绍
介绍UART
最早的串行通讯设备可以追溯到电报机,它使用长度可变的脉冲信号进行数据传输。要说早期的芯片级UART,不得不提一下DEC,该公司的PDP系列计算机用上了第一个UART。当时的UART的线路占据了整个电路板,体积巨大!可以联想一下早期计算机的样子,如下图。
如今PC机上的串口早已被USB取代,对RS-232(也称标准串口)有需求的用户通常使用USB转串口线,这里常见的有CH340串口驱动程序。在UART通信中,两个UART直接通信。
发送端的UART将来自控制设备(如CPU)的并行数据转换为串行数据,以串行方式将其发送到接收端的UART,然后由接收端的UART将串行数据转换为并行数据以用于接收设备的正常处理。这里只需要两条线RX/TX即可在两个UART之间传输数据,如下图所示。
UART传输的数据被封装成数据包。每个数据包包含1个起始位,5~9个数据位(取决于UART的具体设置),一个可选的奇偶校验位以及1个或2个停止位,如下图所示。
起始位
UART数据传输线通常在不传输数据时保持在高电平。为了开始数据传输,发送端UART在一个时钟周期内将传输线从高电平拉低到低电平。当接收端UART检测到高电压到低电压转换时,它开始以波特率的频率读取数据位中的每一位数据。
数据
数据位包含正在传输的实际数据。如果使用奇偶校验位,则可以是5位,最多8位。如果不使用奇偶校验位,则数据帧的长度可以为9位。在大多数情况下,数据首先以低有效位发送。
校验位
在串口通信中一种简单的检错方式。有四种检错方式:
偶校验
奇校验
高校验
低校验
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
停止位
发送端UART将数据传输线从低电压驱动到高电压至少持续两位数据的时间宽度来表示整个数据包的传输已经结束。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容错性越好,但是数据传输率同时也越慢。
波特率
波特率是串口数据的传输速度,即Bit/s,常见的波特率比如:9600,19200,38400,57600,115200等。假设目前UART的配置为,1个起始位,8个数据位,0个校验位,1个停止位,那么9600的波特率,可以计算出每一位数据的时间宽度为:
那么传输一个字节(也就是10 bit 数据)需要的时间为 1.04 毫秒。
UART传输过程
①发送端UART从数据总线转换并行数据。
②发送端UART将起始位,奇偶校验位和停止位添加到数据包中,示意图如下。
③整个数据包从发送端UART串行发送到接收端UART,接收端UART按照预先配置好的波特率对数据线进行采样,示意图如下。
④接收端UART解析接收的数据,丢弃数据包中的起始位,奇偶校验位和停止位。
⑤接收UART将串行数据转换回并行数据,并将其传输到接收端的数据总线。
本文转自: STM32嵌入式开发(微信号:c-stm32),作者:acket,转载此文目的在于传递更多信息,版权归原作者所有。
- 不同类型单片机之间如何“搭讪”?
- 单片机串行通信UART(通用异步收发传输器)是如何工作的资料下载
- AT89S51单片机串行口的详细资料介绍 13次下载
- 单片机与FPGA异步串行通信的实现方法 8次下载
- 51单片机的UART基础知识说明 12次下载
- 51单片机的IO口如何模拟串行通信实现方法详细说明 2次下载
- 51单片机与计算机进行异步串行通信的实例说明
- 单片机的UART接口知识点简介
- 使用51单片机与计算机进行异步串行通信的实战资料说明
- 使用51单片机实现异步串行双机通信多字节传输的C语言程序免费下载
- 单片机串行通信发射机单片机串行通信发射机 16次下载
- pic单片机与pc机异步串行通信的设计
- AVR单片机串行接口及应用
- LM3S系列单片机串行(UART)升级方案解决
- 基于AVR单片机的异步串行信号检测装置
- 单片机的全双工的异步串行通信接口 3954次阅读
- UART通用异步收发器与I2C总线 1530次阅读
- SPCE061A单片机与指纹识别模块的接口电路设计 4433次阅读
- 使用51单片机进行串口调试的基本方法有哪些 1.3w次阅读
- PIC单片机与PC机实现串行通信的设计 2819次阅读
- 51单片机串口调试的基本方法介绍 9369次阅读
- 51单片机扩充串行口的方法 9217次阅读
- PIC单片机虚拟串行通信设计 1347次阅读
- 如何实现单片机UART串行数据与CAN数据之间相互转换 2w次阅读
- 单片机串行口介绍,8051单片机的通信方式 1.6w次阅读
- 单片机通信uart和modbus有什么区别 2w次阅读
- 单片机之间UART通信示意图分享 1.6w次阅读
- 学习51单片机晶振这21问题搞懂了学单片机就简单了 1.2w次阅读
- 单片机与PLC之间的串行通信实现 3.1w次阅读
- 单片机必须了解的外设功能——GPIO/串行通信 1.7w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多