【自动驾驶汽车通讯协议】I2C(IIC)总线通讯技术详解

news2024/10/26 3:39:09

文章目录

      • 0. 前言
      • 1. I2C简介
      • 2.I2C的工作原理
        • 2.1 硬件要求:
        • 2.2 半双工通信:
      • 3. 通信时序
      • 4. 其他特性
        • 4.1 通信速率
        • 4.2 抗干扰措施
        • 4.3 注意事项
      • 5. 在自动驾驶汽车中的应用
        • 5.1 I2C操作模式
        • 5.2 I2C的用途
      • 6. 总结

0. 前言

按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。

I2C(Inter-Integrated Circuit Communication,也写作IIC,或I 2 ^2 2C,读成“I方C”)通讯是一种广泛应用的串行通信协议,通过总线连接微控制器与多个外围设备。由于其简单的设计和较低的成本,I2C成为了许多嵌入式系统中首选的通信方式之一。本文将详细介绍I2C通信的基本原理、工作方式、时序要求以及实际应用中的注意事项。

1. I2C简介

I2C是由NXP(前身为Philips)开发的一种两线式串行总线标准,用于连接单片机及其多个外围设备。I2C的主要特点是只需要两条信号线:SCL(时钟线)和SDA(数据线),并且支持多主控模式,即多个设备可以轮流担任主控角色。
在这里插入图片描述

2.I2C的工作原理

2.1 硬件要求:
  • SCL:用于同步数据传输的时钟信号。
  • SDA:用于数据的双向传输。
  • 上拉电阻:连接到电源,保证线路处于高电平时的数据稳定性。
  • 共地:所有设备必须共享同一接地参考点。

在这里插入图片描述

2.2 半双工通信:

I2C是一种半双工通信方式,意味着在同一时刻,数据线只能用于发送或接收数据,不能同时进行。

  • 主从模式:
    主设备:控制整个通信过程,包括产生时钟信号和发起通信。
    从设备:响应主设备的请求,接收或发送数据。
  • 寻址机制:
    每个从设备都有一个唯一的7位地址。
    主设备通过地址选择特定的从设备进行通信。

3. 通信时序

I2C通信的时序主要包括以下几个关键阶段:

  1. 开始信号:SCL保持高电平,SDA从高电平变为低电平。
    在这里插入图片描述

  2. 地址传输:通信开始时,主设备发送从设备的地址,以选择通信目标。

  3. 数据传输:数据字节传输:每个字节传输后需要跟随一个应答位。

  4. 应答位:从设备接收到一个字节后,返回一个应答位(ACK,Acknowledgment)表示接收成功,或非应答位(NACK,Not Acknowledgment)表示接收失败。
    在这里插入图片描述

  5. 停止信号:SCL保持高电平,SDA从低电平变为高电平。

4. 其他特性

4.1 通信速率

标准模式:最高可达100 kbps。
快速模式:最高可达400 kbps。
高速模式:某些设备支持高达1 Mbps甚至更高。

4.2 抗干扰措施

上拉电阻的选择:根据通信距离和所需速度选择合适的上拉电阻值。
屏蔽线缆:在长距离或电磁干扰严重的环境中使用屏蔽线缆。

4.3 注意事项

上拉电阻的稳定性:确保电源稳定,以减少干扰。
最大设备数量:理论上最多可连接128个设备,但实际应用中受限于总线负载能力。
总线冲突:多主模式下需注意避免总线冲突。

5. 在自动驾驶汽车中的应用

在 AGX Orin SOM(系统级模块)配备了8个通用I2C控制器,可以扩展系统以支持基于I2C的设备。I2C6端口还可以用作DP AUX(DisplayPort辅助通道)或传统的I2C功能。
在这里插入图片描述

5.1 I2C操作模式

I2C控制器支持以下几种操作模式:

  • 标准模式 (Sm, 最高速率可达100 Kbit/s)
  • 快速模式 (Fm, 最高速率可达372 Kbit/s)
  • 快速模式+ (Fm+, 最高速率可达985 Kbit/s)

这些模式允许与不同速度等级的设备进行通信。

5.2 I2C的用途

在AGX Orin中,I2C可以用于多种用途,包括但不限于:

  • 传感器连接:用于连接温度传感器、加速度计等。
  • 配置外设:配置GPIO(通用输入输出)扩展器或电源管理芯片。
  • 读取EEPROM:从非易失性存储器中读取设备配置信息。
  • 监控电源状态:监控电压水平、电流消耗等。
  • 连接显示接口:某些显示器或触摸屏控制器可能使用I2C进行配置。

6. 总结

I2C通信以其简洁的设计和高效的数据传输能力,在嵌入式系统中占据重要地位。理解和掌握I2C的工作原理可以帮助开发者更好地利用这一协议来构建可靠且高效的通信系统。

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

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

相关文章

Spring Boot知识管理系统:创新与实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

【含开题报告+文档+PPT+源码】基于人脸识别的课堂考勤系统的设计与实现

开题报告 随着科技的不断发展,人脸识别技术已经逐渐渗透到各个领域,包括教育领域。传统的课堂考勤方式通常依赖于学生签到或教师手动记录,这种方式存在着许多不足之处,例如容易出现人为错误、耗费时间和资源等。为了解决这些问题…

机器学习:强化学习中的探索策略全解析

