<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Flash編程器的FPGA實(shí)現(xiàn)

          Flash編程器的FPGA實(shí)現(xiàn)

          作者: 時(shí)間:2011-10-28 來(lái)源:網(wǎng)絡(luò) 收藏
          3 的設(shè)計(jì)

          本文引用地址:http://www.ex-cimer.com/article/150090.htm

          的關(guān)鍵是要保證地址和數(shù)據(jù)信號(hào)在時(shí)序上的嚴(yán)格要求,由SST39SF010的編程和擦除周期時(shí)序參數(shù)得知,它的地址或數(shù)據(jù)信號(hào)的建立和保持時(shí)間的最小時(shí)鐘周期僅為30ns。為此,我們采用了40MHz的晶振作為的驅(qū)動(dòng)時(shí)鐘,它的最小時(shí)鐘周期為25ns,完全可滿足最小的時(shí)間周期要求。

          采用來(lái)Flash,主要是如何對(duì)Flash進(jìn)行寫(xiě)操作,利用VHDL語(yǔ)言編寫(xiě)的寫(xiě)操作進(jìn)程表示如下:


          一個(gè)控制功能,可以用有限狀態(tài)機(jī)實(shí)現(xiàn),也可以用CPU實(shí)現(xiàn),二者相比,前者性能遠(yuǎn)高于后者。因?yàn)?,在Von Neumann結(jié)構(gòu)的CPU中,需要許多操作(例如取數(shù)和執(zhí)行)和部件(例如數(shù)據(jù)通路和ALU寄存器)。而狀態(tài)機(jī)中,狀態(tài)存儲(chǔ)在多個(gè)觸發(fā)器中,表示行為的代碼存儲(chǔ)在門(mén)級(jí)網(wǎng)絡(luò)中。對(duì)于通常的一條選擇判斷語(yǔ)句,如果用CPU實(shí)現(xiàn),一般需要10~20條機(jī)器指令,其執(zhí)行時(shí)間與CPU的速度有關(guān)。如果由門(mén)和觸發(fā)器實(shí)現(xiàn),則執(zhí)行時(shí)間為一個(gè)時(shí)鐘周期。因此用VHDL實(shí)現(xiàn)的狀態(tài)機(jī)的控制性能要優(yōu)于CPU實(shí)現(xiàn)的方案。

          如上述程序,在編程器的寫(xiě)操作進(jìn)程中,我們使用Moore型狀態(tài)機(jī),它最大的特點(diǎn)是輸出僅是狀態(tài)向量的函數(shù),即Moore狀態(tài)機(jī)的輸出僅和當(dāng)前狀態(tài)(現(xiàn)態(tài))有關(guān)。在寄存器轉(zhuǎn)移級(jí)的有限狀態(tài)機(jī)中包括狀態(tài)進(jìn)程和組合進(jìn)程兩部分。

          狀態(tài)進(jìn)程:狀態(tài)進(jìn)程對(duì)狀態(tài)機(jī)的時(shí)鐘信號(hào)敏感,當(dāng)時(shí)鐘發(fā)生有效跳變時(shí),狀態(tài)機(jī)的狀態(tài)發(fā)生變化,由次態(tài)變?yōu)楝F(xiàn)態(tài)。本例中,將寫(xiě)操作分成900個(gè)狀態(tài),狀態(tài)0初始化各輸出信號(hào),狀態(tài)1~5執(zhí)行第一個(gè)控制命令,狀態(tài)7—10執(zhí)行如第二個(gè)控制命令,狀態(tài)12~15執(zhí)行第三個(gè)控制命令,狀態(tài)17~ 20給出要寫(xiě)入的地址和數(shù)據(jù),狀態(tài)21~900保持控制信號(hào),是芯片內(nèi)部編程時(shí)間。 組合進(jìn)程:組合進(jìn)程就根據(jù)當(dāng)前狀態(tài)(現(xiàn)態(tài))給輸出信號(hào)賦值,并決定下一狀態(tài)(次態(tài))。在本例中,狀態(tài)機(jī)根據(jù)不同的狀態(tài)對(duì)CE#、OE#、 WE、地址、數(shù)據(jù)等Flash控制信號(hào)進(jìn)行賦值,從而實(shí)現(xiàn)對(duì)Flash的控制功能。

          但是每執(zhí)行一次寫(xiě)操作,只能寫(xiě)入一個(gè)地址單元里的8bit數(shù)據(jù),如果按照這個(gè)方法,完成整個(gè)Flash芯片1Mbit數(shù)據(jù)的寫(xiě)入就需要重復(fù)執(zhí)行寫(xiě)操作 128K次,這樣既麻煩又浪費(fèi)時(shí)間。我們選用的Xilinx公司SpartanⅡ系列FPGA,提供片上雙端口同步讀/寫(xiě)RAM塊,每塊RAM容量為4096bit。塊RAM的每個(gè)端口可獨(dú)立配置為讀/寫(xiě)端口、讀端口或?qū)懚丝?,同時(shí)還能配置為任何想要的數(shù)據(jù)帶寬。因此塊RAM可使FPGA設(shè)計(jì)者的設(shè)計(jì)更加簡(jiǎn)單,可以把塊RAM配置成ROM、RAM、FIFO等多種元件,具有使用方便、性能優(yōu)越等特點(diǎn),是一種十分高效的內(nèi)部存儲(chǔ)器解決方案。因此我們采用FPGA的塊RAM作為內(nèi)部數(shù)據(jù)緩沖器,以提高 Flash寫(xiě)操作的速度和效率。

          在本例中,使用內(nèi)部塊RAM產(chǎn)生一個(gè)32Kbit 的ROM 元件,程序當(dāng)中直接引用和映射該元件,將要寫(xiě)入Flash的數(shù)據(jù)先寫(xiě)入該ROM元件中,然后在每次寫(xiě)操作中將ROM中的數(shù)據(jù)按地址順序逐一寫(xiě)入Flash中的一個(gè)連續(xù)32Kbit的扇區(qū)當(dāng)中,這樣編程器的一次寫(xiě)操作就可以寫(xiě)入32Kbit數(shù)據(jù),因?yàn)?2K×32=1Mbit,則依次改變Flash的高5位地址,重復(fù)32次上述的寫(xiě)操作,這樣1Mbit的數(shù)據(jù)就寫(xiě)入了整片F(xiàn)lash中,大大提高了編程器寫(xiě)操作的效率。至于ROM元件中的數(shù)據(jù),則以ASCⅡ碼的形式存在以.

          CoeGenerator是一個(gè)元件生成軟件,它給用戶提供了一個(gè)通用化的設(shè)計(jì)界面,提供RAM、ROM、乘法器、各種標(biāo)準(zhǔn)接口等許多設(shè)計(jì)中常用的元件模型,這樣設(shè)計(jì)者不必自己動(dòng)手編寫(xiě),而采用CoeGenerator即可生成自己需要的各種元件。這些元件都是經(jīng)過(guò)了最優(yōu)化設(shè)計(jì),占用資源最少,性能最優(yōu),還大大節(jié)省了設(shè)計(jì)時(shí)間,方便了設(shè)計(jì)者。產(chǎn)生的ROM元件將存儲(chǔ)在設(shè)計(jì)工程之中,需要在程序中加入引用語(yǔ)句,才可以使用。 VHDL程序中使用CoreGenerator產(chǎn)生的元件需要加入兩段語(yǔ)句,一是在實(shí)體部分對(duì)要引用的ROM元件進(jìn)行說(shuō)明,二是在結(jié)構(gòu)體中對(duì)ROM元件例化,映射例化元件的輸入/輸出信號(hào)。 由于FPGA具有在線可再編程性能,因此當(dāng)系統(tǒng)中FLASH 直接由FPGA存取時(shí),我們可以用FPGA實(shí)現(xiàn)對(duì)Flash的編程,在編程操作之后,對(duì)FPGA 進(jìn)行再配置,實(shí)現(xiàn)其它
          系統(tǒng)功能,達(dá)到一個(gè)FPGA器件實(shí)現(xiàn)多種應(yīng)用的目的。

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

          使用VHDL語(yǔ)言,由FPGA來(lái)實(shí)現(xiàn)Flash編程器的功能,不僅節(jié)約了專(zhuān)用編程器的采購(gòu)開(kāi)支,更重要的是可以靈活、快速地實(shí)現(xiàn)專(zhuān)用Flash編程器的功能。隨著微電子技術(shù)的發(fā)展,可編程器件的容量已經(jīng)達(dá)到千萬(wàn)門(mén)級(jí),越來(lái)越多的過(guò)去必須由專(zhuān)用芯片或器件才能完成的工作現(xiàn)在都可以通過(guò)設(shè)計(jì)軟件,由FPGA來(lái)實(shí)現(xiàn)了。硬件的軟件化已經(jīng)成為電子行業(yè)中不可阻擋的趨勢(shì)。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();