UART和串口到底有啥区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UART和串口到底有啥区别?相关的知识,希望对你有一定的参考价值。

UART打印机与串口打印机到底有什么区别,是不是一回事情?

UART是串口,但串口不一定是UART,它包含了UART。

拓展资料

UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。

具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。一般是RS-232C规格的,与类似Maxim的MAX232之类的标准信号幅度变换芯片进行搭配,作为连接外部设备的接口。在UART上追加同步方式的序列信号变换电路的产品,被称为USART(Universal Synchronous Asynchronous Receiver Transmitter)。

串行接口Serial Interface是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。

串行通讯的距离可以从几米到几千米。

根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

参考技术A 区别:UART是将要传输的资料在串行通信与并行通信之间加以转换,通常被集成于其他通讯接口的 连结上。串口 是指数据一位一位地顺序传送且通信线路简单,适用于远距离通信。
拓展:
1、UART功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的 串行数据转换为字节,供计算机内部并行数据的器件使用。在输出的串行数据流中 加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启 停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键 盘和鼠标也是串行设备)。
2、UART基本结构:⑴输出缓冲寄存器,它接收CPU从数据总线上送来的并行数据,并加以保存。

⑵输出移位寄存器,它接收从输出缓冲器送来的并行数据,以发送时钟的速率 把数据逐位移出,即将并行数据转换为串行数据输出。

⑶输入移位寄存器,它以接收时钟的速率把出现在串行数据输入线上的数据逐 位移入,当数据装满后,并行送往输入缓冲寄存器,即将串行数据转换成并 行数据。

⑷ 输入缓冲寄存器,它从输入移位寄存器中接收并行数据,然后由CPU取走。

⑸控制寄存器,它接收CPU送来的控制字,由控制字的内容,决定通信时的传 输方式以及数据格式等。例如采用异步方式还是同步方式,数据字符的位数, 有无奇偶校验,是奇校验还是偶校验,停止位的位数等参数。

⑹状态寄存器。状态寄存器中存放着接口的各种状态信息,例如输出缓冲区是否 空,输入字符是否准备好等。在通信过程中,当符合某种状态时,接口中的状 态检测逻辑将状态寄存器的相应位置“1”,以便让CPU查询。

3、 串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对 传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适 用于远距离通信,但传送速度较慢。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行 通讯。串行通讯的特点是:数据位的传送,按位顺序进行,最少只需一根传输线即可完成;成本 低但传送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进 一步分为单工、半双工和全双工三种。

4、串口形容一下就是一条车道,而并口就是有8个车道同一时刻能传送8位(一个字节)数据。但是 并不是说并口快,由于8位通道之间的互相干扰(串扰),传输时速度就受到了限制,传输容易 出错。串口没有互相干扰。并口同时发送的数据量大,但要比串口慢。
参考技术B

UART:通用异步接收/发送装置。
串口:含义比 UART 广,它包括了 UART。

一、UART:通用异步收发传输器,通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。

二、UART:是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。

三、串口:也称串行通信接口或串行通讯接口,是采用串行通信方式的扩展接口。串行接口是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

参考技术C UART (Universal Asynchronous Receiver/Transmitter)
通用异步收发器
UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终
端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了
。作为接口的一部分,UART还提供以下功能:
将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行
数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入
奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,
并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠票也是
串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART
还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数
据前在其缓冲区内存储16字节数据,而通常的UART是8250。现在如果您购买一个内置的
调制解调器,此调制解调器内部通常就会有16550 UART。
参考技术D

    串口通常做为RS232C的代名词,电平范围要求是:1:-12V~-6V,0:6V~12V;
    UART指CPU带的串行端口,电平为,1:5V,0:0V。

    两者之间的电平转换可以用RS232,或MAX232

    UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550AFN芯片。

    UART是计算机中串行通信端口的关键部分。

    在计算机中,UART相连于产生兼容RS232规范信号的电路。

    RS232标准定义逻辑“1”信号相对于地为-3到-15伏,而逻辑“0”相对于地为3到15伏。

    所以,当一个微控制器中的UART相连于PC时,它需要一个RS232驱动器来转换电平。

    Uart这里指的是TTL电平的串口;RS232指的是RS232电平的串口。

UART和RS232RS485的联系和区别以及对软件编程的影响

1、串口、UART、RS232、RS485概念的理解

(1)狭义上的串口:指的是串口协议,就是时序图、数据收发先后顺序等,是抽象出来的协议;
(2)广义上的串口:指的是符合串口协议的接口,UART、RS232、RS485在实际工作中都叫做串口;
(3)UART:主要指的是Soc端的串口控制器和引脚,也是串口编程主要考虑的;
(4)RS232和RS485是在两个Soc的串口引脚相连的中间电路,负责做转换,解决传输距离和电压不匹配的问题;

2、UART

2.1、UART介绍

参考博客:《ARM芯片(S5PV210芯片)——串口通信详解》

2.2、UART接口

