Only U is in my heart!
I will be right here waiting for you.

TMS320F28335扩展接口XBANK周期的详细配置

先前在TMS320F28335外部接口(XINTF)写缓冲及空间切换一文中曾经介绍过,当从XINTF的一个空间切换到另一个空间时,为了能够及时地释放总线给其他设备使用,一些慢速外设可能需要额外的周期。空间切换允许用户指定一个特殊的空间,可以在该空间与其他空间来回切换的过程中增加额外的周期,增加的周期数在XBANK寄存器中配置。

你需要基于XTIMCLK和XCLKOUT速率来决定增加的周期数目。共有一下三种情况:

1.XTIMCLK = SYSCLKOUT

当XTIMCLK等于SYSCLKOUT的时候,XBANK[BCYC]的选择是没有限制。

2.XTIMCLK = 1/2 SYSCLKOUT and XCLKOUT = 1/2 XTIMCLK

在这种情况下,只要XBANK[BCYC]的值不是4或者6,其他的任何值都是允许的。

3.XTIMCLK = 1/2 SYSCLKOUT and 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

在技术手册中,TI列出了部分真值表。有兴趣的可以找到参考一下,我在这里就不一一列出了。

赞(0) 打赏
未经允许不得转载:Onlyisu » TMS320F28335扩展接口XBANK周期的详细配置

相关推荐

  • 暂无文章

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