新闻详情

新闻详情

首页 / 资讯中心 / 详情

STM32-第十二节-I2C协议

发布时间:2026/9/17 22:32:26来源:尧图网络
STM32-第十二节-I2C协议
一、简介1.介绍1两根通信线SCL(Serial Clock)、SDA(Serial Data)一根给时钟一根放数据2同步、半双工带数据应答支持挂载多设备一主多从3优点UART是异步的双方时序必须要求十分严格才能正确传输而I2C通过SCL给出时钟故可以通过软件手动反转电平给出时钟不依赖硬件。2. 时序结构1起始终止2发送和接收字节下面的SDA的两行是具体数据可0可1需要注意SCL拉高期间SDA不能变。3发送和接收应答3.开漏输出弱上拉模式巧妙一主多从如图CPU为主机其他为从机它们都挂载在同一根SDA和SCL上。对于I2C协议来说所有设备都要配置为开漏输出模式弱上拉。1什么是开漏输出弱上拉开漏输出是当一个模块对一根线配置电压0/1输出0有驱动能力将这根线上的电压置0输出1则为高阻态即模块与线断开。如果输出1断开则这根线上的电压就没有配置是不确定的这不好为了在输出1时这根线上电压为1就如图所示配置两个上拉电阻隔着电阻接到Vdd这样当输出0时线上电压为0输出1时线上电压为1。2为什么要用开漏输出弱上拉有人要问为什么不用推挽输出输出0/1都有驱动输出是多少线上电压就是多少答因为对于I2C协议主机和从机都能控制线上电压如果它们都为输出且一个输出0一个输出1就短路了。而采用上面的模式就好比有一个带弹簧的杠杆如果没人把它往下拉弹簧会自动把杠杆拉上去只要有一个人把杠杆往下拉杠杆就会被拉下来。就结果而言对于挂载在同一条线上的所有模块只要有一个置0则线上电压为0只有都置1线上电压才为1。解决了可能短路的问题。4.如何收发内容从机地址由于一主多从主机向从机发送数据需要确定向哪一个从机发送。故每一次发送数据第一个字节为从机地址每个其中前7位为从机地址高位先行最低位标志读写0为主机写1为读。1指定地址写起始条件 从机地址写 控制字/指定地址 数据注第二个字节是控制字还是指定地址是由从机来决定的。2当前地址读地址指针对于一个从机其内部是有寄存器的由一个指针指向从机内的地址称为地址指针。上面的指定地址写时序中的第二个字节--指定地址就是在移动地址指针。起始条件 从机地址读 数据注1.其中从机地址字节最后一位为1读。2.当主机给出从机地址读操作字节后立即进入读环节下一字节为从机放数据数据为地址指针指向的数据。问题没有时间给指定地址3指定地址读起始条件 从机地址写 指定地址 起始条件 从机地址读 数据注很好理解通过从机地址写 指定地址改变地址指针的位置再读数据。4连续读写上边时序的数据部分每成功写/读一个字节的数据地址指针自动1。连续写直接连续给出多个字节的数据有应答不给终止时序就可以了。连续读如果应答了从机会继续放数据就是连续读给出非应答后停止。二、MPU60501.简介MPU6050是6轴姿态传感器可以测量芯片自身XYZ轴即空间各个方向的加速度角速度。2.参数收集的加速度角速度等信息需要转换为数据存储起来就要用到ADC本模块采用16位ADC采集传感器的模拟信号范围-32768-32767当ADC数值达到最大32767时对应的实际模拟值为满量程选择加速度计满量程选择正负2,4,8,16单位g重力加速度陀螺仪满量程选择正负250500,1000,2000单位 deg/s度每秒模块利用I2C通信地址1101000AD00一个引脚,1101001AD01注7位地址1位读写标志位1个字节3.硬件电路右侧为MPU6050芯片左下为8针排针左上为低压差LDO低压差线性稳压器可将5V电压压至3.3V给芯片供电。看左下角排针SCL、SDAI2C通信引脚XCL、XDA主机I2C通信引脚用于扩展如外接磁力计等。AD0决定从机地址默认低电平INT中断输出引脚可配置一些中断芯片内部还嵌入了DMP处理器专用于解算姿态配合官方提供的库使用。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑 2026/9/17 23:05:35

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trend…

阅读更多 →
人工智能、技术创新与新质生产力:可计算指标与Python分析管线 2026/9/17 23:05:35

人工智能、技术创新与新质生产力:可计算指标与Python分析管线

简介:围绕人工智能、技术创新与新质生产力三者关系展开的系统性研究文档,适合科技政策研究者、产业分析人员以及关注新质生产力议题的高校师生阅读。文档以1个docx文件呈现,压缩包约127KB,涵盖两条互为补充的论述主线:…

阅读更多 →
OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南 2026/9/17 23:05:35

OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南

OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南 【免费下载链接】openmed Local-first healthcare AI: clinical NER & HIPAA PII de-identification that runs 100% on-device. 2,200 medical models, 21 languages, Apple MLX Python, no c…

阅读更多 →
DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复 2026/9/17 23:05:35

DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复

DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复 【免费下载链接】deepchat 🐬DeepChat - A smart assistant that connects powerful AI to your personal world 项目地址: https://gitcode.com/GitHub_Trending/de…

阅读更多 →
NVIDIA cuOpt落地AGV调度:31台车实战经验与避坑指南 2026/9/17 23:05:35

NVIDIA cuOpt落地AGV调度:31台车实战经验与避坑指南

做AGV调度的人,十个里有九个都在跟“任务排给谁、先跑哪条线、在哪个路口等谁”这三个问题较劲。我们团队在某个制造业工厂里管着30多台AGV/AMR,高峰期每天上千个搬运任务,之前靠规则加人工干预,天天被打爆。后来我们把NVIDIA cuO…

阅读更多 →
车载激光雷达测距精度、点云质量与互干扰台架试验方法 2026/9/17 23:02:35

车载激光雷达测距精度、点云质量与互干扰台架试验方法

简介:《2024 车载激光雷达性能要求及试验方法》标准征求意见稿的 PDF 文档,面向自动驾驶感知算法、车载传感器与整车测试工程师,以及需要对照标准开展验证的研发与质量团队。它整理了车载激光雷达从点云测距能力、距离精度与准度、角度精度与…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