kevinc

主攻ZYNQ及RTOS开发,关注Flash存储

zynq开发板连上user小板后不能正常启动

1
阅读(3599)

在zynq的开发项目上,我们使用了myir科技的z-turn开发板,然后插在我们的LB底板上。

有一段时间集中出现以下几种现象:

1、每当带上我们的小板后就会有概率出现不启动,不带就没问题;

2、用220VAC-5VDC-2A的adapter供电,经常出现系统不启动;(FPGA的done灯不亮)

3、单独用调试的usb口供电一直都是OK的,没出过问题;

4、换成5V-10A的开关电源后,前一段时间没问题,所以我们一直以为是供电能力不足;

5、最近用开关电源供电也不能正常启动了;现象又分为,插220V插头几乎绝对不启动,但是先让开关电源工作,然后插上5V到板子,几乎有很大概率能启动;


一开始,怀疑启动程序有问题,但第3条就否定了;

接着,怀疑供电不足,但是usb口一般限流500ma,却没问题;

最终是第5条给了重要提示:

凡是先有电再插上开发板的几乎都没问题,比如usb的和5V开关电源先上电的;

凡是外面供电源和板子一起开始的都有问题,比如adapter和插220V插头;

所以,就怀疑上电这块有问题,特别是上电时序!


结果,测试5V-黄-总电,3.3V-兰-IO口电源,1.0V-紫-core核电源;

一般芯片的上电时序都要求core核电源要先上,然后才是IO口的电源,

实际测到的波形明显不对!

blob.png

查找手册要求: 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). 

但不带我们的小板,只有开发板的上电就是对的。

blob.png

到这里,基本可以确认问题就是上电时序不对。

开发板的上电是按照要求逐级控制的,3.3V是最后一个上来的,没有问题;

看上去像是我们的小板把没受控制的3.3V灌进去了,板上确实有个3.3V可调电源,给引出的几个fpga-bank供电


下图为bank-13,bank-34,bank-35,是开发板通过connector引出给user的;要兼容到user的实际电平逻辑,所以3个bank的VDDIO也引出来了。我们给加了个adj可调电压,实际调到3.3V。

blob.png

但是悲剧的是,开发板上面居然也用磁珠连到了自己的3.3V上。这样一来,开发板自己的3.3V还没受控到来之前,就被我们小板上的电强行拉上去,所以时序不对了。

接下来,把这3个磁珠去掉就没毛病了。哎,bank供电冲突,浪费了我的时间。

blob.png

另外,测试发现用usb和5V电直插到板子上,虽然时序也不满足,但是上电边沿很快,所以才没出问题。