当前位置: 首页 > news >正文

学习嵌入式之驱动——I2C子系统

一、I2C基础

1.通信特点:

        通信方式(串行、同步、半双工)

2.应用场景:

        同一硬件平台不同外设之间的通信

3.12C与SPI区别

(1)12c半双工、SPI全双工
(2)12c硬件设计更加简洁、S小因为有CS线,所以占用更过硬件资源

(3)12c通信速率(100k、400k、3.4M)SPI通信速率(1M-十几M之间)

(4)12c一般用于传感器采集接口、SPI屏幕、存储设备接口

4.12c组成:

  • VCC
  • 共地GND
  •  时钟信号线 :SCLSCL为高 SDA可以采样SCL为低 SDA可以变化
  • SDA数据线

5.I2C时序

  • 起始信号:SCL为高电平时,SDA由高电平拉为低电平
  • 结束信号:SCL为低电平时,SDA由低电平拉为高电平

I2C硬件界限需要注意事项:接上拉电阻(SCL、SDA)

6.软件I2C和硬件I2C

(1)软件I2C:用GPIO来模拟I2C时序

(2)硬件I2C:用I2C控制器来生成I2C时序⭐


8.I2C是总线结构

主机:每次通信都有主机发起,从机响应;主机提供时钟信号;

(1)主从应答

        从机地址:主机选中从机;(I2C 7位从机地址+1位R/W)

9.I2C典型通信

10.I2C子系统原理结构图

http://www.dtcms.com/a/355368.html

相关文章:

  • 搭建一个Spring cloud 非阻塞式微服务架构
  • 任天堂NDS中文游戏ROM精选毕业整合包整理分享! +NDS模拟器
  • 使用Docker搭建StackEdit在线MarkDown编辑器
  • 如何通过docker进行本地部署?
  • 企业内部机密视频安全保护|如何防止企业内部机密视频泄露?
  • (附源码)基于Spring Boot公务员考试信息管理系统设计与实现
  • GitLab 配置 Pipeline 的过程
  • linux 网络:协议及Wireshark抓包工具的使用
  • Elasticsearch冷热架构:性能与成本完美平衡
  • 《深入浅出 Node.js》分享精简大纲
  • linu 网络 :TCP粘包及UDP
  • 软件设计师备考-(五)计算机网络
  • 客户端是否都需要主动发送`FindService`报文来寻找服务
  • FPGA开发技能(12)matlab图片处理助力FPGA开发
  • 【温室气体数据集】GlobalView 数据概述
  • Kotlin 协程之Channel 的高阶应用
  • RAGFlow
  • plantsimulation知识点 一条轨道上多台RGV如何引用
  • 【Big Data】Presto db 一种语言、一个接口搭建可靠、高效数据湖仓
  • NineData 最新发布 SQL Server 双向实时同步功能
  • 手机上访问你电脑上的前端项目
  • Rust 登堂 之 类型转换(三)
  • 趣味学Rust基础篇(数据类型)
  • Python Discord Logo
  • 【SpringAI】快速上手,详解项目快速集成主流大模型DeepSeek,ChatGPT
  • 操作系统-基础知识面试常见篇
  • 算法之排序
  • java后端的各种注解
  • 基于 PyTorch 构建 Dataset 与 DataLoader:从 TXT 文件读取到新增类别全流程指南
  • AI大模型企业落地指南-笔记02