「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE

电子产品,如电脑,鼠标,充电器,包括汽车等,我们身边有很多接口,这篇博客带你认识这些接口,知道长什么样子,用在什么地方,怎么用,原理是什么?

这篇博客只是简单介绍认识,总线接口类的详细内容,可以移步专栏【总线接口】

文章目录

      • 一、串口
        • 1、串口概述
        • 2、公头和母头
        • 3、串行和并行
      • 二、UART
      • 三、TTL电平
        • 1、TTL概述
        • 2、标准TTL电平逻辑
        • 3、USB转TTL
        • 4、与单片机连接
      • 四、USB
        • 1、USB概述
        • 2、USB速率
        • 3、USB接口定义
      • 五、RS-232
        • 1、RS-232概述
        • 2、RS-232电平逻辑
        • 3、DB9接口定义
        • 4、USB转RS-232
        • 5、TTL和RS-232互转
      • 六、RS-485
        • 1、RS-485概述
        • 2、RS-485电平逻辑
          • 1、RS-485电平逻辑说明
        • 3、TTL和RS-485转换
        • 4、RS-232和RS-485转换
      • 七、IIC
        • 1、IIC概述
        • 2、IIC速率
      • 八、SPI
        • 1、SPI概述
        • 2、SPI信号线
        • 3、SPI典型应用
      • 九、CAN
        • 1、CAN概述
        • 2、CAN电平逻辑
      • 十、1-WIRE
        • 1、1-WIRE概述
        • 2、1-WIRE典型框图

一、串口

1、串口概述

  串行接口简称为串口,也叫串行通信接口,一般也叫COM口,这是一个统称,采用串行通信的接口都叫作串口,串口是一个硬件接口。

2、公头和母头

  有公头和母头之分,大家可以自行记忆,左边有孔的为母头,另外一个就为公头。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第1张图片

公头和母头

3、串行和并行

  串行:计算机总线或其他数据通道上,每次传输一个位元数据,并连续进行以上单次过程的通信方式。

  并行:在串行端口上通过一次同时传输若干位元数据的方式进行通信,所以并行的速度比串行快。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第2张图片

串行和并行


二、UART

  UART是Universal Asynchronous Receiver/Transmitter的简称,意为通用异步收发传输器,UART包含TTL电平的串口和RS-232电平的串口,使用UART通信的双方设备都需要遵从UART协议。


三、TTL电平

1、TTL概述

  TTL是Transistor-Transistor Logic的简写,是一种电平逻辑,晶体管-晶体管逻辑。

2、标准TTL电平逻辑

  逻辑1代表高电平,连接到电源VCC,逻辑0为低电平,连接到电源地。

  • 逻辑1,高电平,VCC(3.3V/5V)
  • 逻辑0,低电平,GND(0V)

  TTL有电压范围,分为输出高、低电平和输入高、低电平,输出高电平用 V O H V_{OH} VOH表示,输出低电平用 V O L V_{OL} VOL表示;输入高电平用 V I H V_{IH} VIH表示,输入低电平用 V I L V_{IL} VIL表示。

  对TTL电平的器件来说,当输入电压高于2V时,才会被识别为逻辑1,输入的低电平低于1.2V时,才会被识别为0,这是为什么输出高电平2.4V,高于2V;输出低电平0.8V,低于1.2V的原因所在。如下是标准TTL电平,TTL有很多类型,电压有所区别。

  • V O H > 2.4 V , V O L < 0.8 V V_{OH}>2.4V,V_{OL}<0.8V VOH>2.4VVOL<0.8V
  • V I H > 2.0 V , V I L < 1.2 V V_{IH}>2.0V,V_{IL}<1.2V VIH>2.0VVIL<1.2V

3、USB转TTL

  玩过51单片机的小伙伴都用过CH340G模块,用来下载HEX文件,这个模块的作用就是将USB转成TTL电平,一般单片机的电平都是TTL电平,模块的内部芯片是CH340T,ST官方推荐。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第3张图片

USB转TTL模块

  使用CH340T芯片,USB转TTL电平的电路原理图。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第4张图片

USB转TTL原理图

4、与单片机连接

  TTL电平的器件之间通信,只需要三根信号线:TXD、RXD和GND,和单片机接法很简单,3.3V单片机就接3.3V,5V单片机就接5V,如果单片机有单独的供电,3.3V和5V都不接。
「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第5张图片

USB转TTL模块与单片机的连接


四、USB

