日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

淺談SPI詳解及SPI接口flash應(yīng)用案例

ss ? 作者:工程師譚軍 ? 2018-10-07 11:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SPI Flash
首先它是個Flash,F(xiàn)lash是什么東西就不多說了(非易失性存儲介質(zhì)),分為NOR和NAND兩種(NOR和NAND的區(qū)別本篇不做介紹)。SPI一種通信接口。那么嚴格的來說SPI Flash是一種使用SPI通信的Flash,即,可能指NOR也可能是NAND。但現(xiàn)在大部分情況默認下人們說的SPI Flash指的是SPI NorFlash。早期Norflash的接口是parallel的形式,即把數(shù)據(jù)線和地址線并排與IC的管腳連接。但是后來發(fā)現(xiàn)不同容量的Norflash不能硬件上兼容(數(shù)據(jù)線和地址線的數(shù)量不一樣),并且封裝比較大,占用了較大的PCB板位置,所以后來逐漸被SPI(串行接口)Norflash所取代。同時不同容量的SPI Norflash管腳也兼容封裝也更小。,至于現(xiàn)在很多人說起NOR flash直接都以SPI flash來代稱。
NorFlash根據(jù)數(shù)據(jù)傳輸?shù)奈粩?shù)可以分為并行(Parallel,即地址線和數(shù)據(jù)線直接和處理器相連)NorFlash和串行(SPI,即通過SPI接口和處理器相連)NorFlash;區(qū)別主要就是:1、SPI NorFlash每次傳輸一bit位的數(shù)據(jù),parallel連接的NorFlash每次傳輸多個bit位的數(shù)據(jù)(有x8和x16bit兩種); 2、SPI NorFlash比parallel便宜,接口簡單點,但速度慢。
NandFlash是地址數(shù)據(jù)線復用的方式,接口標準統(tǒng)一(x8bit和x16bit),所以不同容量再兼容性上基本沒什么問題。但是目前對產(chǎn)品的需求越來越小型化以及成本要求也越來越高,所以SPI NandFlash漸漸成為主流,并且采用SPI NANDFlash方案,主控也可以不需要傳統(tǒng)NAND控制器,只需要有SPI接口接口操作訪問,從而降低成本。另外SPI NandFlash封裝比傳統(tǒng)的封裝也小很多,故節(jié)省了PCB板的空間。
怎么用說白了對于Flash就是讀寫擦,也就是實現(xiàn)flash的驅(qū)動。先簡單了解下spi flash的物理連接。
之前介紹SPI的時候說過,SPI接口目前的使用是多種方式(具體指的是物理連線有幾種方式),Dual SPI、Qual SPI和標準的SPI接口(這種方式肯定不會出現(xiàn)在連接外設(shè)是SPI Flash上,這玩意沒必要全雙工),對于SPI Flash來說,主要就是Dual和Qual這兩種方式。具體項目具體看了,理論上在CLK一定的情況下, 線數(shù)越多訪問速度也越快。我們項目采用的Dual SPI方式,即兩線。
淺談SPI詳解及SPI接口flash應(yīng)用案例

一、技術(shù)性能

SPI接口是Motorola 首先提出的全雙工三線同步串行外圍接口,采用主從模式(Master Slave)架構(gòu);支持多slave模式應(yīng)用,一般僅支持單Master。時鐘由Master控制,在時鐘移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后(MSB first);SPI接口有2根單向數(shù)據(jù)線,為全雙工通信,目前應(yīng)用中的數(shù)據(jù)速率可達幾Mbps的水平??偩€結(jié)構(gòu)如下圖所示。

二、接口定義

SPI接口共有4根信號線,分別是:設(shè)備選擇線、時鐘線、串行輸出數(shù)據(jù)線、串行輸入數(shù)據(jù)線。

(1)MOSI:主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入

(2)MISO:主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出

(3)SCLK :時鐘信號,由主器件產(chǎn)生

(4)/SS:從器件使能信號,由主器件控制

三、內(nèi)部結(jié)構(gòu)

四、 時鐘極性和時鐘相位

在SPI操作中,最重要的兩項設(shè)置就是時鐘極性(CPOL或UCCKPL)和時鐘相位(CPHA或UCCKPH)。時鐘極性設(shè)置時鐘空閑時的電平,時鐘相位設(shè)置讀取數(shù)據(jù)和發(fā)送數(shù)據(jù)的時鐘沿。

主機和從機的發(fā)送數(shù)據(jù)是同時完成的,兩者的接收數(shù)據(jù)也是同時完成的。所以為了保證主從機正確通信,應(yīng)使得它們的SPI具有相同的時鐘極性和時鐘相位。

SPI接口時鐘配置心得:在主設(shè)備這邊配置SPI接口時鐘的時候一定要弄清楚從設(shè)備的時鐘要求,因為主設(shè)備這邊的時鐘極性和相位都是以從設(shè)備為基準的。因此在時鐘極性的配置上一定要搞清楚從設(shè)備是在時鐘的上升沿還是下降沿接收數(shù)據(jù),是在時鐘的下降沿還是上升沿輸出數(shù)據(jù)。

