1.FPGA器件有三類配置下載方式:主動配置方式(AS)和被動配置方式(PS)和最常用的(JTAG)配置方式。 AS由FPGA器件引導配置操作過程,它控制著外部存儲器和初始化過程,EPCS系列.如EPCS1,EPCS4配置器件專供AS模式,目前只支持 Cyclone系列。使用Altera串行配置器件來完成。Cyclone期間處于主動地位,配置期間處于從屬地位。配置數據通過DATA0引腳送入 FPGA。配置數據被同步在DCLK輸入上,1個時鐘周期傳送1位數據。(見附圖) PS則由外部計算機或控制器控制配置過程。通過加強型配置器件(EPC16,EPC8,EPC4)等配置器件來完成,在PS配置期間,配置數據從外部儲存部件,通過DATA0引腳送入FPGA。配置數據在DCLK上升沿鎖存,1個時鐘周期傳送1位數據。(見附圖) JTAG接口是一個業界標準,主要用于芯片測試等功能,使用IEEE Std 1149.1聯合邊界掃描接口引腳,支持JAM STAPL標準,可以使用Altera下載電纜或主控器來完成。 FPGA在正常工作時,它的配置數據存儲在SRAM中,加電時須重新下載。在實驗系統中,通常用計算機或控制器進行調試,因此可以使用PS。在實用系統中,多數情況下必須由FPGA主動引導配置操作過程,這時FPGA將主動從外圍專用存儲芯片中獲得配置數據,而此芯片中fpga配置信息是用普通編程器將設計所得的pof格式的文件燒錄進去。 專用配置器件:epc型號的存儲器 常用配置器件:epc2,epc1,epc4,epc8,epc1441(現在好象已經被逐步淘汰了)等 對于cyclone cycloneII系列器件,ALTERA還提供了針對AS方式的配置器件,EPCS系列.如EPCS1,EPCS4配置器件也是串行配置的.注意,他們只適用于cyclone系列. 除了AS和PS等單BIT配置外,現在的一些器件已經支持PPS,FPS等一些并行配置方式,提升配置了配置速度。當然所外掛的電路也和PS有一些區別。還有處理器配置比如JRUNNER 等等,如果需要再baidu吧,至少不下十種。比如Altera公司的配置方式主要有Passive Serial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive Parallel Synchronous(PPS),Passive Parallel Asynchronous(PPA),Passive Serial Asynchronous(PSA),JTAG等七種配置方式,其中Cyclone支持的配置方式有PS,AS,JTAG三種. 2 對FPGA芯片的配置中,可以采用AS模式的方法,如果采用EPCS的芯片,通過一條下載線進行燒寫的話,那么開始的"nCONFIG,nSTATUS"應該上拉,要是考慮多種配置模式,可以采用跳線設計。讓配置方式在跳線中切換,上拉電阻的阻值可以采用10K 3,在PS模式下tip:如果你用電纜線配置板上的FPGA芯片,而這個FPGA芯片已經有配置芯片在板上,那你就必須隔離纜線與配置芯片的信號.(祥見下圖).一般平時調試時不會把配置芯片焊上的,這時候用纜線下載程序.只有在調試完成以后,才把程序燒在配置芯片中, 然后將芯片焊上.或者配置芯片就是可以方便取下焊上的那種.這樣出了問題還可以方便地調試. 在AS模式下tip: 用過一塊板子用的AS下載,配置芯片一直是焊在板子上的,原來AS方式在用線纜對配置芯片進行下載的時候,會自動禁止對FPGA的配置,而PS方式需要電路上隔離。 4,一般是用jtag配置epc2和flex10k,然后 epc2用ps方式配置flex10k.這樣用比較好.(這是我在網上看到的,可以這樣用嗎?懷疑中)望達人告知. 5,下載電纜,Altera下的下載電纜分為byteblaster和byteblasterMV,以及ByteBlaster II,現在還推出了基于USB-blaster.由于BB基本已經很少有人使用,而USB-Blaster現在又過于昂貴,這里就說一下BBII和 BBMV的區別. BBII支持多電壓供電5.5v,3.3v,2.5v,1.8v; BBII支持三種下載模式:AS,可對Altera的As串行配置芯片(EPCS系列)進行編程 PS,可對FPGA進行配置 JTAG,可對FPGA,CPLD,即Altera配置芯片(EPC系列)編程 而BBMV只支持PS和JTAG 6,一般在做FPGA實驗板,(如cyclone系列)的時候,用AS+JTAG方式,這樣可以用JTAG方式調試,而最后程序已經調試無誤了后,再用 AS模式把程序燒到配置芯片里去,而且這樣有一個明顯的優點,就是在AS模式不能下載的時候,可以利用Quartus自帶的工具生成JTAG模式下可以利用的jic文件來驗證配置芯片是否已經損壞,方法祥見附件(這是駿龍的人寫的,摘自咱們的壇子,如有版權問題,包涵包涵). 7.Altera的FPGA可以通過單片機,CPLD等加以配置,主要原理是滿足datasheet中的時序即可,這里我就不多說了,有興趣的朋友可以看看下面幾篇文章,應該就能夠明白是怎么回事了. 8.配置時,quartus軟件操作部分: (1).assignment-->device-->device&pin options-->選擇configuration scheme,configuaration mode,configuration device,注意在不支持遠程和本地更新的機器中configuration mode不可選擇,而configuration device中會根據不同的配置芯片產生pof文件,如果選擇自動,會選擇最小密度的器件和適合設計 (2).可以定義雙口引腳在配置完畢后的作用,在剛才的device&pin option-->dual-purpose pins-->,可以在配置完畢后繼續當I/O口使用 (3).在general菜單下也有很多可鉤選項,默認情況下一般不做改動,具體用法參見altera configuration handbook,volume2,sectionII. (4)關于不同后綴名的文件的適用范圍: sof(SRAM Object File)當直接用PS模式下將配置數據下到FPGA里用到,USB BLASTER,MASTERBLASER,BBII,BBMV適用,quartusII會自動生成,所有其他的配置文件都是由sof生成的. pof(Programmer Object File)也是由quartusII自動生成的,BBII適用,AS模式下將配置數據下到配置芯片中rbf(Raw Binary File)用于微處理器的二進制文件.在PS,FPP,PPS,PPA配置下有用處rpd(Raw Programing Data File)包含bitstream的二進制文件,可用AS模式配置,只能由pof文件生成hex(hexadecimal file)這個就不多說了,單片機里很多ttf(Tabular Text File)適用于FPP,PPS,PPA,和bit-wide PS配置方式 sbf(Serial Bitstream File)用PS模式配置Flex 10k和Flex6000的jam(Jam File)專門用于program,verigy,blank-checkjic的用法6樓已經提到,在這里就不多說了 ALTERA CPLD器件的配置與下載 一、 配置方式 ALTERA CPLD器件的配置方式主要分為兩大類:主動配置方式和被動方式。主動配置方式由CPLD器件引導配置操作過程,它控制著外部存儲器和初始化過程;而被動配置方式由外部計算機或控制器控制配置過程。根據數據線的多少又可以將CPLD器件配置方式分為并行配置和串行配置兩類。經過不同組合就得到四種配置方式:主動串行配置(AS)、被動串行(PS)、被動并行同步(PPS)、被動并行異步(PPA)。我們沒有必要對每一種配置方式都進行講述,而是詳細地來講講我們實驗室中經常使用的方式:被動串行配置方式(PS)。 以FLEX10K器件為例,我們首先對PS方式中使用到的引腳有個了解,它的主要配置引腳如下: MSEL1、MSEL0:輸入;接地。 nSTATUS:雙向漏極開路;命令狀態下器件的狀態輸出。加電后,FLEX10K立即驅動該引腳到低電位,然后在100ms內釋放掉它,nSTATUS必須經過1.0k電阻上拉到Vcc,如果配置中發生錯誤,FLEX10K將其拉低。 nCONFIG:輸入;配置控制輸入。低電位使FLEX10K器件復位,在由低到高的跳變過程中啟動配置。 CONF_DONE:雙向漏極開路;狀態輸出。在配置期間,FLEX10K將其驅動為低。所有配置數據無誤差接收后,FLEX10K將其置為三態,由于有上拉電阻,所以將變為高電平,表示配置成功。 狀態輸入。輸入高電位引導器件執行初始化過程并進入用戶狀態。 CONF_DONE必須經過1.0k電阻上拉到Vcc,而且可以將外電路驅動為低以延時FLEX10K初始化過程。 DCLK:輸入;為外部數據源提供時鐘。 nCE:輸入;FLEX10K器件使能輸入,nCE為低時使能配置過程,而且為單片配置時,nCE必須始終為低。 nCEO:輸出(專用于多片器件);FLEX10K配置完成后,輸出為低。在多片級聯配置時,驅動下一片的nCE端。 DATA0:輸入;數據輸入,在DATA0引腳上的一位配置數據。 在被動串行配置(PS)方式中,由ByteBlaster、FLEX下載電纜或微處理器產生一個由低到高的跳變送到nCONFIG引腳,然后微處理器或編程硬件將配置數據送到DATA0引腳,該數據鎖存至CONF_DONE變為高電位,它是先將每字節的最低位LSB送到FLEX10K器件。CONF_DONE變為高電位后,DCLK必須多余的10個周期來初始化該器件,器件的初始化是由下載電纜自動執行的。在PS方式中沒有握手信號,所以配置時鐘的工作頻率必須低于10MHz。 在多器件PS方式下,第一片FLEX10K的nCEO引腳級聯到下一片FLEX10K的nCE引腳。在一個時鐘周期內,第二個FLEX10K器件開始配置,因此,對于微處理器或控制器來說,要轉移的數據是透明的,電路如圖1。 二、下載電纜ByteBlaster原理(PS方式) ByteBlaster下載電纜由以下幾部分組成: 與PC機并口相連的25針插頭;與PCB板插座相連的10針插頭;25針到10針的變換電路。 ByteBlaster有兩種配置模式: 被動串行模式(PS)——常用來配置重構ACEX1K,APEX20K,FLEX10K,FLEX6000等系列器件。 邊界掃描模式(JTAG)——具有邊界掃描電路的配置重構或在線編程。 1. ByteBlaster25針插頭 ByteBlaster與PC機并口相連的是一個25針的插頭,它們的管腳對應關系參見altera網站上的ByteBlaster數據手冊。 2. ByteBlaster10針插頭 ByteBlaster10針插頭是與PCB板上的10針插座連接的,各引腳對應關系參見altera網站上的ByteBlaster數據手冊。 3. ByteBlaster的數據變換電路 在ByteBlaster下載電纜中,其變換電路實際上就是只有一個74LS244和N個電阻,其原理圖如圖2。 ![]() 三、基于差分的下載電纜 在上面所述的下載電纜中,用于短距離的下載不會有什么問題;但是,當我們進行稍微長一點距離的下載時,電路就不能正常運行了。為了解決這一問題,我們提出了基于差分傳輸的下載電纜,并經過實踐得以實現了。 在前面講述的下載電纜中出現的問題主要是由于線路變長后,驅動能力下降造成電路的非正常運行;我們的著眼點就在于增強電路的傳輸能力,避免電路驅動能力的下降。差分傳輸是靠電流方式工作的,其傳輸能力相當強,將其應用于下載電纜中是一種不錯的選擇。 基于差分傳輸的下載電纜與前面所述下載電纜的不同在于第三部分——25針到10針的變換電路,其它部分一樣。我們只對不同部分進行講述。 差分傳輸的原理圖如圖3。 ![]() 首先,在發送端將信號變換為差分信號,進行傳輸;然后,在接受端將差分信號還原為初始信號。 由此我們得到基于差分傳輸的下載電纜框圖如圖4所示。 ![]() 在該設計中,下載電纜的工作條件與前面的工作條件相同。我們用5米長的信號線,電路工作得相當穩定。根據實際需要,信號線還可以加長 |