日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]在現(xiàn)代數(shù)字電路設(shè)計(jì)中。經(jīng)常需要保存大量數(shù)據(jù),而Flash存儲(chǔ)速度快、體積小、功耗低且價(jià)格低廉,可在線電擦寫(xiě),信息在掉電后不會(huì)丟失,因此成為設(shè)計(jì)人員的首選。

1引言

FPGA憑借其方便靈活、可重復(fù)編程等優(yōu)點(diǎn)而日益被廣泛應(yīng)用;閃速存儲(chǔ)器(Flash Memory)以其集成度高、成本低、使用方便等優(yōu)點(diǎn),在眾多領(lǐng)域中也獲得了廣泛應(yīng)用。在現(xiàn)代數(shù)字電路設(shè)計(jì)中。經(jīng)常需要保存大量數(shù)據(jù),而Flash存儲(chǔ)速度快、體積小、功耗低且價(jià)格低廉,可在線電擦寫(xiě),信息在掉電后不會(huì)丟失,因此成為設(shè)計(jì)人員的首選。

2 M25P80的介紹

Flash是一種具有電可擦除的可編程ROM,可以分為兩大類:并行Flash和串行Flash。并行Flash存儲(chǔ)量大,速度快;而串行Flash存儲(chǔ)量相對(duì)較小,但體積小,連線簡(jiǎn)單,可減小電路面積,節(jié)約成本,二者各有其優(yōu)缺點(diǎn),可依據(jù)實(shí)際需要選取。本文開(kāi)發(fā)的系統(tǒng)對(duì)速度的要求不是很高,而對(duì)電路板的面積要求則較為苛刻,因此系統(tǒng)設(shè)計(jì)選用了串行FlashM25P80。

M25P80是意法半導(dǎo)體推出的一款高速8 Mbit串行Flash,共由16部分組成,每一部分有256頁(yè),每頁(yè)有256個(gè)字節(jié)。M25P80具有先進(jìn)的寫(xiě)保護(hù)機(jī)制,讀取數(shù)據(jù)的最大時(shí)鐘速率為40 MHz。M25P80的工作電壓范圍為2.7 V~3.6 V,具有整體擦除和扇區(qū)擦除、靈活的頁(yè)編程指令和寫(xiě)保護(hù)功能,數(shù)據(jù)保存至少20年,每個(gè)扇區(qū)可承受100 000次擦寫(xiě)循環(huán)。并行Flash封裝通常需要28個(gè)以上的引腳,因此,額外支出大,而M25P80采用SO8封裝,需要的引腳數(shù)較少,從而節(jié)省了電路板空間,功率、系統(tǒng)噪聲和整體成本等都會(huì)大幅度降低,既經(jīng)濟(jì)又實(shí)用。

圖1為M25P80的引腳排列,其中Vcc和Vss分別為電源和地,其他6個(gè)引腳均可直接與FPGA的I/O引腳相連;寫(xiě)保護(hù)引腳W和HOLD掛起引腳,用于數(shù)據(jù)保護(hù)和空閑模式的低功耗運(yùn)行,若不用可將其置為高電平;S為片選信號(hào),為低電平時(shí)表示器件被選中,否則工作在待機(jī)狀態(tài);Q為串行數(shù)據(jù)輸出,數(shù)據(jù)在時(shí)鐘的下降沿輸出Flash器件;D為串行數(shù)據(jù)輸入,包括傳輸指令、地址和輸人數(shù)據(jù),輸入信號(hào)在時(shí)鐘的上升沿鎖存Flash器件中。C為串行時(shí)鐘,由FPGA提供時(shí)鐘。由于時(shí)鐘信號(hào)速率較高,所以在PCB布線時(shí)要特別注意減少干擾,最好采用地線屏蔽。

3 M25P80的指令操作

M25P80共有12條操作指令,所有指令都是8位,操作時(shí)先將片選信號(hào)(S)拉低選中器件,然后輸入8位操作指令字節(jié),串行數(shù)據(jù)在片選信號(hào)S拉低后的第一個(gè)時(shí)鐘的上升沿被采樣,M25P80啟動(dòng)內(nèi)部控制邏輯,自行完成相應(yīng)操作。指令后有時(shí)需輸入地址字節(jié),必要時(shí)還要加入啞讀字節(jié),最后操作完畢后再將片選信號(hào)拉高。下面簡(jiǎn)單介紹幾條最常用的指令操作。

3.1 寫(xiě)使能指令

