我根据楼主对emi的配置,用CAPS建立了一个对应的项目:工作在16-bit data; 24-bit address的模式下。 然后往不同的emi地址写不同的数据
volatile u16 * addr1=(u16 *)0x20000000,* addr2=(u16 *)0x20000000+ 0xFFFF; u16 data1=0xFFFF,data2=0x0000;
然后示波器看p8.0的波形,即EMI_A/D[0],即地址和数据的复用线的最低位。
当我配置为:cpu工作在96MHz,emi工作在96MHz;并且PFQBC也打开了;buffer mode没有打开,那么p8.0、ALE、WRLn的信号分别由附图的紫色、黄色和绿色线表示。 从示波器上可以看到:数据线上的高电平一直为60ns;短的低电平为50ns;长的低电平为100ns。从此图看出,似乎prefetch queue打开了,仍然有while跳转的指令延时。但是由于这个配置已经超出了data sheet对emi频率的48MHz上限,所以这个现象不在我们解释的范围之内了。 |