【通信协议讲解】单片机基础重点通信协议解析与总结(IIC,CAN,MODBUS...)

目录

一.IIC总线

基础特性:

配置特性:

 时序特性:

二.SPI总线

基础特性:

配置特性:

 时序特性:

三.串口通信

基础特性:

 配置特性:

 时序特性:

四.CAN总线

基础特性:

 配置特性:

 时序特性:

五.ModBus总线

基础特性:

 配置特性:


一.IIC总线

基础特性:

  • 两根通信线:SCL、SDA
  • 同步,半双工
  • 总线挂载多设备(一主多从,多主多从)

配置特性:

  • SCL、SDA配置为开漏输出
  • SCL、SDA带上拉电阻(一般4.7K)

 时序特性:

  • 起始条件:SCL:High,SDA:High->Low
  • 终止条件:SCL:High,SDA:Low->High
  • 发送:Master->SCL:Low->SDA高位先行->SCL:High->Slave
  • 接收:Slave->SCL:Low->SDA高位先行->SCL:High->Master

二.SPI总线

基础特性:

  • 四根通信线:SCK,MOSI,MISO,SS
  • 同步,全双工
  • 支持总线挂载多设备(一主多从)

配置特性:

  • 主机引出多条SS控制线,分别接到各从机的SS引脚
  • 输出引脚->推挽输出,输入引脚->浮空或上拉输入

 时序特性:

  • 起始条件:SS从高电平切换到低电平
  • 终止条件:SS从低电平切换到高电平
  • 三种模式:1.CPOL=0,CPHA=1;2.CPOL=1,CPHA=0;3.CPOL=1,CPHA=1

三.串口通信

基础特性:

  • 两根通信线:TX,RX;一根参考线:GND
  • 同步或异步,全双工
  • 点对点

 配置特性:

  • 交叉连接
  • 电平标准一致(TTL电平,RS232电平,RS485电平等)
  • 波特率,起始位,数据位,校验位,停止位

 时序特性:

正逻辑时:

  • 起始位:一位时间的低电平
  • 停止位:一位或多位的高电平
  • 低位先行

负逻辑时起始位和停止位电平相反。

四.CAN总线

基础特性:

  • 两根通信线:CAN_HCAN_L
  • 异步,半双工
  • 差分电平
  • 可挂载多设备,多设备同时发送数据时通过仲裁判断先后顺序

 配置特性:

  • CAN控制器引出的TXRXCAN收发器相连,CAN收发器引出的CAN_HCAN_L分别与总线的CAN_HCAN_L相连
  • 高速CAN使用闭环网络,CAN_HCAN_L两端添加120Ω的终端电阻
  • 低速CAN使用开环网络,CAN_HCAN_L其中一端添加2.2kΩ的终端电阻

 时序特性:

  • 11/29位报文ID
  • 差分信号(VCAN_H-VCAN_L):
    • 高速CAN规定:
      • 电压差为0V时表示逻辑1(隐性电平)
      • 电压差为2V时表示逻辑0(显性电平)
    • 低速CAN规定:
      • 电压差为-1.5V时表示逻辑1(隐性电平)
      •  电压差为3V时表示逻辑0(显性电平)
  • 帧类型:
    • 数据帧
    • 遥控帧
    • 错误帧
    • 过载帧
    • 帧间隔
  • 位填充:
    • 发送方每发送5个相同电平后,自动追加一个相反电平的填充位,接收方检测到填充位时,会自动移除填充位,恢复原始数据
  • 数据帧:
    • SOFStart of Frame):帧起始,表示后面一段波形为传输的数据位
    • IDIdentify):标识符,区分功能,同时决定优先级
    • RTRRemote Transmission Request ):远程请求位,区分数据帧和遥控帧
    • IDEIdentifier Extension):扩展标志位,区分标准格式和扩展格式
    • SRRSubstitute Remote Request):替代RTR,协议升级时留下的无意义位
    • r0/r1Reserve):保留位,为后续协议升级留下空间
    • DLCData Length Code):数据长度,指示数据段有几个字节
    • Data:数据段的1~8个字节有效数据
    • CRCCyclic Redundancy Check):循环冗余校验,校验数据是否正确
    • ACKAcknowledgement):应答位,判断数据有没有被接收方接收
    • CRC/ACK界定符:为应答位前后发送方和接收方释放总线留下时间
    • EOFEnd of Frame ):帧结束,表示数据位已经传输完毕
  • 遥控帧:
    • 无数据段,其他部分与数据帧相同
  • 错误帧:
    • 总线上所有设备都会监督总线的数据,一旦发现“位错误”或“填充错误”或“CRC错误”或“格式错误”或“应答错误” ,这些设备便会发出错误帧来破坏数据,同时终止当前的发送设备
  • 过载帧:
    • 当接收方收到大量数据而无法处理时,其可以发出过载帧,延缓发送方的数据发送,以平衡总线负载,避免数据丢失
  • 帧间隔:
    • 将数据帧和远程帧与前面的帧分离开

