RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

先楫hpm6000的SPI外設(shè)使用四線模式操作讀寫華邦flash

331062281 ? 來源:RCSN嵌入式 ? 2023-07-12 13:51 ? 次閱讀

一、概述

在操作相關(guān)flash器件的時候,需要先發(fā)指令再讀數(shù)據(jù),或者先發(fā)指令再發(fā)地址再發(fā)dummy再讀相關(guān)數(shù)據(jù)。而先楫的SPI控制器中,SPI傳輸包括了命令、地址和數(shù)據(jù)字段,提供了專用的寄存器來存儲這些字段,不需要開發(fā)者自行去填充。本文使用hpm6200evk開發(fā)板,flash器件是華邦的W25Q64JV。使用hpm_sdk進(jìn)行開發(fā)。

SPI四線模式,統(tǒng)稱也就QSPI。

本文是作者在使用先楫的SPI調(diào)試flash器件的心得,僅僅作為參考。

二、開發(fā)流程

(一)外設(shè)引腳初始化

需要初始化下SPI時鐘,由于SDK使用的是單線常規(guī)模式的SPI,所以引腳上我們還需要初始化IO2和IO3兩個引腳。

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

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

(二)SPI模式初始化

華邦的W25Q64JV使用的SPI模式是mode0或者mode3。這里使用mode0??梢允褂胹dk的api接口spi_format_init進(jìn)行初始化

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

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

(三)SPI頻率

先楫的SPI SCLK可以達(dá)到80M,這里由于是杜邦線接的flash模塊,波形會存在失真,使用該flash可以達(dá)到50M的QSPI速度。

使用SDK的spi_master_timing_init api接口進(jìn)行SPI頻率調(diào)整。

(四)指令操作(單線模式SPI操作)

1. 華邦相關(guān)flash都會有手冊,這里使用了SDK的spi_transfer api接口封裝了一個指令操作的API。下面根據(jù)這個api配合flash器件的手冊命令進(jìn)行說明。

比如使用90命令讀取制造商設(shè)備ID的時候,使用單線模式,需要先發(fā)指令,再發(fā)兩個dummy,之后就是讀取。

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

那么使用spi_transfer賦值以下結(jié)構(gòu)體

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

cmd_enable:使能命令段傳輸

addr_enable:使能地址段傳輸

addr_pahase_fmt:選擇是單線模式還是四線模式傳輸?shù)刂?/p>

trans_mode:選擇的傳輸模式,比如同時讀寫,僅寫,僅讀,寫讀,讀寫,寫填充讀,讀填充寫等

dmmy_cnt:填充的數(shù)量

依靠上述說明,可以使用單線模式,傳輸模式為填充再讀。填充數(shù)量為2

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

通過波形查看,是沒什么問題的。

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

從以下可知,單線模式收發(fā)指令是沒什么問題的。

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

(五)讀寫操作(四線模式QSPI操作)

這里舉例讀操作,讀操作有好幾條指令。這里舉例使用Fast Read Quad I/O指令,也就是EBh指令。這里需要先發(fā)指令,再發(fā)地址(地址使用四線模式),再發(fā)三個填充dummy,之后再讀。

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

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

擦除指令,可寫入指令跟以上類似,這里測試sector0的0頁地址。

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

對0頁的256字節(jié)進(jìn)行1到256賦值,然后再讀取,這時候會是0~255 0變化。查看波形可以知道,讀寫正常。

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

三、總結(jié)

先楫的spi外設(shè)支持常規(guī)單線SPI,雙線duad spi,四線quad spi。有著專用的操作flash的寄存器。極大方便開發(fā)相關(guān)flash器件。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177803
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1633

    瀏覽量

    147939
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91501
  • 先楫半導(dǎo)體
    +關(guān)注

    關(guān)注

    10

    文章

    214

    瀏覽量

    2102

原文標(biāo)題:開發(fā)者分享|先楫hpm6000的SPI外設(shè)使用四線模式操作讀寫華邦flash

