FPGA低温不能启动分析

现象描写叙述:在给medium板光端机做低温试验时,分别给发送版、接收板断电又一次启动,发现有的板子在-40°能够启动,而有些板子在-20°都不能启动。须要升高温度到0°以上才干启动,此时观察到的现象是指示状态的4个led灯都点亮,表现为FPGA一直处于复位模式。

针对这一问题,作例如以下分析

FPGA在上电前是一片空白的芯片。既使断电前FPGA已经配置为一个正常工作的系统了,但仅仅要断电,它又恢复了空白。也就是说FPGA内部的电路逻辑要落实到一个详细的结构须要有电的维持。

FPGA内部逻辑结构是由配置文件决定的。这个配置文件来自哪儿取决于FPGA使用哪种配置模式。

Medium光端机FPGA採用的是主串模式,这是FPGA最经常使用的配置模式,主串配置模式电路图例如以下。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hhbmVrb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

Medium光端机使用的FPGA芯片是Spartan3E,PlatformFlash是XCF04S。

FPGA芯片有两个配置触发事件:上电复位(POR, power on reset),软件复位。

低温试验中,我们採用断电重新启动的方式来检測FPGA是否在低温下能够又一次启动,这里主要对上电复位触发又一次配置的过程进行例如以下描写叙述:

(1)FPGA上电后,仅仅有在内核电压、參考电压、IO口电压都正常的情况下,才进入配置模式;

(2)下拉PROG_B。FPGA复位。同一时候对配置存储空间进行初始化;

(3)将INIT_B。DONE管脚信号拉低,DONE信号与PROM芯片的CE管脚信号相连。从而使PROM片选信号有效;INIT_B为低,指示电源供压正常,FPGA正处于配置存储空间初始化中;

(4)FPGA在PROG_B管脚信号变为高电平时,開始配置过程;

(5)FPGA在INIT_B上升沿中读取配置管脚M[2:0]的值,从而确定FPGA的配置模式。

(6)PROM通过Do管脚将配置数据以CCLK时钟信号的速率传给FPGA

(7)配置完毕后。将DONE管脚信号置为低电平,指示配置已经完毕。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hhbmVrb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

下面将针对FPGA主串模式配置过程中几个关键的因素进行分析:

POR电压要求

上电复位过程中,假设配置电源电压没有到达门限值。POR电路将保持复位状态。

配置电源有三个:

VCCIINT。给FPGA内核逻辑供压;

VCCAUX。给专用配置管脚供压。

VOCC_2。给外部连接的配置数据源(如PROM)接口管脚供压

FPGA检測这三个电压值,一旦全部的三个电压值超出了特定的电压门限值要求,POR上电复位电路会释放对RESET控制,FPGA就能够在PROG_B出现低电平时,启动又一次配置。

POR复位电压门限值表

配置模式选择:主串模式(Master Serial)

M[2:0]= <0:0:0>,FPGA配置模式选择管脚M[2:0]都应为低电平。在FPGA完毕了内部配置存储空间初始化后。FPGAT_B在INIT_B上升沿的时候读取配置模式管脚的电平值。从而确定FPGA的配置模式。

==>查一下M0 M1 M2上的下拉电阻。这些脚FPGA内置的上拉非常强。假设外接下拉电阻太大的话有可能下拉电平不够低。加上温度变化造成输入门限电压的变化就可能造成低温的时候不去用SPI Flash 初始化。推荐阻值470欧下面。假设不复用引脚的话,建议直接接地。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hhbmVrb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

配置时钟CCLK

CCLK信号是JATG配置传输数据的时钟信号,其信号完整性很关键。CCLK是由FPGA内部振荡器产生的。传给Platform Flash PROM的CLK管脚。

对应的,PlatformFlash PROM通过DO以CCLK的速率将配置数据送给FPGA。