頁(yè)面編程時(shí),在寫(xiě)寄存器或者擦除之前,必須先使用寫(xiě)使能指令設(shè)置寄存器的寫(xiě)使能位。在上電或?qū)懯鼓軣o(wú)效指令操作,以及頁(yè)面編程、寫(xiě)寄存器及擦除指令完成時(shí),該寫(xiě)使能位復(fù)位。寫(xiě)使能指令的時(shí)序比較簡(jiǎn)單,指令0000 0110(06h)在片選信號(hào)拉低后的第一個(gè)時(shí)鐘的上升沿送入Flash,先輸入高位,指令輸入完成后立即拉高片選信號(hào),否則Flash的保護(hù)機(jī)制則認(rèn)為是干擾信號(hào)而不執(zhí)行該指令。寫(xiě)無(wú)效指令與寫(xiě)使能指令類似,只是輸入的指令代碼為0000 0100(04h)。

3.2 讀/寫(xiě)狀態(tài)寄存器

狀態(tài)寄存器在任何時(shí)候都可讀,即使在頁(yè)面編程、擦除或者寫(xiě)寄存器時(shí)也可讀取寄存器,可被連續(xù)讀取狀態(tài)寄存器。片選信號(hào)拉低后立即送人8位的讀寄存器指令,接下來(lái)Flash將內(nèi)部寄存器的數(shù)值串行輸出,8位寄存器內(nèi)容反復(fù)輸出。

寫(xiě)狀態(tài)寄存器的操作步驟:寫(xiě)使能指令輸入完成后,拉高片選信號(hào),F(xiàn)lash執(zhí)行讀使能指令設(shè)置寄存器。然后拉低片選信號(hào),輸入寫(xiě)寄存器指令和數(shù)據(jù),隨后必須馬上拉高片選信號(hào)。

3.3 讀數(shù)據(jù)指令

片選信號(hào)拉低后,首先輸入8位讀數(shù)據(jù)指令,再輸入所要讀取內(nèi)容的24位首地址,地址指向的數(shù)據(jù)在時(shí)鐘的下降沿輸出。數(shù)據(jù)輸出后,地址自動(dòng)遞增,并指向下一個(gè)地址。傳輸下一個(gè)地址指向的數(shù)據(jù),當(dāng)?shù)刂愤_(dá)到最高位后自動(dòng)轉(zhuǎn)向首地址000000h,如此循環(huán),讀出Flash中的全部?jī)?nèi)容,直到片選信號(hào)拉高。讀數(shù)據(jù)指令時(shí)序如圖2所示。

3.4 頁(yè)面編程指令

在頁(yè)面編程之前,首先要輸入寫(xiě)使能指令,F(xiàn)lash完成寄存器設(shè)置后片選信號(hào)拉低,輸入頁(yè)面編程指令,緊接著輸入編程地址和輸入數(shù)據(jù)。一次最多可輸入256字節(jié)數(shù)據(jù),如果超出則只保留最后輸入的256字節(jié)。如果輸入的地址低8位不全為零,則從輸入的地址開(kāi)始編程,編程至該頁(yè)最后,再?gòu)脑擁?yè)的起始位置開(kāi)始編寫(xiě)。數(shù)據(jù)輸人完畢后片選信號(hào)必須置高。否則不執(zhí)行頁(yè)面編程指令。頁(yè)面編程指令時(shí)序圖如圖3所示。

3.5 擦除指令

擦除指令將Flash中的0置為1,分為部分擦除和整體擦除兩種指令。整體擦除指令和寫(xiě)使能指令類似。只是輸入的指令代碼不同,而部分擦除指令只需要在指令代碼后輸入需要擦除的地址即可,一次可擦除一塊。執(zhí)行這兩條指令之前,需要先執(zhí)行寫(xiě)使能指令。

4 硬件實(shí)現(xiàn)

Flash正常工作時(shí)必須嚴(yán)格按照Flash的時(shí)序控制信號(hào)。首次使用Flash時(shí)一定要先進(jìn)行擦除操作,編程指令可以將1變?yōu)?。往Flash中寫(xiě)入數(shù)據(jù)時(shí),先將數(shù)據(jù)寫(xiě)入FPGA的ROM中,然后在FPGA內(nèi)部根據(jù)Flash的頁(yè)面編程時(shí)序?qū)?shù)據(jù)寫(xiě)入Flash中。選用Altera公司的FPGA,所需的ROM模塊可以直接調(diào)用QuartusII中的宏功能模塊,編寫(xiě)一個(gè)控制模塊控制讀取ROM的時(shí)間及地址,并將數(shù)據(jù)按照Flash的時(shí)序送入Flash中.頁(yè)面編程的模塊圖如圖4所示。選用的Flash容量較大,一般FPGA沒(méi)有這么大的存儲(chǔ)空間,所以數(shù)據(jù)可分多次寫(xiě)入。FPGA的ROM中的數(shù)據(jù)保存在.mif文件中,.mif由Matlab直接生成.mif文件,也可在QuartusII軟件中生成。

