F2812外部接口XINTF资料Word格式.docx

上传人:b****2 文档编号:13622902 上传时间:2022-10-12 格式:DOCX 页数:7 大小:20.37KB
下载 相关 举报
F2812外部接口XINTF资料Word格式.docx_第1页
第1页 / 共7页
F2812外部接口XINTF资料Word格式.docx_第2页
第2页 / 共7页
F2812外部接口XINTF资料Word格式.docx_第3页
第3页 / 共7页
F2812外部接口XINTF资料Word格式.docx_第4页
第4页 / 共7页
F2812外部接口XINTF资料Word格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

F2812外部接口XINTF资料Word格式.docx

《F2812外部接口XINTF资料Word格式.docx》由会员分享,可在线阅读,更多相关《F2812外部接口XINTF资料Word格式.docx(7页珍藏版)》请在冰豆网上搜索。

F2812外部接口XINTF资料Word格式.docx

哦...估计是内部数据或者是程序存不下了,找一个外面的片子来做存储区扩展用的接口。

外部接口有哪一些线呢?

有片选信号线、数据总线、地址总线、读写使能信号线、以及其他信号线。

F2812中外部接口被映射到5个固定的存储空间区域,每个区域都有一个片选信号。

当系统使能片选信号后,数据自动存储到对应的存储空间内。

嘻嘻!

就喜欢这一句自动存储。

所有的数字芯片不能少的一条主线就是时钟,这个模块的时钟怎样呢?

答:

XINTF模块的时序都是参照F2812的内部时钟XTIMCLK。

大小可以人为设定为系统时钟或系统时钟的一半。

F2812中XINTF的使用

想使用XINTF先要弄清楚里面有些什么,外面有些什么引脚需要接线。

XINTF一共有5个空间,分别是Zone0、Zone1、Zone2、Zone6、Zone7,每个空间有相应的片选信号线连接到外面。

其中1、2共用一根片选线,6、7共用一根片选线;

2、6共用相同的外部地址,外部首地址0x00000、尾地址0x7ffff;

1、2占用的外部总线地址不同,0的为0x2000~0x3fff、1的为0x4000~0x5fff;

空间7可以作为外部启动的存储空间,由于这个空间的特殊性,所以暂时不打算用,也就不放在这里讨论了。

观察了一下开发板,CPLD的接线为8根数据线,五根地址线,空间0、1共用的片选线,还有R/W读写信号线,WE写使能信号线,RD读使能信号线。

对XINTF空间的操作分为以下三个部分,引导、激活、跟踪。

引导:

访问区域的片选信号为低,相应地址放在外设总线上,引导部分的周期通过XTIMCLK来配置时序。

激活:

访问外部设备,由于我只进行读操作,所以将读使能信号线拉低,外部接口的数据被锁存到DSP中。

暂不打算使用XREADY信号采样。

跟踪:

跟踪周期是指读写信号置成高电平之后片选信号仍然保持低电平一段时间。

由于是使用开发板,为了使DSP与片外的RAM和FLASH不产生干扰,将数据配置在空间0、1的片选信号线上,在CPLD端未接有效的片选信号,相当于不产生任何作用,以防导致整个系统出现不稳定的状态而死掉。

使用这一块的主要目的是接收CPLD发出来的8位并行数据,在激活部分仅仅使用了读信号为低,让DSP一直处于读数据的状态。

使用空间0、1的区别在于不同的地址,所以根据程序来修改,对XINTF模块寄存器做一个分析,其他的空间区域寄存器也大同小异。

配置寄存器XINTCNF2,可以控制所有的区域空间一样,时序寄存器(XTIMINGx)个空间不同。

配置寄存器。

再给的学习板做给的程序中有这几位做了设定:

XTIMCLK=1选择为1/2系统输出时钟;

CLKOFF=1关闭XCLKOUT模式,为了节电和减少噪声,复位后该位被置1;

CLKMODE=1使得XCLKOUT=XTIMCLK/2;

WRBUFF=0没有写缓冲,CPU等待外部接口访问结束才可以执行程序。

时序寄存器。

USEREADY=0访问区域时XREADY信号被屏蔽;

