- 相關推薦
用PowerPC860實現(xiàn)FPGA配置
摘要:介紹如何用PowerPC860(MPC860)進行FPGA(Xilinx的Virtex-II系列)的配置;給出進行FPGA配置所需的詳細時序圖和原理圖。本配置基本原理對其它FPGA的配置也適用。關鍵詞:PowerPC860FPGAXilinx
1概述
MPC860是基于PowerPC結構的通信控制器。它不僅是集成的微處理器,而且將很多外設的功能也集成在一起。MPC860具有存儲控制器,其存儲控制器的功能很強,可以支持各種存儲器,包括各種新型的DRAM和Flash,并可以實現(xiàn)與存儲器的無縫接口;而且使用嵌入式操作系統(tǒng)VxWorks和開發(fā)環(huán)境Tornado開發(fā)非常方便。
本設計中用1片IntelW28F1283A150Flash作為BootFlash對MPC860進行加電配置,其多余的存儲空間完全可以存放下FPGA所需的配置文件。加電復位、系統(tǒng)啟動后,由MPC860處理機與EPLD配合,控制FPGA配置文件的下載過程,完成對FPGA的配置。使用MPC860可以對FPGA十分方便地進行配置,甚至可以通過MPC860的網絡功能對FPGA進行遠程配置,節(jié)省了因采用專用配置芯片所耗費的電路板及其成本。本文主要介紹如何用MPC860對Xilinx公司的VirtexII系列的FPGA進行配置,其原理同樣適用于別的FPGA芯片(包括Altera公司)。
2XilinxFPGA的配置方式
本設計中FPGA采用Xilinx公司Virtex-II系列蝗XC2V4000,其配置文件的下載模式有5種:主串模式(masterserial)、從串模式(slaveserial)、主并模式(masterselectMAP)、從并模式(slaveselectMAP)、JTAG械。其中,JTAG模式在開發(fā)調試階段使用。本設計將JTAG口直接做在信號處理板上,便于開發(fā)設計階段的調試。
參考Xilinx公司的有關文檔,比較其余4種下載模式,可將其分為串行下載方式和并行下載方式。串行下載方式和并行下載方式都有主、從2種模式。主、從模式的最大區(qū)別在于:主模式的下載同步時鐘(CCLK)由FPGA提供;從模式的下載同步時鐘(CCLK)由外部時鐘源或者外部控制信號提供。主模式對下載時序的要求比從模式嚴格得多。因此從處理機易于控制下載過程的角度,選擇使用從串模式或從并模式。本設計采用從串模式進行FPGA配置,以減少占用MPC860的資源。
用MPC860對FPGA進行配置,實質上就是用MPC860和EPLD來仿真JTAG接口的下載時序,完成對FPGA的下載。JTAG的有效引腳只有5個,分別是nConfig(PROG_B)、nStatus(INIT_B)、Conf_Done(DONE)、DClk(CCLK)、Data0(DIN)。其中nConfig用于使FPGA進行到下載狀態(tài),nStatus時不否出現(xiàn)CRC校驗錯誤,Conf_Done用于表示下載完成,而DC1k的Data則是用于在下載時產生時鐘和數據位的。每一個CD1k時鐘周期寫入1個bit數據(括號中標注為Xilinx的FPGA對該功能的稱呼)。
表1所列為下載信號定義。
表1下載信號定義
引腳方向(對FPGA)說明Data0輸入數據引腳DClk輸入同步時鐘,由外部時鐘源或控制信號提供NConfig輸入異步復位引腳,用于異步復位配置邏輯Conf_Done輸出配置狀態(tài)nStatus輸出下載狀態(tài)
3從串模式的配置信號和下載時序
(1)啟動下載時序
在nConfig引腳上產生1個超過2μs的低脈沖,等待nStatus回應1個低脈沖以及Conf_Done。變低。這時候表明FPGA已經進入到了下載狀態(tài),等待至少5μs以后就可以開始下載了。
(2)下載時序
從串下載模式的下載時序如圖1的所示。
在Data0上逐位地產生要下載的數據,同時在DC1k上產生時鐘。數據必須在時鐘的上升沿之間50ns有效,時鐘高電平和低電平的時鐘都不能小于80ns。這一過程一直持續(xù)到全部數據下載完成。在下載過程中可以出現(xiàn)相對較少時間的等待狀態(tài),而不會中斷下載進程。如果發(fā)生錯誤,nStatus將被拉低,F(xiàn)PGA退出操作,必須重算1~3步驟。
。3)結束下載
在數據都下載完成以后,需要繼續(xù)給FPGA提供若干的時鐘,時鐘要至少等到Conf_Done變高為止。
(4)啟動器件
Conf_Done被釋放,被外部拉高。
MPC860處理機控制從串下載模式的信號連接示意如圖2所示。
4MPC860下載模式的軟件(狀態(tài)機)設計
MPC860下載模式的狀態(tài)機的實現(xiàn)是由PCM860處理器和EPLD協(xié)同來完成的。MPC860通過寫入Sc_Dnld_Req(1..0)來控制狀態(tài)機的下一個狀態(tài),通過判斷EPLD中寄存器Sc_Dnld_Con(3..0)的內容來決定流程的跳轉。
圖3中狀態(tài)req=“x”代表向EPLD的寄存器Sc_Dnld_Req寫入數據“xx”。
其中,Sc_Dnld_Req(1downto0)使MPC860通過這個寄存器向EPLD發(fā)出指令,控制下載過程:
10——通知EPLD作好向FPGA發(fā)nconfig的準備工作;
11——通知EPLD開始向FPGA發(fā)出nconfig命令;
00——通知EPLD作好向FPGA下載數據的準備工作;
01——通知EPLD開始向FPGA逐位下載1個字節(jié)的數據。
如果下載過程順序的話,第1、第2步只需在每次下載數據前進行1次,第3、第4步是每下載1個字節(jié)數據都要進行的步驟(每次寫入下載數據的操作在第3步之前進行,且新數據要寫入專門的寄存器Sd_Data_Byte(7downto0))。
Sd_Data_Byte(7downto0))是下載數據緩存。
Sc_Dnld_Con(3downto0)是4bit的只讀寄存器。860通過查詢這個寄存器的內容判斷目標FPGA的當前下載狀態(tài),以決定應該發(fā)出什么樣的指令。其各位代表的意義如下所述:
①Sc_Dnld_Con(3)——為0時表示不可以發(fā)送新數據到EPLD,為1時允許發(fā)送數據;
、赟c_Dnld_Con(2)——為0時表示工作正常,為1時表示下載過程中斷;
、跾c_Dnld_Con(1)——目標FPGA返回的nstatus信號;
、躍c_Dnld_Con(0)——目標FPGA返回的conf_done信號。
結束語
MPC860有強大的資源,可以在外圍電路不復雜的情況下實現(xiàn)Xilinx公司的FPGA的配置程序下載。本設計經過實際調試,已成功地用于所開發(fā)的數字通信信號處理板上,效果良好。
【用PowerPC860實現(xiàn)FPGA配置】相關文章:
FPGA器件的在線配置方法08-06
用單片機實現(xiàn)SRAM工藝FPGA的加密應用08-06
自適應算術編碼的FPGA實現(xiàn)08-06
用FPGA實現(xiàn)DSP與液晶顯示器的快速接口08-06
DDR SDRAM控制器的FPGA實現(xiàn)04-12
用TMS320LF2407和FPGA實現(xiàn)電能質量監(jiān)測08-06
PSD813F2在FPGA配置中的應用08-06