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