完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本人在做DSP的EMIFA的实验的时候遇到下面的问题,DSP6748的外部存储器接在CS2上面,默认的其实地址是0x60000000,但是本人在外部CPLD里面编写了一个译码电路,用EMIFA_ADDR13作为译码,即当EMIFA_ADDR13为1的时候,存储器片选使能,为0的时候不使能,这样就把存储器的地址译码倒了其实地址为0x60002000的地址处了。。。。。但是这只是我的想法,实验中发现,在dsp中往0x60002000的地址处的存储空间写入数据的时候却怎么也写不进去,没办法,只好在外面捕捉一下EMIFA的相关信号了,见图2,当图1中的地址为0x60002000的时候,发现EMIFA_ADDR13一直都是低电平,低电平当然外部存储没有片选了,所有写不进去也是正常的。后来我改了一下地址发现把地址线的EMIFA_ADDR15拉高的时候,即地址为0x60008000的时候,发现外部存储器却意外片选上了;
我所不解的是:1.地址0x60002000,明明就是把EMIFA_ADDR13拉高了,为什么外部捕捉到的EMIFA_ADDR13却一直是低电平 2. 地址0x60008000,明明就是把EMIFA_ADDR15拉高了,为什么外部捕捉到的EMIFA_ADDR13却一直是高电平,这究竟是为什么呢 另外,本人再次基础上还有一个地方不懂的,0x60008000才是外部存储的起始地址,但程序对0x60008000地址处写入数据的时候,用ccs的memory browner观察的时候,发现0x60000000地址处的数据居然也有变化!例如,我往0x60008000处写入0xAAAA,发现0x60000000处的数据也变成0xAAAA,向0x60008002处写入0xBBBB,发现0x60000002处的数据也相应的编程0xBBBB;同样,向0x60000000处写入数据的时候,0x60008000处的数据也发生变化(时基实验中发现数据确实写进去了),这个到底是怎么回事呢? 希望各位大牛不吝赐教!! 但是输出的时候,在外部捕捉到的结果却是这样的 |
|
相关推荐
13 个讨论
|
|
|
#1. 地址线的A0实际上是地址信号的A2,这就是你为什么看到偏了2位的原因.
#2. 你在不同地址上看到同样的变化,那是因为你的译码电路的问题,因为你搞错了A13和A15,0x60008000实现上是硬件信号的A13在起作用,至于0x60008000为什么跟着0x60000000变化,应该是CPLD的逻辑对地址线的A13处理上有什么不完善的地方。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
|
|
|
您所说的地址线的A0实际上是地址信号的A2,是当外部存储器是8位的时候把?当外部存储器是16位的时候,A0应该接存储器的A1吧,您看一下手册P776页的那个连接图啊,因为我的外部存储接的是16位的存储器,按道理说应该值偏移一位啊,为什么会偏移两位呢 顺便问一下,因为我的板子外部的EMIFA的地址线只有EMIFA_ADDR[13:0]这14根和CPLD相连这,因为工程需要,我用低13根用于寻址,最高位EMIFA_ADDR13用于地址译码,这里只用了一根地址线译码,会不会造成逻辑错误啊! |
|
|
|
|
|
|
|
zhan198498 发表于 2018-7-25 07:29 #1. 上面右边接的是16-bit的设备,其本身A0就是代表8位地址的A1。 在DSP这边不管外面接几位的设备,A0都是代表地址的A2,当接低于32 bit的设备时,低位地址A0, A2由BA0, BA1来充当。 #2. 只用地址线A13来译码,那么物理上就只有两个地址了,其它地址都会跟着这两个地址一起变。 0x60008000-0x6000FFFF.都是一样的。 0x60000000-0x60007FFF都是一样的。 其实不只上面这段空间是一样的,还有红色地址部分也是一样的,总之,所有A13=1的地址空间都只指向一个地址,A13=0的指向另一个。 但是你上面说的0x60008000与0x60000000是一样的,应该不对吧,一个是A13=1, 一个是A13=0,建议检查一下CPLD的逻辑吧,对于EMIF来说无非就是送出地址信号而已。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
|
|
lifei639156 发表于 2018-7-25 07:43 如果我接的是16位的FLASH,若EMA_A[13:0]分别接FLASH的A[14:1],EMA_BA1接FLASH的A[0],那么DSP的可寻址范围是多大啊,是2的14次方,还是2的(14+1)次方啊 |
|
|
|
|
|
|
|
lifei639156 发表于 2018-7-25 07:43 我所不明白的是BA1,和BA0参与寻址吗?如果我接的是16位的FLASH,若EMA_A[13:0]分别接FLASH的A[14:1],EMA_BA1接FLASH的A[0],那么DSP的可寻址范围是多大啊,是2的14次方,还是2的(14+1)次方啊, 又如果我外接的是8位的FLASH呢,EMA_A[13:0]分别接FLASH的A[15:0],EMA_BA1接FLASH的A[1],EMA_BA0接FLASH的A[0],那么寻址范围又是多少呢? |
|
|
|
|
|
|
|
zhan198498 发表于 2018-7-25 08:18 定下了A0是32bit地址的最低位后,寻址空间跟接多少 bit的设备就没关系了。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
|
|
lifei639156 发表于 2018-7-25 08:37 那如果我外接的是32位的存储器,但是我的硬件连接是下面的两种情况 1.EMA_A[13:0]分别接FLASH的A[14:1],EMA_BA1接FLASH的A[0],即按照16位的方法连接 2.EMA_A[13:0]分别接FLASH的A[15:2],EMA_BA1接FLASH的A[1],EMA_BA0接FLASH的A[0],即按照8位的方法连接 以上两种方法,在DSP端,可以通过地址移位的方法正确的访问存储器吗? 我以前用的是DSP6713,我记得以前是可以通过地址移位的方法正确的访问外部存储的,因为6713不管是外接的是多少位的存储,硬件连接方法都是一样的,但是6748的连接方法却又8位和16位之分,我想知道如果通过地址因为的话,会出现数据丢失的问题吗,或者有的内存访问不到的问题? |
|
|
|
|
|
|
|
lifei639156 发表于 2018-7-25 08:37 那如果我外接的是32位的存储器,但是我的硬件连接是下面的两种情况 1.EMA_A[13:0]分别接FLASH的A[14:1],EMA_BA1接FLASH的A[0],即按照16位的方法连接 2.EMA_A[13:0]分别接FLASH的A[15:2],EMA_BA1接FLASH的A[1],EMA_BA0接FLASH的A[0],即按照8位的方法连接 以上两种方法,在DSP端,可以通过地址移位的方法正确的访问存储器吗? 我以前用的是DSP6713,我记得以前是可以通过地址移位的方法正确的访问外部存储的,因为6713不管是外接的是多少位的存储,硬件连接方法都是一样的,但是6748的连接方法却又8位和16位之分,我想知道如果通过地址因为的话,会出现数据丢失的问题吗,或者有的内存访问不到的问题? |
|
|
|
|
|
|
|
zhan198498 发表于 2018-7-25 09:15 你外面接的是FPGA,我还是建议在FPGA端改一下配置吧。 再说C6748 EMIFA只有16bit,不能接32bit,也没这个配置选项。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
550 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1514 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1338 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2783浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 15:49 , Processed in 1.035111 second(s), Total 80, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7084