[ZLG-ARM] 用SRAM代替PSRAM的真的没问题吗?

[复制链接]
 楼主| dlq 发表于 2008-8-27 19:32 | 显示全部楼层 |阅读模式
最近正在用LPC2210点亮TFT屏,在SMART2200已经调试通过,于是自己画了一款板子,考虑到PSRAM的封装不好焊接,就找了一款SRAM替代,型号是IS61WV102416BLL的1Mx16bit的,调试过程中TFT显示了(BANK0&nbsp;RAM,BANK1&nbsp;FLASH&nbsp;JTAG调试),图片也正确,我放了5副图片循环显示,但是有时会停止,有时显示几幅图片就停止,有时显示几个循环才刚停止,我查看停止的位置,有两个位置:<br />;取指令中止<br />PrefetchAbort<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrefetchAbort<br /><br />;取数据中止<br />DataAbort<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataAbort<br /><br />我于是猜想是否是存储器BCFG0的设置有问题,于是对下面的数据进行了设置,但是问题依然如故,请问这是什么原因呢?<br />*********************************************************************<br />#define&nbsp;Fosc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Crystal&nbsp;frequence,10MHz~25MHz,should&nbsp;be&nbsp;the&nbsp;same&nbsp;as&nbsp;actual&nbsp;status.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//应当与实际一至晶振频率,10MHz~25MHz,应当与实际一至<br />#define&nbsp;Fcclk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Fosc&nbsp;*&nbsp;4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//System&nbsp;frequence,should&nbsp;be&nbsp;(1~32)multiples&nbsp;of&nbsp;Fosc,and&nbsp;should&nbsp;be&nbsp;equal&nbsp;or&nbsp;less&nbsp;&nbsp;than&nbsp;60MHz.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//系统频率,必须为Fosc的整数倍(1~32),且&lt=60MHZ<br />#define&nbsp;Fcco&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Fcclk&nbsp;*&nbsp;4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//CCO&nbsp;frequence,should&nbsp;be&nbsp;2、4、8、16&nbsp;multiples&nbsp;of&nbsp;Fcclk,&nbsp;ranged&nbsp;from&nbsp;156MHz&nbsp;to&nbsp;320MHz.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//CCO频率,必须为Fcclk的2、4、8、16倍,范围为156MHz~320MHz<br />#define&nbsp;Fpclk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Fcclk&nbsp;/&nbsp;4)&nbsp;*&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//VPB&nbsp;clock&nbsp;frequence&nbsp;,&nbsp;must&nbsp;be&nbsp;1、2、4&nbsp;multiples&nbsp;of&nbsp;(Fcclk&nbsp;/&nbsp;4).<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//VPB时钟频率,只能为(Fcclk&nbsp;/&nbsp;4)的1、2、4倍<br />*********************************************************************<br />BCFG_16DEF&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10000400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;//&nbsp;16Bit&nbsp;Bus<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;IDCY&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;WST1&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;WST2&nbsp;&nbsp;&nbsp;&nbsp;<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Idle&nbsp;width&nbsp;|&nbsp;Read&nbsp;width&nbsp;|&nbsp;Write&nbsp;width<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;0x00&nbsp;~&nbsp;0x0f|&nbsp;0x00&nbsp;~&nbsp;0x1f|&nbsp;0x00~0x1f<br />BCFG_PSRAM&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BCFG_16DEF&nbsp;|&nbsp;(0x00&lt&lt0)&nbsp;|&nbsp;(0x03&lt&lt5)&nbsp;|&nbsp;(0x0a&lt&lt11))&nbsp;&nbsp;&nbsp;;//&nbsp;For&nbsp;70ns&nbsp;PSRAM<br /><br />BCFG_FLASH&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BCFG_16DEF&nbsp;|&nbsp;(0x00&lt&lt0)&nbsp;|&nbsp;(0x03&lt&lt5)&nbsp;|&nbsp;(0x02&lt&lt11))&nbsp;&nbsp;&nbsp;;//&nbsp;For&nbsp;90ns&nbsp;Flash<br />BCFG_CS2&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BCFG_16DEF&nbsp;|&nbsp;(0x0f&lt&lt0)&nbsp;|&nbsp;(0x1f&lt&lt5)&nbsp;|&nbsp;(0x1f&lt&lt11))&nbsp;&nbsp;&nbsp;;//&nbsp;Blank&nbsp;<br />BCFG_CS3&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BCFG_16DEF&nbsp;|&nbsp;(0x01&lt&lt0)&nbsp;|&nbsp;(0x03&lt&lt5)&nbsp;|&nbsp;(0x03&lt&lt11))&nbsp;&nbsp;&nbsp;;//&nbsp;For&nbsp;Peripheral&nbsp;Equipment<br />*********************************************************************<br /><br />
lianshumou 发表于 2008-8-28 15:44 | 显示全部楼层

RAM类型设错了吧!

SRAM应当比你的PSRAM快的!&nbsp;但不支持PSRAM的突发.
 楼主| dlq 发表于 2008-8-28 17:23 | 显示全部楼层

用SRAM代替PSRAM的真的没问题吗?原因各种猜测

请问:RAM类型设错了吧!但是我并没有找到设置RAM类型的ARM7的寄存器,如果有,是什么呢?请指示。<br />我今天用示波器测试了晶振12MHZ的波形,正常,测试电源也正常。若是SRAM的问题,为什么能够显示正常?中间为什么突然停止而进入取指令终止状态或者进入取数据终止状态?是不是电源有我测试不出来的干扰存在呢?<br />是否是我的板子有个别器件有问题呢?<br />明天我准备重新焊接一块板子,再调试一下。<br />大家帮我多想想是什么原因,谢谢!
 楼主| dlq 发表于 2008-8-29 14:04 | 显示全部楼层

