常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理

这篇具有很好参考价值的文章主要介绍了常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  最近在进行项目方案设计时,涉及到常用通信接口的选型,包括TTL、RS232、RS485、RS422、CAN、IIC、SPI等常用通信协议,这里对常见的通信协议进行一个整理,在需要的时候可以进行回顾,这里参考几个优秀博文并进行整理,大家也可以去看看。

  1. 不脱发的程序猿-详解RS232、RS485、RS422、串口和握手
  2. ZD豪-各种通信协议整理
  3. 小麦大叔CAN总线简易入门教程
  4. IIC原理超详细讲解—值得一看

一、串行通信与并行通信

1.1 串行通信

  串行通信接口(cluster communication port)简称串口,即常说的COM接口,是采用串行通信方式的扩展接口。串行接口是指数据一位一位地顺序传送,串口可以算是一个泛称,一般指代的是串口时序标准。UARTRS232RS485TTL都遵循着类似的通信时序协议,因此都被通称为串口。
  串行通信(serial communication)是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串行通信按照发送时钟源和接收时钟源是否需要保持一致,又可分为同步通信和异步通信两种。
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发

1.2 并行通信

  并行通信(Parallel communication)就是指数据的每一位同时在多根数据线上发送或者接收。可以以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。计算机或PLC各种内部总线就是以并行方式传送数据的。
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发
  总结:串行通信是一种概念,是指一个bit一个bit的收发数据,相对于并行通信可一次性可以同时收发n个bit而言。包括普通的串口通信,包括IIC,包括SPI等等。串口通信是一种通信手段/方式,是相对于以太网方式、红外方式、蓝牙方式、usb方式(usb广义也算串行通信)等而言,是一种比较低级的通信手段。


二、常用通信协议

2.1 UART

  UARTUniversal Asynchronous Receiver/Transmitter),意为通用异步收发传输器,该总线双向通信,可以实现全双工传输和接收。UART包含TTL电平的串口和RS-232电平的串口,使用UART通信的双方设备都需要遵从UART协议。
  UART是串行通信的一种,重点是异步,和同步相对应,意思是不需要同步的时钟,通信两端预先约定bit的传输速率(每秒传多少bit),而不是由时钟触发的。
  在嵌入式设计中,UART用于主机与辅助设备通信。UART是实现串口收发的逻辑电路(硬件形式),这部分可以独立成芯片,也可以作为模块嵌入到其他芯片里,单片机、SOCPC里都会有UART模块,例如STM32单片机里有两种UART模块,USARTUART,前者可以同步通信,而后者只能异步通信。一般电脑是没有uart接口的(TTL电平),我们可以通过电脑的USB接口和单片机通信,只需一个USB转串口模块插到USB接口上,装上驱动,另一边接单片机即可。有很多可以USB协议转为串口协议的芯片,如ch340cp2102pl2303等。

  1. TX – 数据发送接口
  2. RX – 数据接受接口
    两个设备间将TXRX相连,RXTX相连即可正常工作。
    ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发

2.1.1 TTL电平

  TTLTransistor-Transistor Logic的简写,是一种电平逻辑,晶体管-晶体管逻辑。通常我们采用二进制来表示数据,为了表示二进制,需要用高低电平表示这些二进制数,3.3V/5V等价于逻辑“1”,0V等价于逻辑“0”。UART特指单片机的UART端口,使用的就是TTL电平

  1. 标准TTL电平逻辑
    (1)输出电路:电压大于等于(≥)2.4V为逻辑1;电压小于等于(≤)0.8V为逻辑0;
    (2)输入电路:电压大于等于(≥)2.0V为逻辑1;电压小于等于(≤)1.2V为逻辑0;

  2. CMOS电平
    (1)输出电路:电压大于等于(≥)0.9×Vcc为逻辑1;电压小于等于(≤)0.1×Vcc为逻辑0;
    (2)输入电路:电压大于等于(≥)0.7×Vcc为逻辑1;电压小于等于(≤)0.3×Vcc为逻辑0;

  嵌入式里面说的串口,一般是指UART口,TTLRS-232RS-485是指的电平标准(电信号)。

2.2 RS232

  RS-232接口符合美国电子工业联盟(EIA)制定的串行数据通信的接口标准,全双工,其中 RS 为英文 “Recomend Standard” 的缩写,中文翻译为“推荐标准”,232为标识号。原始编号全称是EIA-RS-232(简称232RS232)。它被广泛用于计算机串行接口外设连接,连接电缆和机械、电气特性、信号功能及传送过程,其输出的电平称为 RS232 电平。

