本帖最后由 gongcheng1116 于 2011-11-20 17:28 编辑 " A7 `0 {7 W; o/ ` 3 \8 B) @. C9 y5 n FPGA上电加载程序需要一段时间,这段时间主要是FPGA从EEPROM中读配置数据,不同的FPGA及程序的大小不同,加载时间有长有短,但这一段时间FPGA的IO是不受控制的;那么这么一段灰色时段该如何处理我们的控制信号?不知各位大侠有没有这类经验的积累,多多探讨,多谢分享!1 C) W6 U3 x' l) R- b! L4 P6 b p
" b" w1 g( x: A! N9 t( v( W4 U
我在网上看到有同仁这么处理类似的问题:; v; M" {6 ?, d8 t# J
上电时间段内,这些IO口会出现一段时间的小的脉冲信号,而这个小的脉冲信号有的是我们不希望看到的,消除这个脉冲信号的方法是在这些IO上接一个下拉电阻到地;用一个10K的下拉电阻,脉冲还是会有,需要接一个2.2K以下的下拉电阻才能有效的消除这个脉冲信号。; T6 l2 @9 s; L& R
2 }% E h2 A+ [在上电和配置的过程中,I/O口处于三态状态;sparten6系列的器件有下列描述:; U4 @. q5 v0 E( M) A- z( r$ }
• Signals can be applied to I/O pins before powering the device (支持热插拔)1 n( d$ S5 B- X% C- B) O
• I/O pins are high-impedance (that is, three-stated) before and throughout the & k& w- W5 P3 F1 x power-up and configuration processes4 ~# H- {3 W6 f# \* j9 j
• There is no current path from the I/O pin back to the voltage supplies
最近在调试上电掉电顺序时验证了此类问题,与大家分享:1 x. o3 e6 o, \' j4 u" S
我们使用的器件是sparten6系列FPGA,上电采用SPI方式,加载时间在1.7s左右。在这段时间内,被控制电源使能端通过下拉4.7k电阻下拉(低电平关断电源),目的是在系统未完成上电时,某些电源是关闭的。通过示波器观测,受控电源使能在上电过程中出现1V左右的电压,使能并未有效。FPGA上电完成后才真正实现我们所需要的信号。通过替换4.7k下拉电阻成1.5K,FPGA上电过程电源正常关闭。实现预设功能。