通讯协议汇总

UART

UART(Universal Asynchronous Receiver/Transmitter)是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。

物理拓扑

在这里插入图片描述

帧结构/数据传输形式#

在这里插入图片描述
起始位:先发一个逻辑0,表示传输字符的开始;依靠检测起始位来实现发送与接收方的时间自同步的。

数据位:4~8位,构成一个字符,如ASCII码8位数据位,从最低位开始传送,靠时钟定位;方向为LSB

奇偶校验位:数据位加上这一位后,使得“1”的位数为偶数(偶校验)或奇数(奇校验)以此来校验数据传送的正确性;

停止位:他是一个字符数据的结束标志,可以是1位、1.5位、2位的高电平。适用于停止位的位数越多,不同时钟同步的容忍程度越大,数据传输率同时也越低。

空闲位:处于逻辑“1”状态,表示当前线路上没有数据传送。

波特率

串口常见的波特率为9600,14400,57600、115200等。

以9600为例,意思为1秒传输了9600bit,那么传输1bit所用的时间为:1 /9600 ≈ 104us(UART的逻辑电平起码要保持的时间长度)

总结

优点:

1,需要的引脚线不多,只用2条数据线,1条地线
2,不需要时钟信号
3,有奇偶校验位,提供通信的差错检查

缺点:

1,数据帧支持的最大长度只有9bit
2,不支持多主机或多从机的主从结构

RS232

  • 串行,全双工
  • 规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。
  • 传送距离一般可达30 m

RS485

  • 串行,半双工,差分电路
  • 逻辑“1”在+2V~+6V之间,逻辑“0”在-2V~-6V之间
  • 传输距离远:10km
  • 协议支持1发多收(总线形式)

IIC

物理拓扑

特点:

  • 半双工,同步
  • 主从(机)结构
  • 硬件简单(时钟线+数据线)
  • 从高数据位(MSB)开始传输

缺点:

  • 速率较低:标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s
  • 距离较短(理论15M以下)
    在这里插入图片描述

时序

start和stop

在这里插入图片描述
SDA和SCL同时为高时,为IIC总线的空闲状态

  • 起始:时钟线SCL为高时,数据线SDA由高到低
  • 停止:时钟线SCL为高时,数据线SDA由低到高

数据

除了开始和结束标志,所有的SDA 信号变化都要在SCL 时钟为低电平时进行,SCL高电平时读SDA上信号

ACK(应答)

在这里插入图片描述
下面的波形:SCL,主机产生的时钟脉冲
上面的波形:SDA,主机发送的8位数据
中间的波形:SDA,从/主机在第9个时钟信号进行拉低回应,表示收到了主/从机发来的数据,拉高则表示不应答
注:实际上,上面和中间是同样的SDA线,这里只是分开示意。

数据收发方式

主机写

在这里插入图片描述
写寄存器时,主设备除了发出开始标志和地址位,还要加一个R/W 位,0 为写,1 为读

主机读

在这里插入图片描述
主机向从机索要数据时,以NACK为结尾,告诉从机之后不需要再读数据。

SPI

特点:

  • 全双工,同步
  • 主从(机)结构
  • 速率高:一般几M,最高几十M
  • 从高数据位(MSB)开始传输

缺点:

  • 线比较多
  • 适合短距离传输

物理拓扑

在这里插入图片描述

工作模式

SPI有四种工作模式,通过串行时钟极性(CPOL)和相位(CPHA)的搭配来得到四种工作模式:
1,CPOL=0,串行时钟空闲状态为低电平。
2,CPOL=1,串行时钟空闲状态为高电平,此时可以通过配置时钟相位(CPHA)来选择具体的传输协议。
3,CPHA=0,串行时钟的第一个跳变沿(上升沿或下降沿)采集数据(读端)。
4,CPHA=1,串行时钟的第二个跳变沿(上升沿或下降沿)采集数据。
在这里插入图片描述