假设CCLK信号没有,重点检查内核供压是否为1.2v。FPGA配置电路刚開始以最低的频率工作。假设没有特别指定,将逐渐提高频率。对于不同芯片和电平。CCLK最大值例如以下。

PROG_B—FPGA复位或者又一次配置

PROG_B对FPGA 来说是一个异步控制输入信号。当PROG_B为低时,FPGA复位。同一时候对配置存储空间进行初始化。当PROG_B由低变为高时。FPGA開始又一次配置过程;又一次配置完毕后,PROG_B保持高电平,一旦PROG_B出现下降沿。而且低电平持续时间大于500ns时,FPGA将開始又一次配置过程。

PROG_B为低期间。IO管脚将表现为何种状态呢。在HSWAP为低电平的情况下,使能上拉电阻。一旦检測到PROG_B出现下降沿时,FPGA的IO管脚将无效,被上拉为高电平。假设HSWAP为高电平。上拉电阻无效。FPGA的IO管脚的状态是不确定的。

==>Medium光端机中,HSWAP通过一个510欧姆的电阻接地,因此HSWAP为低电平,当PROG_B为低电平时,FPGA的IO管脚将被上拉为高电平。此时指示状态的四个LED灯点亮正好说明了这一现象。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2hhbmVrb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

INIT_B—FPGA配置存储空间初始化指示信号

当电源供压达到电压门限值后,FGPA将INIT_B置为低电平。指示正在对配置存储空间进行初始化。

在INIT_B信号由低变为高电平时,FPGA读取配置模式管脚M[2:0]的电平值,从而确定FPGA的配置模式。

在配置过程中,FPGA通过将INIT_B置为低电平来指示配置数据错误。比方CRC出错。

DONE—FPGA配置状态指示信号

当FPGA处于配置过程中时,DONE为低电平;配置完毕后变为高电平。能够用来指示FPGA的配置状态。

==>Medium光端机中FPGA的DONE管脚外接240欧姆电阻(推荐值为330欧姆)与 相连。而且还有一端外连接一个LED。然后接地。当LED点亮时,表示FPGA已经完毕了配置。

小结:

通过以上的分析,当FPGA不能正常配置时,能够从下面几个方面进行排查:

1.    DONE指示信号LED灯是否亮,亮表示配置完毕;

2.    測量电压是否正常,分别有内核电压(1.2v)、參考电压(2.5v)、IO口电压(3.3v);

3.    检查配置模式M[2:0]是否正确。(M[2:0]=<0:0:0>)。

4.    使用示波器採集配置时钟信号,看是否正常,低于12M(Spartan 3e + XCF04S)

5.    查PROM的数据手冊。PROM--XCF04S能够工作在-40°到+85°的环境下。

參考文档:

1.DS312.PDF

2.UG332.PDF

FPGA低温不能启动分析的更多相关文章

  1. FPGA低温不能启动分析(转)

    FPGA低温不能启动分析 现象描述:在给medium板光端机做低温试验时,分别给发送版.接收板断电重新启动,发现有的板子在-40°可以启动,而有些板子在-20°都不能启动,需要升高温度到0°以上才能启 ...

  2. SpringBoot源码解析:tomcat启动分析

    >> spring与tomcat的启动分析:war包形式 tomcat:xml加载规范 1.contex-param: 初始化参数 2.listener-class: contextloa ...

  3. Nginx学习笔记(八) Nginx进程启动分析

    Nginx进程启动分析 worker子进程的执行循环的函数是ngx_worker_process_cycle (src/os/unix/ngx_process_cycle.c). 其中,捕获事件.分发 ...

  4. mkimage工具 加载地址和入口地址 内核启动分析

    第三章第二节 mkimage工具制作Linux内核的压缩镜像文件,需要使用到mkimage工具.mkimage这个工具位于u-boot-2013. 04中的tools目录下,它可以用来制作不压缩或者压 ...

  5. Android Binder------ServiceManager启动分析

    ServiceManager启动分析   简述: ServiceManager是一个全局的manager.调用了Jni函数,实现addServicew getService checkService ...

  6. Android系统--输入系统(七)Reader_Dispatcher线程启动分析

    Android系统--输入系统(七)Reader_Dispatcher线程启动分析 1. Reader/Dispatcher的引入 对于输入系统来说,将会创建两个线程: Reader线程(读取事件) ...

  7. 第3阶段——内核启动分析之start_kernel初始化函数(5)

    内核启动分析之start_kernel初始化函数(init/main.c) stext函数启动内核后,就开始进入start_kernel初始化各个函数, 下面只是浅尝辄止的描述一下函数的功能,很多函数 ...

  8. 一起读源码之zookeeper(1) -- 启动分析

    从本文开始,不定期分析一个开源项目源代码,起篇从大名鼎鼎的zookeeper开始. 为什么是zk,因为用到zk的场景实在太多了,大部分耳熟能详的分布式系统都有zookeeper的影子,比如hbase, ...

  9. Tomcat启动分析(转自:http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html)

    Tomcat启动分析 1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servl ...

