在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 2684|回复: 5

[求助] 关于I2C总线问题

[复制链接]
发表于 2010-9-22 03:00:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好,最近正在做关于I2C的工作。有问题请高人指点

首先我将一段读SMB传感器的C代码嵌入Nios,通过I2C_Master,可以从传感器SMB得到数据。(即用软件代码通过I2C_Master,从硬件SMB传感器中读取数据)证明I2C_Master能正常工作。

由于速度的要求,现在的任务是将这段C代码转换为verilog(即用硬件实现,不用再嵌入Nios中)

此硬件电路(CIS)发送寄存器地址和数据给 i2c_Master, 之后Master将数据通过scl 和sda,传给传感器SMB(Slave),之后从传感器SMB获得所需要的数据, 如下图所示

无标题.png

CIS的clk是1MHz, I2C_Master的clk是50MHz, 产生的SCL是1MHz,即CIS和SMB的Clk相等。


问题是这样的,通过Signal TapII 可以看到,I2C_Master正确传输了8 数据Bits,但是在第9个SCL时并没有从Signal TapII得到正确的相应。

按理说Slave得到8个bits之后,应该将SDA线拉低(0)表示已经接受。但是从Signal TapII看到的是1.

请高人指点, 为什么Slave不能正确响应???

谢谢
发表于 2010-9-23 10:07:15 | 显示全部楼层
你知道访问I2C slave 的顺序吗, master 新发送什么, 后发送什么, 还有地址对不对 ? 好好看看协议吧
发表于 2010-9-25 08:05:11 | 显示全部楼层
协议好好看, it is not difficult
发表于 2010-9-28 23:04:14 | 显示全部楼层
自己写的吗
发表于 2010-10-25 17:13:52 | 显示全部楼层
芯片I2C接口是有速率限制的,我用过的一些I2C接口最高速率400K。
根据你描述的现象,很像是速率过高致使Slave无法响应。
建议你降低速率确认,或者看一下SMB传感器的资料。
发表于 2010-11-16 18:13:35 | 显示全部楼层
1、时钟降频,看是否还是不对
2、接口协议是否正确?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-22 14:42 , Processed in 0.038403 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表