I2C从站地址未确认(有时)
我正在尝试使用I2C与远程连接的FRAM(Ramtron的FM24C04)进行通信。此内存嵌入在板上,可以随时将其插入系统或从系统中卸下(在卸下内存之前,通信已正确终止)。 问题是:刚插入包含FRAM的卡后,有时,它不确认地址。 信号测量 我测量了信号以查看发生了什么,看来在两种情况下(工作和不工作)的计时都可以。 正确的I2C通信(读取3个字节): I2C FRAM地址未确认(从机地址已正确发送): 为了解决这个问题已经采取的行动(没有成功) 插入带有嵌入式FRAM的卡后添加的延迟,以确保遵守电源顺序。 检测到未确认从站地址后,I2C停止生成 I2C总线配置 一个主机(ST的STM32F205微控制器) 三个从机(Microchip的EEPROM 24AA1025,Maxim IC的RTC DS1339C和Ramtron的远程FRAM FM24C04 一个I2C电平转换器(Maxim IC提供的MAX3373E)用于允许主机与FRAM之间的通信 总线频率设置为100 kHz 编辑(2013-04-17) 首先,谢谢大家的评论。 由于有很多建议,所以这里是我所做调查的描述。 原理图 下图显示了I2C总线的简化原理图: I2C_SDA和I2C_SCL信号直接连接到微控制器,FRAM_SDA和FRAM_SCL信号连接到FRAM。请注意,使用村田制作所的BLM18铁氧体对连接到FRAM的SDA和SCL信号进行滤波。 FRAM的连接方式如下: NC(引脚1)->未连接 A1(引脚2)-> GND A2(引脚3)-> GND VSS(引脚4)-> GND SDA(引脚5)-> FRAM_SDA SCL(引脚6)-> FRAM_SCL WP(引脚7)-> GND(无写保护) VDD(引脚8)-> + 5V FRAM卡说明 该卡是仅嵌入FRAM的“类似ISA”卡。 调查 减慢频率 我在将SCL频率设置为50kHz和10kHz的情况下进行了测试。我用示波器测量了SCL信号,以确保它处于预期的频率。 这些修改不能解决问题。我检查了时序,它们在FRAM数据表的规格之内。 …