STM32调试FM24C04B-G心得及注意事项,解决不应答等

一.FM24C04

在这里插入图片描述

1.1 铁电

区别于EEPROM如AT24C04,除了操作时序那方面,作用上的区别是在于铁电的读写速度较快,可读写次数多,可保存年限长,价格较之稍高。

1.2 通信方式

IIC

二.使用环境及出现问题

2.1 环境

芯片: STM32F767IGT6
编译环境:MDK
铁电IC:FM24C04B-G
方式:IO口模拟IIC

2.2 出现问题

a. 铁电死活不应答

b. 除了时间控制外,IIC代码是已经调试好了,可以驱动AT24C02

c. 示波器查看SDA和SCL,时序是符合的,时间控制也是手册的

三.解决及注意事项

3.1 注意事项

a. 型号多,手册不同

24C系列的芯片,除了用过AT24C04芯片不说,铁电的就有很多型号,而FM24C04的型号也有很多。这次调试是使用的FM24C04B-G,我下载了FM24C04U的,虽然大多一致但还是有细微差别。

b. 不同型号的电气特性有差别

从FM24C04U手册上可看出,供电范围是2.7V–5.5V
FM24C04U
而FM24C04B-G供电是5V供电,具体参数可在手册上看出4.5—5.5V
FM24C04B-G
因此在这里踩坑了,我使用错了手册,3.3V供电,后来换成5V供电。

c.IIC总线的时序和外部接线

经试验,时序按照手册操作即可,没有其他需要特别注意之处。
由于出现了调试不通的问题,我将FM24C04B-G的SDA和SCL引脚接外部上拉5V,且按照该手册上的图来接线,上拉电阻用2K的电阻代替了1.8K。
在这里插入图片描述
另外,SDA和SCL处,根据数据手册上,可接个100pf的电容

在这里插入图片描述

d.电源

参照手册,该电源接线是需要5.5V供电,而手册上有说在一定范围内,因为这只是一个概念图,但是不能偏离手册的供电范围。
实际上,我电源供电5V,电源处接了个2K的电阻,但是没有接滤波电容。
在这里插入图片描述
在这里插入图片描述

d.疑惑

在这里插入图片描述

在这里插入图片描述
此处不是很明白,是否说明SDA和SCL要接电容,那么第二个图应该是指电源处需要接100pf的电容么?还是指SDA和SCL接的电容。

三.总结出解决方法

1. 供电

	供电采用5V供电

2. 电阻

	电源需要接个电阻和电容。
	SDA和SCL需要上拉2K电阻,且使用一个100pf的电容。(按照手册)

五.FM24C04B-G的使用

由于之前使用过AT24C02,内部是需要进行换页的,8字节一个页。且当时AT24C02的大小是256字节,而FM24C04是512字节。
总结出以下几点:

a.FM24C04的块

FM24C04具有512字节的大小,也就是地址是0—511。
但是IIC时序传递地址是与AT24C02一样,都是传递一个8bit大小的地址,那么范围就是0–255,那么如何操作255以上地址的内存空间?
在这里插入图片描述
在这里插入图片描述

可以看到,FM24C04是没有A0的,换成了NC悬空脚。在IIC发送 1010 A2 A1 A0 R/W这个命令时,由于我A2和A1接地,而A0可看出是页的选择位,而A0是一个bit,自然只有0和1两种状态。因此从手册其他地方看出,0控制页块0,地址空间0—255;1控制页块1,地址空间0—255;块0和块1加起来共512字节。

比如,A2 A1接地,现在写操作块0的空间,那么首先发送的该命令 0XA0
又比如,现在写操作块1的空间,那么首先发送的该命令 0XA2

b.不需换页,自动换块

FM24C04B-G区别于AT24C02,在连续写数据时,无需换页直接写即可。
在这里插入图片描述
比如:A2 A1 接地,操作块0地址0XFD开始,写13个数据。
操作就是:
1) 起始信号
2)写一个字节 命令0XA0
3)等待应答
4)写一个字节 地址0XFD
5)等待应答
6)写一个字节数据data[i]
7)等待应答
8)回到第六步,循环13次
9)停止信号

那么此时,我们写的是块0的地址0XFD开始的13个数据空间
也就是
块0: 0XFD,0XFE,0XFF
块1:0X00,0X01,0X02,0X03,0X04,0X05,0X06,0X07,0X08,0X09

但是,需要注意

在这里插入图片描述
在这里插入图片描述
当超过地址0X1FF时,也就是511时,那么FM24C04B-G内部指针会重新归0

c.无需写周期

在使用AT24C02时,每次接收到IIC停止信号后,要进行一个写周期的延时,而铁电FM24C04B-G是不需要的。
经测试,无论加不加都可以使用。
手册资料:
在这里插入图片描述
在这里插入图片描述

教训及其他

注意型号后缀不同,手册资料可能不同。
另:
FM24C04B-G是4.5V—5.5V供电
有一款可代替,为FM24CL04B-G,2.7–3.65v供电,两者工作电流,上拉电阻的需求也有些许不同。

小弟是属于电子新人的一员,该篇属于个人调试的经历,才疏学浅,有错误之处请指出,如有雷同,纯属巧合,联系我删除即可。代码不懂如何上传

猜你喜欢

转载自blog.csdn.net/Mamba_1024/article/details/89478649