淺析FPGA+DSP結(jié)構(gòu)中的配置方式_第1頁
淺析FPGA+DSP結(jié)構(gòu)中的配置方式_第2頁
淺析FPGA+DSP結(jié)構(gòu)中的配置方式_第3頁
淺析FPGA+DSP結(jié)構(gòu)中的配置方式_第4頁
淺析FPGA+DSP結(jié)構(gòu)中的配置方式_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

淺析FPGA+DSP結(jié)構(gòu)中的配置方式0引言在信號處理領(lǐng)域中,基于FPGA+DSP的結(jié)構(gòu)設(shè)計已經(jīng)是系統(tǒng)發(fā)展的一個重要方向。隨著該系統(tǒng)設(shè)計的廣泛應(yīng)用,功能變得更加豐富,成本日趨低廉。而在某些小型化應(yīng)用的場合中,對系統(tǒng)體積的要求越來越高,因此如何在硬件層次上縮小系統(tǒng)體積,已經(jīng)是必須要考慮的重點。除了選用高集成度的芯片、布局更加緊湊的電路結(jié)構(gòu)之外,優(yōu)化系統(tǒng)的功能實現(xiàn)方式則能在更高層次上減小系統(tǒng)體積。對于FPGA+DSP的基本架構(gòu),DSP電路模塊的主要構(gòu)成為DSP芯片和存儲其程序的FLASH芯片,已經(jīng)為最小結(jié)構(gòu),無法精簡。FPGA電路模塊常用的構(gòu)成方式為FPGA芯片和相應(yīng)的配置芯片。而FPGA有多種配置方式,不同的配置方式,所需芯片會有差異,因此采用芯片數(shù)量少的配置方式可以在一定程度上節(jié)省電路板的面積。不同廠家、不同系列的FPGA芯片,配置方式都存在有差異。對于Xilinx公司的Virtex-Ⅱ系列FPGA來說,主要有主動串行、主動并行、被動串行、被動并行和邊界掃描5種配置方式。其中,邊界掃描方式只能燒寫斷電即丟失的.bit文件,不能在系統(tǒng)中單獨使用;主動串行和主動并行的配置方式需要額外的配置芯片,不利于精簡系統(tǒng);被動并行和被動串行的配置方式都是依靠FPGA外部連接的微處理器來進行配置的,而FPGA+DSP結(jié)構(gòu)中的DSP正好可以充當配置電路中的微處理器,這樣就可以省去配置芯片和JTAG電路等相關(guān)模塊,能在一定程度上縮小系統(tǒng)體積。本文選擇了被動的并行配置方式,原因在于更高的配置速率,此種配置方法在工程實踐中有著重要意義。1配置方法1.1配置文件格式配置FPGA即是要把開發(fā)工具已經(jīng)綜合好的程序文件按一定的時序?qū)懭隖PGA芯片中。而Xilinx的開發(fā)環(huán)境可以根據(jù)用戶的選擇產(chǎn)生多種文件格式,以不同的后綴名區(qū)分。不同的文件格式包含了不同的信息,有不同的用途。最常用的格式有.mcs格式、.bit格式和.bin格式,其中,.mcs文件是給FPGA的配置芯片燒寫程序時使用的,而.bit和.bin文件都是直接給FPGA燒寫程序時使用的。所不同的是,.bin只包含了最原始的配置數(shù)據(jù),而.bit文件除包含有最原始的配置數(shù)據(jù)外,還在開頭添加有頭部冗余信息,里面包含了當前ISE工程的名字、器件型號、編譯時間等。這部分信息是不應(yīng)該燒寫到FPGA芯片中去的,因此,本文選擇使用.bin文件來對FPGA進行配置。一般的,此配置文件數(shù)據(jù)都是以Xilinx指定的16進制同步字符FFFFFFFFAA995566開頭,并在重復4次16進制同步字符20000000后結(jié)束。由于被動并行的配置方式省去了配置芯片,因此,F(xiàn)PGA程序需要和DSP程序共同存入FLASH芯片中。本文選擇使用AD公司的DSP,其燒寫FLASH用的程序文件格式為.ldr,每行是由16進制的0xXXXXXXXX數(shù)據(jù)組成。所以,應(yīng)該對FPGA所用的.bin文件進行格式轉(zhuǎn)換。利用Matlab工具,可以實現(xiàn)這一功能。要注意的是,.bin文件其實是ASCII碼形式,要轉(zhuǎn)換成ASCII碼的二進制碼才能使用。.bin文件是由若干個2位的16進制數(shù)據(jù)構(gòu)成的,對每個數(shù)據(jù)a(i)首先分別提取高低位,可通過Matlab的函數(shù)floor(a(i)/16)和mod(a(i),16)來分別實現(xiàn)。然后對提取后的數(shù)據(jù)d進行格式碼轉(zhuǎn)換,相應(yīng)的matlab程序如下:if(d《10)d=d+48;elsed=d+55;end1.2配置管腳與FPGA配置相關(guān)的管腳可以分為2類:專用管腳和可復用管腳。專用管腳的作用是固定的,而可復用管腳在配置階段作為配置管腳,配置結(jié)束后可以配置為通用的IO管腳,也可以繼續(xù)作為配置管腳。配置管腳主要有:異步復位PROG_B,初始化INIT_B,配置時鐘CCLK,數(shù)據(jù)輸入D0-D7,加載成功指示DONE,寫信號RDWR_B,片選信號CS_B,模式選擇M0~M2,忙指示BUSY(并行加載且鐘速率大于50MHz時才使用)等。需要注意的是,通常的微處理器數(shù)據(jù)格式是littleendian格式,D0位為最低有效位,而Xilinx的FPGA采用了bigendian格式,在接收程序數(shù)據(jù)時,D0位是最高有效位。而.bin文件仍采用littIeendian格式,其最高有效位是D7位,所以需要對數(shù)據(jù)進行位順序轉(zhuǎn)換。在本文中,為了簡化操作,直接在硬件連接上進行了數(shù)據(jù)位的順序轉(zhuǎn)換,即DSP的D7位和FPGA的D0位相連,DSP的D6位和FPGA的D1位相連,以此類推。1.3配置流程FPGA的上電配置過程大致可以分為4個階段:上電、初始化、數(shù)據(jù)加載和啟動。具體完成的操作如下:(1)上電。內(nèi)核供電VCCint大于2.5V,管腳供電電壓VCCO大于1.0V,上電即可完成。(2)初始化。上電完成后,外部輸入低電平PROG_B信號,復位配置寄存器,同時,F(xiàn)PGA拉低INIT_B信號,來指示其正在進行內(nèi)部配置寄存器的清除。當PROG_B為高時,INIT_B仍要保持一段時間直至配置寄存器完全清除。PROG_B信號至少需要300ns,無最大值限制。本文中的PROG_B信號由DSP提供。(3)數(shù)據(jù)加載。在INIT_B信號的上升沿,F(xiàn)PGA會采樣它的配置模式管腳M0~M2來選擇不同的配置方式,本文的被動并行模式,需要M0~M2值為:011。然后在INIT_B信號為高時,開始進行配置數(shù)據(jù)加載。在同步字符加載完成后,真正的配置邏輯數(shù)據(jù)開始被加載。在數(shù)據(jù)加載完畢并且做了2次正確的CRC檢驗之后,開始進入FPGA啟動階段,否則,F(xiàn)PGA輸出INIT_B為低,并重新來進行配置。(4)啟動。CRC校驗正確,則FPGA拉高指示信號DONE,然后再需要4個CCLK來激活所有的IO管腳,使能并初始化內(nèi)部RAM、觸發(fā)器等,最終完成FPGA的啟動過程。在生成FPGA的.bin文件時,可以設(shè)置加載FPGA時使用的時鐘CCLK頻率,但是,這個頻率只對主動加載方式有效,被動方式時,CCLK時鐘由外部供給,與此參數(shù)無關(guān)。2硬件實現(xiàn)電路2.1硬件結(jié)構(gòu)本文選用AD公司生產(chǎn)的ADSP-TS101這款芯片作為配置FPGA的主處理器。ADSP-TS101是一款極高性能的靜態(tài)超標量處理器,同時支持浮點和定點處理,最高工作頻率為300MHz,地址范圍4GB,最大支持16MB的PROM。從地址的0x08000000~0xFFFFFFFF為外部存儲器空間的一部分,可以訪問獨立的外圍設(shè)備,完全可以滿足片外程序的尋址。為了完成配置FPGA的時序,需要DSP有靈活可控的引腳信號。而ADSP-TS101的4個標志引腳信號FLAG3~FLAG0允許在ADSP-TS101和其他的設(shè)備之間傳遞位信號。任何一個標志引腳既可以作為輸入也可以作為輸出,且ADSP-TS101的許多指令都可以以標志引腳的輸入作為執(zhí)行條件,可以在多處理器和其他接口之間進行高效的通信和同步。因此,可以將此4個管腳和FPGA進行連接,模擬完成FPGA的配置時序。存儲芯片選用Spansion公司的高性能FLASH芯片S29JL064H,最小訪問周期為55ns,其可以配置成8M×8b的存儲方式。而Virtex-Ⅱ系列FPGA的配置數(shù)據(jù)包括配置數(shù)據(jù)幀和配置寄存器數(shù)據(jù),配置寄存器數(shù)據(jù)都為40×32b,即1280b,配置數(shù)據(jù)幀會因器件不同而有變化,對于XC2V1000器件來說,配置數(shù)據(jù)幀為4082592b,總的配置數(shù)據(jù)不到4Mb。所以,此存儲芯片完全可以滿足FPGA和DSP程序的存儲。對于FLASH存儲空間的劃分,采用一分為二的方法,DSP和FPGA程序各占一半空間。即,從地址0x00000~0x3FFFFF這4MB空間用來存儲DSP程序,剩余的4MB空間0x400000~0x7FFFFF存儲FPGA程序。系統(tǒng)的硬件結(jié)構(gòu)示意圖如圖1所示。由DSP的RD信號充當FPGA的配置時鐘CCLK,F(xiàn)LAG0信號模擬FPGA的PROG_B信號,F(xiàn)LAG1和FLAG2分別作為FPGA的DONE信號和BUSY信號的輸入。此系統(tǒng)在設(shè)計時,采用了DSP,F(xiàn)PGA,F(xiàn)LASH共用數(shù)據(jù)總線的方式,所以當DSP從FLASH芯片中讀取FPGA的加載數(shù)據(jù)并出現(xiàn)在總線上的時候,可以直接被FPGA抓取來完成FPGA程序的正常加載。2.2工作時序系統(tǒng)上電后,DSP啟動DMA通道0,從FLASH地址0開始,把一個256word的程序塊傳送到內(nèi)部存儲器地址0x00~0xFF。然后,DSP開始從0x00執(zhí)行加載核,加載核將后續(xù)應(yīng)用代碼和數(shù)據(jù)加載至地址0xFF之后的內(nèi)部存儲器內(nèi)。最后,加載核啟動一個256word的DMA,使其自身被工作程序代碼覆蓋。至此,DSP即從地址0x00開始執(zhí)行工作程序。在工作程序中首先從

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論