引言 在机器学习的广阔领域中,强化学习(Reinforcement Learning, RL)无疑是一个充满魅力的子领域。它通过智能体与环境的交互,学习如何在特定的任务中做出最优决策。然而,在这个过程中,探索(ex…

linux 配置ssh免密登录

一、 cd /root/.ssh/ #不存在就创建mkdir /root/.ssh ssh-keygen #连续按4个回车 ll二、将公钥发送到目标服务器下 #公钥上传到目标服务器 ssh-copy-id root192.168.31.142 #回车完也是要输入密码的 #测试一下免密登录: ssh root192.168.31.142 成功

二、后台管理系统布局菜单可拖动

前两天产品提出了一个需求,说后台管理系统的左边菜单的名称字数过多,遮挡了。希望能让客户能够看到全部的名称,给左侧菜单增加一个可拖动的功能,经过我的研究,这个功能最终也做出来了,先看效果,…

IDEA之手动添加作者信息

IDEA不能像eclipse一样,直接使用/**注释快捷键在类上带出作者信息。 解决方案: 手动添加自定义作者注释快捷键 /*** Author: TroubleBoy* Date: $DATE$* Description: TODO*/ 6.编辑日期变量,设置变量DATE的Expression为date() 7.应用Java…

Nacos的相关资料

目录 Nacos的Mysql文件: custom.env文件: 执行的Docker命令: 从 GitHub 官方仓库下载 Nacos:https://github.com/alibaba/nacos Nacos的Mysql文件: -- --------------------------------------------------------…

【工具类】hutool http请求获取S3图片流

博主介绍:✌全网粉丝20W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…

基于数字信号处理的语音数字识别器

基于数字信号处理的语音数字识别器 系统说明 该系统工作流程图如下 各部分关键参数及简要说明如下。 预处理阶段: 预录制语音为单个数字的语音,从 0 - 9 共 10 组,采样率 16 kHz计算 MFCC 特征中,Mel 滤波器组个数 40&#xff…

Journey Training:o1的一次复现尝试,极长思维链的合成

知乎:啦啦啦啦(已授权)链接:https://zhuanlan.zhihu.com/p/902522340 论文:O1 Replication Journey: A Strategic Progress Report链接:https://github.com/GAIR-NLP/O1-Journey 这篇论文记录了一次o1复现尝…

IBMS集成管理平台——推动建筑业数字化转型

随着城市发展和科技进步,智慧楼宇(IBMS)作为建筑智能化的核心系统,已经成为现代建筑中不可或缺的一部分。通过整合各种智能设备和系统,IBMS提供了对建筑内部运行状况的全面监控和管理,实现了能源节约、安全保障和舒适体验的多重目…

关于拖拽时需要注意的细节

cklick,mousedown,mouseup 当触发点击事件后三者的触发顺序 当元素放大用scalse时&#xff0c;检测鼠标的移动距离用不用/scale&#xff1f; <!doctype html> <html lang"en"><head><meta charset"UTF-8" /><link rel"ic…

【专题】智启未来:新质生产力引擎驱动下的智能制造行业革新报告合集PDF分享(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p37856 在当今全球经济格局深刻变革的大背景下&#xff0c;制造业作为国家经济的基石&#xff0c;正处在高质量发展的关键历史时期。智能决策作为一股崭新的力量&#xff0c;正逐步成为推动制造业数智化转型的强大新动能。众多制造企…

C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式

今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法&#xff0c;来回顾一些基础知识点。 01第一类、字符串方式 这类方法是通过string类型自身方法直接实现。 1、Substring方法 相信大多数人第一个想到的可能就是这个方法。Substring方法是字符串内置方法&#…

基于苔藓生长优化算法(Moss Growth Optimization, MGO)的多无人机协同三维路径规划(提供MATLAB代码)

一、苔藓生长优化算法介绍 苔藓生长优化算法&#xff08;Moss Growth Optimization, MGO&#xff09;是一种受自然界苔藓生长机制启发的元启发式优化算法。这种算法模仿了苔藓在潮湿环境中的扩散和生长方式&#xff0c;以寻找复杂问题的最优解。以下是苔藓生长优化算法的一些基…

如何清空回收站后在 Windows 11/10 中恢复已删除的文件

这篇文章将解释如何将已删除的文件、文件夹和其他项目从回收站还原或恢复到原始位置。有时&#xff0c;我们最终会删除重要的文件和文件夹&#xff0c;然后我们不知道如何将它们恢复到原来的位置。但是您不必担心&#xff0c;因为这篇针对初学者的帖子将详细指导您完成所有步骤…

JDK下载与IDEA环境配置

JDK下载与IDEA环境配置 前言 ​ 国庆过后新生也是正式进入小组学习了&#xff0c;我们组有一个学Java的&#xff0c;在使用IDEA时遇到了一些问题&#xff0c;输出会乱码&#xff0c;那这一看肯定是字符集出了问题&#xff0c;但是我看IDEA配置的字符集没有什么问题&#xff0…

第三版大气痕量分子光谱(ATMOS)2 级产品,包含垂直势温(θ)网格上的痕量气体

目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATMOS L2 Trace Gases on Potential Temperature Grid, Tab Delimited Format V3 (ATMOSL2TT) at GES DISC 简介 这是第三版大气痕量分子光谱&#xff08;ATMOS&#xff09;2 级产品&#xff0c;包…

电阻分压电路:【图文讲解】

在电子电路中&#xff0c;电阻同样发挥着重要作用&#xff0c;同时也是一个最基本的元器件&#xff0c;电阻在电路中可以起到限流、分流、分压、发热的作用。 本节&#xff0c;我们重点来聊聊电阻的分压电路。如下图&#xff0c;是一个经典的电阻分压电路。 1&#xff1a;电路…

【AAOS】Android Automotive 15模拟器源码下载及编译

源码下载 repo init -u https://android.googlesource.com/platform/manifest -b android-10.0.0_r47 repo sync -c --no-tags --no-clone-bundle 源码编译 source build/envsetup.sh lunch aosp_car_x86_64-userdebug make -j8 运行效果 emualtor Home All apps Setting…