找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 501|回复: 11
打印 上一主题 下一主题

求大神-SPI存储芯片数据读取错误问题

[复制链接]

5

主题

44

帖子

420

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
420
跳转到指定楼层
1#
发表于 2015-5-29 10:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
主从方式一带8,因走线过长(总线超过500mm),转接过多(通过4个排针连接器),所以一路上加了3次拉阻,具体情况如下图。
( S( s/ R7 K! V- m8 A' Y: ?8 [% S2 U! z( k0 O8 x3 D
目前,读写都没有问题,但是在读取数据的时候会随机出错,并表现在终端上,每次复位,发生错误的地方都不相同。所以应确定数据是在读取的时候错误,而不应实在写入的时候错误。这样的随机现象也很难通过抓取波形发现。那么发生错误的最大原因是什么呢?1 R$ ]* y8 t+ E

M25P16应用电路图.png (81 KB, 下载次数: 0)

M25P16应用电路图.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

0

主题

122

帖子

708

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
708
2#
发表于 2015-5-29 11:01 | 只看该作者
10K上拉,太大了吧,可以换小点试试

点评

数据输出这个信号 是低有效的。所以加更小的拉阻,有可能导致信号变换到低状态的时候,上拉的电流大大延缓他的下降时间。这是我现在怀疑的地方! 看整条线上的拉阻,并联起来,实际阻值只有300多R。不知道是否可以  详情 回复 发表于 2015-5-29 12:25

5

主题

44

帖子

420

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
420
3#
 楼主| 发表于 2015-5-29 12:25 | 只看该作者
xyz12320 发表于 2015-5-29 11:01; f: H% B8 {9 S( Y# ?
10K上拉,太大了吧,可以换小点试试
. n: l3 r) o' f  Z, \5 k& p( t5 g
数据输出这个信号 是低有效的。所以加更小的拉阻,有可能导致信号变换到低状态的时候,上拉的电流大大延缓他的下降时间。这是我现在怀疑的地方!
# y! O% y6 A7 T看整条线上的拉阻,并联起来,实际阻值只有300多R。不知道是否可以这样计算,这是我不确定的地方
/ r; r# c! C  l7 p- L

点评

确实是按照并联算呢,上拉的太多了,在驱动端上拉就好了,上拉小点,增加驱动能力,看下芯片手册,只要电流在芯片输入范围内就好了。 另外不知道你的SPI总线速率多少------简单的经验法则估计传输线损耗,即FR4板上  详情 回复 发表于 2015-5-29 12:57

5

主题

44

帖子

420

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
420
4#
 楼主| 发表于 2015-5-29 12:29 | 只看该作者
补充描述:FPGA到M25P16 整个过程中,data-read这条线没有任何器件整形,完全以分支的形式分别连接8个从属芯片

0

主题

122

帖子

708

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
708
5#
发表于 2015-5-29 12:57 | 只看该作者
kketian 发表于 2015-5-29 12:25
* @" `- h- o: R5 t8 `数据输出这个信号 是低有效的。所以加更小的拉阻,有可能导致信号变换到低状态的时候,上拉的电流大大延 ...
) i# u3 B7 w" S6 u
确实是按照并联算呢,上拉的太多了,在驱动端上拉就好了,上拉小点,增加驱动能力,看下芯片手册,只要电流在芯片输入范围内就好了。  F& m( q6 f* a% e
另外不知道你的SPI总线速率多少------简单的经验法则估计传输线损耗,即FR4板上线长(in)大于50×上升边(ns)时,损耗的影响将起着重要的作用。
9 s% K6 Q0 ?" B2 t7 o2 f9 ~

27

主题

306

帖子

1496

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1496
6#
发表于 2015-5-29 13:31 | 只看该作者
支持5楼,以前做过I2C的1拖5,长度差不多。只在驱动端拉,末端预留,没有什么问题。

48

主题

566

帖子

4212

积分

五级会员(50)

Rank: 5

积分
4212
7#
发表于 2015-5-29 13:40 | 只看该作者
我觉得你先看看波形有没有大的异常;或者这种拓扑还可以考虑用cadence仿真下,sigxplrer简单仿一下

点评

就是波形看不出异常 通过串行时钟触发25P16的数据输出信号,通过逻辑分析仪查看信号时序,都找不出明确的原因。所以才说这样随机的问题,很难解决。需要大量的测试数据可能才能找出来。  详情 回复 发表于 2015-5-29 13:58

5

主题

44

帖子

420

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
420
8#
 楼主| 发表于 2015-5-29 13:58 | 只看该作者
yujingfa 发表于 2015-5-29 13:40
: P# Z* H9 R, d我觉得你先看看波形有没有大的异常;或者这种拓扑还可以考虑用cadence仿真下,sigxplrer简单仿一下

8 I  V. Q1 p3 R3 X) t就是波形看不出异常% [  P5 V9 b0 H
通过串行时钟触发25P16的数据输出信号,通过逻辑分析仪查看信号时序,都找不出明确的原因。所以才说这样随机的问题,很难解决。需要大量的测试数据可能才能找出来。7 O  ^, ?3 z1 v

48

主题

566

帖子

4212

积分

五级会员(50)

Rank: 5

积分
4212
9#
发表于 2015-5-29 14:33 | 只看该作者
先看简单地片选时序会不会出错

8

主题

2339

帖子

5400

积分

EDA365版主(50)

Rank: 5

积分
5400
10#
发表于 2015-5-29 21:01 | 只看该作者
这种互联那么多的,波形应该很难看吧。先把波形整整。

17

主题

357

帖子

3043

积分

五级会员(50)

Rank: 5

积分
3043
11#
发表于 2015-5-30 19:17 | 只看该作者
从你的图上看是1拖8哦,这样数据线上的负载肯定是很重的。) r: D2 r0 J, Q$ g# O
可以先用示波器在FPGA端,看下SCLK和MISO的时序是否有风险。
, o! A0 V% ?; l8 @" g( N尝试将FPGA和NOR的驱动能力都调到最大;SPI频率降低到1M以下;或者将所挂的器件数减少;. W2 O4 a* c4 {! a
看下是否还有出错?
) o. X6 G# V/ l' _. N4 J- t% Y

5

主题

44

帖子

420

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
420
12#
 楼主| 发表于 2015-6-1 13:05 | 只看该作者
目前的电路中。MOSI,SPI-CLK 也是一带8,中间有添加245整形,MISO因为器件数量的原因,省略了整形这一步骤,是否跟这个有关系?0 H& e0 h# L1 I! e
时序的波形明天上图!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-26 10:28 , Processed in 0.069918 second(s), 40 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表