所需要从操作的ram反映太慢,片选选通 之后ram芯片需要200多ns才能输出ready信号,允许写入。
F28335工作在100M时钟模式下,XCLKOUT 4分频系统时钟,将lead (3)和 active(7)(x2timeing已经配置成2了)全配置成延时最大的时刻,结果时间还不够,6678有个wait0模式,即若等待ram的ready信号才写入,不知道28335有没有。另外如果没有的话怎么延时?难道要降低系统时钟?谢谢。
mangui zhang:
不知道对不对
配置XBANK 周期 当从XINTF的一个空间切换到另一个空间时,为了能够及时地释放总线给其他设备使用,一些慢速外设可能需要额外的周期。空间切换允许用户指定一个特殊的空间,可以在该空间与其他空间来回切换的过程中增加额外的周期,增加的周期数在XBANK寄存器中配置。 你需要基于XTIMCLK和XCLKOUT速率来决定增加的周期数目。共有一下三种情况: •情况1:XTIMCLK = SYSCLKOUT 当XTIMCLK等于SYSCLKOUT的时候,XBANK[BCYC]的选择是没有限制。 •情况2:XTIMCLK = 1 / 2 SYSCLKOUT和XCLKOUT = 1 / 2 XTIMCLK 在这种情况下,只要XBANK[BCYC]的值不是4或者6,其他的任何值都是允许的。
•情况3:XTIMCLK = 1 / 2 SYSCLKOUT和XCLKOUT = XTIMCLK •情况4:XTIMCLK = 1 / 4 SYSCLKOUT 延迟周期需要加在两个Zone访问之间,即延迟周期之前访问一个Zone,之后再访问另一个Zone。为了能够准确的将延迟周期加在两个访问之间,前一个空间总的访问时间要大于要加入延迟时间,这就要求配置的XBANK[BCYC]值要小于空间总的访问时间。 用下面的例子来说明一下:假定Zone7使能空间切换(XBANK[BANK] = 7),那么任何针对Zone7的访问,无论是读或者写,都会被加入延迟周期。而且该延迟周期要小于前一个空间总的访问周期。也就是说: 一 如果访问Zone0之后紧接着访问Zone7,那么Zone0的访问周期必须大于延迟周期; 一 如果访问Zone7之后紧接着访问Zone0,那么Zone7的访问周期必须大于延迟周期; 我们也可以用建立,激活,跟踪周期来确保访问时间长于延迟周期。由于XREADY只是延长了Zone的访问时间,所以此时并不用考虑它。 一 如果X2TIMING是0,然后选择: 一 XBANK [BCYC] <XWRLEAD + XWRACTIVE + 1 + XWRTRAIL和 一 XBANK [BCYC] <XRDLEAD + XRDACTIVE + 1 + XRDTRAIL 如果X2TIMING = 1,然后选择: 一 XBANK [BCYC] <XWRLEADx2 + XWRACTIVEx2 +1 + XWRTRAILx2和 一 XBANK [BCYC] <XRDLEADx2 + XRDACTIVEx2 + 1 + XRDTRAILx2 表6列出了有效的XBANK BCYC]不同的时序配置的值。带头作用,积极和线索 XTIMING寄存器区中指定值。在确定适当的XBANK [BCYC]值, 产量的访问时间最长的使用时间。这可能是读取或写入时机。