Flash中的數(shù)據(jù)只要按照讀時(shí)序要求就可以順利讀入FPGA中進(jìn)行運(yùn)算。在調(diào)試中,為了驗(yàn)證程序的正確性,可將從Flash中讀出的數(shù)據(jù)通過(guò)串口送到計(jì)算機(jī),模塊圖如圖5所示。圖中的txmit為串口的發(fā)送端模塊圖,它負(fù)責(zé)將接收到的數(shù)據(jù)按照RS232C的時(shí)序格式輸出至計(jì)算機(jī)。flash_read模塊按照Flash的讀數(shù)據(jù)格式發(fā)出控制信號(hào),并將從Flash讀出的數(shù)據(jù)按照字節(jié)打包送到txmit模塊。讀時(shí)序驗(yàn)證無(wú)誤后,去除txmit模塊,將由Flash讀出的數(shù)據(jù)送到其他模塊參與運(yùn)算。

需要注意的是,一些指令在操作完成后,需要留出一段時(shí)間Flash進(jìn)行數(shù)據(jù)處理,如寫(xiě)寄存器周期(tw)為5 ms~15 ms,頁(yè)面編程周期(tpp)為1.4 ms~5 ms,部分擦除周期(tse)為1 s~3 s,而整體擦除周期(tBE)為10 s~20 s。這些指令輸入結(jié)束后拉高片選信號(hào)足夠長(zhǎng)的時(shí)間,也可以在執(zhí)行這些指令操作的同時(shí)讀取內(nèi)部寄存器值,以監(jiān)控上述周期是否結(jié)束。一旦檢測(cè)到指令執(zhí)行完畢則執(zhí)行后續(xù)操作,這樣可節(jié)省時(shí)間。如果忽略了Flash的處理時(shí)間則會(huì)發(fā)生錯(cuò)誤,導(dǎo)致Flash無(wú)法正確執(zhí)行指令。

5 結(jié)束語(yǔ)

數(shù)字電路設(shè)計(jì)中經(jīng)常需要使用大容量存儲(chǔ)器,串行Flash體積小、占用系統(tǒng)資源少、連線簡(jiǎn)單。隨著微電子技術(shù)的迅猛發(fā)展,F(xiàn)PGA在數(shù)字電路設(shè)計(jì)中所發(fā)揮的作用越來(lái)越大,廣泛應(yīng)用于系統(tǒng)實(shí)現(xiàn)及功能驗(yàn)證。利用FPGA直接控制flash接口時(shí)序,不僅節(jié)約了專用編程器的開(kāi)支,而且方便靈活、便于移植。使用硬件描述語(yǔ)言編寫(xiě)的接口時(shí)序,可重復(fù)利用,可移植性強(qiáng)。FPGA的靈活性和串行Flash的體積小的特點(diǎn)相結(jié)合,具有設(shè)計(jì)靈活、成本低廉、實(shí)用性強(qiáng)等優(yōu)勢(shì),并具有重要的參考價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

我們知道 Flash 讀時(shí)序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡講過(guò)《串行NOR Flash的Continuous read模式》,Continuous r...

關(guān)鍵字: CMD ADDR Flash

最近為什么越來(lái)越多的研究開(kāi)始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來(lái)什么神奇效果呢?原來(lái),F(xiàn)PGA擁有大量的可編程邏輯資源,相對(duì)于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點(diǎn),是GPU無(wú)法比擬的;同時(shí)...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬(wàn)象,我們今天來(lái)看看在音樂(lè)科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強(qiáng)大的產(chǎn)品可降低信號(hào)噪音并提高分辨率與動(dòng)態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項(xiàng)目采用以太網(wǎng)通信,實(shí)踐起來(lái)有些奇怪,好像設(shè)計(jì)成只能應(yīng)答某類計(jì)算機(jī)的ICMP(ping)命令, 某類計(jì)算機(jī)指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識(shí)別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國(guó)外廠商的FPGA芯片價(jià)格飆升,由于價(jià)格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國(guó)產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險(xiǎn),用一片少一片,了解到國(guó)產(chǎn)FPGA發(fā)展的也不錯(cuò),完全自...

關(guān)鍵字: FPGA 芯片 EDA

Flash Memory 是一種非易失性的存儲(chǔ)器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤(pán)以及主板 BIOS 中。

關(guān)鍵字: Flash 存儲(chǔ)器 嵌入式系統(tǒng)

本篇是FPGA之旅設(shè)計(jì)的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對(duì)溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過(guò)程類似,所以可以參考一下前面的...

關(guān)鍵字: FPGA DS18B20溫度傳感器

這是FPGA之旅設(shè)計(jì)的第十三例啦,本例是一個(gè)綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。

關(guān)鍵字: FPGA OLED屏幕

第八例啦,本例將介紹如何通過(guò)FPGA采集DS18B20傳感器的溫度值。

關(guān)鍵字: FPGA DS18B20傳感器

智能硬件

22092 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