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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 異步FIFO在FPGA與DSP通信中的運(yùn)用

          異步FIFO在FPGA與DSP通信中的運(yùn)用

          作者: 時(shí)間:2011-04-18 來源:網(wǎng)絡(luò) 收藏


          2 端數(shù)據(jù)接收
          TI公司的TMS320C6000系列均提供EMIFA接口,本文利用EMIFA接口實(shí)現(xiàn)傳輸數(shù)據(jù),實(shí)現(xiàn)兩者硬件連接的電路如圖2所示。

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

          d.JPG


          其中,EMIFA的16位數(shù)據(jù)端與的Rdata端相連以便接收發(fā)來的數(shù)據(jù),GPI04_13,GPI04_12,GPI04_15這3個(gè)通用IO口用來接收或輸出相應(yīng)的握手信號(hào)。EMA_WE與的讀使能端相連,EMA_CS與的讀時(shí)鐘相連。

          e.JPG


          圖3所示為DSP的EMIFA口讀取數(shù)據(jù)的時(shí)序圖,從圖中可以看出,每一次讀數(shù)據(jù)操作均以EMA_CS(EMIFA使能信號(hào))下降沿開始,以EMA_CS的上升沿結(jié)束。同時(shí),因?yàn)槭亲x取操作,EMA_WE(EMA讀寫控制信號(hào),低為寫,高為讀)始終為高電平,EMA_OE(EMA輸出使能信號(hào),低有效)在數(shù)據(jù)讀取時(shí)刻為低電平。所以,將EMA_CS連至FIFO的Rclk端,恰好實(shí)現(xiàn)DSP讀取一次數(shù)據(jù),F(xiàn)IFO更新一個(gè)數(shù)據(jù),而EMA_WE可作為FIFO的讀使能信號(hào)。

          3 仿真結(jié)果與結(jié)論
          本文設(shè)計(jì)了數(shù)據(jù)寬度為16位,深度為2 048的FIFO,并使用Verilog語言編寫了FIFO模塊和與DSP的接口模塊,利用該FIFO,實(shí)現(xiàn)了將數(shù)據(jù)1~65 535傳遞給DSP。在Quartus II軟件下進(jìn)行仿真得到的結(jié)果如圖4所示。

          f.JPG


          由圖4可以看出,在rst變?yōu)楦唠娖揭院?,F(xiàn)PGA在Wclk的上升沿依次將數(shù)據(jù)寫入FIFO中,寫指針也從0開始逐次增1。在收到DSP發(fā)來的gp15(啟動(dòng)數(shù)據(jù)發(fā)送信號(hào))有效后,在讀時(shí)鐘Rclk的上升沿,F(xiàn)PGA將數(shù)據(jù)從1開始逐次輸出到Rada端,供DSP讀取。DSP端在配置好EMIFA口后,編寫的相應(yīng)接收程序,正確接收到了從0~65 535這65 536個(gè)數(shù)據(jù)。
          為實(shí)現(xiàn)FPGA與DSP之間的數(shù)據(jù),本文提出了利用FIFO的方法,采用格雷碼和兩級(jí)D觸發(fā)器同步的方法降低了亞穩(wěn)態(tài)現(xiàn)象出現(xiàn)的概率。同時(shí),給出了FPGA和DSP實(shí)現(xiàn)數(shù)據(jù)的硬件連接電路。經(jīng)驗(yàn)證,利用FIFO的方法,能夠穩(wěn)定可靠地從FPGA中傳輸數(shù)據(jù)給DSP。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 通信 運(yùn)用 DSP FPGA FIFO 異步

          評(píng)論


          相關(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); })();