【经验】先楫hpm6000的SPI外设使用四线模式操作读写华邦flash的教程
在操作相关flash器件的时候,需要先发指令再读数据,或者先发指令再发地址再发dummy再读相关数据。而先楫的SPI控制器中,SPI传输包括了命令、地址和数据字段,提供了专用的寄存器来存储这些字段,不需要开发者自行去填充。本文使用hpm6200evk开发板,flash器件是华邦的W25Q64JV。使用hpm_sdk进行开发。SPI四线模式,统称也就QSPI。本文是作者在使用先楫的SPI调试flash器件的心得,仅仅作为参考。
一、开发流程
(一)外设引脚初始化
需要初始化下SPI时钟,由于SDK使用的是单线常规模式的SPI,所以引脚上我们还需要初始化IO2和IO3两个引脚。
(二)SPI模式初始化
华邦的W25Q64JV使用的SPI模式是mode0或者mode3。这里使用mode0。可以使用sdk的api接口spi_format_init进行初始化
(三)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,之后就是读取。
那么使用spi_transfer赋值以下结构体
cmd_enable:使能命令段传输
addr_enable:使能地址段传输
addr_pahase_fmt:选择是单线模式还是四线模式传输地址
trans_mode:选择的传输模式,比如同时读写,仅写,仅读,写读,读写,写填充读,读填充写等
dmmy_cnt:填充的数量
依靠上述说明,可以使用单线模式,传输模式为填充再读。填充数量为2
通过波形查看,是没什么问题的。
从以下可知,单线模式收发指令是没什么问题的。
(五)读写操作(四线模式QSPI操作)
这里举例读操作,读操作有好几条指令。这里举例使用Fast Read Quad I/O指令,也就是EBh指令。这里需要先发指令,再发地址(地址使用四线模式),再发三个填充dummy,之后再读。
擦除指令,可写入指令跟以上类似,这里测试sector0的0页地址。
对0页的256字节进行1到256赋值,然后再读取,这时候会是0~255 0变化。查看波形可以知道,读写正常。
二、总结
先楫的spi外设支持常规单线single spi,双线dual spi,四线quad spi。有着专用的操作flash的寄存器。极大方便开发相关flash器件。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由咪猫转载自先楫半导体HPMicro公众号,原文标题为:开发者分享|先楫hpm6000的SPI外设使用四线模式操作读写华邦flash,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
先楫半导体HPM 16 位ADC+ENET开发案例:以2MSPS进行采样,通过ENET LWIP TCP方式发送到上位机
本文以先楫半导体 HPM6300 开发板为例介绍以 2MSPS 采样率进行 16 位 ADC 采样并将采样数据通过 ENET LWIP TCP 的方式发送到上位机的应用,ADC 采样使用抢占转换模式、PWM 触发的方式,ENET LWIP TCP 每次发送 1024 个 16 位采样数据。在HPM6300EVK 上进行测试验证,验证结果表明该方案是可行的。
【经验】先楫HPM6000系列双核MCU的使用和操作方法
本文通过对先楫半导体HPM6000系列双核MCU的使用方法、工程编译与调试、双核通信方式和资源分配等内容的介绍,全方位给大家介绍双核的使用和操作,让大家轻松玩转双核,完成更多的片上系统功能开发。
先楫半导体HPM APPS v1.7.0上线啦!
先楫半导体发布了HPM APPS v1.7.0,包含多项更新和新功能,如HPM双网口环网通信方案、Ethercat主站应用方案、I2S DMA CHAIN应用方案、hpm_monitor服务、SPI控制器操作Nor flash应用案例等。这些更新旨在提升微控制器性能,简化开发过程,并加速程序开发。
先楫半导体(HPMicro)HPM6000家族MCU选型指南
目录- HPM6000家族MCU
型号- HPM6320IEP,HPM6454IAN,HPM6754IAN,HPM6450,HPM6750IAN,HPM6350,HPM6754IVM,HPM6300系列,HPM6450IAN,HPM6454IVM,HPM6320IPA,HPM6750IVM,HPM6000家族,HPM6360IPA,HPM6360IEP,HPM6364IPA,HPM6430IVM,HPM6300,HPM6400,HPM6320,HPM6364,HPM6364IEP,HPM6700,HPM6430IAN,HPM6350IPA,HPM6340,HPM6000,HPM6340IEP,HPM6360,HPM6730IAN,HPM6730IVM,HPM6350IEP,HPM6340IPA,HPM6700系列,HPM6450IVM,HPM6454,HPM6730,HPM6400系列,HPM6430,HPM6750,HPM6754
HPM6000 系列 MCU Flash 使用指南(一)------如何使用片内 Flash
描述- 本文档为HPM6000系列微控制器中支持4MB片内闪存的型号提供了使用指南,包括硬件和软件开发注意事项。指南详细介绍了如何使用片内Flash,以及与其他型号产品的异同,并提供了开发时需要注意的具体步骤,如创建新板目录、修改openocd脚本文件、调整board.c文件和yaml配置文件等。此外,还强调了使用片内闪存的优势,如节省开发调试成本和缩小PCB面积。
型号- HPM6400 系列,HPM6000,HPM6264,HPM6360,HPM6284,HPM6200 系列,HPM6700 系列,HPM6000 系列,HPM6300,HPM6454,HPM6400,HPM6364,HPM6200,HPM6700,HPM6300 系列,HPM6754
伺服电机、无刷电机选型要素解析,高性能RISC-V电机驱动芯片、方案介绍
作为国内领先的高性能MCU研发企业,先楫半导体芯片产品可应用于工业自动化中的编码器和伺服驱动器领域,先楫HPM6000系列采用全新的RISC-V芯片系统架构定义、全新CPU内核、大量自主创新的IP设计,以及完整的配套生态,打造出高性能的国产MCU系列,客户可以在不必增加成本和功耗的前提下,满足更高效的工业控制,更丰富的显示功能和更强大的数据处理要求。
【经验】先楫hpm6000使用SPI接口配合DMA实现40MB/S理论速度性能应用指南
在《 【经验】先楫hpm6000的SPI外设使用四线模式操作读写华邦flash的教程 》 一文中介绍了先楫SPI外设是为flash器件而生的控制器,但是在该篇文章读写flash的页是用的poll轮询读写spi fifo的接口,并没用DMA来进行加速优化。本篇就是基于SPI配合DMA实现理论速度性能。
先楫hpm6000系列产品Linux环境是否可以自动生成工程?
3、本地化生成的工程,如果取消本地化需要先删除工程所在目录的CMakeLists.txt.unlocalized.bak文件。 ninja localize_sdk -C ~/workspace/HPM6000/User_proj/samples/hello_world/hpm6750evk_flash_sdram_xip_debug #ninja unlocalize_sdk -C ~/workspace/HPM6000/User_proj/samples/hello_world/hpm6750evk_flash_sdram_xip_debug 4、通过GCC直接编译工程,输出文件在Output文件夹查找。 ninja -C ~/workspace/HPM6000/User_proj/samples/hello_world/hpm6750evk_flash_sdram_xip_debug
【IC】工业芯标杆!先楫HPM6E00国内首款拥有德国倍福公司正式授权EtherCAT从站控制器的高性能MCU
上海先楫半导体科技有限公司(HPMicro)官宣将于2024年6月27日,线上直播国内首款拥有德国倍福公司(Beckhoff)正式授权EtherCAT从站控制器(ESC, EtherCAT Slave Controller) 的高性能MCU产品——HPM6E00系列新品全面上市!
【经验】如何使用先楫半导体MCU HPM6000系列的UART模块?
先楫半导体高性能MCU产品HPM6000家族以开源的RISC-V架构为核心,性能达到世界领先水平,做到全部自主可控,同时扩展性、兼容性、可靠性和通用性非常强。为了新开发者快速创建属于自己的项目,本文将展示在使用初期遇到的PWM问题。
先楫HPM6000系列高性能MCU在Linux环境下自动生成SDK本地化工程
本文介绍先楫半导体HPM6000系列高性能MCU在Linux环境下自动生成SDK本地化工程,SDK下载地址可通过世强FAE获取并提供技术支持。工程支持世强整合的SekormStudio(eclipse+GCC)以及第三方Segger Studio集成开发环境。
上海先楫半导体:国产领先高性能通用MCU厂商
描述- 先楫半导体,位于上海张江高科技园,专注于高性能MCU产品研发。公司产品包括HPM6700/6400、HPM6300、HPM6200和HPM6800系列,覆盖单双核、不同主频和闪存容量。产品特性包括图形加速、DSP、双千兆以太网等,对标国际知名品牌。先楫提供配套开发工具和生态系统,支持RISC-V架构,具备高集成度、低功耗、安全可靠等特点。公司通过ISO 9001和AEC-Q100认证,与台积电、中芯国际等合作,产能充足。
型号- HPM9000,HPM6450,HPM6250,HPM688A,HPM5000 SERIES,HPM8000 SERIES,HPM6400,HPM6364,HPM6320,HPM6200,HPM6800,HPM6260,HPM6340,HPM6220,HPM8000,HPM6000 SERIES,HPM64 系列,HPM9000 SERIES,HPM6410,HPM6730,HPM6400系列,HPM6254,HPM5000,HPM3000 SERIES,HPM7000,HPM6350,HPM6300系列,HPM6200系列,HPM63 系列,HPM6300,HPM67 系列,HPM67,HPM6420,HPM6700,HPM63,HPM64,HPM6280,HPM6880,HPM6000,HPM6360,HPM6284,HPM6700 系列,HPM6700系列,HPM6430,HPM6750,HPM3000,HPM7000 SERIES,HPM6800系列,HPM6754
【经验】如何解决MCU HPM6000系列使用初期遇到的PWM问题?
先楫半导体高性能MCU产品HPM6000家族以开源的RISC-V架构为核心,性能达到世界领先水平,做到全部自主可控,同时扩展性、兼容性、可靠性和通用性非常强。为了新开发者快速创建属于自己的项目,本文将展示在使用初期遇到的PWM问题。
电子商城
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
可来图定制均温板VC尺寸50*50mm~600*600 mm,厚度1mm~10mm,最薄0.3mm。当量导热系数可达10000W/M·K,散热量可达10KW, 功率密度可达50W/cm²。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论