4697|11

71

帖子

1

TA的资源

一粒金砂(初级)

楼主
 

I2C的奇怪问题,高手进! [复制链接]

I2C线上挂了3个器件,2个正常工作,有一个对它发送读写指令时,它能回应ACK信号,但是读写却得不到正确的值。

而我用另一个CPU控制时,却可以。另一个CPU不是我做的,但是我抓它的时序和我是一样的!  有谁知道吗?

最新回复

另外一个CPU是fujitsu的单片机,代码不是我写的。  详情 回复 发表于 2009-10-16 15:35
点赞 关注

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
I2c的频率是多少,模拟的还是硬件的I2C接口,你用的什么抓它的时序,怎么判断和你的是一样的?
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢楼上的帮忙

1、I2C的频率是50HZ
2、硬件的I2C接口有一个芯片不行,但是另一个CPU不是我做的,不知道他怎么操作
3、我用示波器抓的,0,1都很清晰,没有过冲和毛刺

但是据我分析,我CPU的硬件I2C的上升时间达到了2uS,而另一个CPU出的I2C的上升时间只有40nS,
这是我观察波形后的唯一区别了(可能有遗漏),I2C对上升时间要求这么严格吗?  他不是只要在CLK的‘0’跳变数据,‘1’保持数据就行的?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
看起来是上拉有问题。还有看看芯片支持的工作电压和CPU外设支持的电压是否匹配。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 zyzhang365 的回复:
看起来是上拉有问题。还有看看芯片支持的工作电压和CPU外设支持的电压是否匹配。

匹配的,这个是肯定要注意的问题,不会错的
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 2 楼 sherlock_lai 的回复:
谢谢楼上的帮忙

1、I2C的频率是50HZ
2、硬件的I2C接口有一个芯片不行,但是另一个CPU不是我做的,不知道他怎么操作
3、我用示波器抓的,0,1都很清晰,没有过冲和毛刺

但是据我分析,我CPU的硬件I2C的上升时间达到了2uS,而另一个CPU出的I2C的上升时间只有40nS,
这是我观察波形后的唯一区别了(可能有遗漏),I2C对上升时间要求这么严格吗?? 他不是只要在CLK的‘0’跳变数据,‘1’保持数据就行的?

就说你最后说明的问题   这个时间相差这么大   很值得怀疑?
还有  不是有两个I2C的器件可以操作吗?和这个操作有问题的器件一样吗?
建议横向  纵向都做对比。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 5 楼 wwpplltt 的回复:
引用 2 楼 sherlock_lai 的回复:
谢谢楼上的帮忙

1、I2C的频率是50HZ
2、硬件的I2C接口有一个芯片不行,但是另一个CPU不是我做的,不知道他怎么操作
3、我用示波器抓的,0,1都很清晰,没有过冲和毛刺

但是据我分析,我CPU的硬件I2C的上升时间达到了2uS,而另一个CPU出的I2C的上升时间只有40nS,
这是我观察波形后的唯一区别了(可能有遗漏),I2C对上升时间要求这么严格吗?? 他不是只要在CLK的‘0’跳变数据,‘1’保持数据就行的?

就说你最后说明的问题? 这个时间相差这么大? 很值得怀疑?
还有? 不是有两个I2C的器件可以操作吗?和这个操作有问题的器件一样吗?
建议横向? 纵向都做对比。

一样的,和正确操作的时候,时序都一样
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
2uS?上升时间怎么会那么长?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

9
 
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 7 楼 guolh 的回复:
2uS?上升时间怎么会那么长?

我将上拉电阻调低,现在上升时间和正确读写的情况下一样了,还是不行。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 guetcw 的回复:
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件

主器件是AT91RM9200,从器件是AT24LC512,PCA9539,SII9013
前两个无论如何都可以正常读写,第三个我不能正常读写,但是另外一个CPU可以
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 10 楼 sherlock_lai 的回复:
引用 8 楼 guetcw 的回复:
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件

主器件是AT91RM9200,从器件是AT24LC512,PCA9539,SII9013
前两个无论如何都可以正常读写,第三个我不能正常读写,但是另外一个CPU可以

另外一个CPU是fujitsu的单片机,代码不是我写的。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表