2.2.1 RS-232电平逻辑

  RS-232不同于TTL的电平逻辑,为负逻辑,最简单的RS232通信由三条数据线组成,即 TxDRxDGND。负12V代表高电平,即-15V ~ -3V为逻辑1,正12V代表低电平,即+3V ~ +15V为逻辑0,电压也有标准范围。这里的电平,是TXD线(或者RXD线)相对于 GND 的电压。
  根据设备供电电源的不同,+-5、+-10、+-12+-15这样的电平都是可能的。
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发

2.2.2 RS-232标准的不足

  经过许多年来RS-232 器件以及通信技术的改进,RS-232 的通信距离已经大大增加。由于RS-232 接口标准出现较早,难免有不足之处,主要有以下四点:

  1. 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。
  2. 传输速率较低,在异步传输时,波特率为20Kbps。现在由于采用新的UART 芯片16C550 等,波特率达到115.2Kbps
  3. 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
  4. 传输距离有限,最大传输距离标准值为50 米,实际上也只能用在15米左右。

2.3 RS-485

  RS-485RS-232一样,都是串行通信标准,现在的标准名称是TIA/EIA-485-A,习惯称为RS-485标准,半双工,使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得廉价本地网络以及多支路通信链路的配置成为可能,而且增加了联网功能。
  针对RS-232串口标准的局限性,RS-485/422采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号AB两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。
  由于传输线通常使用双绞线,又是差分传输,所以又极强的抗共模干扰的能力,总线收发器灵敏度很高,可以检测到低至200mV电压,故传输信号在千米之外都是可以恢复。
  RS-485/422总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发

2.3.1 RS-485电平逻辑

  RS-485RS-232单端传输不一样,是差分传输,使用一对双绞线,其中一根线定义为A,另一个定义为B,一般收发器内部是一个发送器加一个收发器组成。对于使能信号,字母上面加一横的为低电平有效,不加的为高电平有效。
逻辑“1”以两线间的电压差为+(2 ~ 6)V表示;逻辑“0”以两线间的电压差为-(2 ~ 6)V表示,使能端起作用和其他状态时为高阻态。

2.3.2 RS-232与RS-485对比

  • 抗干扰性RS485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。RS232 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰。
  • 传输距离RS485 接口的最大传输距离标准值为 1200 米(9600bps 时),实际上可达 3000 米。RS232 传输距离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。
  • 通信能力RS-485 接口在总线上是允许连接多达128个收发器,用户可以利用单一的 RS-485 接口方便地建立起设备网络。RS-232只允许一对一通信。
  • 传输速率RS-232传输速率较低,在异步传输时,波特率为 20KbpsRS-485 的数据最高传输速率为 10Mbps 。
  • 信号线RS485 接口组成的半双工网络,一般只需二根信号线。RS-232 口一般只使用 RXDTXDGND 三条线 。
  • 电气电平值RS-485的逻辑"1"以两线间的电压差为+(2~6) V 表示;逻辑"0"以两线间的电压差为-(2~6)V 表 示 。在 RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑"1",-5~-15V;逻辑"0 " +5~+15V

2.4 RS-422

RS-422 的电气性能与RS-485近似一样。主要的区别在于:

  1. RS-4852 根信号线:发送和接收都是AB。由于RS-485 的收与发是共用两根线,所以不能够同时收和发(半双工)。
  2. RS-4224 根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422 的收与发是分开的,所以可以同时收和发(全双工)。
  3. 支持多机通信的RS-422Y-A 短接作为RS-485A、将RS-422Z-B 短接作为RS-485B可以这样简单转换为RS-485

注:
RS422 针脚定义:
1.英式标识为 TDA(-) 、TDB(+) 、RDA(-) 、RDB(+)、GND
2.美式标识为 Y 、Z 、 A 、 B 、 GND
3.中式标识为 TXD(+)/A 、TXD(-)/B 、RXD(-) 、RXD(+)、GND
具体的需要查看422芯片手册,并和对端确认好。

  很多人往往都误认为RS-422串行接口是RS-485串行接口的全双工版本,实际上,它们在电器特性上存在着不少差异,共模电压范围和接收器输入电阻不同使得该两个标准适用于不同的应用领域。
  RS-485串行接口的驱动器可用于RS-422串行接口的应用中,因为RS-485串行接口满足所有的RS-422串行接口性能参数,反之则不能成立。对于RS-485串行接口的驱动器,共模电压的输出范围是-7V+12V之间;对于RS-422串行接口的驱动器,该项性能指标仅有±7VRS-422串行接口接收器的最小输入电阻是4KΩ;而RS-485串行接口接收器的最小输入电阻则是12KΩ

2.5 USB

  USBUniversal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口技术,USB接口的特点是传输速度快,支持热插拔,可连接多个设备。
  一条USB传输线分别由地线、电源线、D+D-四条线构成,D+D-是差分输入线,它使用的是3.3V的电压(与CMOS5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500mA(可以在编程中设置)。USB设备可以直接和HOST通信,或者通过HubHost通信。一个USB系统中仅有一个USB 主机,设备包括USB功能设备和USB HUB,最多支持127个设备。物理连接指的是USB传输线。在USB 2.0系统中要求使用屏蔽双绞线。

2.5.1 USB 速率

  • USB1.0:低速模式(low speed):传输速率为1.5Mbps
  • USB1.1:全速模式(full speed):传输速率为12Mbps
  • USB2.0:向下兼容,高速模式(high speed):25~480Mbps
  • USB3.0:向下兼容,(super speed):理论上最高达5Gbps,实际中,也就是high speed 的10倍左右;
  • USB3.1Gen2 超高速(SuperSpeed+)传输速率为 10Gbps

2.5.2 USB接口定义

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

ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发
  USB是普遍使用的一种高速通信接口,和串口完全是两个概念。虽然也是串行方式通信,但由于USB的通信时序和逻辑电平标准都和串口完全不同,因此和串口无关。USB是高速的通信接口,用于PC连接各种外设,U盘、键鼠、移动硬盘、当然也包括“USB转串口”的模块。参考链接:USB协议基本知识_u010142953的博客-CSDN博客_usb协议栈

2.6 CAN总线

  CAN总线涉及的东西比较多,我之前也用过一些,这里简单分享一下,这里可以具体查看小麦大叔的博客CAN总线简易入门教程,比较全面。
  CANController Area Network)是一种功能丰富的串行总线标准,支持多主机,多从机的优点,广泛应用在汽车领域,一辆车所有控制器,传感器,电子设备直接的通信只需要两条线就够了,大大优化了整车的布线。

2.6.1 CAN电平逻辑

  CAN是串行异步通讯,只有CAN_HIGHCAN_LOW两条差分信号线,数据通过差分信号的方式进行通讯,其优点就是可以增加信号的抗干扰能力,抑制共模信号的干扰;以下图片引自小麦大叔CAN总线简易入门教程。
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发  我们可以简单地理解一下,当CAN_HIGH减去CAN_LOW大于某个阈值的时候,可以把它当做逻辑高,反之,当小于某一个阈值时,就变成逻辑低。

2.6.2 CAN连接方式

  CAN总线支持多个节点挂载在总线上,比较类似I2C总线,可以在SCLSDA上挂载多个从机,具体如下图所示;
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发
  不过CAN总线其实没有主从的概念,每个设备都是一个节点(Node),节点直接可以相互通讯,相较于I2C总线,CAN总线设置了终端电阻,常见的一种闭环连接模式,相对的还有开环的连接模式。

  这里仅对CAN做简单介绍,具体可以参考小麦大叔博客~

2.7 IIC

  I2C总线是由Philips公司开发的一种简单、半双工、双向二线制同步串行总线。它只需要两根线(SDASCL)即可在连接于总线上的器件之间传送信息。同一时刻可以单主机多从机或单主机单从机,I2C总线上的任意设备都可以当主机,一般主机是MCU,当有多个主机时,会通过总线仲裁的方式选出一个主机,其他退出作从机。
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发

IIC一共有只有两个总线: 一条是双向的串行数据线SDA,一条是串行时钟线SCL

  • SDA(Serial data)是数据线,D代表Data也就是数据,Send Data 也就是用来传输数据的
  • SCL(Serial clock line)是时钟线,C代表Clock 也就是时钟 也就是控制数据发送的时序的

2.8 SPI

  SPI是串行外设接口(Serial Peripheral Interface)的缩写,意为串行外围接口,是摩托罗拉首先在其MC68HCXX系列处理器上定义的,SPI是一种高速的,全双工,同步的通信总线,SPI的速率比I2C高,一般可以到几十Mbps,不同的器件当主机和当作从机的速率一般不同。SPI最典型的应用是单主机单从机,下图是接线方式,当然也可以多从机。
ttl协议,通信协议,嵌入式应用,笔记记录,嵌入式硬件,驱动开发文章来源地址https://www.toymoban.com/news/detail-786913.html

