新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用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間的雙向并行異步通訊

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


  2.2 軟件流程

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

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


上一頁 1 2 3 下一頁

關鍵詞: DSP

評論


相關推薦

技術專區(qū)

關閉