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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的微型數(shù)字存儲系統(tǒng)設(shè)計方案

          基于FPGA的微型數(shù)字存儲系統(tǒng)設(shè)計方案

          作者: 時間:2009-10-19 來源:網(wǎng)絡(luò) 收藏

            按照上述控制邏輯關(guān)系編寫CY7C68013的同件程序。CY7C68013有3種可用接口模式:端口、GPIF主控和從FI-FO?!癎PIF主控”接口模式使用PORTB和PORTD構(gòu)成通向4個FX2端點(diǎn)FIFO(EP2、EP4、EP6和EP8)的16位數(shù)據(jù)接口。GPIF作為內(nèi)部的主控制器與 FIFO直接相連.具有6個可編程控制輸出信號(CTR0~CTR5)和6個通用準(zhǔn)備就緒輸入信號(RDY0~RDY5),用戶可通過編程設(shè)置控制信號的輸出狀態(tài),即器件在接收到何種就緒信號后執(zhí)行相應(yīng)操作,GPIF控制代碼存放于器件內(nèi)部RAM的波形描述器中。從該系統(tǒng)需求出發(fā),將CY7C68013設(shè)為FIFO Read模式,使GPIF中的Slave FIFO與USB通信中端點(diǎn)緩沖直接建立連接,數(shù)據(jù)傳送無需CPU參與。

            固件程序代碼設(shè)計主要是根據(jù)系統(tǒng)需求設(shè)計相應(yīng)的程序框架圖,再調(diào)用同件函數(shù)庫 (Ezusb.lib)的函數(shù)進(jìn)行編程,初始化并重新列舉端點(diǎn),然后在任務(wù)處理器中設(shè)定任務(wù),在Keil C51環(huán)境中編譯代碼。編譯通過后,將同件代碼下載到USB單片機(jī)中,即可實(shí)現(xiàn)GPIF多字節(jié)讀操作。

            4 系統(tǒng)可靠性驗(yàn)證

            為驗(yàn)證系統(tǒng)可靠性,在數(shù)據(jù)輸入端循環(huán)輸入00~0F遞增數(shù)據(jù),通過上位機(jī)讀出、寫入Flash中的數(shù)據(jù),圖4為試驗(yàn)數(shù)據(jù)。通過讀出的數(shù)據(jù)驗(yàn)證了該系統(tǒng)數(shù)據(jù)存儲及回讀的正確性、可靠性。

          試驗(yàn)數(shù)據(jù)

            5 結(jié)束語

            采用對Flash進(jìn)行讀、寫、擦除操作,利用狀態(tài)機(jī)分時控制3種操作,簡化程序設(shè)計,簡單修改地址將Flash的容量從32 MB增加到1 GB,提高了系統(tǒng)的可移植性、可擴(kuò)展性和通用性,便于維護(hù)設(shè)備,有利于產(chǎn)品的優(yōu)化和改進(jìn),縮短了開發(fā)周期。采用USB單片機(jī)與PC機(jī)建立通信連接,與現(xiàn)有設(shè)備很好兼容,數(shù)據(jù)讀取速度可達(dá)1O MB/s,可方便、快捷地讀取數(shù)據(jù)。通過多次驗(yàn)證,該系統(tǒng)工作穩(wěn)定、可靠。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(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); })();