如何使用示波器解决I2C通信开发中遇到的问题

2019-11-15来源: elecfans关键字:示波器  I2C通信  串行总线

I2C总线是PHLIPS公司上世纪80年代推出的一种两线式串行总线,最初为音频、视频设备所开发,如今则多在各种嵌入式系统中用于连接微控制器及其外围设备。


I2C总线仅需采用两根通信线(一根为串行数据线“SDA”,一根为串行时钟线“SCL”),而传输速率在高速模式下可达3。4Mbit/s,并且是多主总线。每一个挂接在I2C总线上的I2C器件均可通过唯一的地址进行访问。


在嵌入式系统开发中应用I2C总线可有效缩减元器件面积、改善抗干扰能力及增强设计的兼容性。当然,在享受其设计便利性的同时,信号的复杂性也将提高系统调试的难度。


本文阐述了在实际开发中所遇到的I2C通信问题及使用示波器分析问题和解决问题的方法。

分析过程中采用了RIGOL公司最新推出的DS6104示波器,其具体特性包括:高达1GHz带宽,足以满足常用标准总线的带宽需求;5GSa/s实时采样率,确保不会遗漏信号细节;每秒18万次的波形捕获率,最大概率捕获感兴趣的信号;标配140M深存储,同时满足总览全局和观察局部的需求;可录制多达18万帧的波形,奇异信号随意回放和分析;提供多种串行触发,RS232、I2C、SPI、CAN、USB等。


问题探讨

项目设计中计划采用Cypress 68013A芯片来实现USB器件功能。68013A是Cypress公司出产的一款高速USB器件,该芯片的参考设计是通过I2C总线读取存储在EEPROM中的固件程序来运行的,如图1所示。

如何使用示波器解决I2C通信开发中遇到的问题

图1:Cypress 68013A与EEPROM连接示意图。

设计中,为进一步减少器件面积、降低功耗,以及便于在后续进行在线升级固件,决定使用DSP来模拟实现EEPROM与68013A之间的通信。同时,通过I2C总线在线下载固件至68013A并运行来完成,如图2所示。


参考68013A数据手册编程后,却发现在通过DSP模拟EEPROM与68013A通信时无法正确下载固件程序,即DSP怎样通过I2C总线下载固件至68013A?

如何使用示波器解决I2C通信开发中遇到的问题

图2:Cypress 68013A与DSP连接示意图。

解决方法

首先,需要确认通信环境无问题,即:总线连接无问题;DSP的I2C通信程序无问题;Cypress 68013A的I2C通信无问题。


经依次验证后发现以上各项均无问题,那么,只可能是在通信过程中发生了错误。但是,在参考手册中却没有找到关于68013A与EEPROM通信的详细描述。为获取两者间在初始通信阶段的详细数据,使用RIGOL公司的DS6104示波器来捕获初始阶段的通信数据。


DS6104示波器具有I2C触发及I2C解码套件,为捕获数据需设置如下:设置DS6104示波器触发方式为“I2C”、触发条件为“启动”;设置触发时钟信源、数据信源及合适的触发电平;打开I2C解码并设置解码阈值;设置示波器为单次触发。设置完毕后,通过监测I2C与EEPROM通信即可捕获全部的通信数据头,图3所示为所得解码数据。

如何使用示波器解决I2C通信开发中遇到的问题

图3:Cypress 68013A与EEPROM I2C初始通信数据。

通过与读入DSP内存的固件数据(图4)对比可知,图中的“0xC2 0x47 。..”及后续数据才是真正的固件数据。因此,导致DSP模拟EEPROM通信失败的原因是从起始数据至固件数据间的I2C通信(后文将称其为握手通信)。使用DS6104的水平时基微调功能将图中波形展开之后,便可更清楚地看到握手通信过程(图5),其描述如下:读地址“0x50”,无数据返回;读地址“0x51”,返回“0xAD”;写地址“0x51”,写两个字节“0x00”。

如何使用示波器解决I2C通信开发中遇到的问题

图4:读入DSP内存的68013A固件程序数据(部分)。

