在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

            基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

            作者: 時(shí)間:2013-09-28 來(lái)源:網(wǎng)絡(luò) 收藏
            bit容量的GD25Q512.

            基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

               由VHDL編寫,主要為芯片提供串行時(shí)鐘,將從用戶端輸入的數(shù)據(jù)(包括指令字節(jié)、地址字節(jié)和數(shù)據(jù)字節(jié))寄存起來(lái)并在串行時(shí)鐘的控制下通過(guò)spi_dout信號(hào)線逐位輸出到 芯片中,同樣將從SPI Flash芯片中讀出的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)送給用戶端。此外,SPI Flash還必須在用戶通過(guò)sel、addr以及wr組合發(fā)出的操作命令下產(chǎn)生一系列的控制信號(hào),并在這些控制信號(hào)的作用下根據(jù)狀態(tài)機(jī)的轉(zhuǎn)換方向進(jìn)行動(dòng)作并且輸出相應(yīng)的結(jié)果。

              3.2 SPI Flash控制狀態(tài)機(jī)

              由于SPI Flash操作命令較多,并且很多操作命令之間存在相同的操作步驟,所以利用狀態(tài)機(jī)進(jìn)行控制能夠準(zhǔn)確有條理地完成對(duì)SPI Flash的操作。分析GDQ25系列SPI Flashdatasheet,可將SPI Flash控制器的工作狀態(tài)劃分為空閑狀態(tài)(IDLE)、傳輸指令狀態(tài)(TxCMD)、傳輸高字節(jié)地址狀態(tài)(TxADD_H)、傳輸中間字節(jié)地址狀態(tài)(TxADD_M)、傳輸?shù)妥止?jié)地址狀態(tài)(TxADD_L)、傳輸偽字節(jié)狀態(tài)(TxDummy)、傳輸數(shù)據(jù)狀態(tài)(TxDATA)和接收數(shù)據(jù)狀態(tài)(RxDATA)。除此以外,由于所有接收到的指令值都寄存在指令寄存器內(nèi),當(dāng)一條指令執(zhí)行完畢時(shí)需要將指令寄存器清空,以便接收下一條用戶指令,所以設(shè)定一個(gè)清除指令狀態(tài)(CLR_CMD)作為每一操作完成后的收尾狀態(tài)。當(dāng)狀態(tài)機(jī)進(jìn)入CLR_CMD狀態(tài)后,表示當(dāng)前操作已經(jīng)完成,正將指令寄存器指令值清空;當(dāng)狀態(tài)機(jī)進(jìn)入IDLE狀態(tài)時(shí),用戶可輸入下一操作指令,對(duì)SPI Flash進(jìn)行下一操作??紤]到SPI Flash的響應(yīng)時(shí)間,在以上工作狀態(tài)中間插入了一些等待狀態(tài)(WAIT)。

              4.SPI Flash控制器驗(yàn)證

              SPI Flash控制器IP核在Modelsim 6.5g上能夠通過(guò)功能仿真,下面分析一下SPI Flash頁(yè)面編程操作及數(shù)據(jù)讀取操作的功能仿真。

              4.1 頁(yè)面編程操作

              頁(yè)面編程操作仿真波形如圖3所示,圖中截取輸入00H和01H數(shù)據(jù)的波形,最多可連續(xù)輸入一頁(yè) 256字節(jié)數(shù)據(jù)。當(dāng)用戶輸入頁(yè)面編程指令02H,狀態(tài)機(jī)進(jìn)入txcmd狀態(tài),頁(yè)編程指令02H通過(guò)spi_dout傳輸給SPI Flash.當(dāng)tx_bit_cnt計(jì)數(shù)到8時(shí),指令傳輸完畢,狀態(tài)機(jī)在等待后進(jìn)入txadd_h狀態(tài),同時(shí)tx_bit_cnt被清零,需寫入數(shù)據(jù)的對(duì)應(yīng)存儲(chǔ)空間的起始地址高字節(jié)值89H被傳輸。當(dāng)tx_bit_cnt計(jì)數(shù)到8時(shí),高字節(jié)地址值89H被傳輸完畢,狀態(tài)機(jī)在等待后進(jìn)入txadd_m狀態(tài),同時(shí)tx_bit_cnt被清零,同上,地址中間字節(jié)67H和45H被傳輸。當(dāng)add_h、add_m和add_l寄存器的值依次傳輸完畢,狀態(tài)機(jī)進(jìn)入 wait6狀態(tài),等待用戶輸入需寫入SPI Flash的數(shù)據(jù)。當(dāng)用戶設(shè)定{sel,addr,wr}為10001b,狀態(tài)機(jī)進(jìn)入txdata狀態(tài),同時(shí)tx_new_data被置高,表示要傳輸新寫入的數(shù)據(jù)。在txdata狀態(tài)下,控制器將傳輸寫入的第1字節(jié)數(shù)據(jù)00H,當(dāng)tx_bit_cnt計(jì)數(shù)到8時(shí),第1字節(jié)數(shù)據(jù)00H被傳輸完畢,tx_new_data被拉低,tx_empty被拉高,表示當(dāng)前沒(méi)有可傳輸?shù)臄?shù)據(jù),狀態(tài)機(jī)進(jìn)入wait6狀態(tài),等待新數(shù)據(jù)寫入。直到用戶再次設(shè)定 {sel,addr,wr}為10001b,狀態(tài)機(jī)再次進(jìn)入txdata狀態(tài),同時(shí)tx_new_data被置高,表示寫入的第2字節(jié)數(shù)據(jù)01H將要傳輸。當(dāng)tx_bit_cnt計(jì)數(shù)到8,第2字節(jié)數(shù)據(jù)傳輸完畢,tx_new_data被拉低,tx_empty被拉高,狀態(tài)機(jī)進(jìn)入wait6狀態(tài)。由于 GDQ25系列SPI Flash頁(yè)面編程一次最多可寫入256字節(jié)數(shù)據(jù),所以用戶在寫入數(shù)據(jù)時(shí),應(yīng)注意最多寫入256次數(shù)據(jù),否則超過(guò)的數(shù)據(jù)將覆蓋開(kāi)始的數(shù)據(jù)。當(dāng)狀態(tài)機(jī)處于 wait6狀態(tài)而用戶想結(jié)束頁(yè)面編程時(shí),可向控制器輸入NOP指令強(qiáng)制結(jié)束當(dāng)前頁(yè)面編程操作。狀態(tài)機(jī)在接收到NOP指令后將進(jìn)入clr_cmd狀態(tài)和 idle空閑態(tài),等待下一條指令的到來(lái)。當(dāng)頁(yè)面編程操作還沒(méi)結(jié)束時(shí),busy將一直被置高。

            基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

              4.2 數(shù)據(jù)讀取操作

              讀數(shù)據(jù)指令仿真波形如圖4所示。當(dāng)用戶輸入讀數(shù)據(jù)指令03H,狀態(tài)機(jī)進(jìn)入txcmd狀態(tài),讀數(shù)據(jù)指令通過(guò)spi_dout傳輸給SPI Flash。

            基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

              當(dāng)tx_bit_cnt計(jì)數(shù)到8時(shí),指令傳輸完畢,狀態(tài)機(jī)等待后進(jìn)入txadd_h狀態(tài),傳輸要讀出數(shù)據(jù)所在存儲(chǔ)空間起始地址的高字節(jié),同時(shí)tx_bit_cnt清零,以為下一個(gè)傳

            fpga相關(guān)文章:fpga是什么




            關(guān)鍵詞: FPGA SPI Flash 控制器

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