提出一種DSP 通過EMIF 接口控制復(fù)雜系統(tǒng)的方案。通過將DSP 芯片連接多片F(xiàn)PGA,并利用FPGA 與各種外部芯片連接,使得DSP 通過EMIF 接口就能控制各種芯片,實現(xiàn)復(fù)雜系統(tǒng)的控制。這樣節(jié)省DSP 的引腳資源,使DSP 的運算功能得以更充分的發(fā)揮。
隨著信息技術(shù)的發(fā)展,數(shù)字信號處理技術(shù)成為數(shù)字化社會最重要的技術(shù)之一。由于數(shù)字信號處理器(DSP)速度快,穩(wěn)定性高,功耗小,近些年來在通信、圖像處理、自動控制等領(lǐng)域中得到了廣泛的應(yīng)用。其中,美國德州儀器公司(TI)的TMS320 系列DSP 占據(jù)了世界DSP 市場的主要份額,TI 也因此成為了世界上最大的DSP 制造商。本系統(tǒng)采用了TMS320C6722 浮點型DSP芯片。
EMIF接口(External Memory Interface)是TMS320 系列DSP上具有的一種高速接口,其設(shè)計初衷是實現(xiàn)DSP 與不同類型的外部擴展存儲器(如 SDRAM,F(xiàn)LASH 等)之間的高速連接。在當(dāng)前的一些應(yīng)用中,為了更充分的應(yīng)用DSP的運算能力,擴展其引腳資源,工程師們常用EMIF接口連接FPGA,再通過FPGA與多種外部設(shè)備相連。這樣,F(xiàn)PGA成為了一個中轉(zhuǎn)站,各種數(shù)字芯片的數(shù)據(jù)都可以通過FPGA傳輸至DSP.對于更加復(fù)雜的系統(tǒng),當(dāng)一塊FPGA 芯片的引腳資源都被用盡時,可以在DSP 的EMIF接口上連接多塊FPGA芯片,再將功能各異的芯片連接至FPGA.這樣,DSP 芯片僅通過EMIF 接口就能實現(xiàn)對復(fù)雜系統(tǒng)的控制。
1 基于EMIF 接口的DSP+FPGA 系統(tǒng)實現(xiàn)
1.1 系統(tǒng)架構(gòu)
圖1 是所使用的系統(tǒng),DSP芯片通過EMIF接口連接了2 片F(xiàn)PGA,其中EP2C8F256I8 主要負(fù)責(zé)DSP核心處理所需數(shù)據(jù)的交換,連接了FLASH 芯片,SDRAM芯片,A/D 芯片。另一塊FPGA 芯片EP2C8F144I8 負(fù)責(zé)與外部通信,連接了USB 接口芯片,I2C通信芯片和CAN總線通信芯片。
TMS320C6722 型DSP的EMIF接口設(shè)計初衷是與外部擴展存儲器連接,EMIF接口有兩種工作方式:SDRAM工作模式與異步工作模式。SDRAM工作模式是專為 SDRAM設(shè)計的同步工作模式,EMIF接口能自動給SDRAM進(jìn)行刷新;異步工作模式是與SRAM、FLASH等異步器件工作時采用的模式。
圖2 所示是DSP 與一片F(xiàn)PGA 的接口連接圖,DSP 與多片F(xiàn)PGA連接時,接口可以按圖的方式復(fù)用,TMS320C6722 型DSP的EMIF 接口有14 根地址線,與不同F(xiàn)PGA進(jìn)行通信時,要使用不同的地址。
1.2 DSP 與FPGA 通信時序
1.2.1 異步讀操作
DSP發(fā)出對FPGA的讀申請時,就會進(jìn)行異步讀操作。當(dāng)讀操作不能在外部器件的一個訪問周期內(nèi)完成時,EMIF就會進(jìn)行多個周期的操作,直到完成整個申請。
一個EMIF讀操作分為建立時間、觸發(fā)時間和保持時間三部分。在建立時間開始時,EM_CS[2]片選信號拉低,同時地址線EM_A 與EM_BA 給出所讀取數(shù)據(jù)的地址。觸發(fā)時間開始時,EM_OE信號拉低,同時FPGA在EM_D信號線上傳輸數(shù)據(jù),DSP將在觸發(fā)時間的最后一個時鐘處對數(shù)據(jù)采樣。保持時間中EM_OE 信號將拉高,并在保持時間結(jié)束后,EM_CS[2]信號拉高。在整個周期中EM_WE_DQM、EM_WE、EM_RW信號始終為高電平。