fpga初始化错误_FPGA低温启动失败
本文來源:https://blog.csdn.net/shanekong/article/details/29923925
現象描述
在給 medium 板光端機做低溫試驗時,分別給發送版、接收板斷電重新啟動,發現有的板子在 -40° 可以啟動,而有些板子在 -20° 都不能啟動,需要升高溫度到 0° 以上才能啟動,此時觀察到的現象是指示狀態的 4 個 led 燈都點亮,表現為 FPGA 一直處于復位模式。
問題分析
主串配置模式電路圖
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 管腳信號置為低電平,指示配置已經完成。
以下將針對 FPGA 主串模式配置過程中幾個關鍵的因素進行分析:
POR 電壓要求
上電復位過程中,如果配置電源電壓沒有到達門限值,POR 電路將保持復位狀態。配置電源有三個:
VCCIINT:給 FPGA 內核邏輯供壓
VCCAUX:給專用配置管腳供壓
VOCC_2:給外部連接的配置數據源(如 PROM )接口管腳供壓
FPGA檢測這三個電壓值,一旦所有的三個電壓值超出了特定的電壓門限值要求,POR上電復位電路會釋放對RESET控制,FPGA就可以在PROG_B出現低電平時,啟動重新配置。
配置模式選擇:主串模式(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 歐以下,如果不復用引腳的話,建議直接接地。
配置時鐘 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 燈點亮正好說明了這一現象。
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 不能正常配置時,可以從以下幾個方面進行排查
DONE 指示信號 LED 燈是否亮,亮表示配置完成;
測量電壓是否正常,分別有內核電壓(1.2v)、參考電壓(2.5v)、IO口電壓(3.3v);
檢查配置模式 M[2:0] 是否正確,(M[2:0]=<0:0:0>);
使用示波器采集配置時鐘信號,看是否正常,低于 12M(Spartan 3e + XCF04S)
查 PROM 的數據手冊,PROM--XCF04S 可以工作在-40°到+85°的環境下。
參考鏈接
chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/user_guides/ug332.pdfchrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/data_sheets/ds312.pdf掃碼關注一起暢聊深耕在FPGA??扎根于視頻領域?
卓越于神經網絡
總結
以上是生活随笔為你收集整理的fpga初始化错误_FPGA低温启动失败的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用python下载文件的简单示例_Py
- 下一篇: 腾达路由器dns服务器未响应,腾达路由器