UART、RS232、TTL关系浅析

UART、RS232、TTL关系浅析

在固件开发中,常会用到串口。在各种芯片spec中,串口称作UART,而在PC上总叫做RS232,它们是一回事吗?有时主板可以引出串口直连PC的RS232,而有时却要通过一个TTL转RS232的转换线(例如Minnow系列)。这是什么原因?

我们先来看看这些概念都是些什么。

UART

在通信和计算机科学中,Serial communication是一个通用概念,泛指所有的串行的通信协议,如RS232、USB、I2C、SPI、1-Wire、Ethernet等。这里的串行(serial),是相对并行通信(parallel communication)来说的,如下图:


理解串行通信的概念之后,大家可能会有疑问:接收方接收到一长串的、表示0/1电平跳变的信号之后,怎么还原出有效的信息呢?有两种方法:

1)发送端在发送串行数据的同时,提供一个时钟信号,并按照一定的约定(例如在时钟信号的上升沿的时候,将数据发送出去)发送数据,接收端根据发送端提供的时钟信号,以及大家的约定,接收数据。这就是常说的同步串行通信(Synchronous serial communication),I2C、SPI等有时钟信号的协议,都属于这种通信方式。本文不再详述。

2)发送端在数据发送之前和之后,通过特定形式的信号(例如START信号和STOP信号),告诉接收端,可以开始(或者停止)接收数据了。与此同时,收发两方会约定一个数据发送的速度(就是大名鼎鼎的波特率),发送端在发送START信号之后,就按照固定的节奏发送串行数据,与此同时,接收端在收到START信号之后,也按照固定的节奏接收串行数据。这就是常说的异步串行通信(Asynchronous serial communication),我们本节的主角----串口通信,就是这种通信方式。

UART(Universal Asynchronous Receiver/Transmitter) 即是规定编码格式、bit rate,产生通信所需的bit流的标准。

COM口和RS232

COM口是指针对串行通信协议的一种端口,是PC上异步串行通信口的简写,大部分为9针孔D型。COM口里分RS232,RS422和RS485,传输功能依次递增。由于历史原因,IBM的PC外部接口配置为RS232,成为实际上的PC界默认标准。所以,现在PC机的COM口均为RS232。若配有多个异步串行通信口,则分别称为COM1、COM2...

RS232或者RS485,它更多的是规定电气特性和各个引脚的功能定义,如 用-3V— -15V之间的任意电平表示逻辑“1” ;用+3V — +15V电平表示逻辑“0”,这里采用的是负逻辑。

在PC后面通过SIO(Super IO)引出到背板上如下图:


在主板上通过SIO或转换芯片引出如下图:


TTL

TTL全名是晶体管-晶体管逻辑集成电路(Transistor-Transistor Logic),这种串行通信,对应的物理电平,始终是在0V和Vcc之间,其中常见的Vcc是5V或3.3V。TTL 高电平1是>=2.4V,低电平0是<=0.5V(对于5V或3.3V电源电压),这里是正逻辑。TTL接口在Minnow板子上如图:


关系

UART更多关注规定编码格式的标准,如波特率(baud rate)、帧格式和波特率误差等等。RS232和TTL更多是电平标准和电压,他们在软件协议层面是一样的,如对于同样传输0b01010101来说,RS232和TTL的时序对比:


RS232和TTL之间的转换,不仅仅是简单的电平转换,还要考虑到其他一些因素,比如调节和矫正一些电平(提高或降低对应的电平),确保可能的有害的RS232电压不会破坏微控制器的串口针脚。这里有很成熟的方案,我们可以通过MAX3232之类的芯片,把TTL电平转为RS232电平,或者简单的在淘宝购买TTL转RS232电缆即可。

如何分辨究竟是TTL还是RS232呢?一般来说,由SOC芯片引脚直接引出的一般是TTL,其高低电平不需要任何转换,可以由芯片之间驱动,节省费用;而中间接有转换芯片的可能就是RS232了,可以根据电路图的芯片型号google即可。

另一个原则是RS232通常出现在传统的PC和服务器领域,TTL通常用于嵌入式设备。

后记

PC后面的COM口慢慢都被淘汰了,更多时候我们需要考虑的是要买个RS232转USB口呢还是TTL转USB口,但上面的原则是相同的。

还有一种RJ45(形状似网口)形式的串口,其和RS232兼容,可以做简单的连线转换,网上有详细步骤,淘宝上也有现成的线,很便宜。

欢迎大家关注本专栏和用微信扫描下方二维码加入微信公众号"UEFIBlog",在那里有最新的文章。同时欢迎大家给本专栏和公众号投稿!

用微信扫描二维码加入UEFIBlog公众号
编辑于 2017-10-28

文章被以下专栏收录

    从首次运用于Intel 安腾处理器,到第一版统一的可扩展固件接口(UEFI)规范出版,无论是在高性能服务器,移动设备或是深度嵌入式设备等,UEFI已在所有平台完全淘汰了BIOS。这里有关于UEFI的一切。

    秉承开放自由的精神,将人工智能引入开放硬件平台,创客们的好伙伴。这里有Intel系列智能开源硬件平台的介绍和新奇实现,助力你实现自己的机器人梦想。What will you make today?