一、什么是AT25DF041B
最近公司采购了一批AT25DF041B的外挂FLASH芯片用来存储数据,说让我负责该芯片的驱动程序的编写。但是我拿到芯片发现这芯片的代码资料几乎没有,MD,完全从头摸索,浪费了我3天!之前一直用W25Q系列的flash芯片,本以为都是spi的驱动,但是还是有一些差别的需要自己去摸索!好了,废话不多说,回归正题!
芯片信息:
供电电压:1.65V - 3.6V Supply
支持的spi模式:SPI Modes 0 and 3
最大操作频率:104MHz Maximum Operating Frequency
页大小:256 Bytes
硬件连接:
这款芯片有8个腿,其中的WP和HOLD引脚可以直接悬空用即可!
接下来讲解大家最想要的信息,软件如何驱动它?
(1)读取AT25DF041B芯片的flash的ID
经常写flash驱动的工程师都知道,想驱动一款芯片,最先要做的事情就是先把该芯片的ID给读出来!只有先读出来芯片ID,然后再写其他驱动才有意义,因为只有读出了ID,至少说明你的spi时序没问题,硬件连接没问题,片子是好用的,MCU也没问题!接下来为使用这款片子才能无后顾之忧!那么怎么读他的ID呢?查询手册发现:
从上图我们得知,要想读它的ID,只需要通过spi发送0x9F即可!等发送完0x9F之后,随即发送4个空字节(一般是0xFF),芯片便会将自己的ID返回给spi主设备!代码如下所示: