0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

I2C通信开发障碍以及总结

硬件设计解析 来源:爱搞研究的阿灿 作者:爱搞研究的阿灿 2023-04-17 16:35 次阅读

一、实际应用开发中遇到的“坑”

  (1)不要使用逻辑分析仪的自动分析功能,这款软件BUG太多,波形的分析还是需要自己根据时序来,不要依赖工具;

572bfa14-da9f-11ed-a826-dac502259ad0.png


  (2)在I2C的时序通信过程中,从机必然是要有ACK信号回复的,不然整个通信是不可能进行下去。之前以为ACK并非从机发送的,即使没有从机也可以在GM5的引脚上观察到完整的I2C时序图,卡在这里很久。如果没有从机,逻辑分析仪只能抓取到主机两次寻址的波形。

574dce64-da9f-11ed-a826-dac502259ad0.png


  (3)关于I2C从设备地址的问题,之前在开发中是直接把从设备地址写上去,后面发现无论使用任何方法都无法启动设备,一度卡了很久,后面在问题的分析过程中发现原厂的驱动会把地址左移一位。

57730b98-da9f-11ed-a826-dac502259ad0.png


  所以我们需要把设备地址右移一位后再使用:

577ce6b8-da9f-11ed-a826-dac502259ad0.png


  (4)关于外设的电源供电问题,一定要严格按照说明来,比如RTC module的供电是5V,OLED屏幕的供电是3.3V,那么就不能使用GM5的3.8V VDD引脚进行供电,会提高bug出现的几率或者无法启动外设。可以借用DC POWER SUPPLY进行供电。
  (5)由于我拿到手的RTC和OLED只是外设,没有芯片手册和说明书,所以在确定外设的从设备地址这件事情上耽误了很长时间。但是同一类型的外设的从设备地址也是有规律的,比如时钟RTC的地址一般是0X68,OLED的地址一般是0X3C或者0X3D,红外传感器的地址是0X60。具体的常见I2C从设备地址可以参考文章https://www.arduino.cn/thread-84222-1-1.html,一篇非常完整的总结。

二、I2C开发总结

  如果遇到了故障,一般而言排故的方法遵循以下步骤:
  (1)首先检查硬件本身,如果主设(GM5)或者外设(OLED屏幕和RTC时钟模块)本身就有问题,模块本身烧掉了肯定无法实验成功,所以要确保硬件本身没有问题,对外设的检查可以使用替换法或者读寄存器的地址。
  (2)第二步就是检查线路的连接,线路是否正确连接。一般先连线GND,在连接数据线(I2C、SPI通信数据线),确认无误后最后再连线VCC进行供电。同时请确保杜邦线的良好。
  (3)最后才是软件层次的检查。先要确保你的参数是正确,比如设备地址;然后是对空间的申请释放、野指针的不当操作、一级指针二级指针的错误使用;对故障的定位需要使用大量log信息打印来锁定故障点在哪里,也可以使用ResearchDownload的DBG功能进行调试。


原文标题:二、I2C开发总结

文章出处:【微信公众号:爱搞研究的阿灿】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1487

    浏览量

    123669
  • 逻辑分析仪
    +关注

    关注

    3

    文章

    214

    浏览量

    23165
  • RTC
    RTC
    +关注

    关注

    2

    文章

    538

    浏览量

    66488
  • I2C通信
    +关注

    关注

    0

    文章

    22

    浏览量

    8825
收藏 人收藏

    评论

    相关推荐

    I2C通信介绍及软测方法

    本文主要讲解I2C通信介绍以及如何使用软件工具抓取通信波形,帮助开发人员更好的去理解I2C
    的头像 发表于 04-17 16:35 2877次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>介绍及软测方法

    I2C读写时序分析和实现思路

    上篇推文对I2C总线的特性进行了介绍和描述。对于开发者而言,最重要的是编码I2C的读写时序驱动。本篇推文主要总结和分享I2C总线主机端
    发表于 10-01 16:54 1793次阅读
    <b class='flag-5'>I2C</b>读写时序分析和实现思路

    labview与i2c通信的编程问题

    labview与i2c通信的编程问题,适合新手看看
    发表于 12-09 15:49 205次下载

    I2C资料总结

    I2C资料总结及实际问题解析
    发表于 08-16 10:35 2次下载

    STM32F2通信接口I2C

    STM32F2通信接口I2C
    发表于 09-03 11:24 31次下载
    STM32F<b class='flag-5'>2</b>—<b class='flag-5'>通信</b>接口<b class='flag-5'>I2C</b>

    i2c通信的详细讲解

    I2C属于串行通信,所有的数据以位为单位在SDA上串行传输
    发表于 11-24 14:09 1.9w次阅读
    <b class='flag-5'>i2c</b><b class='flag-5'>通信</b>的详细讲解

    I2C通信的详细讲解

    I2C属于串行通信,所有的数据以位为单位在SDA线上串行传输。
    的头像 发表于 06-25 17:19 13.6w次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>的详细讲解

    I2C总线的基本通信总结

    在电子设计开发I2C大家已经很熟悉了,每一种电子产品小到电子开关,大到卫星通信都会利用的I2C总线。据统计I2C在电子产品中占据了93%的
    的头像 发表于 08-26 14:08 1.8w次阅读
    <b class='flag-5'>I2C</b>总线的基本<b class='flag-5'>通信</b><b class='flag-5'>总结</b>

    MCU实现I2C通信

    当时接手这项工作时,对方给我一周的时间,我是自信可以在两三天内完成。因为对I2C通信协议还是非常熟悉的,看下定时芯片RX-8025SA的规格书应该就可以搞定了。呵呵,又可以提前完成了!现在总结一下
    发表于 11-01 16:24 5次下载
    MCU实现<b class='flag-5'>I2C</b><b class='flag-5'>通信</b>

    硬件I2C与模拟I2C

    硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,因而效率要远高于软件模拟的I2C;一般也较为稳定,但
    发表于 12-28 19:14 81次下载
    硬件<b class='flag-5'>I2C</b>与模拟<b class='flag-5'>I2C</b>

    一文详解I2C总结的基础知识

    博主将 I2C spec 文章总结为一篇,目录如下
    的头像 发表于 06-27 15:25 6420次阅读

    I2C通信协议及其工作原理

    "也许你听说过I2C,或者你也正在使用I2C,但你有没有了解过什么是I2CI2C是如何工作的?让我们一起了解一下什么是I2C
    的头像 发表于 04-19 09:36 4909次阅读

    I2C通信协议:了解I2C Primer、 PMBus和SMBus

    I2C,即Inter-Integrated Circuit,是一种常用的串行通信协议,用于在器件之间——特别是两个或两个以上不同电路之间建立通信I2C Primer是最常用的
    的头像 发表于 06-15 15:29 5712次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>协议:了解<b class='flag-5'>I2C</b> Primer、 PMBus和SMBus

    i2c采样是上升沿吗?

    数据。在本文中,我们将详细讨论I2C采样的工作原理,采样时机以及如何进行I2C采样。 I2C采样的原理 I2C采样是基于
    的头像 发表于 09-19 17:16 2731次阅读

    简单认识I2C通信协议

    I2C(Inter-Integrated Circuit)通信协议是由飞利浦公司(现为恩智浦半导体)开发的一种简单、双向二线制同步串行总线协议。自1982年发布以来,I2C协议因其高效
    的头像 发表于 07-25 18:06 1448次阅读