fpga初始化錯誤 FPGA低溫啟動失敗

2021-10-13 22:36:52 字數 3089 閱讀 8696

在給 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 電路將保持復位狀態。配置電源有三個:

vcciint:給 fpga 核心邏輯供壓

vccaux:給專用配置管腳供壓

vocc_2:給外部連線的配置資料來源(如 prom )介面管腳供壓

fpga檢測這三個電壓值,一旦所有的三個電壓值超出了特定的電壓門限值要求,por上電復位電路會釋放對reset控制,fpga就可以在prog_b出現低電平時,啟動重新配置。

查一下m0 m1 m2上的下拉電阻,這些腳 fpga 內建的上拉很強,如果外接下拉電阻太大的話有可能下拉電平不夠低,加上溫度變化造成輸入門限電壓的變化就可能造成低溫的時候不去用 spi flash 初始化。推薦阻值 470 歐以下,如果不復用引腳的話,建議直接接地。

cclk 訊號是 jatg 配置資料傳輸的時鐘訊號,其訊號完整性非常關鍵。cclk 是由 fpga 內部振盪器產生的,傳給 platform flash prom的 clk 管腳。相應的,platformflash prom 通過 do 以 cclk 的速率將配置資料送給 fpga 。如果cclk 訊號沒有,重點檢查核心供壓是否為 1.2v 。fpga 配置電路剛開始以最低的頻率工作,如果沒有特別指定,將逐漸提高頻率。對於不同晶元和電平,cclk 最大值如下。

prog_b 為低期間,io 管腳將表現為何種狀態呢。在 hswap 為低電平的情況下,使能上拉電阻,一旦檢測到 prog_b 出現下降沿時,fpga 的 io 管腳將無效,被上拉為高電平。如果 hswap 為高電平,上拉電阻無效,fpga 的 io 管腳的狀態是不確定的。

medium 光端機中,hswap 通過乙個510歐姆的電阻接地,因此 hswap 為低電平,當 prog_b 為低電平時,fpga 的 io 管腳將被上拉為高電平,此時指示狀態的四個 led 燈點亮正好說明了這一現象。

當電源供壓達到電壓門限值後,fgpa 將 init_b 置為低電平,指示正在對配置儲存空間進行初始化。在 init_b 訊號由低變為高電平時,fpga 讀取配置模式管腳 m[2:0] 的電平值,從而確定 fpga 的配置模式。

在配置過程中,fpga 通過將 init_b 置為低電平來指示配置資料錯誤,比如 crc 出錯。

當 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°的環境下。

碼 關

注  

一 起

暢 聊

卓越於神經網路

FPGA之道(26)VHDL初始化

訊號最終都會對應到儲存單元或者連線上,對於組合邏輯的訊號,在fpga上的歸屬應該是連線,而對於時序邏輯的訊號,在fpga上的歸屬上應該是暫存器 查詢表 塊儲存等儲存單元。對於連線類的訊號,是否初始化對於晶元的行為幾乎沒有影響,因為晶元一上電後,整個fpga的輸入就由客觀環境確定了,那麼的連線被高電平...

FPGA錯誤總結

分配引腳報錯 error can t place multiple pins assigned to pin location pin k22 iopad x41 y19 n14 info pin b 0 is assigned to pin location pin k22 iopad x41 y...

FPGA之旅 例化

一 訊號埠採用名稱關聯 語法結構 portname port expr portname是頂層的名稱,port expr是底層埠 port expr可以是一下任何型別 1.識別符號 2.位選擇,如.c d 0 c埠連線到d訊號的第0位 3.部分選擇,例.bus din 5 4 例 module yu...