新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用数字示波器调试嵌入式I2C总线的方法

利用数字示波器调试嵌入式I2C总线的方法

作者:时间:2014-02-26来源:网络收藏

  

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

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

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

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

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

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

  

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

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



评论


相关推荐

技术专区

关闭