五、傳輸時序

SPI接口在內(nèi)部硬件實際上是兩個簡單的移位寄存器,傳輸?shù)臄?shù)據(jù)為8位,在主器件產(chǎn)生的從器件使能信號和移位脈沖下,按位傳輸,高位在前,低位在后。如下圖所示,在SCLK的下降沿上數(shù)據(jù)改變,上升沿一位數(shù)據(jù)被存入移位寄存器。

六、數(shù)據(jù)傳輸

在一個SPI時鐘周期內(nèi),會完成如下操作:

1) 主機通過MOSI線發(fā)送1位數(shù)據(jù),從機通過該線讀取這1位數(shù)據(jù);

2) 從機通過MISO線發(fā)送1位數(shù)據(jù),主機通過該線讀取這1位數(shù)據(jù)。

這是通過移位寄存器來實現(xiàn)的。如下圖所示,主機和從機各有一個移位寄存器,且二者連接成環(huán)。隨著時鐘脈沖,數(shù)據(jù)按照從高位到低位的方式依次移出主機寄存器和從機寄存器,并且依次移入從機寄存器和主機寄存器。當寄存器中的內(nèi)容全部移出時,相當于完成了兩個寄存器內(nèi)容的交換。

七、優(yōu)缺點

SPI接口具有如下優(yōu)點:

1) 支持全雙工操作;

2) 操作簡單;

3) 數(shù)據(jù)傳輸速率較高。

同時,它也具有如下缺點:

1) 需要占用主機較多的口線(每個從機都需要一根片選線);

2) 只支持單個主機。

3) 沒有指定的流控制,沒有應(yīng)答機制確認是否接收到數(shù)據(jù)。

二、典型案例:

舉的是一個已穩(wěn)定使用的spi接口flash設(shè)備的例子,spi控制器是一個CPU上的外圍SOC,下圖是該spi控制器的寄存器手冊:

寄存器300-307是用于主機發(fā)送數(shù)據(jù),308-30f為主機接收數(shù)據(jù),

寄存器310用于設(shè)置spi時鐘頻率(用于設(shè)置分頻),

寄存器311用于指定發(fā)送的長度,

寄存器312為控制寄存器,包括中斷使能(實際使用中未使能)、傳輸寄存器序(MSB/LSB,一般選先傳輸高位寄存器的內(nèi)容)、上升沿還是下降沿更新數(shù)據(jù)(一般選下降沿)、是否自動片選(一般不使用自動片選,而是由寄存器313指定)等,

寄存器313為片選寄存器,指定片選哪一個spi從設(shè)備,

寄存器314為閑忙寄存器,用于查詢是否忙,以及控制啟動傳輸。

如下的代碼片段,指示了怎么操作spi控制器寄存器:

SPI_ADDR為spi控制器寄存器基址,代碼中由變量p_spi對應(yīng),并設(shè)置相關(guān)寄存器的值,包括控制寄存器312、時鐘頻率寄存器310、發(fā)送長度寄存器311(值為0x10即16,意為16bit即兩字節(jié),發(fā)送內(nèi)容為0x0500確實為兩字節(jié))、發(fā)送內(nèi)容寄存器300、片選寄存器313、最后設(shè)置啟動發(fā)送(閑忙寄存器314),全部完成后,等待閑忙寄存器314指示狀態(tài)為閑時,說明已收到回復,進而讀取接收寄存器308獲取結(jié)果。

