STM32
直播中

黄色的小金橘

12年用户 602经验值
私信 关注
[问答]

如何对STM32F407 SPI flash进行测试呢

STM32F407 SPI flash有哪些技术性能?
如何对STM32F407 SPI flash进行测试呢?

回帖(1)

李万寿

2021-10-22 10:07:51
  STM32F407 SPI
  接口:
  
  STM32F4XX时钟计算
  HCLK=168M PCLK1 =HCLK/4 =42M PCLK2 =HCLK/2 =84M
  SPI2、SPI3在PCLK1,最大时钟为42M
  SPI1在PCLK2,最大时钟为84M
  STM32F4 支持的最大SPI时钟为37.5Mbits/s 因此需要分频。
  例程选择SPI2 分频后为21M
  串行Flash W25Q64BVSSIG (最高支持80MHz)。
  测试:
  
  全部写入0XAA 数据长度8192K 擦除:20.798 写入耗时42.599S 读:9.008S
  
  百度的参照时间
  擦除:8.9S 写入22.5S 读出 1.8S 校验时间1.8S
  芯片特点:W25Q64 SPI Flash 语音字库存储器
  该芯片通常做语音或者字库的存储器
  SPI flash 属于NorFlash 接口简单,但速度慢,一般在语音字库,小程序存储场合广泛使用。
  W25Q64是华邦公司推出的大容量SPI-Flash产品,W25Q64的容量为64Mb,即8M字节,该系列还有W25Q80/16/32等。
  W25Q64将2M的容量分为128个块(Block),每个块大小为64K字节,每个块又分为16个扇区(Sector),每个扇区4K个字节。W25Q64的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节。这样我们需要给W25Q64开辟一个至少4K的缓存区,这样对SRAM要求比较高,要求芯片必须有4K以上SRAM才能很好地操作。
  一、技术性能
  SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。
  时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。
  二、接口定义
  SPI接口共有4根信号线,分别是:设备选择线、时钟线、串行输出数据线、串行输入数据线。
  
  (1)MOSI:主器件数据输出,从器件数据输入
  (2)MISO:主器件数据输入,从器件数据输出
  (3)SCLK :时钟信号,由主器件产生
  (4)/SS:从器件使能信号,由主器件控制
  三、内部结构
  
  四、传输时序
  SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。
  
  SPI接口没有指定的流控制,没有应答机制确认是否接收到数据。
  SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。
  SPI总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为广泛的是SPI0和SPI3方式。
  SPI接口有四种不同的数据传输时序,取决于CPOL和CPHL这两位的组合。图1中表现了这四种时序,
  时序与CPOL、CPHL的关系也可以从图中看出。
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分