热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

常见通信协议整理归纳原创

一.串行通信与并行通信 1.串行通信:简称串口(串行接口),指数据一位一位地顺序传送,比如:UART,RS232,RS485等,串行通


一.串行通信与并行通信

 

1.串行通信:简称串口(串行接口),指数据一位一位地顺序传送,比如:UART,RS232,RS485等,串行通信根据发送时源和接收时源是否保持一致,又分为同步通信和异步通信,其优点是只需要几条线就可以在系统之间交换信息

2.并行通信:数据的每一位同时在多根数据线上发送或者接收信息,成本高,不适宜远距离通信


二.单工,半双工和全双工

图片来自于(2条消息) 单工、半双工和全双工_mayue_csdn的博客-CSDN博客_单工、半双工和全双工

a.单工:数据单向传输;

b.半双工:接口任意时刻只能接收或者发送数据,并存在最大传输距离的限制

c.全双工:接口可以同时接收和发送数据,而且消除了半双工物理距离的限制


三.UART

UART意为通用异步收发传输器,双向异步串行通信+全双工

图片来自于了解UART总线工作原理看这一篇就够了! - 知乎 (zhihu.com)

在两个UART之间传输数据只需要两根线,数据从发送UART的Tx引脚流向接收UART的Rx引脚

数据通信格式如下图:

图片来自于UART串口协议详解 - 知乎 (zhihu.com)

(1)URAT规定,总线为空闲状态时,信号线状态为1;

(2)起始位为0;

(3)数据位,先发送最低位,最后发送最高位;

(4)奇偶校验位:检查UART在传输过程中是否有数据发生变化;

(5)停止位:通知传输数据包结束;此外,每一个设备都有自己的时钟,很可能在通信过程中两台设备之间出现了不同步。因此,停止位还可以提供计算机校正时钟的机会。停止位个数越多,传输越稳定,但也越慢。


四.RS232、RS485

为了使远距离的设备正常通信,RS232,RS485应运而生。RS232的传输距离在15m左右,RS485的传输距离可以达到1.2KM,一般情况下,两单片机可以通过电平转化的芯片(比如SP3232芯片)将TTL信号转化成RS232信号,这样就可以延长通信距离。

RS232存在的问题:接口的信号电平值较高,容易损坏接口电路的芯片,又因为和TTL不兼容,需要电平转换芯片与TTL电路连接;通信速度较低;易产生共模干扰,抗干扰性弱;传输距离还是较短(15m);

RS485:与RS232相比,主要是通信距离进一步扩大,抗干扰能力增强,UART和RS232只能点对点通信,而RS485可以连接多个收发器,具有多站能力,可以建立一个设备网络。RS485采用差分信号进行数据传输,两线之间电压差+2v~+6v表示逻辑1,-2v~-6v表示逻辑0。因为采用两线制,数据的发送和接收都要使用这对差分信号线,接收和发送不能同时进行,所以只能采用半双工工作方式。


 五.I2C

串行,半双工总线,适用于近距离,低速的通信。IIC总线有两根双向的信号线,一根数据线SDA用于收发数据,一根时钟线SCL通信双方时钟的同步。

图片来自于IIC原理超详细讲解---值得一看_Z小旋的博客-CSDN博客_iic原理

IIC总线通信时每个字节为8位长度,数据传送时,先发最高位后发最低位,发送器发完一个字节后接收器必须发送一位应答来回应,即一帧有9位。时钟线SCL为低电平期间,发送器向数据线上发送一位数据,在此期间数据线上的信号允许发生变化,时钟线SCL为高电平期间接收器从数据线上读取一位数据,在此期间数据线上的信号不允许发生变化。


六.SPI

SPI:串行外设接口,是一种高速的,全双工,同步的串行通信总线。SPI采用主从方式工作,一般有一个主设备和一个或者多个从设备。SPI需要四根线,分别是MISO(主设备输入和从设备输出),MOSI(主设备输出和从设备输入),SCLK(时钟),CS(片选)。

图片来自于SPI协议详解(图文并茂+超详细)_小麦大叔的博客-CSDN博客_spi

 寻址方式:当主设备要和某个从设备进行通信的时候,主设备需要向对应的从设备的片选线上发送使能信号,表示选中该从设备。

图片来自于SPI协议详解(图文并茂+超详细)_小麦大叔的博客-CSDN博客_spi

通信过程:SPI总线在进行数据传送时,先发送高位,后传送低位(与IIC一致),一个字节传送完成之后无需应答即可开始下一字节的传送;SPI总线采用同步方式工作,时钟线在上升沿或者下降沿时发送器向数据线上发送数据,在紧接下来的下降沿或者上升沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送。

极性:CPOL=0,空闲时SCLK为低电平;CPOL=1,空闲时SCLK为高电平;

相位:CPHA=0,每个周期的第一个时钟采样;CPHA=1,每个周期的第二个时钟采样;

根据不同的极性和相位,SPI有四种工作状态

SPI通讯的优势:全双工,高速,简单软件配置,数据传输不限于8位,并且从机不需要唯一的地址

SPI的缺点:通常只支持一个主设备,没有从机应答信号,需要更多的引脚,传输距离短

IIC和SPI的异同

相同点:

1.均采用串行同步的方式

2.均采用TTL电平,传输距离和应用场景类似

3.均采用主从方式工作

不同点:

1.IIC为半双工,SPI为全双工

2.IIC有应答机制,SPI无应答机制

3.IIC通过总线广播从机地址来寻址,SPI通过对从机发送使能信号来寻址

4.IIC的时钟极性和相位固定,SPI可调




推荐阅读
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 苹果新专利或将引领无边框手机时代
    苹果公司最近公布了一项新的专利技术,该技术能够在设备屏幕中嵌入光线传感器,这标志着苹果在实现无边框手机设计上迈出了重要一步。这一创新将极大提升手机的屏占比,并可能为未来的iPhone带来革命性的变化。 ... [详细]
  • 本文介绍如何使用 Python 提取和替换 .docx 文件中的图片。.docx 文件本质上是压缩文件,通过解压可以访问其中的图片资源。此外,我们还将探讨使用第三方库 docx 的方法来简化这一过程。 ... [详细]
  • RT,个人博客图片管理(方便管理,大家 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 百度服务再次遭遇技术问题,疑似DNS解析故障
    近日晚间,百度多项在线服务出现加载异常,包括移动端搜索在内的多个功能受到影响。初步迹象表明,问题可能与DNS服务器解析有关。 ... [详细]
  • 本文详细介绍了《问道》手游在2020年12月31日进行的服务器维护情况,以及此次更新中新增的跨年狂欢活动和寒假活动等内容。同时,文章还涵盖了其他重要的系统优化与修复信息。 ... [详细]
  • Win11扩展卷无法使用?解决扩展卷灰色问题的指南
    本文详细介绍了在Windows 11中遇到扩展卷灰色无法使用时的解决方案,帮助用户快速恢复磁盘扩展功能。 ... [详细]
  • 掌握 Photoshop 是学习网页设计的重要一步。本文将详细介绍 Photoshop 的基础与进阶功能,帮助您更好地进行图像处理和网页设计。推荐使用最新版本的 Photoshop,以体验更强大的功能和更高的效率。 ... [详细]
author-avatar
小茜的阳光2011_950
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有