4996|14

95

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

依旧是I2C的问题 [复制链接]

上次烧了块EK的板子.

这次换了块新的,该慎重了. 在这里向大虾们确认个问题.

我的从设备,在没有跟我主机连接前,上电后,SDA和SCL的电压全是3.0V左右.

我查遍了从设备的datasheet,没有找到对高低电平的值的定义,

只是有一个关于I2C的通信中高低电平的定义,如贴图.

我是这么想的:I2C在没有接上拉时,它的SDA和SCL脚应该是开漏的,它上电后输出应该是低电平,是吧??

这种情况是不是说明我的从设备出了问题?
现在我都不敢轻易将从设备与主机相连了,我怕再次烧坏.



此帖出自stm32/stm8论坛

最新回复

                                 我用了一个多月了,电路就是常规设计,烧了两个I2C,难道是人品问题??   详情 回复 发表于 2008-7-10 17:47
点赞 关注
 

回复
举报

68

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

香水啊香水

上次很感谢帮忙,但问题依然没有进展.


此帖出自stm32/stm8论坛
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

你这张表是设备的吗?当工作速度小于100KHz时,

输入高电平最小为3V。因此你只要将SDA、SCL的上拉电阻接到3.3V电源即可。

现在不清楚你将上拉电阻接到哪了?

另外,不知道你设备与板子之间的地线连接是否可靠?连线有多长?如果连线长的话,
也可能会导致高电压烧IO口的。可以考虑在SDA和SCL脚上串联100欧姆左右的电阻试试。
此帖出自stm32/stm8论坛
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 

回computer00

上面写得很清楚:从设备没有接上拉电阻,没有接主机的情况下,上电:SDA和SCL的电压依然是3.0V.

我就觉得纳闷了,我用过其他的从设备,在这种情况下,SDA和SCL是接近0伏的.

地线我连接了,

你指的地线牢不牢靠??

我的地线估计有50--60cm左右,这个算长吗??不应该吧
此帖出自stm32/stm8论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

5
 

回computer00

可以考虑在SDA和SCL脚上串联100欧姆左右的电阻试试???

SDA和SCL之间串连电阻的作用是什么???
此帖出自stm32/stm8论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

6
 

刚才试了下.

还是决定接上试了一下:程序运行到下面的最后的一行,就死掉了(一直在等待),原因应该是收不到ACK,我实测了一下电压:SDA为3.3V(上拉的),但SCL(当然也上拉了)为0V.  这是从设备地址不对的原因吗?还是另有原因??  谁有关于I2C详细故障排除的书或者文档啊.
I2C_GenerateSTART(I2C1, ENABLE);
  
  /* Test on EV5 and clear it */
  while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));
   
  /* Send EEPROM address for write */
  I2C_Send7bitAddress(I2C1, MOTOR_WRITE_ADDRESS7, I2C_Direction_Transmitter);

  /* Test on EV6 and clear it */
  while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

7
 

难道是引脚设成输出了???

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 

这个问题在高速下 经常出现 速率低了 就好了

                                 费解  难道是硬件有缺陷
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

9
 

所谓高速,速度是多少?

如果线路的匹配不好,信号的翻转速度可能跟不上,自然高速时会有问题。

I2C使用的是开漏输出,信号的翻转速度与片外上拉电阻的关系很大。

请用示波器看看波形,看看信号的上升下降沿是否陡峭,如果信号变化过于平缓,则应考虑减小上拉电阻。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 

是不是你的设备内部有上拉电阻,上拉到3V了?

用100欧电阻接设备的SDA或者DCL,再测输出电压,从而计算内部上拉电阻多大。
你的设备I2C引脚是否为专用?否则可能如老X所说,模式设置错误?

STM32的引脚模式选择是否也对了?

在SDA和SCL上串联100欧电阻,是为了防止IO口过流。
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 

再回computer00

回上面几个问题:


1.      这是个专用的I2C,不会出现模式设置错误的问题.

2.      速率我已经调得很低,I2C 一般在100K--400Kbps,我调到30K了还不行.

3.      线路我一直都是用一般的连接线 连在一起的,线总长大概40cm.

4.      EEPROM的例程中,有时会出现单步无法通过,这算正常不?
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

12
 

400k 例程都通不过

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

49

帖子

0

TA的资源

一粒金砂(初级)

13
 

请用示波器看看波形,看看信号的上升下降沿是否陡峭

                                 如果信号匹配有问题,什么例程都通不过!
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 

真有意思!

恐怕楼主是第一次用 硬件的I2C 。

电路按常规设计, 是如何都不合烧坏 引脚的。
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

15
 

netjob兄见笑了,

我用了一个多月了,
电路就是常规设计,
烧了两个I2C,难道是人品问题??
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表