8274|14

42

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

铁电存储器无应答 [复制链接]

STM32中模拟了一个I2C,与铁电通信时发现铁电无应答。因此读铁电的功能也不能用!!!!

有没有人碰到过这样的问题啊?大家给点意见嘛。

  

 

 

再对问题做点补充。模拟I2C中,PB.9做的SDA脚。在接受应答时,PB.9若设置成下拉输入模式,则本来应该是应答信号的低电平时刻,输出的仍为高电平信号,但比平时的高电平信号低了约0.4伏。

若将PB.9若设置成上拉输入模式或浮空输入,两者的输出高电平电压相同。

[ 本帖最后由 迷雾重重 于 2011-8-9 11:35 编辑 ]
此帖出自stm32/stm8论坛

最新回复

您好,多年过去了,我也遇到了这个问题。。。一开始写地址+r/w 10100000 就没有ack信号,请问应该怎么解决,谢谢您了   详情 回复 发表于 2019-12-23 02:40
点赞 关注
 

回复
举报

149

帖子

0

TA的资源

纯净的硅(初级)

沙发
 

我碰到过I2C没应答的情况,因为芯片的地址搞错了。。

此帖出自stm32/stm8论坛
 
 

回复

1万

帖子

142

TA的资源

版主

板凳
 
检查I2C部份的程序,注意时序和地址必须正确。
此帖出自stm32/stm8论坛
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 沙发 brucege888 的帖子

只接了一个,地址设的是0XA0嘛,这个没问题撒。
此帖出自stm32/stm8论坛
 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 板凳 chunyang 的帖子

我检查了起始信号和停止信号。起始信号满足SCL为高时,SDA由高变低。停止信号满足SCL为高时,SDA由低变高。还有别的什么地方要注意的吗?
此帖出自stm32/stm8论坛
 
 
 

回复

1万

帖子

142

TA的资源

版主

6
 
建议楼主先仔细看看I2C的时序规范,如果有存储示波器,可以比较一下你的实际波形与标准时序的差别。另外注意焊接、连线等硬件方面的问题。
此帖出自stm32/stm8论坛
 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 6楼 chunyang 的帖子

首先,很感谢chunyang!!!已经是第三次帮我解答疑问了,虽然我还是没解决问题,但还是灰常的感激你啊!
是这样的  我检查起始信号,发现SDA SCL相继出现下降沿,没有缓冲,垂直下降的。手册上写的I2C时序有一个缓冲下降的过程,我不知道是不是这个影响正常通信的。停止条件也是垂直下降。
模拟I2C中,PB.9做的SDA脚。高电平时,SDA约为3.29V.在接受应答时,PB.9若设置成下拉输入模式,则本来应该是应答信号的低电平时刻,输出的仍为高电平信号,但电压约为2.9V。也就是说还是降了一点的,但是没降成低电平。
若将PB.9若设置成上拉输入模式或浮空输入,则在本来应该是应答的时候输出仍为3.29V.
此帖出自stm32/stm8论坛
 
 
 

回复

1012

帖子

0

TA的资源

五彩晶圆(初级)

8
 

回复 7楼 迷雾重重 的帖子

要看后面时序要求的各部分时间长度的图表,检查下是否满足要求
此帖出自stm32/stm8论坛
 
个人签名http://item.taobao.com/item.htm?id=12366456386
Arduino 兼容的  maple
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 8楼 ssawee 的帖子

楼上所指的时间长度是?麻烦把相关资料给我发一个行吗?我QQ是81015785   谢谢
我用的是STM32  铁电是FM31256。我目前所看到的关于I2C通信时序的资料只局限于STM32的参考手册。
此帖出自stm32/stm8论坛
 
 
 

回复

1万

帖子

142

TA的资源

版主

10
 
沿只要不是太缓就不会影响通讯,楼主的问题不在此,至于输入电压问题,IO应统一配置成弱上拉即默认的形式,如果输入该为零而不为零,应该先检查硬件电路的连接是否有问题,否则仍然是软件时序的问题,器件没有真正应答而已。从楼主提供的信息看,如果排除硬件故障,那么问题仍是出在I2C时序模拟的问题上,要特别注意信号的持续时间,最好用存储示波器看看,然后对照I2C的时序图,问题将一目了然。
此帖出自stm32/stm8论坛
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

11
 
我用STM32做模拟IIC也没做出来,总是没有应答。想去驱动和几个IIC总线的ADC,一直没有成功,后来就改成SPI总线的ADC和DAC了,不知道硬件IIC怎样,都说不好用。
此帖出自stm32/stm8论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

12
 
模拟时序也要使用双向口,所以SDA配置开漏输出模式,还有记得写保护脚失能。其实你应该直接用STM32的I2C外设。
此帖出自stm32/stm8论坛
 
 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

13
 
终于成功的调通了,还是来做个总结吧。
正如楼上所说,是时序问题。确切的说是延时问题。我看别人延时是几十个指令周期,我开始也改了,但范围不大,就100以内改动。改了很久都不能通讯。后来我以冲动,就把时间搞到5000个指令周期,突然就能通讯了!然后再将延时优化,有的几十个收起就行了,有的延时要多点。我用最笨的方法,一个一个的试,最后终于得出了我认为的最优方案。
谢谢大家的支持!
此帖出自stm32/stm8论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

14
 

回复 13楼 迷雾重重 的帖子

你好~~我最近在做铁电的IIC通信,也遇到了没有应答信号的情况,用示波器观察后发现原本的第九个时钟脉冲处SDA应该是低电平的,但现在确实高电平。这个是时序的问题吗?会不会是铁电芯片坏了,给不了应答信号?我用示波器看了SDA和SCL,时序应该是没问题的啊,延时的问题具体是指哪呢?应该改什么?用相同的程序,我已经实现了对EEPROM的存储,但是对铁电就不行~~会是什么问题呢?谢谢~~~我已经跳了很多天了,不知道问题出在哪?希望你能指点下~~
此帖出自stm32/stm8论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

15
 
fangshuo 发表于 2011-10-23 21:41 你好~~我最近在做铁电的IIC通信,也遇到了没有应答信号的情况,用示波器观察后发现原本的第九个时钟脉冲处S ...

您好,多年过去了,我也遇到了这个问题。。。一开始写地址+r/w 10100000 就没有ack信号,请问应该怎么解决,谢谢您了

此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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