USB

通用串行总线,高速,半双工,由主机、hub、设备组成。设备可以与下级hub相连构成星型结构。

CAN总线

特点:

  • 串行,全双工,差分线
  • 直接通信距离最远10km(速率5Kb/s)
  • 通信速率最高可达1Mb/s(距离40m)

隐性电平和显性电平

  • 隐性电平:CANH和CANL之间的差分电压近似为0,表示逻辑1

  • 显性电平:CANH和CANL之间的差分电压近似为2~3V,表示逻辑0

波特率和比特率

  • 比特率:每秒传输多少bit(信息)
  • 波特率:表示每秒钟传送码元符号的个数
  • 比特率=波特率x单个调制状态对应的二进制位数
    (代表一个符号包含多少个bit数据)

两相调制(单个调制状态对应1个二进制位)的比特率=波特率;四相调制(单个调制状态对应2个二进制位)的比特率为波特率的2倍;八相调制(单个调制状态对应3个二进制位)的比特率为波特率的3倍。 **一般而言,传输信号是二进制的,即波特率与比特率的概念就是相同的。**tuopu

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

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

相关文章

十六、停止等待协议

文章目录 1、为什么要有停止等待协议2、研究停等协议的前提3、应用停等协议的两种情况3.1 无差错的情况3.2 有差错的情况3.2.1 数据帧丢失或检测到帧出错3.2.2 ACK丢失3.2.3 ACK迟到 4、停等协议的性能分析THE END 1、为什么要有停止等待协议 \qquad 除了比特出差错&#xff0c…

获取实时股票行情通达信接口

获取实时股票行情通达信接口

今天给大家带来搜题公众号搭建教程(附赠搜题接口 还支持语音图片搜题)

今天给大家带来搜题公众号搭建教程(附赠搜题接口 还支持语音搜题) 下面带大家搭建搜题公众号 首先我们需要的材料: 1.有自己的微信公众号(已经注册好的,直接登录自己公众号即可) 注册公众号教程&#xff1a…

google搜索技巧——程序员推荐

文章目录 前言谷歌搜索语法指令用引号来查询一个确切的单词或短语OR查询排除特定网站标题搜索将搜索结果限制到特定网站查看某个地区内的相关信息将结果限制为特定的文件格式 小结 前言 在昨天使用Google搜索一个异常问题的时候,不经意间发现有如下的提示 参考如上…

Google 几种常见的高级搜索技巧

1、完全匹配搜素:“使用双引号” 2、模糊匹配:使用*代替 3、排除搜素:使用-排除 4、在特定的网站内搜索:使用 site:来搜索 5、特定文件类型搜索:使用filetype: 来搜索 6、限定在url中进行搜索:i…

百度、谷歌等搜索引擎高效搜索方法 —— 更快速搜索到你想要内容

一、常用搜索方法 1、限定标题 intitle 又被称为去广告搜索法,intitle命令,即in title(在标题里)返回的的结果是网页的标题包含该关键词。一般情况下搜索的关键词都会在标题里出现,使用intitle命令一般是在特殊需求下…

巴比特 | 元宇宙每日必读:传苹果将在6月开发者大会上发布混合现实头显,售价约三千美元,分析师预计今年出货量约为20万至30万部...

摘要:据腾讯科技报道,知情人士透露称,苹果公司预计将在6月份举行的开发者大会上发布其备受期待的混合现实头显,然而这款产品依然处于试验阶段,强推不成熟产品上市有违苹果的传统和规则。许多投资者质疑:消费…

iOS之适配苹果Universal Links 和升级友盟的QQ和微信分享艰难之路

安逸的日子总是那么短暂,刚上完线,唏嘘人生是那么短暂而又漫长,刚准备进入安逸圈,结果晴天霹雳 这特么是啥 ,我没动啥代码哇,瞬间感觉蛋蛋有微微的疼痛,经过测试只有新系统(iOS13.5)的微信才会出现这个 这肯定是友盟整什么幺蛾子了,打开文档一看 瞬间明白了什么 ,我现在用的…

