国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SPI總線FLASH時序控制的FPGA實現(xiàn)

2016-06-29 03:10:41薛宏亮合肥工業(yè)大學儀器科學與光電工程學院安徽合肥230009
電子制作 2016年8期
關(guān)鍵詞:存儲器時序命令

薛宏亮 合肥工業(yè)大學儀器科學與光電工程學院 安徽合肥 230009

?

基于SPI總線FLASH時序控制的FPGA實現(xiàn)

薛宏亮 合肥工業(yè)大學儀器科學與光電工程學院 安徽合肥 230009

【文章摘要】

FLASH存儲器又稱為閃存,它集合了RAM和ROM的長處,不僅可以快速地讀寫數(shù)據(jù),又可以使數(shù)據(jù)在掉電時不會丟失。所以,近年來,F(xiàn)LASH存儲器在嵌入式系統(tǒng)中扮演著越來越重要的角色,而以FPGA作為控制核心的FLASH存儲系統(tǒng)也受到了越來越廣泛地應(yīng)用。本文介紹了一種SPI接口FLASH時序控制器的設(shè)計過程,并用Verilog硬件描述語言實現(xiàn)整個時序控制功能,將其嵌入到FPGA的設(shè)計之中。在Modelsim中對設(shè)計進行仿真驗證,結(jié)果正確可靠,具有普遍的適用性。

【關(guān)鍵詞】

SPI總線FLASH ;時序控制;FPGA

圖1 FLASH數(shù)據(jù)讀取時序圖

圖2 頁編程命令時序圖

圖3 FLASH讀寫模塊框圖

圖4 FLASH控制時序仿真

0 引言

FLASH存儲器作為一類新型存儲器,因具有功耗低、速度快、容量大、成本低和非易失性等優(yōu)點在各種嵌入式系統(tǒng)中得到越來越廣泛地應(yīng)用。隨著技術(shù)的發(fā)展和需求的提高,數(shù)據(jù)的處理日益向著高速化的趨勢發(fā)展,此時,通過普通的處理器來讀取FLASH中的數(shù)據(jù)已經(jīng)達不到要求。而利用FPGA控制FLASH存儲器的讀取可以達到較高的處理速度,所以在高速數(shù)據(jù)處理領(lǐng)域,利用FPGA實現(xiàn)FLASH存儲系統(tǒng)控制的工程應(yīng)用相當廣泛。本文以winbond公司的SPI接口FLAH芯片W25Q128BV和Altera公司的Cyclone系列FPGA芯片EP4CE6F17C8為例,用Verilog硬件描述語言實現(xiàn)了以SPI總線協(xié)議為基礎(chǔ)的FLASH讀取控制時序,實現(xiàn)了FPGA和FLASH存儲器的接口操作。

1 SPI總線協(xié)議和W25Q128BV芯片介紹

1.1SPI總線協(xié)議

SPI(Serial Peripheral Interface)是一種高速的、全雙工、同步的通信總線。由于其在芯片管腳上只占用4根線,節(jié)約了管腳資源的同時也為PCB布局節(jié)省了空間,因而越來越多的芯片集成了這種通信協(xié)議。

SPI的通信原理簡單,它以主從模式工作,通常需要一個主設(shè)備和一個或者多個從設(shè)備,需要至少4根線,分別是SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCLK(時鐘)、CS(片選)。其中SDI用于主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;SDO用于主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;SCLK為時鐘信號,必須由主設(shè)備提供;CS為從設(shè)備使能信號,由主設(shè)備控制。SPI是串行通信協(xié)議,SDI和SDO 與SCLK同步,是基于SCLK提供的時鐘脈沖完成數(shù)據(jù)的逐位傳輸。

1.2W25Q128BV芯片介紹

W25Q128BV是winbond公司開發(fā)的128Mbit SPI接口的串行FLASH存儲芯片,由于它所需引腳少,功耗低,所以通常作為空間、引腳和功耗有限的系統(tǒng)的存儲設(shè)備。它的存儲陣列由65536頁可編程的頁組成,每頁為256字節(jié)的存儲空間,它可以一次性被編程。W25Q128BV有4096個可擦除選擇器,每個選擇器可以選擇16頁為一組進行擦除;或者是256個可擦除塊,每塊為64KB。

W25Q128BV不僅支持標準的串行外設(shè)接口,而且還支持更高性能的雙向或者四向的輸出。標準的接口時鐘可以高達104MHz。本文介紹標準SPI接口模式的FLASH讀取時序的控制。

2 FLASH控制模塊設(shè)計

