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

    文章

    1715

    浏览量

    154743
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1867

    浏览量

    99895
  • 外设
    +关注

    关注

    0

    文章

    43

    浏览量

    12049
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    解决方案 | 变频器EtherCAT通讯卡+远程IO方案

    半导体推出的基于HPM5E00系列的工业级变频器EtherCAT通讯卡及远程IO解决方案,致力于帮助开发者在以HPM微控制器作为设备从站的开发场景中快速部署符合工业以太网规范的各项
    的头像 发表于 12-12 10:35 36次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>解决方案 | 变频器EtherCAT通讯卡+远程IO方案

    半导体高性能MCU入驻立创商城,国产芯势力再添新动能

    半导体(HPMicro)宣布其全系列高性能MCU芯片正式上架立创商城(LCSC),标志着国产高端MCU在供应链渠道与生态服务方面迈上新台阶,国产芯势力再添新动能。半导体此次入驻
    的头像 发表于 07-31 08:32 915次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体高性能MCU入驻立创商城,国产芯势力再添新动能

    半导体HPM6E8Y:实时控制芯片驱动的机器人关节“芯”时代

    及产品总监费振东带来了一款实时控制芯片驱动——HPM6E8Y。     据费振东介绍,半导体HPM6E8Y系列高性能MCU芯片为机器人关节的高精度运动控制量身打造,具有高性能、高集
    发表于 05-13 11:50 1606次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体<b class='flag-5'>HPM</b>6E8Y:<b class='flag-5'>先</b><b class='flag-5'>楫</b>实时控制芯片驱动的机器人关节“芯”时代

    重磅更新 | 半导体HPM_APPS v1.9.0发布

    重磅更新 | 半导体HPM_APPS v1.9.0发布
    的头像 发表于 05-13 11:29 1378次阅读
    重磅更新 | <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体<b class='flag-5'>HPM</b>_APPS v1.9.0发布

    【强势上新】HPM5E00:EtherCAT运动控制MCU,半导体再拓工业总线产品新版图

    2025年5月6日 上海 |高性能微控制器及嵌入式解决方案提供商“上海半导体科技有限公司”(半导体,HPMicro)正式发布 新一代EtherCAT运动控制MCU——
    发表于 05-07 14:07 981次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体再拓工业总线产品新版图

    【强势上新】HPM5E00:EtherCAT运动控制MCU,半导体再拓工业总线产品新版图

    2025年5月6日上海|高性能微控制器及嵌入式解决方案提供商“上海半导体科技有限公司”(半导体,HPMicro)正式发布新一代EtherCAT运动控制MCU——
    的头像 发表于 05-06 11:09 988次阅读
    【强势上新】<b class='flag-5'>HPM</b>5E00:EtherCAT运动控制MCU,<b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体再拓工业总线产品新版图

    AD7606C-18的硬件串行模式,如何使用三线SPI

    我在使用EVAL-AD7606C-18的验证板,我使用FPGA去驱动它,我选择的模式是硬件串行模式,当我使用四线SPI去读取数据时,一切正常,我可以设定SCLK最高频率为55MHz,读
    发表于 04-28 07:49

    600MHz RISC-V 双核加持!HPM6P00重新定义国产高性能混合信号MCU

    2025年3月25日,上海——高性能微控制器及嵌入式解决方案提供商上海半导体科技有限公司(半导体,HPMicro)正式发布全新一代高性能混合信号微控制器——
    的头像 发表于 03-25 08:50 1074次阅读
    600MHz RISC-V 双核加持!<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM</b>6P00重新定义国产高性能混合信号MCU

    半导体HPM6E8Y荣获芯片创新奖,彰显卓越产品力!

    科技有限公司(半导体,HPMicro)于年初在CES2025发布的新品——HPM6E8Y微控制器芯片,凭借其高性能、高集成度、小封装及简单易用等优势荣获“芯片创新奖”
    的头像 发表于 03-04 13:36 1197次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体<b class='flag-5'>HPM</b>6E8Y荣获芯片创新奖,彰显卓越产品力!

    半导体HPM_SDK v1.7.0发布!这些更新你值得关注!

    半导体HPM_SDK v1.7.0发布!这些更新你值得关注!
    的头像 发表于 02-08 13:42 1067次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体<b class='flag-5'>HPM</b>_SDK v1.7.0发布!这些更新你值得关注!

    半导体hpm_apps v1.7.0上线

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

    半导体HPM_SDK v1.8.0 发布

    半导体HPM_SDK v1.8.0 发布
    的头像 发表于 02-08 13:39 1032次阅读
    <b class='flag-5'>先</b><b class='flag-5'>楫</b>半导体<b class='flag-5'>HPM</b>_SDK v1.8.0 发布

    离线烧录器来啦!HPM OBOX发布

    亲爱的伙伴们,感谢大家的耐心等待!HPMOBOX离线烧录器正式发布啦!量产烧录终于可以摆脱上位机的束缚!离线OBOX在手,量产轻松搞定!HPMOBOX是半导体推出的,基于HPM5361MCU开发
    的头像 发表于 02-08 13:38 1283次阅读
    离线烧录器来啦!<b class='flag-5'>HPM</b> OBOX发布

    半导体发布高性能HPM6E8Y系列MCU

    近日,上海半导体科技有限公司,国内领先的高性能微控制器及嵌入式解决方案提供商,推出了专为机器人运动与控制设计的高性能MCU产品——HPM6E8Y系列。这一创新产品为当前蓬勃发展的机器人市场带来了全新的活力。
    的头像 发表于 01-23 15:40 1188次阅读

    半导体HPM OBOX 离线烧录器正式发布

    。 离线OBOX的推出,彻底改变了传统量产烧录需要依赖上位机的繁琐模式。它支持全系列MCU的离线烧录,无需再连接电脑或其他复杂设备,即可轻松完成量产任务。这一特性不仅大大简化了操作
    的头像 发表于 01-16 15:29 1096次阅读