到了这里,关于常用通信协议TTL、RS232/RS485/RS422、CAN、IIC、SPI、USB整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 串口通信协议--UART、RS-232、RS-485、RS-422

    近期学习了单片机及数电相关知识,故决定系统地学习一些通信协议。手边书本仅介绍了串口低速接口的相关协议。 串行通信 是指通过使用一条数据线(需要地线或控制线),将数据一位一位地一次传输,每一位数据占据一个固定的时间长度。 特点 :抗干扰,节省数据线,

    2024年02月05日
    浏览(63)
  • 串口类型:TTL \rs232 \rs422 \rs485之间的区别

    串口是计算机与其他设备进行数据传输的一种通信接口。TTL、RS232、RS422和RS485都属于串口通信,但不同的是它们在电信号及其传输方式上有所区别。 TTL(Transistor-Transistor Logic,晶体管-晶体管逻辑)是一种基于晶体管的数字逻辑集成电路技术,将0V表示0,5V表示1。在串口通讯

    2024年02月13日
    浏览(44)
  • 一文搞懂UART、RS232、RS485、TTL等常用的接口与协议

    PC机常用的按照接口数量细分为A型(15针),B型(25针),C型(37针),D型(50针),E型(9针)。其中,串行通信常用的是RS232——9针的DB9接口,显示器用的是VGA——15针的DB15接口。现在的笔记本电脑都已取消这种接口,一方面是因为这种接口比较笨重、逐渐被市场淘汰,另

    2024年02月01日
    浏览(47)
  • 通信-RS232、RS485、RS422接口

    本内容包括RS232、RS485与RS422接口、优缺点、针脚定义介绍,所用集成的介绍与其相关电路,验证串口好坏与波特率实测,STM32的URAT与单片机串口调试的几个小招数等。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易! 一、RS232、RS485与RS422介绍 1、关于RS4

    2024年02月04日
    浏览(53)
  • 串口通讯UART/RS232/RS485/RS-422笔记

    串口通讯是指数据按位(bit)发送和接收字节的一种传输方式。一个字节的数据传输要分为8次进行,由低位到高位按顺序一位一位的进行传送。 由于串行通信的数据是逐位传输的,所以发送方和接收方都需要具有固定的时间间隔来发送/接收每一位,也就是要保证通讯双方具

    2024年02月15日
    浏览(89)
  • 通信接口五种主要的类型是什么?RS-232、485、CAN、USB

    笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同互勉! 全套资料领取扫描文末二维码 ! 温馨提

    2024年02月09日
    浏览(40)
  • 串口RS232 RS485最本质的区别!-!I2C通讯协议 最简单的总线通讯!-深入理解SPi通讯协议!

    来自 先讲串口通讯,因为不管是R4232还是R485,都是串口通讯的变种。知道了串口通讯,再来看232和485,就很容易理解了。串口通讯非常容易实现,它在两个芯片之间就可以实现信号的传输。在进行串口通讯时,首先要约定好真格式和波特率。这是一帧我们常见的帧格式,一共

    2024年02月04日
    浏览(52)
  • 串口RS232/RS485/RS422的DB9引脚定义

    DB9M指的是DB9公头(针型)(M是Male的缩写) DB9F指的是DB9母头(孔型)(F是Female的缩写) DB9M脚定义   DB9F脚定义 RS232接线说明 RS232需要接 3根线 ,收发对接,还要接一根地线。 实物展示   DB9M脚定义  DB9M 1 2 3 4 5 6 7 8 9 RS485 D+ D- GND +5V RS422 T+ T- R+ R- GND +5V (注:该定义来源于

    2024年02月11日
    浏览(50)
  • TTL、RS232、RS485的区别和简介

    TTL,RS232,RS485都是一种逻辑电平的表示方式 TTL: TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V。与单片机、SOC的IO电平兼容。不过实际也不一定是TTL电平,因为现在大部分数字逻辑都是CMO

    2024年02月11日
    浏览(47)
  • RS232、RS422、RS485硬件及RS指令、RS2指令应用知识学习

    常用硬件接口RS232/RS422/RS485,以下为DB9公母头PIN脚对应信号,图三是RS485两线制接法 1. RS232 异步串行通信口UART与这个RS232是同一个协议,只是电平标准不同而已。 UART 使用 TTL 电平标准,一般情况下,TTL通讯就是UART通讯。TTL电平信号规定,+2.4V ~ +5V等价于逻辑“1”,0V ~ 0.4V等

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包