详解物联网常用协议:IIC和RS485通信协议

news2024/11/27 22:21:42

在单片机开发中我们经常会听到协议二字,协议是单片机相互通信中必须遵守的规则,只有遵守协议才能实现二者之间的通信。协议的种类非常的多,可以满足不同设备和不同操作系统的通信要求,下面小编给大家介绍沐渥科技常用的两种通信协议——IIC和RS485。
IIC通信协议是一种半双工通信协议,双总线串行,主要用在主机和从机对于数据量较少且传输距离较短的场景中。IIC又可以称为I2C,由SDA(串行数据线)和SLC(串行时钟线)构成线路,在连接于总线上的器件之间传送信息,既能发送数据也能接收数据,进行双向传输。


IIC通信协议的工作流程:
起始信号:当SCL保持高电平,SDA由高电平向低电平变化,这是IIC总线的起始信号,代表着数据传输的开始。停止信号:SCL保持高电平状态,SDA由低电平向高电平变化,这是IIC总线的停止信号,代表着数据传输结束。应答信号:当接收数据的IC接收到数据后,向发送数据的IC发送一个特定的低电平脉冲,代表数据已经收到。
IIC通信协议的优点:
支持多设备连接,只要有IIC总线接口的单片机都能够直接与IIC总线接口的设备相连,非常的简单、方便;任何能够进行发送和接收的设备都可以为主总线,主机启动总线产生时钟进行数据传输,接收数据的机器都是从机;在总线上主机和从机、发送和接收的关系不是固定的,通过地址访问不同设备。
RS485通信协议是一种工业控制中常用的协议,多采用屏蔽双绞线传输,是由RS232协议改进而来的,为了长距离传输采用差分方式传输,传输的是差分信号。RS485通信网络中的每一个节点都是由一个控制器和收发器组成,将发送和接收信号线连接到收发器上,收发器通过差分线连接到总线,收发器和总线都是通过差分信号进行传输的,最终结果都是转换为TTL电平方式与单片机进行通信。


什么是差分传输?差分传输是指在两根线上都传输信号,这两个信号的振幅相同,方向相反,在这两根线上传输的信号就是差分信号。信号接收端依靠信号间的电压差来判断发送端发送的逻辑状态。
RS485通信协议的优点:
接口电平低,不易损坏芯片,电平与 TTL 电平兼容,方便与TTL电路连接;双总线差分输入,传输数据抗干扰能力强、传输速率高和传输距离远;同一总线能够连接多个驱动器和接收器,利用RS485接口能够快速便利的建立设备网络;RS485接口为半双工数据通信模式,支持节点数据通信,多个主设备,任意节点间能够互相通讯,增加了联网功能。
IIC通信协议常用在数据采集、图像处理、显示器、传感器中,RS485通信协议主要用在工业控制、自动化生产、PLC工控机、远程设备控制、安防监控等。除了IIC和RS485通信协议外,Modbus、UART、CAN、SPI、TCP/IP、HTTP等协议也是经常被使用的,怎样选择合适的通信协议是由设备自身需求来决定的。

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

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

相关文章

一文带你吃透JSP,增删改查实战案例详细解读

文章目录前言JSP 概述JSP快速入门搭建环境导入JSP依赖创建 JSP 页面编写代码测试JSP原理JSP 脚本实战案例JSP缺点发展阶段EL 表达式概述实战案例域对象JSTL 标签用法1用法2前言 不得不说,JSP 现在已经是一门十分老旧的技术了,学习编程时,不仅…

一文说清Kubernetes的本质

文章目录Kubernetes解决了什么问题?Kubernetes的全局架构Kubernetes的设计思想Kubernetes的核心功能Kubernetes如何启动一个容器化任务?Kubernetes解决了什么问题? 编排?调度?容器云?还是集群管理&#xf…

置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天

置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天 置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天…

RAD Studio 11.3 Alexandria Crack

RAD Studio 11.3 Alexandria Crack 瞄准最新平台版本-此版本增加了对Android 13和Apple macOS Ventura的官方支持。它还支持Ubuntu 22 LTS和Microsoft Windows Server 2022。 使用生物特征认证-New为FireMonkey移动应用程序提供了新的移动生物特征认证组件。 部署嵌入式InterBa…

【Python学习笔记】第二十五节 Python MySQL

Python 连接到 MySQL 数据库有几种不同的连接方法,而且不是所有的方法都能与不同的操作系统很好地配合.MySQL connector/Python模块是Oracle支持的官方驱动,用于通过Python连接MySQL。该连接器完全是Python语言,而mysqlclient是用C语言编写的…

Java的开发工具有哪些?这十款工具大厂都在用!

工欲善其事必先利其器,各位同学大家好,我是小源~本期文章,给大家推荐十款Java的开发工具。一、 文本编辑器主要推荐三款:notepad、editplus、sublime text。这三款编辑工具,在我们的开发工作中几乎是相差无几&#xff…

3. 字符设备驱动---上篇

