以前在广州创龙电子那买了块开发板,现在又买了他们一块FPGA的板子玩,由于初次玩FPGA,在搞EMIF通信的时候不是很懂,想请教一下各位大虾。
有没有大虾能解释一下OMAPL138怎么通过EMIF与FPGA通信的?
Tony Tang:
在FPGA端按照EMIF时序实现一个异步从接口,L138访问FPGA时跟访问异步内存方式一样。
baohua li:
回复 Tony Tang:
Hi Tony,
我最近做数据采集板,数据从AD采集过来,通过FPGA送到DSP。我使用的是EMIF异步EDMA传输方式,16bit数据位宽。
我想问一下,DSP通过EMIF接口,最快能几个CLK能读取一次16bit?我现在的貌似要14CLK才能读取一次(16bit).
baohua li:
回复 Tony Tang:
Hi Tony,
刚刚说的有些问题,应该是6个EMIF CLK才能读取一个16bit数据。时序图如附件所示,不知道可不可以更快?最快可以几个CLK?多谢!
我最近做数据采集板,数据从AD采集过来,通过FPGA送到DSP。我使用的是EMIF异步EDMA传输方式,16bit数据位宽。
我想问一下,DSP通过EMIF接口,最快能几个CLK能读取一次16bit?我现在的貌似要14CLK才能读取一次(16bit).
Tony Tang:
回复 baohua li:
Baohua,
读一个数据由setup, strobe, hold三个阶段组成,根据外部连接的设备的要求,进行相应的配置即可,最快能配多少由外部设备的IO特性决定。因为单位是cycle,且EMIF是100MHz,一个cycle是10ns,所以按每个阶段一个cycle,也最快为30ns读一个数。
但是,由于CPU访问EMIF,中间通过了SCR,bridge,所以不能连续起来,每个访问之间会有一段时间的延时(片选为高),大概在100ns左右的样子(与EMIF及CPU的工作频率相关),这个时间导致EMIF的CPU访问方式下效率较低。
所以如果想达到高的访问速度,可以用EDMA代替CPU去访问EMIF。
baohua li:
回复 Tony Tang:
了解,多谢!
jim houfengbo:
回复 baohua li:
你好,我也在搞fpga和138和数据采集能不能请教一些问题我们qq121757305
jim houfengbo:
回复 baohua li:
你好,我也在搞fpga和138和数据采集能不能请教一些问题我们qq121757305
weihua li:
回复 Tony Tang:
Hi TonyTang
俺也遇到一个感觉很奇怪的问题。就是CPU从EMIFA读取8M的数据存入mDDR。做一个数据的采集和回放。
程序运行在mDDR里面。示例代码如下,后面注释是存取8M数据各自的大概耗时。
mDDR控制器时钟为150MHz。为何效率如此低呢?
weihua li:
回复 weihua li:
tang 会不是mDDR也和SCR,bridge有关,导致效率比较低呢?
Tony Tang:
回复 weihua li:
#1. 是ARM端,还是DSP端的访问?
#2. Cache是否使能?是否知道如何确定是使能的?
#3. EMIFA的时序是否知道如何配置?
#4. EMIFA的模块时钟配置是多少?
不是很理解上面的数据,一条代码的运行要几秒钟,怎么也不可能,如果说是8M,循环在哪里?