五.ModBus总线

基础特性:

  • 分类:
    • Modbus ASCII:基于串行通信的文本协议。
    • Modbus RTU :基于串行通信的二进制协议。
    • Modbus TCP/IP:基于以太网的协议。(TCP/IP 协议栈)
  • 一主多从,可以有多达247个从设备

 配置特性:

  • 功能码:公共功能码、用户定义功能码和保留功能码。
    • 0 类功能码:最常用功能码
      • 3读取多寄存器
        16写入多寄存器
    • 1 类功能码:
      • 1读取线圈
        2读取离散量输入
        4读取输入寄存器
        5写入单个线圈
        6写入单个寄存器
        7读取异常状态(仅限串行)
    • 2 类功能码:
      • 15写入多个线圈
        20读取文件记录
        21写入文件记录
        22屏蔽写入寄存器
        23读取/写入多个寄存器
        24读取

 时序特性:

  • 数据格式:固定长度,由地址、功能码、数据和一个错误校验字段组成。
    • 帧结构 = 地址 + 功能码+ 数据 + 校验
      • ​​​​​​​​​​地址域:1 字节,即从机设备地址,通常 1-247 为有效地址,0 为广播地址
      • 功能码:1 字节,表明主机请求数据的类型。
      • 数据:N 字节,包含寄存器地址和寄存器数据等。
      • 差错校验:对数据进行冗余校验的结果,CRC 或 LRC。


                                                                                                                          如有错误,感谢指正

                                                                                                                                        2024.10.11 

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

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

相关文章

三款GIS工具多角度对比:免费的倾斜摄影OSGB/3Dtiles编辑转换发布平台

GIS数据处理工具在现代技术与应用中扮演着至关重要的角色,它们不仅是连接原始地理信息与可分析、可视化数据的桥梁,更是推动地理信息系统(GIS)在各个行业领域深入发展与应用不可或缺的关键工具。选择一款合适的工具直接关系到数据…

HttpURLConnection学习

介绍 HttpURLConnection类是位于java.net包下继承了URLConnection类的一个抽象类,每个 HttpURLConnection 实例都用于发出单个请求。 URL HttpURLConnection的使用需要依赖URL类,URL类位于java.net包下,有很多种构造方法。 HttpURLConnect…

AI引起用人格局变动,个人如何应对这一趋势

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 人工智能的发展带来的就业结构变革&#xf…

论文笔记:D-vlog 用于抑郁症检测的多模态数据集

整理了AAAI2022 D-vlog: Multimodal Vlog Dataset for Depression Detection 论文的阅读笔记 背景方法特征提取模型 实验数据集主实验不同模态的性能性别的影响 背景 以往关于抑郁症检测的工作大多集中在实验室环境下对抑郁症个体的检测,难以在实践中推广。本文提出…

图解C#高级教程(五):枚举器和迭代器

本章主要介绍 C# 当中枚举器、可枚举类型以及迭代器相关的知识。 文章目录 1. 枚举器和可枚举类型2. IEnumerator 和 IEnumerable 接口2.1 IEnumerator 接口2.2 IEnumerable 接口 3. 泛型枚举接口4. 迭代器4.1 使用迭代器创建枚举器4.2 使用迭代器创建可枚举类4.3 迭代器作为属…

消峰限流有哪几种方式?

