常用通讯协议的理解

一、通讯的一些基本认知

1、什么是异步或同步通信

        异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来,不需要外部时钟源

        同步通信则是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。进行数据传输时,发送和接收双方要保持完全的同步,因此,要求接收和发送设备必须使用同一时钟。

2、什么是半双工,全双工

        半双工则是一种在通信过程中的任何时候,信息可以从A传输到B,从B传输到A,但只能有一个方向的传输,不能同时传输的传输模式。这就像一条窄窄的马路,同时只能有一辆车通过。

        全双工是一种通讯传输模式,它允许数据在两个方向上同时传输,即发送和接收可以同时进行,而且两者是瞬时同步的。这就像我们平时打电话一样,说话的同时也能够听到对方的声音。

二、UART通讯协议

1、什么是UART   (异步,全双工

        UART是一种通用的串行通信总线,它通过两根线(一根用于发送,一根用于接收)实现数据的异步传输。由于UART是异步的,所以发送和接收设备不需要共享同一时钟信号,这使得UART成为一种非常灵活和通用的通信方式。

2、Tx如何实现数据的发送

        假设发送数据198  (1 1 0 0 0 1 1 0 )

        

        1、前提需要将收发双方的数据数据域宽度配置成相同大小(数据位)。

        2、接收器需要知道Tx的发送速度,若速度不一样,Rx就会不知道Tx数据什么时候开始,什么时候结束,就会导致有可能读取到错误的数据值(波特率)。

        3、最开始没有发送数据之前Tx一直保持高点平,当需要发送数据的时候,Tx会拉低告知Rx要发数据(起始位)。

        4、数据传输,固定9600波特率,一秒钟传输9600bit,1bit需要104us,当Rx接收到起始位瞬间,就开始计时104us,当104us之后(起始位结束)就是真实数据的第一位,而通常我们不会再这里保存这个值,因为数据不稳定,而是延时52us之后读取值再保存,后面读取数据都是这样循环往复。

        5、当Rx接收到相同数据宽度的数据之后,就会等待停止位(高电平)。

        6、数据随即到达缓存区,缓冲区再发给其它位置,这样就实现了UART通讯。

三、IIC协议

1、什么是IIC协议         (同步,半双工

        IIC协议,全称为Inter-Integrated Circuit,即集成电路之间,是一种由Philips公司开发的两线式串行总线,用于连接微控制器及其外围设备。该总线仅由数据线SDA时钟线SCL构成,可发送和接收数据。

        IIC协议采用主从式的通信架构,通信的发起方称为主设备(Master),而被动响应通信的设备称为从设备(Slave)。在IIC总线上,可以连接多个从设备,但只能有一个主设备。主设备负责发起通信请求,并控制总线的访问权限,而从设备则根据主设备的指令进行数据的接收和发送。

        此外,IIC协议把传输的消息分为两种类型的帧:地址帧数据帧。地址帧用于主设备指明消息发往哪个从设备,而数据帧则是由主设备发往从设备的数据或者是接收到来自于从设备的数据。

2、如何实现数据传输

         

         1、需要设定发送数据的速度(通常工作速度400K)和位数(数据长度一般为15或16位)。

       

        2、在发送数据时建立同步时钟,因此接收器能知道数据什么时候开始。最开始的时候SDA和SCL都会保持高电平,表示设备处于空闲状态,当SDA由高电平跳变成低电平时,则证明设备要开始发送数据了

        3、起始位开始之后,随即会向从机发送一个8位的数据,8为数据内容位(7位从机的地址+1位需要对从设备进行什么操作的选项),当从设备接到这8位数据之后,会向主设备返回一个应答信号(ACK),告诉主设备已经准备好了。

        4、从设备是怎么知道IIC上,什么时候是数据1,什么时候是数据0的

        当时IIC起始位开始之后 ,发送数据的时候时钟线SCL保持高电平,当SDA为高电平则传输1,为低电平则表示传输0。

        5、主设备知道后就会向从设备发送数据,发送一定数据之后,从设备就会向主设备回答一个ACK,继续这样循环发送数据,直到从设备收到IIC的结束条件。

四、SPI协议

1、什么是SPI协议                (同步,全双工

        SPI(Serial Peripheral Interface),即串行外围设备接口,是一种高速的、全双工同步的通信总线,由摩托罗拉公司提出并广泛应用于各个领域。

       SPI总线系统是一种主从结构的总线系统,通常由一个主设备(Master)和一个或多个从设备(Slave)组成,主设备负责控制整个通信过程,从设备则根据主设备的指令进行相应的操作。SPI总线系统由四根线组成,分别是:

  1. SCK(Serial Clock):时钟信号线,用于同步数据传输。
  2. MOSI(Master Out Slave In):主设备输出/从设备输入数据线,用于主设备向从设备发送数据。
  3. MISO(Master In Slave Out):主设备输入/从设备输出数据线,用于从设备向主设备发送数据。
  4. CS(Chip Select):片选信号线,用于选择需要通信的从设备。

2、如何实现数据的传输

        

        1、选定通信的从机,当从机片选信号处于低电平的时候,则怎么该从机被主机选中,需要进行通信。

        2、进行通信的时候SPI有四种通信模式,从机设备模式一般不能更改的,但我们可以进行主机的更改,是主从机处于同一种工作模式,可以通过时钟极性和时钟相位来实现通信方式。

 

        3、下面将以模式0进行讲解

         当从机设备被选中后,片选信号(CS=0)一直为低电平,当选择工作模式0的时候,表示时钟极性设置为0则表示时钟线为低电平时才有效,而时钟相位为0则表示当时钟极性状态发生翻转时,奇数次翻转瞬间,MOSI所对应的电平为真正发送的数据,MISO所对应的数据为要读取的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 由浅入深 (7) - 集群操作手册

目录 Redis运维查询命令登录redis集群(登录任意一台即可)查询redis集群信息(登录之后)通过客户端执行命令(redis-cli)查询正则“pattern”所有的key redis 启动和创建的命令Redis 常用命令redis 手动命令设…

【深度学习】脑部MRI图像分割

案例4:脑部MRI图像分割 相关知识点:语义分割、医学图像处理(skimage, medpy)、可视化(matplotlib) 1 任务目标 1.1 任务简介 本次案例将使用深度学习技术来完成脑部MRI(磁共振)图像分割任务&#xff0c…

ETH网络权益证明(PoS)

权益证明 - POS 权益证明是一种证明验证者已经将有价值物品质押到网络上的方法。如果验证者有失信行为,这些物品可能会被销毁。 在以太坊的权益证明机制下,验证者明确地通过以太币将资产质押到以太坊上的智能合约中。 之后,验证者负责检查在网…

python概率分析:为什么葫芦娃救爷爷是一个一个地救成功率最高?

关键词: Python 、葫芦娃 、 概率计算 、 数学 、 建模 前言 过完年了返工后想起了小孩子们爱看的葫芦娃救爷爷的动画片,葫芦娃为什么是一个一个前去救爷爷,为什么不等着七个一起去救爷爷。带着这个疑问,我决定今天用数学的角度…

Linux开发工具使用

一、Linux软件包管理器 yum 软件包和软件包管理器, 就好比 "App" 和 "应用商店" ,我们现在要安装的yum就是相当于在我们的Linux终端安装一个"应用商店"。 但使用yum时,我们一定要保证主机(虚拟机)网络畅通!这点也非常好理…

分类问题经典算法 | 二分类问题 | Logistic回归:公式推导

目录 一. Logistic回归的思想1. 分类任务思想2. Logistic回归思想 二. Logistic回归算法:线性可分推导 一. Logistic回归的思想 1. 分类任务思想 分类问题通常可以分为二分类,多分类任务;而对于不同的分类任务,训练的主要目标是…

RabbitMQ(三):AMQP协议

目录 1 AMQP协议1.1 AMQP协议介绍1、AMQP是什么2、消息代理中间件的职责 1.2 AMQP 0-9-1模型1、AMQP的工作过程2、交换器和交换器类型3、队列队列属性队列名称队列持久化 1.3 几个概念1、绑定2、消费者3、消息确认4、预取消息5、消息属性和有效载荷(消息主体&#x…

HTML5:七天学会基础动画网页7

CSS3高级特效 2D转换方法 移动:translate() 旋转:rotate() 缩放:scale() 倾斜:skew() 属性:transform 作用:对元素进行移动,旋转,缩放,倾斜。 2D移动 设定元素从当前位置移动到给定位置(x,y) 方法 说明 translate(x,y) 2D转换 沿X轴和Y轴移…

概率基础——极大似然估计

概率基础——极大似然估计 引言 极大似然估计(Maximum Likelihood Estimation,简称MLE)是统计学中最常用的参数估计方法之一,它通过最大化样本的似然函数来估计参数值,以使得样本出现的概率最大化。极大似然估计在各…

学习JAVA的第十三天(基础)

目录 API之Arrays 将数组变成字符串 二分查找法查找元素 拷贝数组 填充数组 排序数组 Lambda表达式 集合的进阶 单列集合 体系结构 Collection API之Arrays 操作数组的工具类 将数组变成字符串 //将数组变成字符串char[] arr {a,b,c,d,e};System.out.println(Arra…

Python常用验证码标注和识别(需求分析和实现思路)

目录 一、需求分析 图像验证码识别: 文本验证码识别: 二、实现思路 三、案例与代码 四、总结与展望 在当今的数字时代,验证码(CAPTCHA)作为一种安全机制,广泛应用于网站和应用程序中,以防…

Method Not Allowed (GET): /user/logout/

在使用 DJango 框架使用框架默认的【登出】视图时&#xff0c;发现报错如下&#xff1a; Method Not Allowed (GET): /user/logout/ Method Not Allowed: /user/logout/ 退出部分的代码原先如下&#xff08;登出部分见第6行&#xff09;&#xff1a; <p><a href"…

MySQL 8.0.35 企业版安装和启用TDE插件keyring_encrypted_file

本文主要记录MySQL企业版TDE插件keyring_encrypted_file的安装和使用。 TDE说明 TDE( Transparent Data Encryption,透明数据加密) 指的是无需修改应用就可以实现数据的加解密&#xff0c;在数据写磁盘的时候加密&#xff0c;读的时候自动解密。加密后其他人即使能够访问数据库…

Unity 摄像机的深度切换与摄像机画面投影

摄像机可选&#xff1a;透视、正交 正交类似投影&#xff0c;1比1 透视类似人眼&#xff0c;近大远小 摄像机投影 在项目中新建&#xff1a;渲染器纹理 将新建纹理拖动到相机的目标纹理中 新建一个平面&#xff0c;将新建材质组件放到平面中即可。 相机深度切换 使用代…

93. 通用防重幂等设计

文章目录 一、防重与幂等的区别二、幂等性的应用场景三、幂等性与防重关系四、处理流程 一、防重与幂等的区别 防重与幂等是在 Web 应用程序和分布式系统中重要而又非常常见的问题。 防重 防重是指在多次提交同样的请求过程中&#xff0c;系统会检测和消除重复的数据&#xf…

HTTP有什么缺陷,HTTPS是怎么解决的

缺陷 HTTP是明文的&#xff0c;谁都能看得懂&#xff0c;HTTPS是加了TLS/SSL加密的&#xff0c;这样就不容易被拦截和攻击了。 SSL是TLS的前身&#xff0c;他俩都是加密安全协议。前者大部分浏览器都不支持了&#xff0c;后者现在用的多。 对称加密 通信双方握有加密解密算法…

python自学3

第一节第六章 数据的列表 列表也是支持嵌套的 列表的下标索引 反向也可以 嵌套也可以 列表的常用操作 什么是列表的方法 学习到的第一个方法&#xff0c;index&#xff0c;查询元素在列表中的下标索引值 index查询方法 修改表功能的方法 插入方法 追加元素 单个元素追加 多…

YOLO v9训练自己数据集

原以为RT-DETR可以真的干翻YOLO家族&#xff0c;结果&#xff0c;&#xff01;&#xff01;&#xff01;&#xff01; 究竟能否让卷积神经网络重获新生&#xff1f; 1.数据准备 代码地址&#xff1a;https://github.com/WongKinYiu/yolov9 不能科学上网的评论区留言 数据集…

教育知识与能力保分卷一(中学)

2.在教育学的发展过程中&#xff0c;代表马克思主义的教育学著作是&#xff08;A &#xff09;。 A.凯洛夫的《教育学》 B.赞可夫的《教学与发展》 C.杜威的《民主主义与教育》 D.昆体良的《论演说家的教育》 8.小贺在一次期…

电脑不小心格式化了,怎么恢复?

在这个数字化时代&#xff0c;电脑已经成为我们日常生活和工作中不可或缺的工具。然而&#xff0c;有时我们可能会不小心格式化电脑硬盘&#xff0c;导致重要数据的丢失。那么&#xff0c;电脑不小心格式化了&#xff0c;怎么恢复&#xff1f; 别着急&#xff0c;在本篇攻略中&…