事實上可以發(fā)現(xiàn),在有spi控制器時,也就是說無需用gpio模擬spi時序時,僅需操作spi控制器寄存器,屏蔽了很多spi物理協(xié)議細節(jié)。


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

    關(guān)注

    10

    文章

    1761

    瀏覽量

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

    關(guān)注

    17

    文章

    1900

    瀏覽量

    102214
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    SPI接口原理詳解

    SPI:Serial Peripheral Interface,是串行外設(shè)接口
    發(fā)表于 09-30 15:02 ?3279次閱讀

    SPI方式FPGA配置和SPI flash編程

    SPI方式FPGA配置和SPI flash編程
    發(fā)表于 05-16 18:01 ?166次下載
    <b class='flag-5'>SPI</b>方式FPGA配置和<b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>編程

    基于紅牛開發(fā)板的spi flash讀寫圖片

    SPI:serial peripheral interface串行外圍設(shè)備接口是一種常見的時鐘同步串行通信接口。外置flash接口分有總線
    發(fā)表于 09-01 17:16 ?16次下載
    基于紅牛開發(fā)板的<b class='flag-5'>spi</b> <b class='flag-5'>flash</b>讀寫圖片

    SPI flash是什么,關(guān)于SPI FLASH的讀寫問題

    SPI一種通信接口。那么嚴格的來說SPI Flash是一種使用SPI通信的Flash,即,可能指
    的頭像 發(fā)表于 09-18 14:38 ?10.6w次閱讀
    <b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>是什么,關(guān)于<b class='flag-5'>SPI</b> <b class='flag-5'>FLASH</b>的讀寫問題

    SPI flash如何運行程序,SPI flash有哪些應(yīng)用

    SPI一種通信接口。那么嚴格的來說SPI Flash是一種使用SPI通信的Flash,即,可能指
    的頭像 發(fā)表于 09-19 10:54 ?2w次閱讀
    <b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>如何運行程序,<b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>有哪些應(yīng)用

    淺談STM32之SPI_FLASH之應(yīng)用實例

    SPI Flash 首先它是個FlashFlash是什么東西就不多說了(非易失性存儲介質(zhì)),分為NOR和NAND兩種(NOR和NAND的區(qū)別本篇不做介紹)。
    的頭像 發(fā)表于 10-07 11:29 ?9067次閱讀

    淺析FLASH讀寫----SPI原理及應(yīng)用

    SPI一種通信接口。那么嚴格的來說SPI Flash是一種使用SPI通信的Flash,即,可能指
    的頭像 發(fā)表于 10-07 11:32 ?2.6w次閱讀
    淺析<b class='flag-5'>FLASH</b>讀寫----<b class='flag-5'>SPI</b>原理及應(yīng)用

    STM32_ SPI讀寫Flash

    STM32_SPI讀寫Flash
    的頭像 發(fā)表于 04-08 10:26 ?7080次閱讀
    STM32_ <b class='flag-5'>SPI</b>讀寫<b class='flag-5'>Flash</b>

    SPI協(xié)議詳解

    處理器上定義的。SPI接口主要應(yīng)用在 EEPROM,FLASH,實時時鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器...
    發(fā)表于 11-29 12:06 ?18次下載
    <b class='flag-5'>SPI</b>協(xié)議<b class='flag-5'>詳解</b>

    SPI Nand Flash簡介

    1.SPI Nand Flash簡介SPI Nand Flash顧名思義就是串行接口的Nand Flas
    發(fā)表于 12-02 10:51 ?35次下載
    <b class='flag-5'>SPI</b> Nand <b class='flag-5'>Flash</b>簡介

    [SPI].SPI協(xié)議詳解

    接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應(yīng)用在 EEPROM,FLASH,實時時鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。
    發(fā)表于 12-22 19:19 ?47次下載
    [<b class='flag-5'>SPI</b>].<b class='flag-5'>SPI</b>協(xié)議<b class='flag-5'>詳解</b>

    STM32學習筆記--SPI

    FLASH1.SPI.C2.SPI_Flash_Read 函數(shù)3.SPI_Flash_Write 函數(shù)4.MAIN.C參考資料:一、SPI簡介 ? SPI 是 Serial Perip
    發(fā)表于 12-22 19:24 ?14次下載
    STM32學習筆記--<b class='flag-5'>SPI</b>

    SPI NOR FLASH是什么,與SPI NAND Flash的區(qū)別

    SPI NOR FLASH是什么? ? SPI NOR FLASH是一種非易失性存儲器,它通過串行接口進行數(shù)據(jù)傳輸,具有讀寫速度快、可靠性高
    的頭像 發(fā)表于 08-21 09:26 ?1908次閱讀

    國產(chǎn)SPI NOR Flash接口閃存介紹

    在當今各類電子設(shè)備對存儲性能要求日益提升的背景下,SPI NOR Flash憑借其高速讀取、低功耗及靈活接口等優(yōu)勢,成為嵌入式系統(tǒng)代碼存儲的關(guān)鍵元件。GT25Q系列SPI NOR
    的頭像 發(fā)表于 12-26 11:51 ?691次閱讀

    SPI NOR FlashSPI NAND Flash存儲芯片的區(qū)別

    SPI NOR FlashSPI NAND Flash并非相互替代,而是互補關(guān)系。SPI NOR勝在讀取速度快、使用簡單、可靠性高,是代碼
    的頭像 發(fā)表于 01-29 16:58 ?935次閱讀
    <b class='flag-5'>SPI</b> NOR <b class='flag-5'>Flash</b>和<b class='flag-5'>SPI</b> NAND <b class='flag-5'>Flash</b>存儲芯片的區(qū)別
    美姑县| 崇阳县| 梧州市| 西充县| 子洲县| 丹凤县| 北流市| 永平县| 大邑县| 舞阳县| 宝兴县| 信丰县| 浦城县| 瑞安市| 铁力市| 肇源县| 景泰县| 鹿泉市| 安平县| 泾阳县| 宜春市| 绥化市| 中超| 根河市| 双柏县| 芦溪县| 夏津县| 麟游县| 盈江县| 读书| 鹿邑县| 芦溪县| 民权县| 繁昌县| 商丘市| 虹口区| 乌兰察布市| 洛阳市| 大连市| 西藏| 甘德县|