社区
其他硬件开发
帖子详情
I2C的奇怪问题,高手进!
sherlock_lai
2009-10-16 09:25:01
I2C线上挂了3个器件,2个正常工作,有一个对它发送读写指令时,它能回应ACK信号,但是读写却得不到正确的值。
而我用另一个CPU控制时,却可以。另一个CPU不是我做的,但是我抓它的时序和我是一样的! 有谁知道吗?
...全文
213
11
打赏
收藏
I2C的奇怪问题,高手进!
I2C线上挂了3个器件,2个正常工作,有一个对它发送读写指令时,它能回应ACK信号,但是读写却得不到正确的值。 而我用另一个CPU控制时,却可以。另一个CPU不是我做的,但是我抓它的时序和我是一样的! 有谁知道吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wwpplltt
2009-10-16
打赏
举报
回复
[Quote=引用 2 楼 sherlock_lai 的回复:]
谢谢楼上的帮忙
1、I2C的频率是50HZ
2、硬件的I2C接口有一个芯片不行,但是另一个CPU不是我做的,不知道他怎么操作
3、我用示波器抓的,0,1都很清晰,没有过冲和毛刺
但是据我分析,我CPU的硬件I2C的上升时间达到了2uS,而另一个CPU出的I2C的上升时间只有40nS,
这是我观察波形后的唯一区别了(可能有遗漏),I2C对上升时间要求这么严格吗? 他不是只要在CLK的‘0’跳变数据,‘1’保持数据就行的?
[/Quote]
就说你最后说明的问题 这个时间相差这么大 很值得怀疑?
还有 不是有两个I2C的器件可以操作吗?和这个操作有问题的器件一样吗?
建议横向 纵向都做对比。
sherlock_lai
2009-10-16
打赏
举报
回复
[Quote=引用 3 楼 zyzhang365 的回复:]
看起来是上拉有问题。还有看看芯片支持的工作电压和CPU外设支持的电压是否匹配。
[/Quote]
匹配的,这个是肯定要注意的问题,不会错的
zyzhang365
2009-10-16
打赏
举报
回复
看起来是上拉有问题。还有看看芯片支持的工作电压和CPU外设支持的电压是否匹配。
sherlock_lai
2009-10-16
打赏
举报
回复
谢谢楼上的帮忙
1、I2C的频率是50HZ
2、硬件的I2C接口有一个芯片不行,但是另一个CPU不是我做的,不知道他怎么操作
3、我用示波器抓的,0,1都很清晰,没有过冲和毛刺
但是据我分析,我CPU的硬件I2C的上升时间达到了2uS,而另一个CPU出的I2C的上升时间只有40nS,
这是我观察波形后的唯一区别了(可能有遗漏),I2C对上升时间要求这么严格吗? 他不是只要在CLK的‘0’跳变数据,‘1’保持数据就行的?
guetcw
2009-10-16
打赏
举报
回复
I2c的频率是多少,模拟的还是硬件的I2C接口,你用的什么抓它的时序,怎么判断和你的是一样的?
sherlock_lai
2009-10-16
打赏
举报
回复
[Quote=引用 10 楼 sherlock_lai 的回复:]
引用 8 楼 guetcw 的回复:
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件
主器件是AT91RM9200,从器件是AT24LC512,PCA9539,SII9013
前两个无论如何都可以正常读写,第三个我不能正常读写,但是另外一个CPU可以
[/Quote]
另外一个CPU是fujitsu的单片机,代码不是我写的。
sherlock_lai
2009-10-16
打赏
举报
回复
[Quote=引用 8 楼 guetcw 的回复:]
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件
[/Quote]
主器件是AT91RM9200,从器件是AT24LC512,PCA9539,SII9013
前两个无论如何都可以正常读写,第三个我不能正常读写,但是另外一个CPU可以
sherlock_lai
2009-10-16
打赏
举报
回复
[Quote=引用 7 楼 guolh 的回复:]
2uS?上升时间怎么会那么长?
[/Quote]
我将上拉电阻调低,现在上升时间和正确读写的情况下一样了,还是不行。
guetcw
2009-10-16
打赏
举报
回复
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件
guolh
2009-10-16
打赏
举报
回复
2uS?上升时间怎么会那么长?
sherlock_lai
2009-10-16
打赏
举报
回复
[Quote=引用 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的器件可以操作吗?和这个操作有问题的器件一样吗?
建议横向 纵向都做对比。
[/Quote]
一样的,和正确操作的时候,时序都一样
I2C
通信详解-1.12.ARM裸机第十二部分
首先简单介绍
I2C
通信的基本特征,然后详细讲解了
I2C
通信的时序图,并且通过
I2C
的时序图讲解了通信物理层的时序概念。之后介绍了S5PV210的
I2C
控制器、gsensor芯片的
I2C
通信流程图,后分析了相关的代码。本课程的目标...
搞懂这27个
问题
,让你秒变 Python
高手
!
搞懂这27个
问题
,让你秒变 Python
高手
!
题解 | #质检员的烦恼#写了一天,还是时间复杂度太高,真的心累。求
高手
改!!!
int c 阿里淘天社招一面1h 楼主本3.5,华为打拼三年半啥也不会,今年被通知不续签,在找社招机会 电话面,应该是凉了 字节跳动运营岗二面面经 二面没有自我介绍环节,直接奔
进
问题
环节。1.哪段实习经历收获最大?2....
奇怪
的方式c语言,
奇怪
的C语言写法
C语言是一门博大精深的语言,有些
高手
灵活应用写出的代码使得我们有些菜鸟很难看得明白,这是对一些C语言的
奇怪
写法
进
行收录介绍:一、do{}while(0)linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{...}...
如何成为Android
高手
前言 本文pdf下载链接 配套视频连接 若立志成为Android
高手
,如有耐心,“一瓶一钵足矣”。 ... “天下事有难易乎?...”想成为Android
高手
?这可不是想象中写几行代码...
奇怪
吧?但是,你一定也听说过和感受过这
其他硬件开发
2,425
社区成员
4,282
社区内容
发帖
与我相关
我的任务
其他硬件开发
硬件/嵌入开发 其他硬件开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章