今天重新焊接了一块板子,结果问题还是如故

今天重新焊接了一块板子,结果问题还是如故,确定不是器件的问题,但是到底是什么原因使程序停止呢?
 楼主| dlq 发表于 2008-8-29 14:08 | 显示全部楼层

忘记说了,重新焊接的板子晶振换成11.0592MHZ的

忘记说了,重新焊接的板子晶振换成11.0592MHZ的,和SMARTARM2200相同,但是还是显示一会儿,程序就停止了,要么进入<br />“取指令终止状态”<br />或者进入<br />“取数据终止状态”<br />,但是显示的图片还是正确的,这是为什么呢?
lianshumou 发表于 2008-8-29 15:01 | 显示全部楼层

如果是因为进入取指中止或是数据中止的中断而停止的话!

这个问题我也经常遇到!&nbsp;通常将时钟设低点儿就好,&nbsp;不仿真时也没问题,但根本原因一直没找到!&nbsp;自从用上ARM就受到其折磨~!<br />你最好禁止存贮加速器,似乎这玩意儿容易受到仿真的影响!&nbsp;也需要有个明白人给解释一下.<br />我遇到这个问题是随机的,有时自已就好了<br />!
 楼主| dlq 发表于 2008-8-30 13:46 | 显示全部楼层

存储器加速器和BCFG0我都试过了,LPC2210+IS61WV102416BLL

存储器加速器和BCFG0我都试过了,还是不行,要么进入<br />“取指令终止状态”<br />或者进入<br />“取数据终止状态”<br />我查了一下数据手册,好像IS61WV102416BLL是25ns,而周立功板子上的PSRAM是70ns,我还是怀疑我的IDCYWST1和WST2,还有晶振的PLL没有设置对,或者还是有我所不知道的问题?<br />我甚至怀疑IS61WV102416BLL是不是有BUG了??你们用IS61系列没有遇到问题吗?或者是我用的这个太大1MX16BIT的,就会有问题?我的程序编译出来是170K&nbsp;BYTE--1M&nbsp;BYTE的。<br />如果有谁用过LPC2210+IS61WV102416BLL调试程序的,请给点指示。谢谢!<br />
 楼主| dlq 发表于 2008-8-30 13:49 | 显示全部楼层

我的分散加载文件也设置对了

我还查过了,我的分散加载文件也设置对了,同时程序我也在SMARTARM2200上调试通过了,实在不知道什么原因了。
wlq_9 发表于 2008-8-30 15:01 | 显示全部楼层

发生异常时

跟踪R14,看看是在什么位置出的问题.<br />另外问一句,&nbsp;102416多少钱?
lianshumou 发表于 2008-9-2 08:33 | 显示全部楼层

102416的话做计在120多点一片吧!

  
wlq_9 发表于 2008-9-2 11:57 | 显示全部楼层

呵呵

这个价格可以买到一个G的SD或者512M&nbsp;DDR了.
农民讲习所 发表于 2008-9-2 15:06 | 显示全部楼层

能运行起来的话,应该不是RAM问题。

估计是什么地方连线不对。<br /><br />LZ应该先写个测试程序,测试RAM。看看是否某根地址线或数据线有问题。
XDream 发表于 2008-9-2 22:32 | 显示全部楼层

先写个简单的程序测试测试各个部件

不一定是硬件问题
 楼主| dlq 发表于 2008-9-5 17:01 | 显示全部楼层

时间紧急,不能再拖延了,启动备用方案

这些我都调试过,但是还是不行。我也不敢恋战,我启动第二套备用方案,直接用周立功所用的PSRAM(MT45W4MW16&nbsp;48脚封装的),不过调试时注意A6,名称叫做CRE或者ZZ,最好加上拉和下拉调试位置,防止自己理解不正确,我在网络上看到有不少人因为这个片子的封装和CRE脚走了弯路,昨天熬到凌晨5点,今天终于把板子发出去,等板子到了,大概中秋之后再调试吧。<br /><br />等这套方案通过了,我再回头去看看我以前的方案IS61WV102416BLL方案到底出了什么问题。<br />
huangbingg 发表于 2008-9-5 19:56 | 显示全部楼层

这里高手多,菜鸟来问个自己的问题.

  我想画个板子,也是做个实验,我用的是easyarm2200,不过片子和楼主一样(lpc2210,没片内flash)<br />  实验书上在开发板上都是在片外ram调试的,那我自己做是不是也要做个片外ram&nbsp;和片外flash  用来调试和下载啊???<br />   初次画板,没概念,请多指教下哦!!!
zhangdora 发表于 2012-11-26 19:59 | 显示全部楼层
PSRAM跟sram相比,还是有一定的优势的, 价格便宜,结构操作,接口跟SRAM的还一样,各位看下这个对比图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
加油吧小鱼儿 发表于 2013-3-7 10:20 | 显示全部楼层
过来学习的!谢谢分享
明月小厨 发表于 2013-5-27 10:24 | 显示全部楼层
huangbingg 发表于 2008-9-5 19:56
  我想画个板子,也是做个实验,我用的是easyarm2200,不过片子和楼主一样(lpc2210,没片内flash)  实 ...

没片内flash,就不要用,非常麻烦;一堆的走线,把头搞的很大;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

dlq

5

主题

33

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部