0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

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

先楫半导体HPMicro 2023-07-31 23:03 次阅读

一、概述

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

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

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


二、开发流程

(一)外设引脚初始化

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

67246da2-2fb3-11ee-bbcf-dac502259ad0.png

673afab8-2fb3-11ee-bbcf-dac502259ad0.png

(二)SPI模式初始化

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

67540166-2fb3-11ee-bbcf-dac502259ad0.png

67748bac-2fb3-11ee-bbcf-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,之后就是读取。

679f0314-2fb3-11ee-bbcf-dac502259ad0.png

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

67c4d1fc-2fb3-11ee-bbcf-dac502259ad0.png

cmd_enable:使能命令段传输

addr_enable:使能地址段传输

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

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

dmmy_cnt:填充的数量


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

680cb86e-2fb3-11ee-bbcf-dac502259ad0.png


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

683c4cf0-2fb3-11ee-bbcf-dac502259ad0.png

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

68674c52-2fb3-11ee-bbcf-dac502259ad0.png

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

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

688f82da-2fb3-11ee-bbcf-dac502259ad0.png

68c03efc-2fb3-11ee-bbcf-dac502259ad0.png

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

68fa38d2-2fb3-11ee-bbcf-dac502259ad0.png


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

6926a674-2fb3-11ee-bbcf-dac502259ad0.png

三、总结

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1633

    浏览量

    147953
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91518
  • 外设
    +关注

    关注

    0

    文章

    40

    浏览量

    11692
收藏 人收藏

    评论

    相关推荐

    HPM6E00威廉希尔官方网站 日 | 百人研讨共话工业应用创新及发展趋势

    2024年8月29日,深圳 | 由上海半导体科技有限公司(半导体,HPMicro)主办的HPM6E00威廉希尔官方网站 日于深圳市南山区尚美科技大
    发表于 09-02 10:14

    半导体hpm_apps v1.6.0上线

    半导体hpm_apps v1.6.0上线
    的头像 发表于 08-02 08:18 775次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体<b class='flag-5'>hpm</b>_apps v1.6.0上线

    有奖提问!半导体HPM6E00系列新品发布会!!

    半导体HPM6E00新品预览”的活动,盛况空前。 自此之后一直收到大家的信息,问什么时候能够买到HPM6E00,这不,我们来了~ 半导体在现有的
    发表于 06-20 11:45

    工业芯标杆,邀您来围观——HPM6E00新品上市在即

    ,EtherCATSlaveController)的高性能MCU产品——HPM6E00系列新品全面上市!一直关注的小伙伴们应该还记得,我们去年12月12日举办了一场“Ether
    的头像 发表于 06-13 08:17 1135次阅读
    工业芯标杆,邀您来围观——<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM</b>6E00新品上市在即

    半导体 hpm_sdk v1.5.0 正式发布

    半导体 hpm_sdk v1.5.0 正式发布
    的头像 发表于 04-12 08:17 581次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体 <b class='flag-5'>hpm</b>_sdk v1.5.0 正式发布

    高性能MCU HPM6800系列产品生态绽放,共链未来

    2024年3月28日,上海 - 国产高性能微控制器厂商上海半导体科技有限公司(半导体,HPMicro)携手生态合作伙伴芯原、立功科技、顺微电子和科宇盛达,于上海浦东成功举办《
    的头像 发表于 03-29 18:21 1054次阅读

    毫厘中的绚烂绽放,携手立功科技发布HPM6800数字仪表方案

    上海半导体科技有限公司(半导体,HPMicro)推出了国产高性能微控制器HPM6800系列,致力于提供单主控的数字仪表及HMI解决方
    的头像 发表于 03-14 08:16 576次阅读
    毫厘中的绚烂绽放,<b class='flag-5'>先</b><b class='flag-5'>楫</b>携手立功科技发布<b class='flag-5'>HPM</b>6800数字仪表方案

    半导体携手立功科技推出了国产高性能微控制器HPM6800系列

    上海半导体科技有限公司(半导体,HPMicro)推出了国产高性能微控制器HPM6800系列,致力于提供单主控的数字仪表及HMI解决方
    的头像 发表于 03-13 12:24 858次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体携手立功科技推出了国产高性能微控制器<b class='flag-5'>HPM</b>6800系列

    基于HPM5300 RISC-V内核MCU的HPM5361EVK开发板测评效果(二)

    HPM5361EVK是基于HPM5300系列高性能RISC-V内核MCU的一款开发板。
    的头像 发表于 03-12 10:30 2884次阅读
    基于<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM</b>5300 RISC-V内核MCU的<b class='flag-5'>HPM</b>5361EVK开发板测评效果(二)

    HPM5361EVK开发板,网友测评效果(二)

    上海半导体举办的HPM5361EVK开发板试用活动圆满结束,广大工程师和爱好者们踊跃参与此次试用并提交报告。经过半导体专家组评选,一
    的头像 发表于 03-12 08:16 2065次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM</b>5361EVK开发板,网友测评效果(二)

    HPM5361EVK开发板试用体验】(原创)5.手把手实战AI机械臂

    HPM5361EVK开发板。现在开始设计实战AI机械臂的程序。 代码结构 由于编写一个完整的用HPM5361EVK开发板控制三组自由
    发表于 02-06 10:28

    HPM5361EVK开发板试用体验】HPM5361EVK开发板的UART实践与测试

    ,内置288KBSRAM和1MB Flash,并提供48~100脚LOFP和OFN等封装,为工业自动化,新能源及汽车等应用提供了丰富的算力和高效的控制能力。 HPM5361E
    发表于 01-09 22:22

    半导体HPM5300EVK开发板试用作品手册免费下载

    产品介绍: HPM5300系列MCU是上海半导体推出的一款高性能RISC-V内核通用微控制器。 HPM5300系列RISC-VCPU主频高达480MHz,内置288KBSRA
    发表于 12-28 10:25

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

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

    HPM5361EVK开发板试用体验】认识和了解HPM5361EVK开发板

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