(1)现在的Soc都内置了串口控制器,串口一般都是两根线,一根发送(TX)一根接收(RX),用的TTL电平;
(2)上面是S5PV210芯片的原理图,总共有4组串口。有的串口还有CTS、RTS接口,这是和自动流控相关,不是必要功能,用于保证数据传输的正确性,现在基本不用了,因为串口常用作打印输出或者用于连接低速的设备,对数据正确性没有太高要求;

2.3、UART的使用场景

(1)实际上我们使用串口时,不会直接使用Soc的引脚,中间会有转换过程,一般是转换成RS232或者RS485进行操作;
(2)UART现在一般用作打印串口,或者连接一些低速的外设;

2.4、为什么还要有RS232、RS422、RS485

(1)串口协议只是规定了数据传输时的协议,也就是规定了先传输1还是先传输0的问题,但是什么电压表示数据1,什么电压表示0,这并没有做规定;
(2)UART是相对于Soc这端来说的,Soc端集成了串口控制器,控制器支持串口协议(比如开始位、停止位、数据位、校验位等),用的是TTL电平;
(3)实际中两个设备的串口控制器要通信,中间是有一段距离的,Soc的引脚一般电平都比较低,数据能传输的有效距离很短;并且不同的设备所使用的电压也不一样,不能直接相连;
(4)需要中间电路负责来解决电压不匹配、传输距离等问题,于是有了RS232、RS422、RS485;
(5)RS232、RS422、RS485都是从电气层面(也就是物理器件)来区分的,具体的通信协议都是串口协议,但是使用的电压范围、是电平信号还是差分信号等不同;

3、RS232

3.1、RS232介绍

(1)RS232是串口协议在电气层面的实现,RS-232标准接口定义了电压范围,规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15V;
(2)Soc的串口引脚一般是3.3V或者5V的电压,所以Soc的串口引脚要使用RS232必须添加TTL电平转RS232电平的转换芯片;
(3)RS232的接口有多种(DB9接口、四线接口、三线接口),但是起主要作用的都是TX和RX引脚,可以简单理解成,RS232和UART的区别就是使用的电压范围不一样;

3.2、RS232的特点

(1)优点:RS232标准接口的传输距离更长,在15米作用;
(2)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换芯片才能与Soc的串口引脚连接;

3.3、DB9接口

DB9接口有9根线,最主要的就是RxD和TxD,其余的线是用于保证数据传输的正确性;

3.4、四线接口

四线就是在RX、TX、GND的基础上,多了一根VCC;

3.5、三线接口

只有TX、RX、GND三根线,使用的RS232电平;

4、RS485

4.1、RS485介绍

(1)RS485采用的是差分信号,用的双绞线,传输距离可达上千米;
(2)RS485常用的是两根线,因为采用的是差分信号,所以只能同时传输一组信号,是半双工的;(也有4根线的RS485,实现全双工)
(3)RS485总线可以挂接多个设备,最多不超过32个,采用主从模式;
(4)虽然485支持挂载多个设备,但是没有规定主从设备之间是如何通信的,需要编程人员考虑,可以参考I2C协议的主从实现;

4.2、RS485接口:半双工

4.3、RS485接口:全双工

5、从电路原理图分析

5.1、RS232的三线接口电路原理图

>(1)最左边的M_UART0_RXD和M_UART_TXD是Soc的串口接收、发送引脚,TPT3232E是TTL转RS232的芯片,最终得到RS232_R和RS232_T这两个符合RS232标准的接收、发送引脚;
(2)J83就是上面展示的电路板上的三线串口接口;

5.2、半双工RS485的电路原理图

SOC_484-0_TXD和SOC_484-0_RXD是Soc端的485发送、接收引脚,SOC_484-0_RTS是用于控制方向的,上面的电路图是半双工的RS485;

5.3、DB9接口的的电路原理图

SP3232E是支持同时转换两路RS232的电平转换芯片,右边的TXD0和RX0、TX2和RX2是Soc的两组串口引脚,左边是两个DB9接口,可以看到实际DB9接口也只接了三根新,和三线接口是一样的;

6、软件编程上的区分

(1)UART和RS232只是在电平上有区别,在软件编程上没有差别;
(2)RS485支持挂载多个设备、半双工、全双工,所以串口编程半双工时需要考虑总线的总裁,也就是主从模式,类似I2C;

推荐

给大家推荐一个学校嵌入式知识的网站,博主在大学时候学习嵌入式知识、找工作的时候都在用这个网站,网站里有C语言、Linux等等的笔试题、面试常问问题等等知识,无论是学习基础知识、面试刷题、交流工作经验都是不错的选择。大家一起进步,欢迎留言交流。
链接:学习神器跳转

以上是关于UART和串口到底有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

keil软件中uart#0,uart#1,uart#2的区别和作用

uart接收和发送数据

串口的区别

stm32 usart有啥功能

Uart串口

[转]串口COM口UART口, TTLRS-232RS-485区别详解