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

网页拖拽设计工具江阴网站优化

网页拖拽设计工具,江阴网站优化,北京王府井图片,永久免费crm软件下载本文主要介绍如何解决I2C设备硬件设计上的各种问题#xff0c;希望对大家有所帮助#xff01; 关于I2C协议详细的讲解#xff0c;可以参考之前的推文#xff1a;全面解析 I2C 通信协议 一般情况下#xff0c; i2c 设备焊接没什么问题#xff0c;按照设备手册一步步来希望对大家有所帮助 关于I2C协议详细的讲解可以参考之前的推文全面解析 I2C 通信协议 一般情况下 i2c 设备焊接没什么问题按照设备手册一步步来基本上就顺风顺水能够用起来。如果这么一个简单的东西有时候想要的结果死活不出来反复的检查问题的原因查询解决办法核查设备的数据手册甚至发送和接收的每一条命令与数据都知道是什么意思仍然无法解决问题那该怎么办呢 本文主要针对 i2c 设备讲解如何解决 i2c 设备主机与从机直接无法正常数据交互的问题侧重点是针对硬件设计不太合理、i2c 设备设计不标准导致总线故障的情况并且通过分析现象提出解决方案。 对于在设备初始化中没有设置相应的寄存器或者发送命令而导致的无法获取想要的数据情况不作详细介绍。 i2c 基本用法 i2c 总线是一种简单、双向二线制同步串行总线。所有主机在 SCL 线上产生它们自己的时钟来传输总线上的报文SDA 线传输每个字节必须为 8 位每次传输可以发送的字节数量不受限制每个字节后必须跟一个响应位。在空闲状态时SCL 与 SDA 均为高电平。 通常一些低功耗 i2c 设备芯片引脚使用上拉输出即可满足与其正常数据交互还有一些 i2c 设备则需要在总线上外加一个上拉电阻此时相应的 I/O 配置成开漏输出其他的按照芯片手册进行标准配置。 硬件问题汇总 2.1  无法正常拉高拉低引脚 首先确定 SDA 与SCL 引脚能够被拉高、拉低检测方式直接软件控制 I/O 口输出引脚低电平/高电平测量引脚电压是否能够随着芯片引脚的设置输出相应的状态。 如果不能被拉低检测虚焊、上拉电阻断开、i2c 设备是否正常、芯片引脚是否损坏等问题确保能够正常被拉高或者拉低。 2.2  电气特性无法满足 如果正常拉高、拉低的情况下依然无法正常读取数据。通常建议根据负载电流更换小阻值的电阻。 如果需要详细知道原因就具体查询 i2c 设备电气特性。大多数 i2c 设备电气特性大致下图所示 通常这块内容在 i2c 设备电气特性这一块主要讲解电平拉高拉低的最长时间、最短时间以及处于高电平与电平的阈值与持续时间等等内容。 硬件设计为了降低单片机的功耗与保护芯片引脚在满足负载电流和负载电容相关要求的前提下阻值设置通常比较大。如果同一个总线上挂载多个 i2c 设备 即使在 I/O 口配置正确的前提下也会导致驱动能力不足。 现象是拉高电压不足在拉高、拉低过程中消耗时间过长。这两个问题通常还引起数据线与时钟线拉高时高电压持续时间过短拉低时低电压持续时间过短。 用示波器抓取图形从波形上看显示是尖波、斜波、杂波等不符合 i2c 设备电气特性的波形从数据上看数据线高电平持续时间过小 上升沿时间过长 下降沿时间过长等等数据超出设备电气特性的有效值。 典型杂波图如下所示 如果出现此类异常建议更换小一点的电阻用来增强总线驱动能力提高电平转换速度。应当注意的是每个 MCU 的耐受电流不一样减小电阻应避免超过相应引脚承受电流的最大值。 SDA 死锁 如果 i2c 设备的数据偶尔能够正确获取但是仍然会在总线发送数据或者命令的时候爆出总线读写错误那么有可能遇到下面的死锁问题死锁时候就是数据线被拉低主机无法拉高。 死锁一般发生在从机上且为数据线死锁。因为i2c总线是共享的如果需要确定是否是从机死锁可以参照下面两幅图串联电阻进行测试 如上图所示如果从机死锁即从机拉低电平此时检测到的电压为1/3 Vcc。 如上图所示如果主机死锁即主机拉低电平此时检测到的电压为 1/11 Vcc。依据这个原理可以准确判定死锁的具体位置多个传感器依据类似方式进行定位。 3.1 反复重启导致死锁 3.1.1 现象 如果设备需要反复重启很有可能在从机设备返回数据的时候SDA被锁住。具体原因是从机设备在回数据还没有发送完成主机时钟消失从机等待时钟信号 MCU重启如果从机设备的电源没有复位从机继续等待 MCU 时钟信号数据一直被钳住总线无法完成数据交互。 3.1.2 解决方式 解决重启导致总线死锁一种方式可以如同 rt-thread 驱动解决方式一样在系统复位的时候提供9个时钟信号解初总线死锁另一种是在按下复位键初始化的时候给从机设备电源断电重启这个需要引脚控制。 3.1.3 9 个时钟信号 i2c 设备进行读写操作的过程中在从机钳住总线的期间MCU 异常复位会导致 SDA 死锁异常产生出现在俩个阶段从机响应阶段、从机发送数据阶段。下面将针对这两种异常对时钟信号进行解释并且总结其他原因得出结论。 a 从机响应阶段 MCU 在开始信号后发送地址得到从机设备响应准备开始返回数据在这个时候从机将 SDA 信号拉为低电平如果 MCU 异常复位会导致总线上 SCL 停止发送时钟信号从机等待 MCU 的时钟信号产生钳住并且拉低  SDA 的现象。如果想要解锁 SDA从机需要 9 个时钟信号使得从机完成响应释放 SDA 。 b 从机发送数据阶段 如果从机响应完成了开始给 MCU 返回数据。这个数据有八位每一位都有可能为低如果在数据低位MCU 异常复位停止发送时钟信号从机就会等待 MCU 的时钟信号产生钳住并且拉低  SDA 的现象。如果想要解锁 SDA从机需要 个时钟信号使得从机完成数据响应释放 SDA 。 c其他情况 在从机一个 8 位数据发送完成后等待 MCU 响应, 即使属于 MCU 的从机不再钳住 SDA没有时钟数据交互停止。 在主机发送数据阶段总线所有权在主机主机异常数据交互停止总线释放。所以这些情况下不存在 SDA 死锁的情况。 d结论 综上所述解锁 SDA 从机最多需要 9 个时钟信号也就是异常复位后MCU 至少发送需要 9 个时钟信号完成 i2c 总线的 SDA 解锁。所以RT_Thread 为了避免此类问题的产生在 i2c 驱动初始化对总线进行判断判断是否需要解锁如果需要就进行解锁确保 i2c 设备不会因为这个问题导致数据交互失败。 3.2 多个 i2c 设备导致死锁 多 i2c 设备除了异常复位导致死锁还会形成相互干扰的问题。一般情况下不会把同种从机地址挂在同一条总线上但除此之外有些 i2c 设备设计不是按照标准的 i2c 总线协议设计在 i2c 总线共享的前提条件下有的设备只要总线上从机地址就会有响应。这样由于从机的错误响应使得各个 i2c 总线异常甚至钳住总线导致 I2C 总线进人一种死锁状态。 解决方式这样的不标准i2c设备单独使用一个总线避免干扰或者单独一个独立引脚控制电源。
http://www.pierceye.com/news/311827/