XSIZE=3只能这样设置呀,不知道是为什么,占有两位数据,其他的三中设置都是错误的哦;

XWRACTIVE=7写操作激活阶段等待状态周期选择为7;

XWRTRAIL=3写操作跟踪阶段周期为3;

XWRLEAD=3写操作引导阶段周期为3;

XRDLEAD=3读操作引导;

XDACTIVE=7读操作激活;

XRDTRAIL=3读操作跟踪;

X2TIMING确定上述的六个周期是否需要加倍,=0不加倍,=1为两倍。

XBANK寄存器。

BCYC=7,确定连续访问之间添加的XTIMCLK周期个数;

BANK=0,因为暂时打算使用Zone0的空间区域。

好,该设置的寄存器都设置好了,是否能够正常工作了呢,先试一下看看数据能否从D0~D7的管脚锁进到DSP中。

浅谈2812上的外扩接口XINTF

XINTF全称是eXternalINTerFace。

一开始我还以为是外部中断,居然用了那么多管脚。

后来拿到现在用的实验板后看例子才知道是外扩接口。

这个功能(模块)只在2812上有,它把外设直接映射到寻址空间的五个区域内。

好处是显而易见的——外扩存储设备具有和片内内存相同的地址空间。

可以直接通过地址进行访问。

(插图)

上图是来自2812数据手册的XINTF示意图,XINTF的地址范围并不连续,共分为5个区域

8K的Zone0和Zone1

512K的Zone2和Zone6

16K的Zone7

用例子来说,当你读取0×

2001的时候,这个地址属于zone0,硬件就会在nXZCS0AND1引脚上产生选通信号,转换后的实际地址通过XA线传递给外扩部件,相应的数据通过XD返回到DSP。

从这个意义上来看,XINTF相当于是一个MMU。

1.XINTF接口总线映射到5个区,区0,1,2,6,7;

2.每个区都有一个内部片选信号,区0,1的片选信号,区6,7的片选信号在内部AND(与)后,通过管脚输出,所以实际的片选信号为三个,XZCS0AND1, 

XZCS2, 

XZCS6AND7.

3.区2,和区6共享相同的外部总线物理地址,起始外部总线物理地址为0x00000-0x7ffff,两者靠片选信号XZCS0AND1, 

XZCS2区分。

4.区0,区1使用相同的片选XZCS0AND1,但是两者外部总线物理地址不同,区0为0x20000-0x3ffff,区1为0x40000-0x5ffff,因此两者的片选XZCS0AND1要和其地址总线的13,14位XA{13],XA[14]通过外部逻辑配合才能产生能够区分区两者的有效片选信号。

(详细方法可见TI相关文档)

5.区7只有当XMP\MC引脚复位的时候被拉高才能被外部总线连接,如果该区复位时未连接,复位后,可以通过XINTCNF2的XMP|MC位,使能该区。

如果区7复位时连接,2812认为复位位置以及向量表存在该区域,因此区7可以存储用户引导程序。

当区7未映射到外部总线上的时候,区6仍然可以访问区7的物理空间,因为区6的物理空间和区7是重合的,并且两者使用相同的片选XZCS6AND7,就是说尽管区7未映射,区7的物理空间仍然可以通过区6来使用.

区7的逻辑空间0x3FC000-0x3FFFFF对应的19位外部地址总线的物理地址为:

0x7c000-0x7fff,

区6的逻辑空间为:

0x100000-0x17ffff,对应的19位外部地址总线的物理地址也为:

0x00000-0x7fff,

区7和区6的外部总线的高端物理地址重合.

6.“写紧接着读”流水线保护,由于流水线工作的时候,2812的读修改写操作机制为了提高效率,会先读后写,对于数据存储器来说提高了效率,但是对于外设寄存器会产生状态位错误,因此2812的内部寄存器都带有”写紧接着读”流水线保护保护机制,即写紧接着读这种情况下,仍然是先写后读。

XINTF的区1也有这种“写紧接着读”流水线保护保护机制,因此适合接外部外设。

其他区如果接外部外设,则要人工处理”写紧接着读”这种情况(插入NOP指令)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1