1、USB概述

  USB是Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术,特点是传输速度快,支持热插拔,可连接多个设备。

  我们在很多地方可以看到USB的身影,鼠标,键盘,手机充电器,现在几乎所有的电子充电设备都是USB接口,如下是各个USB的物理接口。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第6张图片

USB接口分类

2、USB速率

  • 1MB/s=8Mbps(1个Byte等于8bit)

  • USB1.0 低速(Low Speed) 传输速率为 1.5Mbps;

  • USB1.1 全速(Full Speed) 传输速率为 12Mbps;

  • USB2.0 高速(High Speed) 传输速率为 480Mbps;

  • USB3.0 超速(SuperSpeed) 传输速率为 5Gbps;

  • USB3.1 Gen2 超高速(SuperSpeed+) 传输速率为 10Gbps;

3、USB接口定义

  最常见的的Type-A型USB接口定义如下。

Pin# Name 颜色
1 VBUS/+5V 红色
2 D-/Data-/DM 白色
3 D+/Data+/DP 绿色
4 GND 黑色

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第7张图片

Type-A型接口


五、RS-232

1、RS-232概述

  RS-232接口符合美国电子工业联盟(EIA)制定的串行数据通信的接口标准,原始编号全称是EIA-RS-232(简称232,RS232)。它被广泛用于计算机串行接口外设连接,连接电缆和机械、电气特性、信号功能及传送过程。

2、RS-232电平逻辑

  RS-232不同于TTL的电平逻辑,为负逻辑,负12V代表高电平逻辑1,正12V代表低电平逻辑0,电压也有标准范围。

  • 高电平,逻辑1,-15V to -3V
  • 低电平,逻辑0,+3V to +15

  除了TTL,RS232,还有一个CMOS电平标准

  • V O H > 0.9 ∗ V C C V_{OH}>0.9*VCC VOH>0.9VCC V O L < 0.1 ∗ V C C V_{OL}<0.1*VCC VOL<0.1VCC
  • V I H > 0.7 ∗ V C C V_{IH}>0.7*VCC VIH>0.7VCC V I L < 0.3 ∗ V C C V_{IL}<0.3*VCC VIL<0.3VCC

3、DB9接口定义

  下图是DB9公头和母头的定义,一般用的最多的是RXD、TXD、GND,三个信号。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第8张图片

DB9公头和母头接口信号定义

  工业场合还会用到DB-25的RS232,DB9和DB25接口可以转换。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第9张图片

DB9转DB25

4、USB转RS-232

  USB转232,可以先将USB转换为TTL,再将TTL转换为RS232,当然市面上也有很多USB直接转RS232的线材,线材内部集成转换电路,淘宝上某USB转RS232用的两个芯片是FT232和SP213。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第10张图片

USB转RS232线材

5、TTL和RS-232互转

  单片机接口一般是TTL电平,如果需要接232电平的外设,就需要加TTL转RS232的模块,转换方向是双向的。

  TTL和RS232电平互相转换最常用的芯片是MAX232SP3232

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第11张图片

TTL和RS-232转换模块


六、RS-485

1、RS-485概述

  RS-485和RS-232一样,都是串行通信标准,现在的标准名称是TIA/EIA-485-A,习惯称为RS-485标准,RS-485弥补了RS-232通信距离短,速率低的缺点。

  RS-485和RS-232单端传输不一样,是差分传输,使用一对双绞线,其中一根线定义为A,另一个定义为B。

2、RS-485电平逻辑

  RS-485是差分传输,一般收发器内部是一个发送器加一个收发器组成。下图是收发器典型的功能框图。

  对于使能信号,字母上面加一横的为低电平有效,不加的为高电平有效。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第12张图片
  对于发送器,有如下的真值表

  • 当驱动器使能引脚 D E DE DE为逻辑高时,差分输出 A A A B B B遵循数据输入 D D D处的逻辑状态。 D D D处的逻辑高导致A转为高,B转为低。在这种情况下,定义为 V O D = V A – V B V_{OD}=V_A–V_B VOD=VAVB的差分输出电压为正。当 D D D为低时,输出状态反转, B B B变高, A A A变低, V O D V_{OD} VOD为负。
  • D E DE DE低时,两个输出都变成高阻抗。在这种情况下,与 D D D处的逻辑状态是不相关的。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第13张图片