至此,问题得以简化为:怎样在DSP中模拟这部分的握手通信?通过示波器获取可视化握手通信数据以后,则模拟其通信过程仅需以下三步:设置DSP的I2C总线地址为“0x51”,与地址“0x50”不匹配则无返回;在DSP的I2C通信程序中,下载固件时先发送“0xAD”,满足“0x51”地址上读到的第一个数据为“0xAD”;DSP通过I2C下载固件时,可以接收“0x00”但不进行处理,保证握手通信的完整性。


如上所述,在DSP的I2C通信程序中包含此部分握手通信处理后,使用DSP模拟EEPROM与Cypress 68013A便可进行正常通信,并可成功地下载68013A固件。

如何使用示波器解决I2C通信开发中遇到的问题

图5:Cypress 68013A与EEPROM I2C通信数据头展开。

Cypress 68013A支持直接在固件中修改配置字(如图6所示,地址7),从而可在固件下载完毕后配置启动类型。

如何使用示波器解决I2C通信开发中遇到的问题

图6:Cypress 68013A ‘C2 Load’格式。

我们按照图7所示的Cypress文档提供的寄存器配置格式,配置固件为启动时断开USB连接,并将I2C时钟设置为400KHz(将地址7数据修改为“0x41”)。

如何使用示波器解决I2C通信开发中遇到的问题

图7:Cypress 68013A固件配置字格式。

同样,在下载固件时可以通过使用DS6104来监测I2C的通信数据,并且可以明显看到时钟频率的变化,如图8所示。

如何使用示波器解决I2C通信开发中遇到的问题

图8:固件配置字为“0x41”时的I2C通信数据频率变化。

至此,我们通过采用RIGOL推出的DS6104数字示波器,以可视化的方式实现了DSP模拟EEPROM与Cypress 68013A通信和下载固件的功能。同时,在固件下载过程中,我们观测到在固件中配置的I2C通信频率可即时生效。


在实际项目中,我们还使用I2C作为DSP与68013A间的常规通信通路。显然,在后续调试中,DS6104数字示波器提供的串行总线触发及解码也将成为我们优先选择的调试手段。


本文小结

I2C总线在嵌入式系统中得到了广泛应用,在实际开发中不免碰到缺少文档资料的情况,此时,如本文所述采用示波器调试则不失为一种快捷、有效的方法。


嵌入式系统中应用了越来越多的总线,其开发和调试难度也在相应提高。RIGOL推出的DS6000系列示波器以其领先的指标、创新的技术及提供的多种总线触发及解码套件,可有效降低嵌入式总线调试难度,并极大提高调试效率。


关键字:示波器  I2C通信  串行总线 编辑:什么鱼 引用地址:http://news.2689mr.com/Test_and_measurement/ic480063.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:双踪示波器的测量方法
下一篇:示波器的发展过程及如何选择合适的示波器详细说明

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32示波器程序ILI9341_IO模拟源程序+Proteus仿真
uint8 x_1= 0,y_1 = 0;        uint8 x_2= 0,y_2 = 0;        uint8 x_3= 0,y_3 = 0;                uint8 x_4= 0,y_4 = 0;        uint8 x_5= 0,y_5 = 0;      
发表于 2020-07-13
STM32<font color='red'>示波器</font>程序ILI9341_IO模拟源程序+Proteus仿真
工业富联落实“智能制造+工业互联网”双驱动战略
近日,工业富联已与 DC Software、Talent Gain Developments Limited 签署了《关于鼎捷软件股份有限公司之股份买卖协议》(以下简称“股份买卖协议”),工业富联向 DC Software 收购其所持有的鼎捷软件 39,971,265 股股份,占鼎捷软件总股本的 15.19%,转让价格为人民币 14.00 元 / 股,标的股份合计转让价格为人民币 5.60 亿。 工业富联与鼎捷软件股东 TOP、新蔼咨询、孙蔼彬、叶子祯签署了《一致行动人协议》,约定自《一致行动人协议》生效日起,一致行动股东与工业富联在标的公司的重大事项决策方面保持一致行动关系。 上述交易完成后,工业富联与一致行动
发表于 2020-07-06
工业富联落实“智能制造+工业互联网”双驱动战略
Pico推出三款新型4通道混合信号示波器,可提供免费软件更新
 PicoScope 6000E 系列紧凑型 4+16 个通道 MSOs 可为工程师、开发人员和科学家提供高成本效益的测试和调试解决方案。      Pico Technology 今天宣布进一步开发其 PicoScope 6000E 系列示波器,推出三款新型 4 通道产品型号,每种型号可配置 16 个可选数字通道。这些产品具有 300 或 500 MHz 的带宽、8 位或 8/10/12 位灵活分辨率以及高达 4 GS 的深度捕捉内存,进一步提升了现有 PicoScope 6000E 系列产品的功能,在年初推出的 8 通道产品型号基础上添加了新的产品。 