Android 版灵动岛插件上线;iPhone 15或将改名,并改用USB-C接口;​Swift 5.7 发布|极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

毕业论文季,你需要一个黑科技

1、风来了,两极分化严重 ChatGPT 是一种基于大型语言模型,由 OpenAI 开发,ChatGPT 的发展得益于深度学习算法的发展和硬件设备的提升。 ChatGPT深度学习模型Python语言机器学习和自然语言处理算法。 继00年的电商、15年的短视频之后&#…

新手程序员要不要学英语?

点击上方“中兴开发者社区”,关注我们 每天读一篇一线开发者原创好文 作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪。但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都…

程序员去哪里找国外朋友来进行学习英语?

程序员有必要学习英语么?答案是肯定的!大部分优秀的计算机相关的资源(视频,文章等等)都是英文的,所以英语学习对一名优秀的程序员来说也是一门必修课. 如何能找到一名或者多么的国外朋友进行英语的学习,相信效果会更好.不过在和国外人交流之前你要拥有最基本的英语水平.这里我…

用中文编程,就不用学英语?我保证你会更头疼!

首先大概的看一下中文编码: 你以为会写中文写编程就简单了吗?这就像你以为会写汉字就会写出好文章一样。编程是和机器沟通,因此要用机器的语言而不是人类的语言。 最早的程序就是0和1的数字,不是中文也不是英文。以前的程序员&…

英文不好到底能不能学会编程?

很多初学编程的小伙伴都会问,“我英语差能学编程吗?”。 首先,对于初学编程,或者一般的应用开发,并不需要多高深的英语水平,想要学会编程,简单的初高中英语水平足够了。 现在的程序开发环境又…

英语不好,能不能学会编程?

编程的人都会问: 我英文差能学会编程吗?? 学会编程不须要多浅近的英语水平,想要学会编程,简略的英语水平足够了。当初的程序开发环境又很敌对,基本上关上之后不须要怎么配置,间接写代码就行&a…

就大学生对网络舆情态度的调查

【新生研讨课】 ** 就大学生对网络舆情态度的调查 ** 成员:王诗雅,徐江源,孙静波,彭雨扬 当今社会,网络舆情非常严重,键盘侠层出不穷,网络暴力随处可见,令人痛心!&a…

给谷歌 浏览器安装Chrome-Charset 插件解决数据输出乱码问题

1.下载 插件地址:https://github.com/jinliming2/Chrome-Charset 2.点击如图 小图标 找到更多工具->扩展程序,点击如下图 选项 后选择你 下载好 的 插件 就好了 (一定要 解压 ), 3.使用如图(安装好 后就…

2023,AI 技能学起来

这段时间,ChatGPT 算是火出圈了。不仅朋友圈转发各种 ChatGPT 的文章,连我夫人这种从来不关注科技新闻的人也问我 ChatGPT 是怎么回事。其实我算是比较早知道并关注 ChatGPT 的,去年 12 月份还写了一篇文章 AI 也会写代码了,但我并…

Big Mart Sales prediction 商场销售预测分析项目

文章目录 一、项目介绍二、建立假设(部分)三、数据探索分析1.导入数据2. 单变量分析2.1) 分类特征a) Item_Fat_Content‘ 脂肪含量(重复名字处理)b) Item_Type物品类别c) Outlet特征 (大小、位置、类型) 2.2) 数值特征…

想要准确预测客户需求?使用预测分析

如何做出更好的决定、采取更好的行动并推动更好的体验?如果企业根据 20% 做出响应的客户的 NPS分数运行,是不够的,而且还需要通过数据分析和机器学习,可以预测另外 80% 的 NPS。 本文将分析和机器学习如何为他们提供 360 度客户视…