打印
[FPGA]

基于ZYNQ的PCIe板卡上电时PC为什么有时要启动两三次才启动...

[复制链接]
6280|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaolin4006|  楼主 | 2015-9-9 19:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xiaolin4006 于 2015-9-9 19:55 编辑

最近用XC7Z015做了一块PCIe的板卡,调试的时候发现,程序烧写到QSPI-FLASH里面以后关机再开机,PC机会出现启动两三次才能启动起来,也就是按下PC的启动开关后,CPU风扇转起来了,ZYNQ的DONE指示灯点亮,然后PC风扇停转,DONE指示灯熄灭,等两秒左右风扇又转起来,DONE指示灯又点亮。如此往复。有时候两次后进系统,有时候三次后进系统,有时候直接就成功进系统。最糟糕的情况是DONE指示灯点亮后电脑一直就进不去系统了。这是什么原因呢?

相关帖子

沙发
雪夜虫子| | 2015-9-10 09:02 | 只看该作者
本帖最后由 雪夜虫子 于 2015-9-10 09:03 编辑

Zynq的启动过程比纯FPGA繁琐,是先加载PS部分,然后再加载PL部分。PCI-E在PL部分。你的PCI-E启动时间满足要求吗?(标准里好像是100ms,但200ms一般也可以。)可以量一下PCI-E复位信号跳变沿和done信号跳变沿之间的时间。

使用特权

评论回复
板凳
xiaolin4006|  楼主 | 2015-9-10 19:14 | 只看该作者
雪夜虫子 发表于 2015-9-10 09:02
Zynq的启动过程比纯FPGA繁琐,是先加载PS部分,然后再加载PL部分。PCI-E在PL部分。你的PCI-E启动时间满足要 ...

我现在电路是PS的POR#是一个RC上电复位,2K加10uF,PCIe的RESET提供给了PL端的PCIeCORE,PCIe的RESET是否要同时提供给POR#(去掉上电复位)?您指的启动时间是指PCIe的复位拉高以后到ZYNQ配置完成(DONE)吗?求教!!

使用特权

评论回复
地板
雪夜虫子| | 2015-9-11 08:47 | 只看该作者
本帖最后由 雪夜虫子 于 2015-9-11 08:49 编辑

PCI-E的复位是由系统中的Root Complex(RC)提供的,协议里有规定,从复位撤销到EndPoint(EP)初始化完成的时间要小于100ms(我们的经验,200ms也没问题,再大就不好了)。我开始觉得是你的这个时间不满足。但结合现象和你板凳里的描述,我觉得还不是100ms的问题(这个问题只是进入系统认不到板卡,还不会是起不来系统)。ZYNQ上电初始化比较复杂,对电源上电顺序也有要求。
1、你的上电顺序是怎么设计的?是否符合要求?
2、你用一个RC复位,是和你的整个芯片的启动顺序(电源顺序、加载顺序)完全无关的,那么你怎么保证他们的关系?如果你的RC复位撤销后,你的电源还没完全起来,或者加载还没完成,怎么办?
3、PCIe复位倒不一定要和POR#连在一起,POR#一定要和电源的上电顺序联系在一起。至少你得保证你复位的时候,芯片该加载的电源都加载上了。再就是要考虑那个EP的100ms时间问题,也是要结合启动加载综合考虑,如果不满足,顶多会认不到板卡,那就再考虑别的办法(比如PR什么的)。

所以,建议查查你的电源启动顺序,最好是把最后那个电源(一般是IO电压)的power good信号跟POR关联起来。官方开发板ZC702/706上的PS复位是怎么设计的?应该不是用RC电路吧?
100ms的问题则是后话,遇到了再解决。

使用特权

评论回复
5
xiaolin4006|  楼主 | 2015-9-12 20:19 | 只看该作者
本帖最后由 xiaolin4006 于 2015-9-12 20:40 编辑
雪夜虫子 发表于 2015-9-11 08:47
PCI-E的复位是由系统中的Root Complex(RC)提供的,协议里有规定,从复位撤销到EndPoint(EP)初始化完成 ...

