IC693ACC300
IC693ACC300
IC693ACC300
1,EMIFA即外部存儲器接口,UPP即通用并行接口。EMIFA有地址線和數(shù)據(jù)線,片選信號,讀寫使能信號;而UPP只有兩個數(shù)據(jù)通道,沒有地址線的概念,是通過START/ENABLE/WAIT/CLOCK信號控制數(shù)據(jù)的傳輸和同步。所以,一般使用UPP都是在FPGA里生成一個FIFO,DSP通過UPP接口連續(xù)的讀取FIFO里的數(shù)據(jù),或把數(shù)據(jù)寫入FIFO,而不像EMIFA先要發(fā)送地址信號然后讀取或寫入數(shù)據(jù)。所以UPP的通訊速率要比EMIFA高很多。UPP時鐘可以達到75MHz,使用上升沿下降沿均鎖存數(shù)據(jù)的話吐量可以達到150MB/S。而EMIFA的時鐘最高為148MHz,對于CS0的SDRAM來說,這即是同步接口的時鐘頻率;對于異步接口來說,這是模塊的工作時鐘,異步接口的時序由SETUP/STROBE/HOLD三個階段組成,所以數(shù)據(jù)通信速率肯定比UPP慢。EMIFA的通訊速率廣州創(chuàng)龍官方給出的測試數(shù)據(jù)是:
EMIF_FPGA通信案例是CPU直接讀寫數(shù)據(jù),數(shù)據(jù)吞吐率為:
向FPGA寫數(shù)據(jù):4.54MB/s;
向FPGA讀數(shù)據(jù):4.23MB/s。
經過DMA優(yōu)化后,EMIFA的通信速率大幅提升,數(shù)據(jù)吞吐率為:
向FPGA寫數(shù)據(jù):46.96MB/s (按當前配置最大理論值為:48MB/s);
向FPGA讀數(shù)據(jù):41.62MB/s (按當前配置最大理論值為:48MB/s)。
2,綜上所述,選擇DSP與FPGA的接口方式時,應該考慮實際的需求,如果做圖像處理之類FPGA采集大量數(shù)據(jù)需實時傳送到DSP做運算處理,這種情況最好在FPGA里建立FIFO采用UPP的通訊方式。如果做控制類的產品,F(xiàn)PGA一般是管理大量的IO接口和外設等,F(xiàn)PGA里建立有很多的狀態(tài)寄存器,用于保存采集數(shù)據(jù)和輸出控制等,這種情況使用EMIFA接口更加方便,因為有地址,所以DSP可以任意讀取或寫入FPGA的某個或多個寄存器。