虾米一代 发表于 2015-4-7 23:03

xintf所在的区域是物理片内存储?地址和on-Chip Memory一起编址?

小白学的是DSP28335,对xintf有点不解:1.xintf所在的区域是物理片内存储?如果是物理存储,何必扩展RAM或者Flash?如果不是,图中又说:xintf接口与CPU某个存储空间相对应。2.地址和on-Chip Memory一起编址?图中编出的地址正好错开(图不清楚,麻烦看看28335的数据手册)
其实对xintf访问外设的过程也有点不清楚,如何片内地址访问通过xintf实现对外设数据的访问?(某些资料上写设置好就自动完成,这个过程有点不解)。谢谢

虾米一代 发表于 2015-4-8 15:00

是不是这样的?假如用Zone6外扩RAM(256k*16):首先接线 /XZCS6--/CS,XRD--OE,XWE0--WE,XA--A,XD--D;然后init_xintf()(用于配置时序和ram通信);接着在cmd文件中,声明一段存储空间给Zone6(这里给的地址是和on-Chip Memory统一编址的)(片内空间不一定实实在在存在,直接映射到外部ram中了,所以当访问超过256k,就会出现错误);这样就可以实现访问外部ram就像是访问片内ram了,当访问Zone6时,/XZCS6会自动拉低。。以上是个人猜测,不知对不对

zhangmangui 发表于 2015-4-8 22:22

xintf这是一个映射关系    也就是你对这些映射空间操作   对应着对外部扩展存储器的操作
从硬件角度出发   你对XINTF对应的zone地址操作   相应的CS会拉低
外扩的存储区就会被选中   

虾米一代 发表于 2015-4-9 09:59

zhangmangui 发表于 2015-4-8 22:22
xintf这是一个映射关系    也就是你对这些映射空间操作   对应着对外部扩展存储器的操作
从硬件角度出发    ...

非常专业正确的回答!
用示波器观察cs位,会被拉低,再高电平,说明对XINTF对应的zone地址操作,相应的CS会拉低;同时故意写超过外扩存储器的大小,会出现整个Zone区都被赋值,而存储器大小范围内时,则是写哪,那里就会被赋值,其他地方没变
还有个小疑问:看了个例程
Uint16    *ExRamStart = (Uint16 *)0x100000;
InitXintf16Gpio();
然后就可以*(ExRamStart + 0x040000) = 0x5555;   这样操作外扩了,但是还没有初始化xintf的时序啊,怎么可以访问呢?(看了对应的存储区,是被改写了)

zhangmangui 发表于 2015-4-9 21:21

虾米一代 发表于 2015-4-9 09:59
非常专业正确的回答!
用示波器观察cs位,会被拉低,再高电平,说明对XINTF对应的zone地址操作,相应的CS ...

这个初始化也可能在.GEL中完成    你找找看

lazyyjq 发表于 2015-8-10 08:57

两位的讨论让我获益很多,现在也在学Xintf

虾米一代 发表于 2015-8-11 09:46

lazyyjq 发表于 2015-8-10 08:57
两位的讨论让我获益很多,现在也在学Xintf

其实我也不懂的,还在学

zhangmangui 发表于 2015-8-15 21:58

虾米一代 发表于 2015-8-11 09:46
其实我也不懂的,还在学

边学边分享啊   

虾米一代 发表于 2015-8-16 10:54

zhangmangui 发表于 2015-8-15 21:58
边学边分享啊

是的是的

流星402 发表于 2016-2-26 10:52

虾米一代 发表于 2015-4-9 09:59
非常专业正确的回答!
用示波器观察cs位,会被拉低,再高电平,说明对XINTF对应的zone地址操作,相应的CS ...

你好,最近也在做28335的xintf,如你所说,初始化是按照例程intxintf()做的,uint16 *strlartexram=(uint16*)0x4000,应该是对zone0进行的读写,但是程序中向这个地址对应的区域这数据,这不进去,memory中输入0x4000,实际值为0,请教下,除了外接存储器(fpga)和其他的控制引脚,别的还需要怎么做啊

玄德 发表于 2016-2-26 11:09

流星402 发表于 2016-2-26 10:52
你好,最近也在做28335的xintf,如你所说,初始化是按照例程intxintf()做的,uint16 *strlartexram=(uint ...


检查所有的地址信号、控制信号。比较麻烦。


流星402 发表于 2016-2-26 11:25

玄德 发表于 2016-2-26 11:09
检查所有的地址信号、控制信号。比较麻烦。

是比较麻烦,关键是系统最早是别人设计的,dsp和fpga远用了bga的封装,很多信号没法测

玄德 发表于 2016-2-26 11:49


BGA会存在焊接问题。


虾米一代 发表于 2016-3-15 17:05

本帖最后由 虾米一代 于 2016-3-15 17:08 编辑

流星402 发表于 2016-2-26 10:52
你好,最近也在做28335的xintf,如你所说,初始化是按照例程intxintf()做的,uint16 *strlartexram=(uint ...
好久以前的帖子了,搞忘了好多,这是调试好的程序,不知道有没有帮助

hmf1235789 发表于 2016-7-20 14:51

还有好多疑问啊,xintf不会搞
页: [1]
查看完整版本: xintf所在的区域是物理片内存储?地址和on-Chip Memory一起编址?