打印
[电子元器件]

spi裸片可以通信在pcb板上不能通信

[复制链接]
854|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txtone|  楼主 | 2016-11-26 13:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做一个SPI的烧录器,用于客户芯片的数据烧录。SPI协议看起来还是很简单的。实验的时候是在一块FPGA开发板上的SPI芯片,什么都对,就是死活读不到数据,后来我吧芯片拆下来,单独供电就可以通信上了。以为是个案没有在意。目前的项目(和实验不是同一款芯片,也不是同一块板子)也是同样的现象,开始以为是芯片挂板多了负载有些压降,自己做的烧录器驱动电压达不到(确实是有2.5)左右,但是我又用一个调压器调到3.3也同样的裸片可以读到ID,在板子上什么都不读到,说明就不是电压驱动的问题,请问问大家,在板读SPI的时候有特殊设置吗?比如什么信号特别容易受影响?在板子上的SPI信号都是板子MCU给的,我是把SPI信号都拉出来,接烧录器。。。。有遇见同样状况的大神吗?请指点一下.... 用罗分仪抓过信号,clk,CS和SI出去的信号都是对的

相关帖子

沙发
戈卫东| | 2016-11-26 14:30 | 只看该作者
你的信号被板上的其他器件影响了。

使用特权

评论回复
板凳
txtone|  楼主 | 2016-11-26 15:00 | 只看该作者
戈卫东 发表于 2016-11-26 14:30
你的信号被板上的其他器件影响了。

那这样说来离线烧录就不能做了?

使用特权

评论回复
地板
戈卫东| | 2016-11-26 15:05 | 只看该作者
本帖最后由 戈卫东 于 2016-11-26 15:06 编辑

SPI 存储器都是从器件,一旦板子上电,主器件的信号就可能给出来到它的管脚上。
如果那个主器件可以配合你,还是可以烧的。
但是,如果你是在做一个通用的工具,那么别人板上的主器件并不会配合你。
所以不行。

使用特权

评论回复
5
txtone|  楼主 | 2016-11-26 15:27 | 只看该作者
戈卫东 发表于 2016-11-26 15:05
SPI 存储器都是从器件,一旦板子上电,主器件的信号就可能给出来到它的管脚上。
如果那个主器件可以配合你 ...

那如果我给主器件一个disable信号,叫主器件不工作是不是就可以了?

使用特权

评论回复
6
戈卫东| | 2016-11-26 15:30 | 只看该作者
txtone 发表于 2016-11-26 15:27
那如果我给主器件一个disable信号,叫主器件不工作是不是就可以了?

它不一定接受这个信号。
其实,正常的,它总是不会接受你的信号。

使用特权

评论回复
7
QuakeGod| | 2016-11-26 17:58 | 只看该作者
如果主器件有Reset,一直给主器件通Reset信号,可能会强迫它放弃总线控制。

使用特权

评论回复
8
icecut| | 2016-11-26 18:14 | 只看该作者
哈哈哈....spi 支持多 master 么

使用特权

评论回复
9
290399937| | 2016-11-26 19:39 | 只看该作者
拆……专用座写……焊回去……    大批量的贴之前写好……

使用特权

评论回复
10
linqing171| | 2016-11-26 23:21 | 只看该作者
板子有问题吧。
还有就是楼主的fpga有bug也有可能。比如人家给你的数据上升沿有效,下降沿后仅仅保留一点点的时间,你是下降沿之后去读的,而不是下降沿瞬间读的。刚好线长了有个信号的边沿变了,时序紧张的地方就出问了。

使用特权

评论回复
11
949155525| | 2016-11-26 23:42 | 只看该作者
看一下各个端口的波形

使用特权

评论回复
12
txtone|  楼主 | 2016-11-27 10:52 | 只看该作者
290399937 发表于 2016-11-26 19:39
拆……专用座写……焊回去……    大批量的贴之前写好……

不行的,要写进去金板ID,大批量的写完ID就乱套了

使用特权

评论回复
13
txtone|  楼主 | 2016-11-27 10:54 | 只看该作者
linqing171 发表于 2016-11-26 23:21
板子有问题吧。
还有就是楼主的fpga有bug也有可能。比如人家给你的数据上升沿有效,下降沿后仅仅保留一点点 ...

不是FPGA的板子,驱动板就是一个USB转SPI。按你说的,裸片可以通信是不是就说不过去

使用特权

评论回复
14
txtone|  楼主 | 2016-11-27 10:56 | 只看该作者
949155525 发表于 2016-11-26 23:42
看一下各个端口的波形

只能抓取到驱动器输出波形,由于代码是我写的,所以看下波形还是很有必要,但是不能判断芯片有没有接收到,因为SO上根本读不到东西

使用特权

评论回复
15
txtone|  楼主 | 2016-11-27 10:57 | 只看该作者
icecut 发表于 2016-11-26 18:14
哈哈哈....spi 支持多 master 么

这 个,,,多master是指多从机的意思吗?

使用特权

评论回复
16
icecut| | 2016-11-27 11:16 | 只看该作者
txtone 发表于 2016-11-27 10:57
这 个,,,多master是指多从机的意思吗?

多主机.最新的 spi 协议应该是支持多主机的.但是你们 fpga 肯定不支持

使用特权

评论回复
17
txtone|  楼主 | 2016-11-27 11:25 | 只看该作者
icecut 发表于 2016-11-27 11:16
多主机.最新的 spi 协议应该是支持多主机的.但是你们 fpga 肯定不支持

多主机只要做那个片选加挂总线就好了,原理上灭有障碍

使用特权

评论回复
18
linqing171| | 2016-11-27 11:35 | 只看该作者
多master是指的不同的单片机,每个都是一个master,然后分时访问同一个从机? 谁家有这种高级的spi?
i2c是有多主机的,但是一般也都支持的不好,但是spi的好像还没有见谁家有啊。

使用特权

评论回复
19
txtone|  楼主 | 2016-11-27 11:39 | 只看该作者
QuakeGod 发表于 2016-11-26 17:58
如果主器件有Reset,一直给主器件通Reset信号,可能会强迫它放弃总线控制。

给主器件Reset是没用的,依然没有什么效果

使用特权

评论回复
20
txtone|  楼主 | 2016-12-6 10:32 | 只看该作者
一般什么干扰会最大程度造成通信失败呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

18

帖子

1

粉丝