基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...

2020-02-29 10:44发布

基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料/原理图/代码/教程等资料分享

核心板:NUCLEO-F767ZI
Flash:NM25Q64EB(64M)
PSRAM:IPS6404L(64M SO-8封装QSPI接口)
配置文件请使用stm32cubemx打开
程序请使用keil5 MDK打开

1.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
mmuuss586
1楼-- · 2020-03-01 11:20
(2)引脚的配置:在图形化配置界面直接左键对应引脚,在本次实验中我们引出一个QSPI引脚和串口3的引脚(PD8,PD9),QSPI和USART3的引脚和核心板一致。

图形化界面配置完成后,在引脚模式处进行选择,QSPI选择Bank1 with Quad SPI lines,USART3选择Asynchronous。
mmuuss586
2楼-- · 2020-03-01 13:03
(1) 时钟的配置:点开clock configuration,核心板没有外接晶振,所以我们使用内部时钟HSI,按照下图配置,最高的系统时钟为216MHZ。 图片1.png
mmuuss586
3楼-- · 2020-03-01 16:05
 精彩回答 2  元偷偷看……
mmuuss586
4楼-- · 2020-03-01 17:37
3、NM25Q64EB读写的移植
在完成了QSPI基础配置后,我们还需要加入QSPI的3个函数, NM25Q64EB的读取的一系列函数。
(1)对于发送指令,我们要关注的是它的指令码(instruction),发送地址(address),指令的模式(instructionmode),空指令周期数(dummycycles),地址的长度(addresssize),数据模式(datamode)等。
以下是QSPI的3个函数,对指令配置的函数,QSPI发送,QSPI接收。函数的参数和以上提到的一致。
mmuuss586
5楼-- · 2020-03-01 21:16
1.png
mmuuss586
6楼-- · 2020-03-02 02:29
(2)接下来我们利用以上3个函数,对NM25Q64EB进行操作。
对flash的操作过程,就是利用QSPI接口,往NM25Q64EB发送不同的指令码,来实现不同的功能。基础的功能包括:进入QPI,退出QPI,读取ID,擦除,读,写等。
接下来,我们举几个有特征的指令进行说明。

0x90指令:在数据手册中,我们可以看到0x90是读取Device ID(REMS)的指令,从electronic identification中可知发送0x90后,会返还2byte的ID,包括1byte manufacturer ID和1byte device ID。从Table9中来看,第一列说明了指令的功能,第三四列说明了该指令对应的模式(QPI or SPI),从5-7行可以看到0x90的地址长度(addresssize)为3byte,即24bit。Dummycycle为0 。这些信息都会在配置函数中使用到。

一周热门 更多>