发表于 2020-06-01
Pico推出三款新型4通道混合信号<font color='red'>示波器</font>,可提供免费软件更新
拆解TBS2000B示波器,焕然一“芯”,挑战未来
科技发展日新月异,工程师要求越来越强大的电子测试测量工具,帮助他们进行系统设计和调试。随着全新TBS2000B系列示波器的发布,泰克首次将原属于中端示波器的专利技术,如自研放大器(Amplifier)芯片和高性能模数转换器(A/D Converter)芯片,创新地应用于入门级基础示波器上,为下一代的主流示波器奠定了基础,帮助工程师应对未来挑战。  【一台性能出色的基础示波器是如何诞生和工作的】 在TBS2000B系列示波器的内部,有数百个高品质的精密部件协同高效工作,以确保工程师能看到真实、清晰的信号和波形变化细节。  典型示波器的信号路径相当复杂,因为信号必须通过各种元件(包括
发表于 2020-05-25
拆解TBS2000B<font color='red'>示波器</font>,焕然一“芯”,挑战未来
是德科技全新Infiniium MXR系列示波器弥补中高端市场空白
日前,是德科技(Keysight)宣布推出全新Infiniium MXR系列8合1、8通道示波器,同时也标志着是德科技将Infiniium产品高端系列技术引入到中端市场。是德科技有限公司大中华区汽车与新能源测试方案市场经理杜吉伟表示,是德科技始终致力于为工程师打造看得更多、做得更多、节省更多的产品,Infiniium MXR系列示波器的出现,也是这一目标的具体体现。该产品是业界首款在带宽超过2GHz的前提下,具有8个模拟通道和16个数字通道的示波器,24个通道同时使用,仍能保证每个模拟通道带宽同时达6GHz,每个模拟通道采样率同时达16GSa/s,每个通道的ADC是10比特。在一台仪器中,实现精确、可重复的、多通道高性能测量,帮助
发表于 2020-05-24
是德科技全新Infiniium MXR系列<font color='red'>示波器</font>弥补中高端市场空白
e络盟上新PicoScope 6000E系列USB示波器
全球电子元器件与开发服务分销商e络盟宣布供应Pico Technology全新PicoScope 6000E系列USB示波器。新一代PicoScope 6000E系列非常适合使用高性能嵌入式系统的设计与测试工程师、原始设备制造商(OEM)及合约电子制造商(CEM),以及在物理实验室、粒子加速器和其他类似设施中从事多通道实验的科研人员,能够为他们提供理想的测量和分析解决方案。 作为市场领先的PC示波器研发企业,Pico为业界提供了比传统测试设备和数据采集产品更具创新的高性价比替代方案。Pico还定期提供免费软件升级,通过持续改善性能、延长运行寿命来打造经得起未来考验的产品。 全新PicoScope 6000E系列示波器
发表于 2020-05-21
e络盟上新PicoScope 6000E系列USB<font color='red'>示波器</font>
小广播
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 信号源与示波器 分析仪 通信与网络 视频测试 虚拟仪器 高速串行测试 嵌入式系统 视频教程 其他技术 综合资讯

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD。com。cn, Inc。 All rights reserved
澳客彩票投注 手机彩票送彩金 太阳城送彩金 彩票大赢家官网 白菜送彩金59网站大全 充值送彩金购彩软件 网易彩票注册送彩金 网上百家乐免费送彩金 那个棋牌平台送彩金最多 易迅彩票送彩金