RS-485发送器真值表

  对于接收器,有如下的真值表

  • 当接收器使能引脚 R E RE RE逻辑低时,接收器被激活。当定义为 V I D = V A – V B V_{ID}=V_A–V_B VID=VAVB的差分输入电压为正且高于正输入阈值 V I T + V_{IT+} VIT+时,接收机输出 R R R变高。当 V I D V_{ID} VID为负且低于负输入阈值 V I T − V_{IT-} VIT,接收机输出 R R R变低。如果 V I D V_{ID} VID V I T + V_{IT+} VIT+ V I T − V_{IT-} VIT之间,则输出不确定。
  • R E RE RE为逻辑高或悬空时,接收机输出为高阻抗, V I D V_{ID} VID的大小和极性无关。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第14张图片

RS-485接受器真值表

1、RS-485电平逻辑说明

  很多收发器的标准达到甚至超过TIA/EIA-485A规范,在实际使用中,以器件的SPEC参数为主。

在这里插入图片描述

3、TTL和RS-485转换

  TTL转成RS-485很常见,收发器芯片市面上很多,比如MAX485,用起来也很简单,一般左边接MCU的GPIO,用来控制。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第15张图片

TTL转RS-485

4、RS-232和RS-485转换

  RS-232和RS-485之间可以转换,一个方法是RS-232转换成TTL,再由TTL转换为RS-485,当然也有芯片支持将RS-232支持转换成RS-485,双向转换。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第16张图片

RS-232和RS-485转换模块


七、IIC

1、IIC概述

  IIC总线是由Philips公司开发的一种简单、双向二线制同步串行总线,IIC只需要两根线进行通信,SDA(串行数据线)和SCL(串行时钟线)

  下图是I2C总线的典型结构,同一时刻可以单主机多从机单主机单从机,I2C总线上的任意设备都可以当主机,一般主机是MCU,当有多个主机时,会通过总线仲裁的方式选出一个主机,其他退出作从机。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第17张图片

IIC总线架构

  了解更多IIC总线的知识,可以查看博主之前写的博文:IIC软件协议及硬件知识汇总

2、IIC速率

  • 标准模式:100Kbit/s
  • 快速模式:400Kbit/s
  • 高速模式:3.4Mbit/s

八、SPI

1、SPI概述

  SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,SPI的速率比I2C高,一般可以到几十Mbps,不同的器件当主机和当作从机的速率一般不同。

2、SPI信号线

  • MISO – Master Input Slave Output,主设备数据输入,从设备数据输出;
  • MOSI – Master Output Slave Input,主设备数据输出,从设备数据输入;
  • SCLK – Serial Clock,时钟信号,由主设备产生;
  • CS – Chip Select,从设备使能信号,由主设备控制;

3、SPI典型应用

  SPI最典型的应用是单主机单从机,下图是接线方式,当然也可以多从机。

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第18张图片

SPI单主机单从机连接方式

关于SPI的详细知识,博主后续会专门更新一篇博客介绍


九、CAN

1、CAN概述

  CAN是Controller Area Network的简称,是一种有效支持分布式控制或实时控制的串行通信网络,现在是汽车网络的标准协议。

2、CAN电平逻辑

电平 逻辑 总线Value
显性电平 0 CAN_H=3.5V,CAN_L=1.5V
隐性电平 1 CAN_H=2.5V,CAN_L=2.5V

  了解更多关于CAN总线的知识,可以查看博主写的博客:CAN总线入门学习(1)


十、1-WIRE

1、1-WIRE概述

  单总线是美国DALLAS公司推出的外围串行扩展总线技术,与SPI、I2C串行数据通信方式不同,它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的。

2、1-WIRE典型框图

  如下是1-WIRE的典型框图,可以看到微处理器和1-WIRE器件之间只有一根线。

  • 当MCU发送逻辑1时,经过反相器,总线呈现逻辑0,逻辑0经过1-WIRE器件的反相器,即会收到逻辑1

  • 当MCU发送逻辑0时,经过反向器,总线呈现逻辑1,逻辑1经过1-WIRE器件的反相器,即会收到逻辑0

  • 同理,当1WIRE器件发送逻辑1时,Tx处有NMOS会导通,总线呈现逻辑0,经过MCU Rx处的反相器,MCU会收到逻辑1

  • 发送逻辑0时,NMOS截止,总线呈现逻辑1,MCU会收到逻辑0

  了解更多关于1-WIRE的知识点击1-Wire 单总线硬件结构及软件时序分析(实测波形+C代码分析)

「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE_第19张图片

1-WIRE结构图


永远相信美好的事情即将发生!作者记得诚,写于安徽合肥,时间2020-03-08 PM21:05

你可能感兴趣的:(硬件)