非常感谢你的回复,我的电源确实没有进行排序,因之前参考了SNOWLEO开发板,它的电源部分为同步上电。所以没有仔细考虑上电顺序这块,刚仔细看了一下datasheet,上电顺序要求还比较复杂,下面为原文:
PS Power-On/Off Power Supply Sequencing
The recommended power-on sequence is VCCPINT, VCCPAUX, and VCCPLL together, then the PS VCCO supplies (VCCO_MIO0,
VCCO_MIO1, and VCCO_DDR) to achieve minimum current draw and ensure that the I/Os are 3-stated at power-on. The
recommended power-off sequence is the reverse of the power-on sequence. If VCCPAUX, VCCPLL, and the PS VCCO supplies
(VCCO_MIO0, VCCO_MIO1, and VCCO_DDR) have the same recommended voltage levels, then they can be powered by the
same supply and ramped simultaneously. Xilinx recommends powering VCCPLL with the same supply as VCCPAUX, with an
optional ferrite bead filter.
-------
PL Power-On/Off Power Supply Sequencing
The recommended power-on sequence for the PL is VCCINT, VCCBRAM, VCCAUX, and VCCO to achieve minimum current draw
and ensure that the I/Os are 3-stated at power-on. The recommended power-off sequence is the reverse of the power-on
sequence. If VCCINT and VCCBRAM have the same recommended voltage levels then both can be powered by the same
supply and ramped simultaneously. If VCCAUX and VCCO have the same recommended voltage levels then both can be
powered by the same supply and ramped simultaneously.
------
GTP Transceivers (XC7Z015 Only)
The recommended power-on sequence to achieve minimum current draw for the GTP transceivers (XC7Z015 only) is
VCCINT, VMGTAVCC, VMGTAVTT OR VMGTAVCC, VCCINT, VMGTAVTT. Both VMGTAVCC and VCCINT can be ramped simultaneously.
The recommended power-off sequence is the reverse of the power-on sequence to achieve minimum current draw.
-----------------
上文可以看到PS和PL还有GTP上电都是有要求的。
我的板子ZYNQ的电源有四种1.0,1.2,1.8,3.3,前面三个都是由3.3转换的,并且是同时上电,而3.3作为PL的VCCO用的是PCIe插槽的电源,因此3.3肯定是先上电了,这些肯定都不符合要求,现在考虑非常有可能是这个引起的器件工作不可靠。但是目前又无法验证。只是有一点不明白,是什么把PC机拉垮掉的。板卡和PC机之间只有PCIE和电源连接,难道是主板保护了?直到板卡正常了才解除保护?

使用特权

评论回复
6
雪夜虫子| | 2015-9-14 07:58 | 只看该作者
PCI-E初始化时要和主机做交互(链路training)。也可能上电顺序影响了这个过程,出现了问题。具体就得调试、分析了。
但总之,先把芯片使用要求的上电顺序、时序什么的都满足了。

使用特权

评论回复
7
雪夜虫子| | 2015-9-14 09:21 | 只看该作者
xiaolin4006 发表于 2015-9-12 20:19
非常感谢你的回复,我的电源确实没有进行排序,因之前参考了SNOWLEO开发板,它的电源部分为同步上电。所以 ...

最好参考官方demo板的设计。每个系列的器件都会有几款典型型号的板子,官方网站上都有相关文档(包括原理图和gerber文件)下载。

使用特权

评论回复
8
xiaolin4006|  楼主 | 2015-9-14 12:43 | 只看该作者
demo板之前都下载了的,只是他电源ps,pl都是独立的,我这里可能做不到,所以ps,pl相同的电源都共用了,,看手册说是可以共用,只是我需要做个排序,现在想的是用电源的pg驱动下一级的en实现,最后一级的pg关联por#

使用特权

评论回复
9
xiaolin4006|  楼主 | 2015-9-14 12:45 | 只看该作者
雪夜虫子 发表于 2015-9-14 09:21
最好参考官方demo板的设计。每个系列的器件都会有几款典型型号的板子,官方网站上都有相关文档(包括原理 ...

demo板之前都下载了的,只是他电源ps,pl都是独立的,我这里可能做不到,所以ps,pl相同的电源都共用了,,看手册说是可以共用,只是我需要做个排序,现在想的是用电源的pg驱动下一级的en实现,最后一级的pg关联por#

使用特权

评论回复
评论
雪夜虫子 2015-9-15 08:02 回复TA
差不多,是这个意思。 
10
LeonardoD| | 2016-1-5 10:03 | 只看该作者
您好,我最近也在调试PCI-E,用的是Avnet的picozed开发板(xc7z030),pcie x1.您的问题解决了么,我现在的情况是插上pcie卡后,启动电脑,FPGA开发板bit文件加载成功,但是电脑找不到PCIE设备。请问您是怎么解决的

使用特权

评论回复
11
阿的国经| | 2017-3-1 17:13 | 只看该作者
楼主这个方案做成了吧,有些问题想请教一下呢,不知道能否看到啊

使用特权

评论回复
12
373397061| | 2017-7-31 11:09 | 只看该作者
LeonardoD哥们,问你一下啊!你那个pCIE设备最后识别了吗。想请教一下,你在测试过程中都注意了哪几个关键点

使用特权

评论回复
13
373397061| | 2017-7-31 11:14 | 只看该作者
大家好:
          我现在使用的zynq7015进行PCIE设计,目的是和工控机进行交互。
          请教几个问题:
          (1)PCIE的时钟必须由工控机提供吗,ps可以不?
          (2)配置时间指的是reset失效到配置done完成,reset必须早于done???

使用特权

评论回复
14
zhangmangui| | 2017-8-7 20:37 | 只看该作者
供电不足吧

使用特权

评论回复
15
zhangmangui| | 2017-8-7 20:38 | 只看该作者
373397061 发表于 2017-7-31 11:14
大家好:
          我现在使用的zynq7015进行PCIE设计,目的是和工控机进行交互。
          请教几个问题 ...

fpga可以不用工控机的时钟

使用特权

评论回复
16
zhangmangui| | 2017-8-7 20:39 | 只看该作者
373397061 发表于 2017-7-31 11:14
大家好:
          我现在使用的zynq7015进行PCIE设计,目的是和工控机进行交互。
          请教几个问题 ...

一般工控机要求fpga100ms内完成加载

使用特权

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

本版积分规则

16

主题

39

帖子

3

粉丝