文章出處:【微信號:HPMicro,微信公眾號:先楫半導(dǎo)體HPMicro】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    HPM5361EVK開發(fā)板試用體驗(yàn)】HPM5361EVK開發(fā)板初體驗(yàn)

    。 HPM5361EVK是基于HPM5300系列高性能RISC-V內(nèi)核MCU的一款開發(fā)板。支持雙精度浮點(diǎn)運(yùn)算及強(qiáng)大的DSP擴(kuò)展,主頻480MHz,內(nèi)置1 MB
    發(fā)表于 12-24 22:58

    半導(dǎo)體HPM6750EVKMINI評估板免費(fèi)試用

    國產(chǎn)高性能MCU來啦,本次給大家?guī)?b class='flag-5'>先HPM6000系列旗艦產(chǎn)品HPM6750,它采用雙RISC-V內(nèi)核,主頻高達(dá)816MHz,創(chuàng)下了高達(dá)9220 CoreMark?和 4651
    發(fā)表于 04-12 10:40

    半導(dǎo)體HPM6700系列正式合入OpenHarmony社區(qū)主干

    ,面向高性能電機(jī)控制和數(shù)字電源的運(yùn)動控制系統(tǒng),以及信息安全模塊如實(shí)時加解密和安全啟動。采用開源RISC-V,開源RTOS,擁有架構(gòu)和外設(shè)的自主產(chǎn)權(quán)。自上市以來,HPM6750就因高
    發(fā)表于 11-11 10:03

    hpm6000SPI外設(shè)使四線模式操作讀寫flash

    這些字段,不需要開發(fā)者自行去填充。本文使用hpm6200evk開發(fā)板,flash器件是的W25Q64JV。使用hpm_sdk進(jìn)行開發(fā)。
    發(fā)表于 06-28 20:01

    HPM6000系列雙核MCU怎么玩?

    核產(chǎn)品,集成 2 個 RISC-V 處理器,其中HPM6700系列兩個核的最高主頻都可以達(dá)到816MHz。本文通過對HPM6000系列雙核的使用方法、工程編譯與調(diào)試、雙核通信方式和
    的頭像 發(fā)表于 05-10 14:25 ?1661次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列雙核MCU怎么玩?

    如何玩轉(zhuǎn)HPM6000系列雙核MCU?

    本文通過對HPM6000系列雙核的使用方法、工程編譯與調(diào)試、雙核通信方式和資源分配等內(nèi)容的介紹,全方位給大家介紹雙核的使用和操作,讓大家輕松玩轉(zhuǎn)雙核,完成更多的片上系統(tǒng)功能開發(fā)。
    發(fā)表于 05-10 14:25 ?828次閱讀
    如何玩轉(zhuǎn)<b class='flag-5'>HPM6000</b>系列雙核MCU?

    HPM6000系列MCU雙核的通信方式和資源分配

    在《玩轉(zhuǎn)MCU雙核(上)》文章里,我們給大家介紹了HPM6000系列雙核的特性、使用方法以及工程編譯與調(diào)試。本文緊接上篇內(nèi)容,給大家詳細(xì)闡述雙核的通信方式、資源分配以及雙核應(yīng)用eRPC架構(gòu)。如果大家在練手過程中,有其他的建議
    的頭像 發(fā)表于 05-14 09:58 ?3583次閱讀
    <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列MCU雙核的通信方式和資源分配

    HPM6000系列微控制器 CMSIS DAP調(diào)試器使用指南

    在上海提供的HPM系列MCU評估套件上,多數(shù)集成了基于FTDI的FT2232芯片的板載調(diào)試器,方便了開發(fā)人員直接調(diào)試并評估HPM6000系列產(chǎn)品。當(dāng)用戶開始基于
    的頭像 發(fā)表于 06-19 17:02 ?3862次閱讀
    <b class='flag-5'>HPM6000</b>系列微控制器 CMSIS DAP調(diào)試器使用指南

    HPM6000系列微控制器的BOOT 模式的說明以及相應(yīng)的外部電路設(shè)計(jì)建議

    1.簡介HPM6000系列MCU目前提供了不同的啟動方式,方便客戶在研發(fā)生產(chǎn)等不同階段使用。本文提供了HPM6000系列微控制器的BOOT模式的說明以及相應(yīng)的外部電路設(shè)計(jì)建議。2.BOOT模式
    的頭像 發(fā)表于 07-21 15:15 ?1691次閱讀
    <b class='flag-5'>HPM6000</b>系列微控制器的BOOT <b class='flag-5'>模式</b>的說明以及相應(yīng)的外部電路設(shè)計(jì)建議

    應(yīng)用貼士 | HPM6000系列 Security Flash介紹

    本期介紹的是HPM6000系列中securityflash方面內(nèi)容。希望可以幫助用戶了解為了用戶信息安全方面所做的設(shè)計(jì)。SecurityFlash模塊概述首先進(jìn)行一些名詞解釋:在線執(zhí)行
    的頭像 發(fā)表于 09-29 10:48 ?1061次閱讀
    應(yīng)用貼士 | <b class='flag-5'>HPM6000</b>系列 Security <b class='flag-5'>Flash</b>介紹

    玩轉(zhuǎn)MCU雙核(上) HPM6000系列雙核怎么玩?答案超乎你想象!

    核產(chǎn)品,集成2個RISC-V處理器,其中HPM6700系列兩個核的最高主頻都可以達(dá)到816MHz。本文通過對HPM6000系列雙核的使用方法、工程編譯與調(diào)試、
    的頭像 發(fā)表于 05-12 10:08 ?3206次閱讀
    玩轉(zhuǎn)MCU雙核(上) <b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列雙核怎么玩?答案超乎你想象!

    玩轉(zhuǎn)HPM6000系列雙核(下)

    在《玩轉(zhuǎn)MCU雙核(上)》文章里,我們給大家介紹了HPM6000系列雙核的特性、使用方法以及工程編譯與調(diào)試。本文緊接上篇內(nèi)容,給大家詳細(xì)闡述雙核的通信方式、資源分配以及雙核應(yīng)用eRPC架構(gòu)。如果
    的頭像 發(fā)表于 05-15 10:22 ?1355次閱讀
    玩轉(zhuǎn)<b class='flag-5'>先</b><b class='flag-5'>楫</b><b class='flag-5'>HPM6000</b>系列雙核(下)

    基于SPI配合DMA實(shí)現(xiàn)理論速度性能

    在《hpm6000SPI外設(shè)使四線模式
    的頭像 發(fā)表于 07-21 10:17 ?4706次閱讀
    基于<b class='flag-5'>SPI</b>配合DMA實(shí)現(xiàn)理論速度性能

    細(xì)說SPI主機(jī)發(fā)送性能最大化實(shí)現(xiàn)方案

    一、背景在《hpm6000SPI外設(shè)使四線模式
    的頭像 發(fā)表于 07-31 23:03 ?3363次閱讀
    細(xì)說<b class='flag-5'>SPI</b>主機(jī)發(fā)送性能最大化實(shí)現(xiàn)方案

    hpm6000SPI外設(shè)使四線模式操作讀寫flash

    這些字段,不需要開發(fā)者自行去填充。本文使用hpm6200evk開發(fā)板,flash器件是的W25Q64JV。使用hpm_sdk進(jìn)行開發(fā)。
    的頭像 發(fā)表于 07-31 23:03 ?1240次閱讀
    <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'>外設(shè)使</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>
    RM新时代网站-首页