相关文章:

  • 网站建设设计培训班南昌广告公司
  • 网站问责建设书企业网站建设 百度文库
  • 佛山网站建设seo优化建设电子商务系统网站
  • 网站建设功能分为几种购物网站的后台做哪些东西
  • 2017网站建设费用wordpress不使用ip访问
  • 水务 网站建设宁波建站模板系统
  • 方正集团网站是谁做的北京最新发布信息
  • iis7.5添加php网站wordpress内容页自定义字段
  • 设计公司做网站价格图片网站收录
  • 网站做315认证广州中医药资源门户网站
  • 线上营销网站设计网站着陆页有多少个
  • 天津通用网站建设方案聊城做网站的地方
  • 政务网站建设合同dw个人网站模板下载
  • 广州网站优化服务商企业网站建设一站式服务
  • 蓝海电商怎么做广州短视频seo哪家好
  • 泸州住房和城乡建设厅网站怎么自己做微网站吗
  • 做网站上传图片自己怎么建设网站首页
  • 西安空调销售网站建设wordpress 谷歌地图
  • 网站建设投标书范本wordpress防广告屏蔽
  • 设计个人网站的步骤建设工程合同无效的情形有哪些
  • 网站竞争对手的选定一般参考什么标准的建设网站长沙
  • 通州个人做网站营销型网站建设开发
  • 乌海市网站建设基于asp的网络课程网站开发
  • 关掉自己做的网站网页设计与制作服务公司
  • 视频相亲网站开发成本分类信息网站推广的意义
  • 域名和网站网站开发项目视频
  • 色流网站怎么做东营建筑信息网
  • 做能支付的网站贵吗网络安全工程师考证
  • 下载类网站开发条件环球资源网成立时间
  • 客户如何找到做网站宣传的律师免费虚拟主机空间