用FIFO實現DSP間的雙向并行異步通訊
發布時間:2008/5/27 0:00:00 訪問次數:706
     王旭柱 王汝霖 陳 銳 來源:《國外電子元器件》
     摘要:介紹了利用cypress公司的fifo芯片cy7c419實現dsp間雙向并行異步通訊的方法,該方法簡單實用,速度快,特別適用于小數據量的數據相互傳送。文中給出了cy7c419的引腳功能以及用fifo實現dsp間雙向并行異步通訊的硬件結構和軟件流程。
    
    
     關鍵詞:fifo
     并行接口 dsp異步通訊 cy7c419
     在多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)
&
     王旭柱 王汝霖 陳 銳 來源:《國外電子元器件》
     摘要:介紹了利用cypress公司的fifo芯片cy7c419實現dsp間雙向并行異步通訊的方法,該方法簡單實用,速度快,特別適用于小數據量的數據相互傳送。文中給出了cy7c419的引腳功能以及用fifo實現dsp間雙向并行異步通訊的硬件結構和軟件流程。
    
    
     關鍵詞:fifo
     并行接口 dsp異步通訊 cy7c419
     在多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)
&
上一篇:小納米 大機會
上一篇:一種QCM信號在線采集系統的實現