1 先楫hpm6000的SPI外设使用四线模式操作读写华邦flash-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

先楫hpm6000的SPI外设使用四线模式操作读写华邦flash

331062281 来源:RCSN嵌入式 2023-07-12 13:51 次阅读

一、概述

在操作相关flash器件的时候,需要先发指令再读数据,或者先发指令再发地址再发dummy再读相关数据。而先楫的SPI控制器中,SPI传输包括了命令、地址和数据字段,提供了专用的寄存器来存储这些字段,不需要开发者自行去填充。本文使用hpm6200evk开发板,flash器件是华邦的W25Q64JV。使用hpm_sdk进行开发。

SPI四线模式,统称也就QSPI。

本文是作者在使用先楫的SPI调试flash器件的心得,仅仅作为参考。

二、开发流程

(一)外设引脚初始化

需要初始化下SPI时钟,由于SDK使用的是单线常规模式的SPI,所以引脚上我们还需要初始化IO2和IO3两个引脚。

e2df2cb0-2073-11ee-962d-dac502259ad0.png

e2f48876-2073-11ee-962d-dac502259ad0.png

(二)SPI模式初始化

华邦的W25Q64JV使用的SPI模式是mode0或者mode3。这里使用mode0。可以使用sdk的api接口spi_format_init进行初始化

e314c050-2073-11ee-962d-dac502259ad0.png

e3332ffe-2073-11ee-962d-dac502259ad0.png

(三)SPI频率

先楫的SPI SCLK可以达到80M,这里由于是杜邦线接的flash模块,波形会存在失真,使用该flash可以达到50M的QSPI速度。

使用SDK的spi_master_timing_init api接口进行SPI频率调整。

(四)指令操作(单线模式SPI操作)

1. 华邦相关flash都会有手册,这里使用了SDK的spi_transfer api接口封装了一个指令操作的API。下面根据这个api配合flash器件的手册命令进行说明。

比如使用90命令读取制造商设备ID的时候,使用单线模式,需要先发指令,再发两个dummy,之后就是读取。

e34da55a-2073-11ee-962d-dac502259ad0.png

那么使用spi_transfer赋值以下结构体

e36d6cd2-2073-11ee-962d-dac502259ad0.png

cmd_enable:使能命令段传输

addr_enable:使能地址段传输

addr_pahase_fmt:选择是单线模式还是四线模式传输地址

trans_mode:选择的传输模式,比如同时读写,仅写,仅读,写读,读写,写填充读,读填充写等

dmmy_cnt:填充的数量

依靠上述说明,可以使用单线模式,传输模式为填充再读。填充数量为2

e38a99e2-2073-11ee-962d-dac502259ad0.png

通过波形查看,是没什么问题的。

e3a4ac42-2073-11ee-962d-dac502259ad0.png

从以下可知,单线模式收发指令是没什么问题的。

e3d29260-2073-11ee-962d-dac502259ad0.png

(五)读写操作(四线模式QSPI操作)

这里举例读操作,读操作有好几条指令。这里举例使用Fast Read Quad I/O指令,也就是EBh指令。这里需要先发指令,再发地址(地址使用四线模式),再发三个填充dummy,之后再读。

e3e3619e-2073-11ee-962d-dac502259ad0.png

e3fd7886-2073-11ee-962d-dac502259ad0.png

擦除指令,可写入指令跟以上类似,这里测试sector0的0页地址。

e419dc24-2073-11ee-962d-dac502259ad0.png

对0页的256字节进行1到256赋值,然后再读取,这时候会是0~255 0变化。查看波形可以知道,读写正常。

e439cdf4-2073-11ee-962d-dac502259ad0.png

三、总结

先楫的spi外设支持常规单线SPI,双线duad spi,四线quad spi。有着专用的操作flash的寄存器。极大方便开发相关flash器件。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16332

    浏览量

    177795
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120224
  • FlaSh
    +关注

    关注

    10

    文章

    1633

    浏览量

    147934
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91496
  • 先楫半导体
    +关注

    关注

    10

    文章

    214

    浏览量

    2102

原文标题:开发者分享|先楫hpm6000的SPI外设使用四线模式操作读写华邦flash