消峰限流的方式 业务视角 验证码回答问题环节 技术视角 消息队列异步化用户请求 限流,对流量进行层层过滤 nginx 层限流, 一是控制速率 limit_req 漏桶算法 limit_req_zone $binary_remote_addr zonemylimit:10m rate2r/s; server { location / { lim…

leetcode链表(三)-反转链表

题目 . - 力扣(LeetCode) 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 思路 首先定义一个cur指针,指向头结点,再定义一个pre指针,初始化为None。 然后就要开始反转了&…

其他浏览器可以联网,但edge不能联网

问题描述: 今早edge无法上网,检测网络连接正常,而且其他chrome,Firefox和360浏览器都可以上网。 解决方案: 注意:为防止是代理问题,可以在扩展中禁用后再试试 如果没有代理或者禁用代理也不…

基于SpringBoot摄影师分享交流社区【附源码】

基于SpringBoot摄影师分享交流社区 效果如下: 系统首页界面 用户注册界面 作品信息页面 公告资讯页面 管理员登录页面 管理员功能界面 作品类别界面 作品信息界面 研究背景 随着互联网技术的快速发展,数字摄影技术的普及使得越来越多的摄影爱好者渴望…

Python、R语言Lasso、Ridge岭回归、XGBoost分析Airbnb房屋数据:旅游市场差异、价格预测|数据分享...

全文链接:https://tecdat.cn/?p37839 分析师:Kefan Yu 在大众旅游蓬勃发展的背景下,乡村旅游已成为推动乡村经济、社会和文化发展的关键力量。当前,乡村旅游接待设施主要以招待所、小宾馆和农家乐等形式存在。然而,一…

企业远控私有化部署解决方案-内信互联

内信互联(DoLink),是点量软件新推出的企业私有化远程控制系统解决方案。很多朋友对这个产品还不是很了解,今天点量小编就对其基础功能做一些详细说明,如果您想快速拥有自己的企业私有远程控制系统,欢迎联系…

基于SpringBoot+Vue+MySQL的企业招聘管理系统

系统展示 用户前台界面 管理员后台界面 企业后台界面 系统背景 在当今数字化转型的大潮中,企业对于高效、智能化的人力资源管理系统的需求日益增长。招聘作为人力资源管理的首要环节,其效率与效果直接影响到企业的人才储备与竞争力。传统的招聘方式不仅耗…

摩托车一键启动兼容机械钥匙点火

摩托车无钥匙一键启动 工作原理 摩托车无钥匙一键启动系统的工作原理主要依赖于RFID无线射频技术和车辆身份编码识别系统。这种技术能够通过小型化、小功率的射频天线来识别车辆的身份,并与遥控系统结合,实现双重射频系统和双重防盗保护。这意味着&…

《深度学习》【项目】OpenCV 答题卡识别 项目流程详解

目录 一、项目上半部分 1、定义展示图像函数 2、预处理 运行结果: 3、轮廓检测并绘制 运行结果: 4、排序轮廓 5、定义排序点函数 6、透视变换 1)定义透视变换处理函数 2)执行透视变换 运行结果: 7、二值化…

信息安全工程师(28)机房安全分析与防护

前言 机房安全分析与防护是一个复杂而细致的过程,涉及到物理安全、环境控制、电力供应、数据安全、设备管理、人员管理以及紧急预案等多个方面。 一、机房安全分析 1. 物理安全威胁 非法入侵:未经授权的人员可能通过门窗、通风口等进入机房,…

解决无法安装“vue.volar“扩展,跟vscode版本不兼容问题

问题:安装volar插件的时候提示跟vscode版本不兼容 解决方案 1、进入VSCode插件市场,搜索Vue.volar(直达链接:volar下载界面) 2、点击download Extension(下载插件) 3、下载.vsix文件完成后&a…

基于Opencv中的DNN模块实现图像/视频的风格迁移

一、DNN模块的介绍 1、简介 OpenCV中的DNN(Deep Neural Network)模块是一个功能强大的组件,它支持深度学习网络模型的加载和推理。虽然DNN模块不提供模型的训练功能,但它可以与主流的深度学习框架(如TensorFlow、Caf…

Rope – 基于深度学习模型开源的AI换脸技术

Rope是什么 Rope是一款开源的AI换脸工具,基于insightface的inswapper_128模型构建,提供一个用户友好的图形界面。用户通过上传图片或视频,在几秒钟内完成换脸操作,效果逼真。Rope支持多种超分辨率算法,支持用户调整面…

深入探讨B+树索引的基本概念、工作原理以及在MySQL中的应用

文章目录 1. B树的基本概念2. B树在MySQL中的实现3. 示例代码4. 结论 在数据库管理系统中,索引是一种特殊的文件,它能够提高数据检索的速度。MySQL作为最流行的开源关系型数据库之一,提供了多种索引类型来满足不同的性能需求。其中&#xff0…

ARP断网攻击

ARP断网攻击 1.课前准备 kali 作为ARP攻击机,192.168.110.26 MAC地址:00:0c:29:fc:66:46 win10 作为被攻击方,192.168.110.12 MAC地址:1c:69:7a:a4:cf:92 网关(路由器),192.168.110.1 MAC地…