STM32 FSMC驱动SRAM的问题

[复制链接]
10734|18
 楼主| bcdok 发表于 2012-1-16 13:39 | 显示全部楼层 |阅读模式
本帖最后由 bcdok 于 2012-1-16 13:42 编辑

各位
我现在用的MCU为STM32F103ZET6,SRAM为IS61LV51216,现在不能正常工作
原理图连接都是参照的STM3210E_EVAL的官方原理图,测试程序也是参考的官方的
用万用表测量总线信号,CE WE OE ADDR都正常,但是读出的数据同一个数
NBL0 NBL1信号的具体作用不太了解,数据总线为16位,为何还要在分高低字节呢
测量的NBL0 NBL1信号在平时都是低电平,在写时序中与CE信号一致,而读时序中则完全没有信号

感觉问题是出在NBL信号上了,但FSMC就那两个寄存器,程序也用的官方的,实在搞不懂还能有什么可能

之前在网上查了下,好像有人也同样遇到FSMC驱动SRAM的问题,但都没有结果
哪位遇到类似问题了,帮忙解决下,万分感谢
nikita-fuck 发表于 2012-1-16 15:12 | 显示全部楼层
IS61LV51216是个性价比最垃圾的型号。。介意用25616
 楼主| bcdok 发表于 2012-1-16 17:35 | 显示全部楼层
同一个厂的型号性能上会有差异么
本来想内存大点的,这个是最大的
考虑换下试试吧
香水城 发表于 2012-1-17 11:05 | 显示全部楼层
检查这种动态的信号怎么能用万用表呢?最好是逻辑分析仪,至少要使用示波器。

NBL是用于访问单个字节时选择字节地址的。
 楼主| bcdok 发表于 2012-1-17 11:54 | 显示全部楼层
没表达清楚,是用的示波器,双探头测的

正常访问WORD时NBL都是低电平就对了吧,但平时也一直是低,感觉应该保持高电平啊(低电平有效)
按这样看的话应该时序没问题了,但是数据总线上输出的值明显不对,保持为一个固定值(不是0xFF)

换了几个SRAM片子现象都一样,是SRAM的问题,还是FSMC的问题
现在FSMC驱动DM9000和NAND FLASH都正常,唯独SRAM有问题
香水城 发表于 2012-1-17 12:29 | 显示全部楼层
没表达清楚,是用的示波器,双探头测的

正常访问WORD时NBL都是低电平就对了吧,但平时也一直是低,感觉应该保持高电平啊(低电平有效)
按这样看的话应该时序没问题了,但是数据总线上输出的值明显不对,保持为一个固 ...
bcdok 发表于 2012-1-17 11:54


只看NBL不能判断问题。

NBL只在片选有效时起作用,平时也一直是低并无不妥。

关键是看读写信号与片选信号的关系是否正确,同时数据信号线的变化关系是否正确。
baidudz 发表于 2012-1-17 18:53 | 显示全部楼层
如果有条件,用逻辑分析仪看看
 楼主| bcdok 发表于 2012-2-8 09:37 | 显示全部楼层
SRAM换为IS61LV25616也是相同的情况,线序上看不出什么问题
难道是PCB布线的问题,不会要求这么严格吧
mybao 发表于 2012-2-8 10:38 | 显示全部楼层
IS61LV25616,不错
IJK 发表于 2012-2-9 09:27 | 显示全部楼层
NBL0 NBL1信号的作用主要为了进行字节操作。偶字节读写时仅NBL0有效,奇字节读写时仅NBL1有效;字读写时NBL0、NBL1都必须有效。
如果担心STM32 FSMC出来的时序太快,软件上改改增加delay时间,很容易把时序降低的。
 楼主| bcdok 发表于 2012-2-9 10:12 | 显示全部楼层
试过调整寄存器BTR BCR中时钟分频的值,工作模式之类的
时序调的很大,好像都没什么效果

NBL0 NBL1信号平时一直为低电平,访问其他NE片选时有明显的波形
但访问连接SRAM的NE3时就不稳定,没有波形,一直为低电平
IJK 发表于 2012-2-9 11:01 | 显示全部楼层
试过调整寄存器BTR BCR中时钟分频的值,工作模式之类的
时序调的很大,好像都没什么效果

NBL0 NBL1信号平时一直为低电平,访问其他NE片选时有明显的波形
但访问连接SRAM的NE3时就不稳定,没有波形,一直为低电平 ...
bcdok 发表于 2012-2-9 10:12


如同版主在6L解释,NBL0 NBL1信号可能没有问题。LZ不必把思路只放在NBL0 NBL1信号上。

LZ最好把抓到的波形贴出来,并配合适当的解释,否则感觉LZ没说清楚问题在哪里。
IJK 发表于 2012-2-9 11:04 | 显示全部楼层
没表达清楚,是用的示波器,双探头测的

正常访问WORD时NBL都是低电平就对了吧,但平时也一直是低,感觉应该保持高电平啊(低电平有效)
按这样看的话应该时序没问题了,但是数据总线上输出的值明显不对,保持为一个固 ...
bcdok 发表于 2012-1-17 11:54


“数据总线上输出的值明显不对,保持为一个固定值(不是0xFF)“
LZ可以在“数据线上加上拉或者下拉的1k左右电阻,看看能否改变这个固定值,以弄清楚这个固定值是不是真的SRAM的输出。
小菜鸟JOY 发表于 2013-4-29 10:31 | 显示全部楼层
我的板焊好后都不能下载呀,接线正确,电压正常,求高人指点!
小菜鸟JOY 发表于 2013-4-29 10:32 | 显示全部楼层
小菜鸟JOY 发表于 2013-5-16 15:08 | 显示全部楼层
wrong AHB id (15:3).expected 0x04770001(mask 0x0fffff0f),found 0x00000000
小菜鸟JOY 发表于 2013-5-16 15:08 | 显示全部楼层
怎么办呀?
_icmcu_study 发表于 2014-5-14 22:15 | 显示全部楼层
我也遇到过IS61LV51216 无法访问的问题 ,同样的程序 ,换了个 sram 就好使了 。
15113484470 发表于 2015-11-15 23:38 | 显示全部楼层
我也遇到1M的SRAM不能读写,但不同的是,我用ISLV25616可以正常读写,换成ISLV51216就不对了,FSMC改不改都一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

7

帖子

0

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