|
勇敢的芯伴你玩轉Altera FPGA連載13:實驗平臺復位電路解析 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD
FPGA的時鐘輸入都有專用引腳,通過這些專用引腳輸入的時鐘信號,在FPGA內部可以很容易的連接到全局時鐘網絡上。所謂的全局時鐘網絡,是FPGA內部專門用于走一些有高扇出、低時延要求的信號,這樣的資源相對有限,但是非常實用。FPGA的時鐘和復位通常是需要走全局時鐘網絡的。 如圖2.9所示,25MHz的有源晶振和阻容復位電路產生的時鐘信號和復位信號分別連接到FPGA的專用時鐘輸入引腳CLK_0和CLK_1上。
圖2.9 復位與時鐘電路示意圖 如圖2.10所示,原理圖上示意,我們所使用的FPGA器件共有8個專用時鐘輸入引腳,在不做時鐘輸入引腳功能使用時,這些引腳也可以作為普通I/O引腳。如我們的電路中,只使用了CLK_0和CLK_1作為專用時鐘引腳功能,其他6個引腳則作為普通的I/O引腳功能。
圖2.10 時鐘專用輸入引腳 FPGA上電復位時間需要大于FPGA器件啟動后的配置加載時間,這樣才能夠確保FPGA運行后的復位初始化過程有效。因此,我們也可以來看看這個電路的設計是否滿足實際要求。 查詢器件手冊中關于上電配置時間的計算,有如下的公式。 配置數據量 * (最低的DCLK時鐘周期/1bit) = 最大的配置時間 其中,我們的所使用FPGA器件EP4CE6的配置數據量為2,944,088bits。最低的SPI FLASH傳輸時鐘DCLK通常為20MHz(經實測,一般情況下,DCLK時鐘頻率為32MHz),那么由此便可計算出最大的配置時間為:2944088bits*(50ns/1bit) = 148ms。 另外,從器件手冊上,可以查詢到復位輸入引腳作為3.3-V LVTTL標準電平的最低VIH電壓值是1.7V,那么由此便可計算阻容復位電路從0V上升到1.7V所需的時間。 設V0為電容上的初始電壓值;V1為電容最終可充到或放到的電壓值;Vt 為t時刻電容上的電壓值。則有公式t = RC*Ln[(V1-V0)/(V1-Vt)]。 求充電到1.7V的時間。將已知條件V0=0,V1=3.3V,Vt=1.7V代入上式得:1.7=0+3.3*[[1-exp(-t/RC)],算得t = 0.7239RC。 代入R=47k ,C=10uf得t = 0.34s,即340ms。 由此我們驗證了阻容復位的時間遠大于FPGA器件的上電復位時間。當然了,這里沒有考慮FPGA器件從上電到開始配置運行所需的電壓上升時間,一般這個時間不會太長。所以我們的阻容復位肯定是有效的。如果需要實際的確認,還是要通過示波器設備來輔助觀察實際信號的延時情況。 |