DSP

TMS28335 XINTF

2019-07-13 15:05发布

F28335外部接口(XINTF)采用异步非复用模式总线,基本上与TMS320x281x外部接口相似。 F28335处理器的外部接口(XINTF)映射到3个固定的存储空间,下图所示。 wps_clip_image-26195 当访问相应的存储空间时,就会产生一个对应的片选信号。另外,在有些设备上,两个存储空间会公用一个片选信号。在这种情况下,外部RAM会同时映射到两个ZONE空间,也可以采用外部逻辑信号将两者区分。 每个空间都可以独立地设置访问等待、选择、建立及保持时间,同时还可以使用XREADY信号来控制外设的访问。可编程的等待、选择、建立及保持时间,能够使其与外设及外部存储之间建立无缝接口。 每个空间的访问等待、选择、建立及保持时间可以通过XTIMINGx寄存器进行配置。外部接口的访问时钟频率由内部的XTIMCLK提供,XTIMCLK可以等于SYSCLKOUT或SYSCLKOUT/2。XTIMCLK对所有的Zone空间有效。而且,XINTF的总线周期由XCLKOUT的上升沿开始。计时及事件由XTIMCLK上升沿触发。 在28x中,XINTF Zone是一段直接访问外部接口的存储器映射区域。与某个Zone关联的外设或存储设备可以直接被CPU或者CCS访问。 每个空间的读写访问操作时序都可以独立进行配置。每个空间都有一个与之相关联的片选信号,而且片选信号低电平有效。在2833x和2823x的片子上,每个空间的片选信号是相互独立的。 所有的空间共享20位的外部地址总线,处理器根据被选通的Zones而产生相应的地址。具体如下:
  • Zone0分配的外部地址范围为0×00000-0x00FFF。当CPU访问Zone0空间的第一个字时,地址总线产生0X00000;当CPU访问Zone0空间的最后一个字时,地址总线产生0X00FFF地址。需要注意的是,访问Zone0空间时需要将Zone0的片选信号(XZCS0)拉低。
  • Zone6和Zone7共享外部地址总线,地址范围为0×00000-0xFFFFF。因为Zone6和Zone7空间使用两个不同的片选信号(XZCS6 or XZCS7),因此可以通过片选信号来区分对两个空间的访问,只需要将相应的片选信号拉低即可。
XINTF是直接访问外部接口的存储器映射区域。任何对XINTF空间的读或写操作的时序都可以分为三个阶段:建立、激活和跟踪。在寄存器XTIMING中可以设置每个XINTF空间访问各阶段时等待的XTIMCLK周期数。读写访问操作的时序可以独立进行配置。除此之外,为了能够与慢速外设接口,还可以使用X2TIMING位使访问特定空间的建立、激活和跟踪等待状态延长1倍。 在建立阶段,访问空间的片选信号变为低电平,产生的地址放在地址总线上(XA)。建立的周期可以通过XTIMING寄存器进行配置。默认情况下,建立周期设置为最大,读写访问都是6个XTIMCLK周期。 在激活阶段访问外部设备,如果是读访问,读选通信号(XRD)变为低电平,数据锁存到DSP:如果进行的是写访问,写使能(XWE)选通信号变为低电平,数据放到数据总线(XD)上。如果访问的空间配置为判断XREADY信号操作方式,外设可以控制XREADY信号扩展激活状态周期,使激活状态周期超过寄存器设置的等待周期。 如果不使用XREADY信号,总的激活周期就等于一个XTIMCLK加上XTIMING寄存器中设置的等待周期数。默认情况下,读写访问的激活等待周期都是14个XTIMCLK周期。 跟踪周期是指读写选择信号变为高电平后,保持片选信号低电平的一段时间。在XTIMING寄存器中可以设置跟踪周期的XTIMCLK的个数。默认情况下,跟踪周期设置为最大,读写访问都是6个XTIMCLK周期。 根据系统设计的要求,可以配置空间的建立、激活和跟踪周期长度,以适合具体外设接口的访问。在配置过程中,需要考虑以下几个问题: 1.最小等待状态的需要; 2.XINTF的时序特性,参考相应的数据手册; 3.外部器件的时序特性; 4.C28x芯片和外设间的附加延时。 在配置的过程中,一定要配合外部器件的时序进行配置,不然会造成读取写入的数据错误。
外部存储器接口能够配置各种参数,以便能够与众多不同外部扩展设备无缝接口。在使用过程中,主要根据F28335器件的工作频率,XINTF的特性以及外部扩展器件的时序要求进行配置。由于在配置前后,XINTF可能会产生很大的变化,所以尽量不要将配置程序放在XINTF扩展的存储器空间执行。 在改变XINTF配置寄存器和时序寄存器的过程中,不能对XINTF进行如下操作:仍在CPU流水线上的指令对XINTF的访问、XINTF写缓冲器内的写访问、数据读写和预先取指操作。为保证在改变配置过程中不访问XINTF,配置过程需要遵循以下步骤: 1.确保DMA没有访问XINTF。 2.任何配置XTIMING0/6/7,XBANK或XINTCNF2寄存器的操作,都必须采用如下图所示的流程: wps_clip_image-266 需要注意的是,在配置完成的时候,要等待8个周期来完成被指函数的流水线操作。这个灰常重要,切记切记!!!