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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用FIFO實現(xiàn)DSP間的雙向并行異步通訊

          用FIFO實現(xiàn)DSP間的雙向并行異步通訊

          作者: 時間:2010-09-13 來源:網(wǎng)絡 收藏

            2 硬件結(jié)構(gòu)與通訊流程

            2.1 硬件結(jié)構(gòu)

            利用FIFO實現(xiàn)間雙向并行異步通訊的結(jié)構(gòu)原理如圖2所示。56001和A21020分別樹熊美國Motorola和ADI公司的DSP芯片。兩個CY7C419芯片U1、U2分別用于DSP56001和ADSP21020間雙向并行接口的一個方向,其中U1用于完成DSP56001向ADSP21020的數(shù)據(jù)傳送,U2則用于完成ADSP21020向DSP56001的數(shù)據(jù)傳送。U1的全滿標志(FF)與U2的全空標志(EF)通過緩沖器74LS245與DSP56001的數(shù)據(jù)總線相連,該緩沖器被映射為DSP56001數(shù)據(jù)區(qū)的一個地址單元(0x600),因此,DSP56001通過對該地址單元的讀操作便可獲知U1是否已寫滿以及U2是否有數(shù)所要讀。同理,U2的全志(FF)與U1的全空標志(EF)通過一緩沖器74LS245連于ADSP21020的數(shù)據(jù)總線,該片74LS245補映射為ADSP21020數(shù)據(jù)區(qū)的一個地址單元(身份地址+0x100000),這樣ADSP21020通過對該地址單元的讀操作也可獲知U2是否已寫滿以及U1是否有數(shù)據(jù)要讀。另外,DSP56001對U1的寫操作、對U2的讀操作映射為對其數(shù)據(jù)存儲區(qū)一個地址單元(0x200)的寫、讀操作;而ADSP21020對U2的寫操作和對U1的讀操作則被映射為對其數(shù)據(jù)存儲區(qū)地址單元(身份地址+0x180000)的寫、讀操作。兩個DSP芯睡均可同時對U1、U2進行復位操作。

            DSP56001對雙向口的讀56FIFOR、寫56FIFOW、復位56FIFORST及對標志口狀態(tài)56FLGR的讀信號可由DSP56001的地址線與讀寫信號譯碼獲得;ADSP21020對雙向口的讀21FIFOR、寫21FIFOW、復位56FIFORST及對標志口狀態(tài)56FLGR的讀信號則可由ADSP21020的地址線與讀寫信號譯碼獲得。各譯碼輸出的邏輯表達式如下:

          用FIFO實現(xiàn)DSP間的雙向并行異步通訊

            56FIFOR=AdEn+Ma10+Ma9+MRD

            (映射地址為:0x200)

            56FIFOW=AdEn+Ma10+Ma9+MWR

            (映射地址為:0x200)

            56FIFOORST=AdEn+Ma10+Ma9+MWR

            (映射地址為:0x400)

            56FLGR=AdEn+Ma10+Ma9+MRD

            (映射地址為:0x600)



          關鍵詞: DSP

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();