文章目录引言一、字符设备驱动工作原理1.1 系统整体工作原理1.2 字符驱动模型1.2.1 file_operations结构体1.2.2 注册字符设备驱动 --- 申请主设备号1.2.3 内核如何管理字符设备驱动二、字符设备驱动代码实践2.1 编写字符设备驱动的步骤和规范2.2 实践写驱动代码2.3 代码实现2.…

Matplotlib精品学习笔记001——绘制3D图形详解+实例讲解

3D图片更生动,或许在时间序列数据的展示上更胜一筹 想法: 学习3D绘图的想法来自科研绘图中。我从事的专业是古植物学,也就是和植物化石打交道。化石有三大信息:1.物种信息,也就是它的分类学价值;2.时间信息…

RealBasicVSR模型转成ONNX以及用c++推理

文章目录安装RealBasicVSR的环境1. 新建一个conda环境2. 安装pytorch(官网上选择合适的版本)版本太低会有问题3. 安装 mim 和 mmcv-full4. 安装 mmedit下载RealBasicVSR源码下载模型文件写一个模型转换的脚步测试生成的模型安装RealBasicVSR的环境 1. 新建一个conda环境 cond…

第一次做性能测试,有亿点点紧张

确认需求 确定性能需求和性能测试方案、需要确定性能测试范围(覆盖哪些场景)、性能测试策略、并发用户数和加压方式。 时间、人员、任务的分配安排,一般在总体测试计划中会预留性能测试的时间。性能测试方案是开展性能测试前的核心内容&…

时序预测 | MATLAB实现Rmsprop算法优化LSTM长短期记忆神经网络时间序列多步预测(滚动预测未来,多指标,含验证Loss曲线)

时序预测 | MATLAB实现Rmsprop算法优化LSTM长短期记忆神经网络时间序列多步预测(滚动预测未来,多指标,含训练和验证Loss曲线) 目录 时序预测 | MATLAB实现Rmsprop算法优化LSTM长短期记忆神经网络时间序列多步预测(滚动预测未来,多指标,含训练和验证Loss曲线)效果一览基本描…

Flume使用入门

目录 一. Flume简单介绍 1. Agent 2. Source 3. Sink 4. Channel 5. Event 二. 环境安装 1. 创建日志目录 2. 修改日志配置文件 3.修改运行堆内存 4. 确定日志打印的位置 5. 修改flume使用内存 内存调大 三. 校验flume 1. 安装netcat工具和net-tools工具 2. 判…

MySQL服务端与客户端之间的连接过程

服务器程序和客户端程序本质上是两个进程,所以连接过程的本质就是两个进程直接的通信,MySQL支持下面三种方式来进行通信。一:TCP/IP数据库服务器进程和客户端进程可能运行在不同的主机中,需要通过网络来进行通信二:命名…

初识scrapy

认识scrapyscrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需实现少量的代码,就能实现数据的快速抓取scrapy使用了Twisted异步网络架构,可以加快下载速度 pip install twisted安装:pip install s…

进程控制(详解)

进程控制上篇文章介绍了进程的相关概念,形如进程的内核数据结构task_struct 、进程是如何被操作系统管理的、进程的查看、进程标识符、进程状态、进程优先级、已经环境变量和进程地址空间等知识点; 本篇文章接着上篇文章继续对进程的控制进行展开&#x…

Spark 内存运用

RDD Cache 当同一个 RDD 被引用多次时,就可以考虑进行 Cache,从而提升作业的执行效率 // 用 cache 对 wordCounts 加缓存 wordCounts.cache // cache 后要用 action 才能触发 RDD 内存物化 wordCounts.count// 自定义 Cache 的存储介质、存储形式、副本…

【OJ比赛日历】快周末了,不来一场比赛吗? #03.04-03.10 #12场

CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注!更多比赛信息见 CompHub主页 或 点击文末阅读原文以下信息仅供参考,以比赛官网为准目录2023-03-04&…

从100%进口到自主可控,从600块降到10块,中科院攻克重要芯片

前言 2月28日,“20多位中科院专家把芯片价格打到10块”冲上微博热搜,据河南省官媒大象新闻报道,热搜中提到的中科院专家所在企业为全球最大的PLC分路器芯片制造商仕佳光子,坐落于河南鹤壁。 为实现芯片技术自主可控自立自强&#…

根据栅格数据的范围和像元大小生成等比例的矢量数据

为啥会有这么一个需求呢,后面要是继续写的话会详细说,首先是有一个栅格数据,比如这样的:我的目标是这样的(矢量),就是这样,上面的栅格数据像大小是2*2的,直接上代码&…

【JAVA程序设计】【C00109】基于SSM(非maven)的员工工资管理系统

基于SSM(非maven)的员工工资管理系统项目简介项目获取开发环境项目技术运行截图项目简介 基于ssm框架非maven开发的企业工资管理系统共分为二个角色:系统管理员、员工 管理员角色包含以下功能: 系统后台登陆、管理员管理、员工信…