文章出处:【微信号:HPMicro,微信公众号:先楫半导体HPMicro】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HPM5361EVK开发板试用体验】HPM5361EVK开发板初体验

    HPM5361EVK是基于HPM5300系列高性能RISC-V内核MCU的一款开发板。支持双精度浮点运算及强大的DSP扩展,主频480MHz,内置1 MB
    发表于 12-24 22:58

    半导体HPM6750EVKMINI评估板免费试用

    国产高性能MCU来啦,本次给大家带来HPM6000系列旗舰产品HPM6750,它采用双RISC-V内核,主频高达816MHz,创下了高达9220 CoreMark™和 4651
    发表于 04-12 10:40

    半导体HPM6700系列正式合入OpenHarmony社区主干

    ,面向高性能电机控制和数字电源的运动控制系统,以及信息安全模块如实时加解密和安全启动。采用开源RISC-V,开源RTOS,拥有架构和外设的自主产权。自上市以来,HPM6750就因高
    发表于 11-11 10:03

    hpm6000SPI外设使四线模式操作读写flash

    这些字段,不需要开发者自行去填充。本文使用hpm6200evk开发板,flash器件是的W25Q64JV。使用hpm_sdk进行开发。
    发表于 06-28 20:01

    HPM6000系列双核MCU怎么玩?

    核产品,集成 2 个 RISC-V 处理器,其中HPM6700系列两个核的最高主频都可以达到816MHz。本文通过对HPM6000系列双核的使用方法、工程编译与调试、双核通信方式和
    的头像 发表于 05-10 14:25 1659次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列双核MCU怎么玩?

    如何玩转HPM6000系列双核MCU?

    本文通过对HPM6000系列双核的使用方法、工程编译与调试、双核通信方式和资源分配等内容的介绍,全方位给大家介绍双核的使用和操作,让大家轻松玩转双核,完成更多的片上系统功能开发。
    发表于 05-10 14:25 827次阅读
    如何玩转<b class='flag-5'>HPM6000</b>系列双核MCU?

    HPM6000系列MCU双核的通信方式和资源分配

    在《玩转MCU双核(上)》文章里,我们给大家介绍了HPM6000系列双核的特性、使用方法以及工程编译与调试。本文紧接上篇内容,给大家详细阐述双核的通信方式、资源分配以及双核应用eRPC架构。如果大家在练手过程中,有其他的建议
    的头像 发表于 05-14 09:58 3582次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列MCU双核的通信方式和资源分配

    HPM6000系列微控制器 CMSIS DAP调试器使用指南

    在上海提供的HPM系列MCU评估套件上,多数集成了基于FTDI的FT2232芯片的板载调试器,方便了开发人员直接调试并评估HPM6000系列产品。当用户开始基于
    的头像 发表于 06-19 17:02 3861次阅读
    <b class='flag-5'>HPM6000</b>系列微控制器 CMSIS DAP调试器使用指南

    HPM6000系列微控制器的BOOT 模式的说明以及相应的外部电路设计建议

    1.简介HPM6000系列MCU目前提供了不同的启动方式,方便客户在研发生产等不同阶段使用。本文提供了HPM6000系列微控制器的BOOT模式的说明以及相应的外部电路设计建议。2.BOOT模式
    的头像 发表于 07-21 15:15 1690次阅读
    <b class='flag-5'>HPM6000</b>系列微控制器的BOOT <b class='flag-5'>模式</b>的说明以及相应的外部电路设计建议

    应用贴士 | HPM6000系列 Security Flash介绍

    本期介绍的是HPM6000系列中securityflash方面内容。希望可以帮助用户了解为了用户信息安全方面所做的设计。SecurityFlash模块概述首先进行一些名词解释:在线执行
    的头像 发表于 09-29 10:48 1060次阅读
    应用贴士 | <b class='flag-5'>HPM6000</b>系列 Security <b class='flag-5'>Flash</b>介绍

    玩转MCU双核(上) HPM6000系列双核怎么玩?答案超乎你想象!

    核产品,集成2个RISC-V处理器,其中HPM6700系列两个核的最高主频都可以达到816MHz。本文通过对HPM6000系列双核的使用方法、工程编译与调试、
    的头像 发表于 05-12 10:08 3192次阅读
    玩转MCU双核(上) <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列双核怎么玩?答案超乎你想象!

    玩转HPM6000系列双核(下)

    在《玩转MCU双核(上)》文章里,我们给大家介绍了HPM6000系列双核的特性、使用方法以及工程编译与调试。本文紧接上篇内容,给大家详细阐述双核的通信方式、资源分配以及双核应用eRPC架构。如果
    的头像 发表于 05-15 10:22 1355次阅读
    玩转<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列双核(下)

    基于SPI配合DMA实现理论速度性能

    在《hpm6000SPI外设使四线模式
    的头像 发表于 07-21 10:17 4705次阅读
    基于<b class='flag-5'>SPI</b>配合DMA实现理论速度性能

    细说SPI主机发送性能最大化实现方案

    一、背景在《hpm6000SPI外设使四线模式
    的头像 发表于 07-31 23:03 3361次阅读
    细说<b class='flag-5'>SPI</b>主机发送性能最大化实现方案

    hpm6000SPI外设使四线模式操作读写flash

    这些字段,不需要开发者自行去填充。本文使用hpm6200evk开发板,flash器件是的W25Q64JV。使用hpm_sdk进行开发。
    的头像 发表于 07-31 23:03 1239次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>hpm6000</b>的<b class='flag-5'>SPI</b><b class='flag-5'>外设使</b>用<b class='flag-5'>四线</b><b class='flag-5'>模式</b><b class='flag-5'>操作</b><b class='flag-5'>读写</b><b class='flag-5'>华</b><b class='flag-5'>邦</b><b class='flag-5'>flash</b>