《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 用FIFO實現DSP間的雙向并行異步通訊
用FIFO實現DSP間的雙向并行異步通訊
21IC電子網
摘要: 用FIFO實現DSP間的雙向并行異步通訊,在多CPU的分布式信號處理系統中,往往涉及CPU間的通訊與數據交換,大數據量的數據傳輸一般采用DMA
Abstract:
Key words :

在多CPU的分布式信號處理系統中,往往涉及CPU間的通訊與數據交換,大數據量的數據傳輸一般采用DMA方式,而小數據量的數據交換采用并行接口則比較快速靈活。因此,對于傳輸速度要求較高的DSP間的小數據量的數據交換及通訊來說,要提高DSP的工作效率,不僅要求并行接口的響應快,而且必須采用異步方式以免相互等待。本文介紹了采用CYPRESS公司的FIFO芯片CY7C419來實現DSP間的雙向并行異步通訊接口。該方法不僅比用TTL鎖存器的方式速度快,而且譯碼邏輯簡單,另外,由于FIFO芯片有一定的深度(256個),因此,在少于256個數據傳輸時,可實現零等待時間。

1 FIFO芯片簡介

全滿(FF)和全空(EF)標志用以防止數據溢出或不足;

擴展輸入(XI)、擴展輸出(X0)、首次裝載(FL):用以實現無限的寬度及深度擴展,深度擴展技術可使操縱控制信號從一個元件并行傳至另一個元件,因而消除了傳輸延遲的串行附加,其最高讀、寫速度可達50MHz,讀寫信號低電平有效;

當CY7C419獨立使用或多片實現寬度擴展結構時,半空標志(HF)輸出有效,在深度擴展結構中,該此腳輸出擴展輸出信息(XO)并告知下一個FIFO;

D0~D8為數據輸入,Q0~Q8為數據輸出。

R、W及MR分別為讀、寫及復位信號的輸入端,它們均為低電平有效。

2 硬件結構與通訊流程

2.1 硬件結構

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

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

56FIFOR=AdEn+Ma10+Ma9+MRD

(映射地址為:0x200)

56FIFOW=AdEn+Ma10+Ma9+MWR

(映射地址為:0x200)

56FIFOORST=AdEn+Ma10+Ma9+MWR

(映射地址為:0x400)

56FLGR=AdEn+Ma10+Ma9+MRD

(映射地址為:0x600)

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)

為區分兩個DSP的讀、寫信號,在邏輯表達式中用MRD和MWR分別表示DSP56001的讀、寫信號RD和WR。ADSP21020作為主芯片同時與多個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的實時模擬及被頻信號采集與處理系統。實際運行結果表明,該方法不僅速度較高,而且譯碼邏輯也十分簡單。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产主播福利在线观看| 壮熊私gay网站的| 久久无码人妻一区二区三区| 91理论片午午伦夜理片久久| 日韩欧美国产精品| 再深点灬舒服灬太大了快点| 怡红院国产免费| 在线视频中文字幕| 一个人看的www免费高清| 新国产三级在线观看播放| 久久国产视频网站| 李丽莎1分37钞视频最大尺度| 亚洲欧美一二三区| 波霸女的湮欲生活mp4| 国产在线无码视频一区二区三区| swag合集120部| 成人免费午间影院在线观看| 久久久久高潮毛片免费全部播放 | 成人综合婷婷国产精品久久蜜臀 | 国产亚洲欧美bt在线电影| 黑粗硬大欧美在线视频试看| 国产精品一国产精品| 1区2区3区产品乱码免费| 国产综合久久久久鬼色| 97麻豆精品国产自产在线观看| 天堂在线最新资源| 久久国产加勒比精品无码| 欧美高大丰满freesex| 伊人影院综合网| 里番acg里番本子全彩| 国产成人一区二区三区电影网站| 四虎国产精品永久在线播放| 国产精品亚洲一区二区三区| 最新69堂国产成人精品视频| 国产精品毛片大码女人| 3d动漫精品啪啪一区二区免费 | 久久受www免费人成_看片中文| 日韩精品亚洲一级在线观看| 久别的草原电视剧免费观看| 日韩精品欧美亚洲高清有无| 久久精品女人天堂AV免费观看|