 
- UID
- 1029342
- 性别
- 男
|

3.3 启动序列
CRC校验正确后,FPGA不会马上执行用户的逻辑,它还要进行一些自身内部电路的配置,如DCM锁定(DCMs to Lock)、全局写信号使能(Global Write Enable)等,这些信号的启动顺序也是在ISE配置选项中设置的。必须的启动序列为:释放DONE引脚;释放GTS信号,激活IO管脚;设置全局读写使能,使能内部RAM和FIFOAssert;结束上电配置。
从上面论述可知,整个FPGA 的上电配置正常时序如图3所示。

4 FPGA配置外围电路设计冲突与解决方法
FPGA上电配置整个过程大约需要200ms~2s,这段时间其他外围电路器件绝大部分都已经上电并正常工作了,而FPGA 的通用I/O 管脚还处于弱上拉(HSWAPEN=0)或者不定态(HSWAPEN=1),设计时就需要考虑到这些器件上电初始化和FPGA通用I/O管脚有无时序冲突。例如:上电时,外围器件要求I/O管脚都为低电平,而FPGA默认是弱上拉,初始化电平产生了冲突;外围器件要求在上电复位后马上采集配置管脚进行初始化,而FPGA还处在配置状态,没法正确上拉或下拉I/O管脚,器件初始化错误;外围器件要求上电初始化前需要时钟锁相,FPGA配置时产生不了时钟,导致器件初始化失败等。解决这些冲突大致有3 种方法,但前提都是要正确配置HSWAPEN管脚。因为在FPGA执行“器件上电”步骤后(5~30ms时间),它输出的I/O管脚状态是可以通过HSWAPEN设定的。
方法1:在FPGA 的I/O 管脚外加上下拉电阻,阻值在1~10kΩ之间,根据实际需要确定。FPGA在上电后10ms内能通过上下拉电阻把I/O 管脚拉到用户需要的电平上,这样能解决上电较慢但是又要求固定电平的外围电路,如功放发射开关和保护开关等。
方法2:FPGA可以在配置完成后产生一个全局复位信号,使外围电路硬件复位,再进行一次初始化操作。这样能解决PowrerPC、ARM这种上电初始化很快(在100ms内就能完成),而FPGA没有配置完成,导致PowrerPC 初始化错误的问题。而且这种方式不用外接多余的上下拉电阻,减少了电路设计复杂性。
方法3:FPGA可以在配置完成后产生一个Power Good信号,系统根据此标志再给外围其他有时序要求的器件上电,这样能解决DSP或者高速AD 这种需要时钟锁定后再进行初始化的器件。
这三种方法也可根据具体情况混合使用,能达到更好的效果。
5 结论
通过上述分析可知,FPGA上电是一个短暂而复杂的过程,设计时需要充分考虑FPGA上电配置时序和在这过程中I/O管脚的各种状态对外围电路的影响。根据系统设计的具体情况,通过选用最合理的配置方式以及外围电路连接,达到了既不影响其他器件性能和整个系统功能,同时又简化和完善了整个电路设计的效果。 |
|