Xilinx Spartan-3系列FPGA的配置電路
這里要談的是Xilinx的spartan-3系列FPGA的配置電路。當(dāng)然了,其它系列的FPGA配置電路都是大同小異的,讀者可以類推,重點(diǎn)參考官方提供的datasheet,畢竟那才是最權(quán)威的資料。
所謂典型,這里要列出一個(gè)市面上最常見的spartan-3的xc3s400的配置電路。所有spartan-3的FPGA配置電路的鏈接方式都是一樣的。Xc3s400是40萬門FPGA,它的Configuration Bitstream雖然只有1.699136Mbit,但是它還是需要2Mbit的配置芯片XCF02S,不能想當(dāng)然的以為我的設(shè)計(jì)簡單,最多用到1Mbit,那么我選XCF01S(1Mbit)就可以了。事實(shí)并非如此,即使你只是用xc3s400做一個(gè)流水燈的設(shè)計(jì),那么你下載到ROM(XCF02S)里的數(shù)據(jù)也是1.699136Mbit的,所以對(duì)于FPGA的配置ROM的選擇宜大不宜小。
配置電路無非有下面五種:主串,從串,主并,從并,JTAG。前四種是相對(duì)于下載到PROM而言的(串并是相對(duì)于不同配置芯片是串口和時(shí)并口協(xié)議和FPGA通訊區(qū)分的),只有JTAG是相對(duì)于調(diào)試是將配置下載到FPGA的RAM而言的(掉電后丟失)。FPGA和CPLD相比,CPLD是基于ROM型的,就是在數(shù)據(jù)下載到CPLD上,掉電后不丟失。而FPGA則是基于RAM的,如果沒有外部ROM存儲(chǔ)配置數(shù)據(jù),那么掉電后就丟失數(shù)據(jù)。所以FPGA都需要外接有配置芯片(當(dāng)然現(xiàn)在也有基于FLASH的FPGA出現(xiàn))。那么我們就來看一下主串模式下FPGA的配置電路的連接。
官方的硬件連接如下:
為了增加配置電路的可靠性,通常我們我們?cè)黾右恍┛垢蓴_的設(shè)計(jì)(如增加濾波電容、匹配電阻):
先看PROM芯片的各個(gè)管腳吧。18,19,20腳就不談了,根據(jù)datasheet給供相對(duì)應(yīng)的電平;3腳CLK是接了FPGA的CCLK,數(shù)據(jù)通信的同步就是通過FPGA的CCLK產(chǎn)生的時(shí)鐘進(jìn)行的;因?yàn)槭褂玫男酒瑫r(shí)串行的配置芯片,所以只有一個(gè)數(shù)據(jù)信號(hào)口DO,連接到FPGA的DIN口(上圖沒有畫出),和上面的時(shí)鐘信號(hào)協(xié)同工作完成串行數(shù)據(jù)傳輸,每當(dāng)CLK的上升沿鎖存數(shù)據(jù),同時(shí)PROM內(nèi)部的地址計(jì)數(shù)器自動(dòng)增加;另外還有兩條控制信號(hào)線時(shí)INIT(連接PROM的OE/RESET)和DONE(連接PROM的CE),OE/RESET是為了確保每次重新配置前PROM的地址計(jì)數(shù)器復(fù)位;關(guān)于CE腳,官方資料說得也不是很詳細(xì),以我個(gè)人的理解,CE應(yīng)該是chip enable的縮寫,從它和FPGA的DONE腳連接我們不難推斷出,F(xiàn)PGA未配置完成時(shí)DONE=0,那么配置芯片PROM處于片選狀態(tài),而一旦配置完成DONE=1,那么PROM就不再被選通,同時(shí)datasheet也說到這個(gè)管腳可以直接接地,就是一直片選中,但是這樣會(huì)使DATA口有持續(xù)的數(shù)據(jù)信號(hào)輸出,同時(shí)導(dǎo)致不必要的電流消耗;CEO腳這里不接,因?yàn)樗诙鄠€(gè)PROM的配置電路中時(shí)作為下一個(gè)PROM的OE端信號(hào)連接用的;CF信號(hào)時(shí)連接FPAG的PROG_B接口的,它的作用就是產(chǎn)生開始配置信號(hào),它連接了一個(gè)上拉電阻,如果PROG_B產(chǎn)生低電平脈沖則PROM會(huì)重新開始一次配置,所以我們會(huì)在這條線上接一個(gè)按鍵到地,如果按鍵按下那么就會(huì)使能PROM重新配置FPGA;還有幾個(gè)信號(hào)接口TDI,TCK,TMS,TDO都是PROM和PC連接的信號(hào),PC通過這些電路(通常接一片驅(qū)動(dòng)隔離芯片后通過并口通信,這里不重點(diǎn)介紹了)下載數(shù)據(jù)到PROM中。
上面談及PROM的信號(hào)接口時(shí)都附帶的談到了FPGA的配置管腳。這里再做一些歸納性的說明。FPGA有7個(gè)專用的配置管腳(CCLK,DIN,PROG_B,DONE,HSWAP_EN,M0,M1,M2),4個(gè)專用的JTAG管腳(TDI,TCK,TMS,TDO),這些管腳是由VCCAUX專門供電的(該系列FPGA通常接VCCAUX=2.5V)。FPGA的M0,M1,M2腳是進(jìn)行配置模式選擇用的,該電路主串模式下{M0,M1,M2}=000,如果時(shí)JTAG下載模式{M0,M1,M2}=101。上面沒有提及的HSWAP_EN管腳接地,則是用于設(shè)置當(dāng)FPAG處于配置狀態(tài)下其它閑置管腳為上拉狀態(tài),而如果該管腳接高電平,則FPAG處于配置狀態(tài)下其它閑置管腳浮空。所以為了減少FPGA配置過程的干擾,一般把此腳接地。
fpga相關(guān)文章:fpga是什么
電流傳感器相關(guān)文章:電流傳感器原理 上拉電阻相關(guān)文章:上拉電阻原理
評(píng)論