UART接口介绍通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。 UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。 UART通信协议UART用一条传输线将数据一位位地顺序传送,以字符为传输单位,通信中两个字符间的时间间隔多少是不固定的, 然而在同一个字符中的两个相邻位间的时间间隔是固定的,数据传送速率用波特率来表示, 指单位时间内载波参数变化的次数, 或每秒钟传送的二进制位数, 如每秒钟传送240个字符, 而每个字符包含10位(1个起始位, 1个停止位, 8个数据位), 这时的波特率为2400Bd。 传输时序如下图: 在UART中,信号线上共有两种状态, 分别用逻辑1(高电平)和逻辑0(低电平)来区分 在空闲时, 数据线应该保持在逻辑高电平状态 其中各位的意义如下: 起始位(Start Bit):先发出一个逻辑0信号, 表示传输字符的开始 数据位(Data Bits):可以是5~8位逻辑0或1. 如ASCII码(7位), 扩展BCD码(8位)小端传输 校验位(Parity Bit):数据位加上这一位后, 使得1的位数应为偶数(偶校验)或奇数(奇校验) 停止位(Stop Bit):它是一个字符数据的结束标志。 可以是1位、1.5位、2位的高电平 空闲位:处于逻辑1状态, 表示当前线路上没有资料传送 UART基本结构⑴输出缓冲寄存器,它接收CPU从数据总线上送来的并行数据,并加以保存。 ⑵ 输出移位寄存器,它接收从输出缓冲器送来的并行数据,以发送时钟的速率把数据逐位移出,即将并行数据转换为串行数据输出。 ⑶ 输入移位寄存器,它以接收时钟的速率把出现在串行数据输入线上的数据逐位移入,当数据装满后,并行送往输入缓冲寄存器,即将串行数据转换成并行数据。 ⑷ 输入缓冲寄存器,它从输入移位寄存器中接收并行数据,然后由CPU取走。 ⑸控制寄存器,它接收CPU送来的控制字,由控制字的内容,决定通信时的传输方式以及数据格式等。例如采用异步方式还是同步方式,数据字符的位数,有无奇偶校验,是奇校验还是偶校验,停止位的位数等参数。 ⑹状态寄存器。状态寄存器中存放着接口的各种状态信息,例如输出缓冲区是否空,输入字符是否准备好等。在通信过程中,当符合某种状态时,接口中的状态检测逻辑将状态寄存器的相应位置“1”,以便让CPU查询。 UART通信速率数据传输可以首先从最低有效位(LSB)开始。然而,有些UART允许灵活选择先发送最低有效位或最高有效位(MSB)。微控制器中的UART传送数据的 速度范围为每秒几百位到1.5Mb。例如,嵌入在ElanSC520微控制器中的高速UART通信的速度可以高达1.152Mbps。UART波特率还受 发送和接收线对距离(线长度)的影响。 目前,市场上有只支持异步通信和同时支持异步与同步通信的两种硬件可用于UART。前者就是UART名字本身的含义,在摩托罗拉微控制器中被称为串行通信 接口(SCI);Microchip微控制器中的通用同步异步收发器(USART)和在富士通微控制器中的UART是后者的两个典型例子。 UART工作原理发送数据过程:空闲状态,线路处于高电位;当收到发送数据指令后,拉低线路一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧数据发送结束。 接收数据过程:空闲状态,线路处于高电位;当检测到线路的下降沿(线路电位由高电位变为低电位)时说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备准备接收数据或存入缓存。 由于UART是异步传输,没有传输同步时钟。为了能保证数据传输的正确性,UART采用16倍数据波特率的时钟进行采样。每个数据有16个时钟采样,取中间的采样值,以保证采样不会滑码或误码。一般UART一帧的数据位数为8,这样即使每个数据有一个时钟的误差,接收端也能正确地采样到数据。 UART的接收数据时序为:当检测到数据的下降沿时,表明线路上有数据进行传输,这时计数器CNT开始计数,当计数器为24=16+8时,采样的值为第0位数据;当计数器的值为40时,采样的值为第1位数据,依此类推,进行后面6个数据的采样。如果需要进行奇偶校验,则当计数器的值为152时,采样的值即为奇偶位;当计数器的值为168时,采样的值为“1”表示停止位,一帧数据接收完成。 一个标准的10位异步串行通信协议(包含1个起始位、1个停止位和8个数据位)收发时序,如图2所示 图2.10位标准串行通信协议收发时序图 技术专区声明:本文由入驻电子说专栏的作者撰写或者网上转载,观点仅代表作者本人,不代表电子发烧友网立场。如有侵权或者其他问题,请联系举报。侵权投诉 关注电子发烧友微信 有趣有料的资讯及技术干货
下载发烧友APP 打造属于您的人脉电子圈
关注发烧友课堂 锁定最新课程活动及技术直播
评论相关推荐 W5100单片网络接口芯片简单介绍W5100 内部集成了全硬件的、且经过多年市场验证的 TCP/IP 协议栈、以太网介质传输层(MAC...
发表于 2018-04-09 12:23
·
33次阅读
对iPipeline的接口进行优化和实践X项目原CI系统由项目自行搭建,随着项目规模越来越大,现有系统呈现出诸多不便之处,为解决这些问题,项...
发表于 2018-04-05 18:14
·
291次阅读
DM9000AE工作原理 以太网接口电路设计随着微电子技术和计算机技术的发展,嵌入式技术得到广阔的发展,已成为现代工业控制、通信类和消费类产品发...
发表于 2018-04-01 11:58
·
178次阅读
PCB接口接口公母之分:公头和母头的接法由上述数据流向可见:连接两计算机COM口的数据线两头都是母头,且内部引脚进行了交叉。数据线连接的结果...
发表于 2018-03-30 16:13
·
197次阅读
基于Linux系统多种总线驱动统一接口的实现方法多数的串行总线都基于主从结构,如果总线中包含了时钟信号线,那么,该时钟信号就由主机提供,而如果还包含...
发表于 2018-03-30 14:04
·
75次阅读
基于AD650单片式V/F变换器的接口设计可以采用低速的双积分式A/D芯片,如ICL7135(国产型号5G7135)是4又1/2位,分辨率为1...
发表于 2018-03-27 10:30
·
109次阅读
一文看懂java如何写接口给别人调用计算机语言分类有很多,如C、C++、C#、Java、Php、Python等等,她们有各自的特性及擅长...
发表于 2018-03-26 18:47
·
534次阅读
Java为什么要使用接口_java接口怎么使用Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些...
发表于 2018-03-26 17:44
·
437次阅读
sata接口分几种_sata接口分类本文主要介绍了sata接口分几种_sata接口分类。SATA是SerialATA的缩写,即串行ATA...
发表于 2018-03-26 13:51
·
100次阅读
8255A通用并行接口 多单片机处理系统并行通信...对于实时性强,并且信息交换量大的系统,只有采用并行通信方式,才能满足系统功能的要求。本节就实际应用的...
发表于 2018-03-24 10:22
·
53次阅读
A TA 标准对IDE 硬盘接口的详细描述硬盘接口结构主要分I/O 控制层和逻辑映射层。其中I/O 控制层包括与ARM 的物理接口, 实现对硬...
发表于 2018-03-24 10:16
·
71次阅读
串行EEPROM X24128与AT89C51的...X24128有三种封装形式:14-SOIC、16-SOIC和8-PDIP。VCC、Vss:为电源的正...
发表于 2018-03-23 14:47
·
51次阅读
UART和RS-232、RS-422、RS-48...UART是通用异步收发传输器(Universal Asynchronous Receiver/Tra...
发表于 2018-03-18 10:48
·
736次阅读
PLC的设计选型,应该如何选择PLC呢?PLC系统的通信接口应包括串行和并行通信接口(RS2232C/422A/423/485)、RIO通信...
发表于 2018-03-14 16:03
·
734次阅读
type-c是什么接口?type-c和普通接口有...本文开始阐述了type-c是什么接口以及Type-C的特点,其次说明了Type-C外观特点及主要功能...
发表于 2018-03-09 16:43
·
725次阅读
SFP-DD MSA发布1.1版高速高密度接口规...小形状系数可插拔双密度 (SFP-DD) 多源协议 (MSA) 集团非常高兴的宣布发布 SFP-DD...
发表于 2018-02-28 16:54
·
6550次阅读
使用OptoLyzer_MOCCA_FD进行CA...Microchip Technology Inc. 车载信息娱乐系统解决方案部 资深技术销售和产品营...
发表于 2018-02-20 20:08
·
167次阅读
基于S3C2410的串行外围设备接口SPI实现数...串行外围设备 接口 SPI (serial peripheral interface)总线技术是Mo...
发表于 2018-02-07 09:16
·
150次阅读
SAMD11板卡学习:D11板卡与D10 的Xp...拿到板子,可以看到板子很小,还不足一个名片的大小,但是却把适当的接口和外设引了出来,并且集成了EDB...
发表于 2018-02-01 05:03
·
1143次阅读
PMS7003 的接口定义、485接口电路图解...最近在搞 PM2.5 检测。用的是 PMS7003 传感器。BUT,之前没有接触过。需要一步一步的来...
发表于 2018-01-26 11:15
·
1057次阅读
基于FPGA及嵌入式CPU 的TFT-LCD接口...随着电子技术的飞速发展,TFT-LCD作为在亮度、对比度、功耗、寿命、体积和重量等综合性能上全面赶上...
发表于 2018-01-23 16:16
·
299次阅读
如何理解软件设计原则和面向接口编程的开发思想面向通用接口的编程,虽然面向接口的编程简单易懂,但无法做到最大程度上地重用应用程序,这是导致软件开发...
发表于 2018-01-22 09:11
·
2803次阅读
温度传感器通用接口应用案例分析对AMetal框架进行了详细介绍,通过阅读这本书,你可以学到高度复用的软件设计原则和面向接口编程的开...
发表于 2018-01-19 10:14
·
3754次阅读
从硬件选择、工业机器人与CNC数控机床接口定义等...本文从硬件的选择、工业机器人与CNC数控机床的接口定义等方面,介绍了两者集成的步骤,同时介绍了集成上...
发表于 2018-01-11 09:48
·
1834次阅读
通嘉推出最新电源方案 获得Qualcomm QC...在电源管理领域拥有丰富经验的通嘉科技(TAIEX:3588),于2018年1月正式宣布对45W NB...
发表于 2018-01-10 10:30
·
275次阅读
Cyclone V FPGA在高带宽存储接口中的...本文详细地分析了Altera公司Cyclone V FPGA器件的硬核存储控制器底层架构和外部接口,...
发表于 2018-01-09 16:53
·
205次阅读
接口与类的关系_接口函数和调用函数有什么区别类与接口是两个概念,不能混淆。通俗的来说就是完成某个操作的一个概念,里面可以定义函数 方法,实现接口...
发表于 2018-01-04 10:42
·
397次阅读
UART学习总结:如何判断一帧数据收完通用异步收发传输器,通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串...
发表于 2017-12-26 19:27
·
555次阅读
mipi是什么接口_mipi接口定义详解MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。本文主要介绍了mi...
发表于 2017-12-26 14:17
·
1397次阅读
数字电路电平标准与接口设计解析在高速电路中如何实现高速驱动输出呢?要么增大驱动电流,要么降低电平标准,或者提高晶体管工作速度。显然...
发表于 2017-12-17 07:38
·
4205次阅读
两种基带射频接口协议介绍及基本工作原理分析3G标准原先就有宽带码分多址(WCDMA)、CDMA2000、时分同步码分多址(TD-SCDMA)3...
发表于 2017-12-11 15:09
·
170次阅读
HCI和UART的结构与原理概述及计HCI-UA...蓝牙技术作为一种短距离的无线通信技术,具有巨大的发展潜力,本文意从HCI层进行蓝牙技术的应用开发。本...
发表于 2017-12-11 13:22
·
410次阅读
uart是什么意思?认识uart串口通用异步接收器和发送器(Universal Asynchronous Receiver and Tr...
发表于 2017-12-06 14:51
·
931次阅读
uart有什么作用?gpio和uart有什么区别通用异步收发传输器通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行...
发表于 2017-12-06 14:01
·
1040次阅读
gpio接口是干什么的?gpio怎么用?General Purpose Input Output (通用输入/输出)简称为GPIO,或总线...
发表于 2017-12-06 13:36
·
1643次阅读
支持RT-Thread操作系统的NIOS II ...在Qsys中搭建能够支持RT-Thread操作系统的NIOS II 处理器系统,除了必要的NIOS ...
发表于 2017-12-04 18:15
·
1171次阅读
usb type-c接口定义概念解析USB Type-C接口www.best-dz.com总计有24个针脚,可以正反插且传输速度快,接口...
发表于 2017-12-01 17:21
·
8170次阅读
赛灵思FPGA快速创建存储器接口的设计方法Xilinx FPGA 提供可简化接口设计的 I/O 模块和逻辑资源。尽管如此,这些 I/O 模块以...
发表于 2017-11-24 16:21
·
108次阅读
uart串口调试怎么用其操作方法详解用异步收发传输器,通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行...
发表于 2017-11-22 12:39
·
817次阅读
Uart串口与RS232串口的区别通用异步收发传输器,通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串...
发表于 2017-11-22 11:53
·
399次阅读
Zynq器件三种主要类型的存储控制接口解析基于Zynq器件的嵌入式开发时,我们不可避免地需要规划设计使用什么样类型和多大地内存与FLASH,本...
发表于 2017-11-22 08:23
·
127次阅读
扩展UART的设计过程、原理及实例通用异步收发传输器(Universal Asynchronous Receiver/Transmit...
发表于 2017-11-21 09:30
·
414次阅读
rj45转rs232接线顺序解析RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块...
发表于 2017-11-21 09:20
·
2314次阅读
Uart串口与RS232串口的区别Uart这里指的是TTL电平的串口;RS232指的是RS232电平的串口。TTL电平串口是一般芯片的...
发表于 2017-11-20 17:48
·
488次阅读
基于FPGA的UART模块的设计FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在P...
发表于 2017-11-20 17:29
·
489次阅读
UART的Verilog程序设计Verilog是描述复杂的硬件电路,设计人员总是将复杂的功能划分为简单的功能,模块是提供每个简单功能...
发表于 2017-11-20 16:49
·
204次阅读
RS485设计选型及应用接口电路作为一个电子工程师,比较基础且应用广泛的RS-485串口接口是必修课,可也是大家日常设计中经常遇到问...
发表于 2017-11-20 09:38
·
12830次阅读
这5个事项让你设计出良好开发接口抽象化的目的是使调用者无需知道模块的内部细节,只需要知道模块或函数的名字,因此将其称为黑盒化。调用者...
发表于 2017-11-20 09:31
·
1989次阅读
如何更好实现和使用易重用抽象接口封装不会妨碍人们认识程序内部具体是如何实现的,只是为了防止用户写出依赖内部实现的代码。进而强迫用户在...
发表于 2017-11-20 09:23
·
2372次阅读
基于FPGA异步串行通信接口模块设计与实现在基于FPGA芯片的工程实践中,经常需要FPGA与上位机或其他处理器进行通信,为此设计了用于短距离通...
发表于 2017-11-18 11:33
·
391次阅读
基于FPGA的并行CRC算法的UART控制器基于串行异步收发器(UART)的通信中经常用到循环冗余校验(CRC),常见的CRC校验电路多为串行校...
发表于 2017-11-18 11:24
·
160次阅读
UItraScale架构FPGA的高性能低功耗内...如果你正在为你的下一个设计项目考虑DDR4 SDRAM,这里有一篇全新的白皮书,你应该研读一番,题目...
发表于 2017-11-18 08:16
·
93次阅读
基于FPGA I/O接口的五大优势与FPGA深层...NI VeriStand是一款用于配置实时测试系统应用的软件环境,如硬件在环(HIL)测试系统等。当...
发表于 2017-11-18 07:47
·
238次阅读
基于FPGA的车电总线接口简述及模块设计为提高集成架构中车电总线通信速率,结合综合化处理系统项目要求,采用双总线结合的方式,利用CAN总线和...
发表于 2017-11-18 07:25
·
584次阅读
JESD204B工作原理及其控制字符详解目前,将JESD204B作为高速数据转换器首选数字接口的趋势如火如荼。JESD204接口于2006年...
发表于 2017-11-18 06:07
·
410次阅读
FPGA接口VI和函数中关闭FPGA VI引用的...所属选板: FPGA接口VI和函数 必需: FPGA接口 关闭FPGA VI的引用并可选择重置该VI...
发表于 2017-11-18 05:02
·
59次阅读
引用数据类型的概念_引用数据类型有哪几种引用类型 由类型的实际值引用(类似于指针)表示的数据类型。如果为某个变量分配一个引用类型,则该变量将...
发表于 2017-11-17 18:29
·
373次阅读
对三种总线SPI、UART、I2C分析理解SPI(Serial Peripheral Interface,串行外设接口) SPI是一种高速、全...
发表于 2017-11-15 12:32
·
202次阅读
嵌入式学习笔记之UART通信协议UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了数据终端设备接口,这样计算机就可...
发表于 2017-11-14 08:59
·
192次阅读
|
|