随机推荐

  1. 算法导论(Introduction to Algorithms )— 第十二章 二叉搜索树— 12.1 什么是二叉搜索树

    搜索树数据结构支持很多动态集合操作,如search(查找).minmum(最小元素).maxmum(最大元素).predecessor(前驱).successor(后继).insert(插入).del ...

  2. mysql 修改字符集为utf8mb4

    一般情况下,我们会设置MySQL默认的字符编码为utf8,但是近些年来,emoji表情的火爆使用,给数据库带来了意外的错误,就是emoji的字符集已经超出了utf8的编码范畴

  3. linux命令之------vmstat使用

    在linux命令中,vmstat是个经常用到的分析系统性能的命令之一,主要有两个参数:一个是采样频率,一个是采样的次数.如:vmstat   1  3,意思就是每隔1秒采样1次,总共采样3次. 统计次 ...

  4. psql命令行快速参考

    psql的命令语法是: psql [options] [dbname [username]] psql命令行选项以及它们的意思在表1-1中列出.使用以下命令可以看到psql完整的选项列表: $ psq ...

  5. <p>在静态类junit.framework.Assert或者静态类org.junit.Assert中存在下面几个方法</p>

    在静态类junit.framework.Assert或者静态类org.junit.Assert中存在下面几个方法 1.assertEquals()方法,用来查看对象中存的值是否是期待的值,与字符串比較 ...

  6. Ajax系列之中的一个:ajax旧貌换新颜

    什么是ajax? 什么是Ajax? Ajax就是Asynchronous +JavaScript+XML.中文翻译为:异步的javascript与XML,它是利用javascript语言和xml数据实 ...

  7. HTML5+CSS3学习笔记(一) 概述

    HTML5+CSS3概述      HTML5和CSS3不仅仅是两项新的Web技术标准,更代表了下一代HTML和CSS技术.虽然HTML5的标准规范还没有正式发布,但是未来的发展前景已经可以预见,那就 ...

  8. UIViewController新方法的使用(transitionFromViewController:toViewController:duration:options:animations:completion:)

    iOS5中,UIViewController新添加了几个方法: - (void)addChildViewController:(UIViewController *)childController N ...

  9. mysql临时表空间暴涨

    (此文刚好遇到转载记录) 一.内部临时表使用 在某些情况下,服务器在处理语句时创建内部临时表,而用户无法直接控制临时表何时发生,完全有MySQL内部自行决定. MySQL在以下几种情况会创建临时表: ...

  10. [码海拾贝 之Perl]在字符串数组中查找特定的字符串是否存在

    前言 检索一个字符串是否存在于一个数组中, 最主要的想法应该就是对数组进行循环, 逐个推断数组的每一个元素值和给定的值是否相等. (在Java语言还能够把数组转成 List , 在 list 中直接有 ...