FPGA對FLASH的控制都是通過命令的方式進行的,不管是讀、寫、擦除或者其他操作,首先在第一個字節(jié)要對W25Q128BV寫入命令號。根據(jù)命令格式的不同,再寫入地址和數(shù)據(jù);或者讀取數(shù)據(jù)。但是,無論是命令的寫入,還是數(shù)據(jù)和地址的寫入,亦或是數(shù)據(jù)的讀取都是按照SPI總線協(xié)議進行的。

2.1FLASH讀寫時序分析

FLASH讀取數(shù)據(jù)命令允許從存儲單元中依次讀取一個或者多個字節(jié)的數(shù)據(jù)。該命令需要先發(fā)送命令字03,再發(fā)送24位地址,然后接受數(shù)據(jù)。命令字和地址在時鐘的上升沿被FLASH鎖存,當?shù)刂繁唤邮蘸螅瑢?yīng)的存儲單元中的數(shù)據(jù)在時鐘的下降沿出現(xiàn)在DO引腳。數(shù)據(jù)讀取命令的時序圖如圖1所示。

FLASH寫入數(shù)據(jù)必須先發(fā)送寫使能命令字(06),再發(fā)送頁編程命令(02)。頁編程命令之后需跟隨24位地址,然后寫入256個編程數(shù)據(jù)。數(shù)據(jù)都在時鐘的上升沿采樣。也頁編程命令時序圖如圖2所示。

2.2FLASH讀寫模塊設(shè)計

為了實現(xiàn)FLASH讀寫控制,必須嚴格按照FLASH讀寫時序進行設(shè)計。本次設(shè)計的讀寫模塊主要由Spi_Control和Flash_Control兩個子模塊組成。其中Spi_Control模塊主要完成SPI接口時序的產(chǎn)生和命令的譯碼;Flash_Control模塊則主要實現(xiàn)命令的控制。

3 FLASH讀寫時序仿真

為了驗證FLASH控制時序的正確性,將Verilog HDL代碼在Modelsim SE10.0c軟件中進行仿真。由于FLASH讀取需要連接硬件,且其基本時序與FLASH寫入時序類似,故本次設(shè)計僅進行FLASH寫入時序仿真。本設(shè)計仿真向地址為10的FLASH存儲單元寫入一個字節(jié)的數(shù)據(jù)0xF5,對應(yīng)的波形仿真圖如圖4所示。

4 總結(jié)

FLASH存儲器因其優(yōu)異的性能在嵌入式存儲系統(tǒng)中得到越來越廣泛的應(yīng)用。本設(shè)計以FPGA為主控芯片,采用Verilog HDL模塊化設(shè)計方法,完成了基于SPI接口的FLASH存儲芯片的讀寫控制設(shè)計,詳細地介紹了FLASH控制時序及其模塊化設(shè)計流程,最后完成了控制時序的仿真,驗證了設(shè)計的準確性,具有廣泛的應(yīng)用價值。

【參考文獻】

[1]鄭文靜,李明強,舒繼武.Flash存儲技術(shù).計算機研究與發(fā)展,2010.

[2]陳明義,連帥軍,周建國.基于FPGA的FLASH控制器系統(tǒng)設(shè)計及實現(xiàn).電子科技,2008.

[3]Winbond Corporation.W25Q128BV-3V 128M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI.2011.

[4]王誠,蔡海寧,吳繼華.Altera FPGA/CPLD設(shè)計(第2版).北京:人民郵電出版社,2011.

[5]夏雨聞.Verilog數(shù)字系統(tǒng)設(shè)計教程(第二版).北京:北京航空航天大學出版社,2008.

猜你喜歡
存儲器時序命令
基于時序Sentinel-2數(shù)據(jù)的馬鈴薯遙感識別研究
只聽主人的命令
基于Sentinel-2時序NDVI的麥冬識別研究
靜態(tài)隨機存儲器在軌自檢算法
移防命令下達后
一種毫米波放大器時序直流電源的設(shè)計
電子制作(2016年15期)2017-01-15 13:39:08
這是人民的命令
存儲器——安格爾(墨西哥)▲
DPBUS時序及其設(shè)定方法
河南科技(2014年15期)2014-02-27 14:12:36
基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
姜堰市| 东城区| 白山市| 柘荣县| 依兰县| 皋兰县| 巴林左旗| 尉犁县| 宁化县| 凤翔县| 江都市| 建德市| 无棣县| 上思县| 加查县| 察隅县| 沾益县| 富民县| 威远县| 老河口市| 舞钢市| 溧阳市| 临西县| 乐都县| 汤原县| 洛浦县| 松阳县| 焉耆| 三门峡市| 手游| 临湘市| 榆树市| 溆浦县| 汉中市| 铜陵市| 岑溪市| 西和县| 图们市| 尤溪县| 七台河市| 葫芦岛市|