新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用FIFO實現DSP間的雙向并行異步通訊

        用FIFO實現DSP間的雙向并行異步通訊

        作者: 時間:2010-09-13 來源:網絡 收藏

          AdEn=DS+Ma15+Ma14+Ma13+Ma12+Ma11

          21FIFOR=IDMAT+A21+A20+A19+RD

          (映射地址為:身份地址+0x180000)

          21FIFOW=IDMAT+A21+A20+A19+WR

          (映射地址為:身份地址+0x180000)

          FIFORST=(IDMAT+A21+A20+A19+WR)56FIFORST

          (映射地址為:身份地址+0x200000)

          21FLGR=IDMAT+A21+A20+A19+RD

          (映射地址為:身份地址+0x100000)

        用FIFO實現DSP間的雙向并行異步通訊

          為區分兩個的讀、寫信號,在邏輯表達式中用MRD和MWR分別表示56001的讀、寫信號RD和WR。A21020作為主芯片同時與多個DSP56001(圖2僅畫出其中一個)相連,因此每一個DSP56001均有一個不同的身份地址,表示該身份地址的地址線(A25~A22)的譯碼結果為IDNAT。為簡化硬件電路,譯碼邏輯均采用PAL器件實現。


          2.2 軟件流程

          圖3所示為DSP56001對并口進行讀、寫數據的軟件流程。ADSP21020向DSP56001傳送數據及從并行口讀取由DSP56001傳送過來的數據步驟與上述流程相同。對DSP56001和ADSP21020來說,并行接口均為異步雙向口。當DSP56001要向ADSP21020傳送數據時,首先讀狀態標志口(口地址0x600),若標志第0位為0(全滿),則重復讀狀態標志口,直至標志第0位為1(數據未滿,已被ADSP21020全部或部分讀出)時,DSP56001才向接口(地址0x200)寫入數據;當DSP56001要讀取由ADSP21020傳送過來的數據時,首先讀狀態標志口(口地址0x600),若標志第1位為0(全空),則重復讀狀態口,直至標志第1位為1時(不空,已郵ADSP21020寫入數據),DSP56001讀接口(地址0x200)即可獲得所需數據。

          該方法已成功應用于一臺自動研制的基于DSP的實時模擬及被頻信號采集與處理系統。實際運行結果表明,該方法不僅速度較高,而且譯碼邏輯也十分簡單。


        上一頁 1 2 3 下一頁

        關鍵詞: DSP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广丰县| 东台市| 武邑县| 吴堡县| 德昌县| 老河口市| 阳东县| 英超| 昔阳县| 云浮市| 昭觉县| 东城区| 满洲里市| 沅江市| 米易县| 特克斯县| 忻州市| 台湾省| 陇西县| 承德市| 班戈县| 鄂州市| 神农架林区| 报价| 苏州市| 绥江县| 宜黄县| 南木林县| 谷城县| 温泉县| 怀远县| 堆龙德庆县| 邵东县| 麦盖提县| 定南县| 凌云县| 武隆县| 乌恰县| 麻阳| 清苑县| 房产|