www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于DSP的FPGA配置方法研究與實(shí)現(xiàn)

摘要:在數(shù)字電路中,FPGA+DSP的系統(tǒng)結(jié)構(gòu)應(yīng)用日益廣泛。為了減小此種結(jié)構(gòu)的體積和降低成本,對(duì)FPGA采用了被動(dòng)并行的配置方式。上電后,DSP首先完成自身程序的加載,之后充當(dāng)配置FPGA的主處理器,從FLASH芯片中讀取FPGA程序,按照配置時(shí)序完成FPGA的程序加載。在硬件設(shè)計(jì)上,創(chuàng)新性地采用了DSP,F(xiàn)PGA,F(xiàn)LASH共用數(shù)據(jù)總線的方式,當(dāng)DSP從FLASH芯片中讀取FPGA程序時(shí),F(xiàn)PGA可以直接抓取出現(xiàn)在總線上數(shù)據(jù)來完成加載。實(shí)踐證明,此種配置方法結(jié)構(gòu)簡潔,工作穩(wěn)定,在一定程度上實(shí)現(xiàn)了小型化和低成本。
關(guān)鍵詞:FPGA;DSP;配置;被動(dòng)并行;小型化

0 引言
    在信號(hào)處理領(lǐng)域中,基于FPGA+DSP的結(jié)構(gòu)設(shè)計(jì)已經(jīng)是系統(tǒng)發(fā)展的一個(gè)重要方向。隨著該系統(tǒng)設(shè)計(jì)的廣泛應(yīng)用,功能變得更加豐富,成本日趨低廉。而在某些小型化應(yīng)用的場合中,對(duì)系統(tǒng)體積的要求越來越高,因此如何在硬件層次上縮小系統(tǒng)體積,已經(jīng)是必須要考慮的重點(diǎn)。除了選用高集成度的芯片、布局更加緊湊的電路結(jié)構(gòu)之外,優(yōu)化系統(tǒng)的功能實(shí)現(xiàn)方式則能在更高層次上減小系統(tǒng)體積。
    對(duì)于FPGA+DSP的基本架構(gòu),DSP電路模塊的主要構(gòu)成為DSP芯片和存儲(chǔ)其程序的FLASH芯片,已經(jīng)為最小結(jié)構(gòu),無法精簡。FPGA電路模塊常用的構(gòu)成方式為FPGA芯片和相應(yīng)的配置芯片。而FPGA有多種配置方式,不同的配置方式,所需芯片會(huì)有差異,因此采用芯片數(shù)量少的配置方式可以在一定程度上節(jié)省電路板的面積。
    不同廠家、不同系列的FPGA芯片,配置方式都存在有差異。對(duì)于Xilinx公司的Virtex-Ⅱ系列FPGA來說,主要有主動(dòng)串行、主動(dòng)并行、被動(dòng)串行、被動(dòng)并行和邊界掃描5種配置方式。其中,邊界掃描方式只能燒寫斷電即丟失的.bit文件,不能在系統(tǒng)中單獨(dú)使用;主動(dòng)串行和主動(dòng)并行的配置方式需要額外的配置芯片,不利于精簡系統(tǒng);被動(dòng)并行和被動(dòng)串行的配置方式都是依靠FPGA外部連接的微處理器來進(jìn)行配置的,而FPGA+DSP結(jié)構(gòu)中的DSP正好可以充當(dāng)配置電路中的微處理器,這樣就可以省去配置芯片和JTAG電路等相關(guān)模塊,能在一定程度上縮小系統(tǒng)體積。本文選擇了被動(dòng)的并行配置方式,原因在于更高的配置速率,此種配置方法在工程實(shí)踐中有著重要意義。

1 配置方法
1.1 配置文件格式
    配置FPGA即是要把開發(fā)工具已經(jīng)綜合好的程序文件按一定的時(shí)序?qū)懭隖PGA芯片中。而Xilinx的開發(fā)環(huán)境可以根據(jù)用戶的選擇產(chǎn)生多種文件格式,以不同的后綴名區(qū)分。不同的文件格式包含了不同的信息,有不同的用途。最常用的格式有.mcs格式、.bit格式和.bin格式,其中,.mcs文件是給FPGA的配置芯片燒寫程序時(shí)使用的,而.bit和.bin文件都是直接給FPGA燒寫程序時(shí)使用的。所不同的是,.bin只包含了最原始的配置數(shù)據(jù),而.bit文件除包含有最原始的配置數(shù)據(jù)外,還在開頭添加有頭部冗余信息,里面包含了當(dāng)前ISE工程的名字、器件型號(hào)、編譯時(shí)間等。這部分信息是不應(yīng)該燒寫到FPGA芯片中去的,因此,本文選擇使用.bin文件來對(duì)FPGA進(jìn)行配置。一般的,此配置文件數(shù)據(jù)都是以Xilinx指定的16進(jìn)制同步字符FF FF FF FF AA 99 55 66開頭,并在重復(fù)4次16進(jìn)制同步字符20 00 00 00后結(jié)束。
    由于被動(dòng)并行的配置方式省去了配置芯片,因此,F(xiàn)PGA程序需要和DSP程序共同存入FLASH芯片中。本文選擇使用AD公司的DSP,其燒寫FLASH用的程序文件格式為.ldr,每行是由16進(jìn)制的0xXXXXXXXX數(shù)據(jù)組成。所以,應(yīng)該對(duì)FPGA所用的.bin文件進(jìn)行格式轉(zhuǎn)換。利用Matlab工具,可以實(shí)現(xiàn)這一功能。要注意的是,.bin文件其實(shí)是ASCII碼形式,要轉(zhuǎn)換成ASCII碼的二進(jìn)制碼才能使用。.bin文件是由若干個(gè)2位的16進(jìn)制數(shù)據(jù)構(gòu)成的,對(duì)每個(gè)數(shù)據(jù)a(i)首先分別提取高低位,可通過Matlab的函數(shù)floor(a(i)/16)和mod(a(i),16)來分別實(shí)現(xiàn)。然后對(duì)提取后的數(shù)據(jù)d進(jìn)行格式碼轉(zhuǎn)換,相應(yīng)的matlab程序如下:
      if(d<10)
        d=d+48;
      else
        d=d+55;
      end
1.2 配置管腳
    與FPGA配置相關(guān)的管腳可以分為2類:專用管腳和可復(fù)用管腳。專用管腳的作用是固定的,而可復(fù)用管腳在配置階段作為配置管腳,配置結(jié)束后可以配置為通用的IO管腳,也可以繼續(xù)作為配置管腳。配置管腳主要有:異步復(fù)位PROG_B,初始化INIT_B,配置時(shí)鐘CCLK,數(shù)據(jù)輸入D0-D7,加載成功指示DONE,寫信號(hào)RDWR_B,片選信號(hào)CS_B,模式選擇M0~M2,忙指示BUSY(并行加載且鐘速率大于50 MHz時(shí)才使用)等。需要注意的是,通常的微處理器數(shù)據(jù)格式是little endian格式,D0位為最低有效位,而Xilinx的FPGA采用了big endian格式,在接收程序數(shù)據(jù)時(shí),D0位是最高有效位。而.bin文件仍采用littIe endian格式,其最高有效位是D7位,所以需要對(duì)數(shù)據(jù)進(jìn)行位順序轉(zhuǎn)換。在本文中,為了簡化操作,直接在硬件連接上進(jìn)行了數(shù)據(jù)位的順序轉(zhuǎn)換,即DSP的D7位和FPGA的D0位相連,DSP的D6位和FPGA的D1位相連,以此類推。
1.3 配置流程
    FPGA的上電配置過程大致可以分為4個(gè)階段:上電、初始化、數(shù)據(jù)加載和啟動(dòng)。具體完成的操作如下:
    (1)上電。內(nèi)核供電VCCint大于2.5 V,管腳供電電壓VCCO大于1.0V,上電即可完成。
    (2)初始化。上電完成后,外部輸入低電平PROG_B信號(hào),復(fù)位配置寄存器,同時(shí),F(xiàn)PGA拉低INIT_B信號(hào),來指示其正在進(jìn)行內(nèi)部配置寄存器的清除。當(dāng)PROG_B為高時(shí),INIT_B仍要保持一段時(shí)間直至配置寄存器完全清除。PROG_B信號(hào)至少需要300ns,無最大值限制。本文中的PROG _B信號(hào)由DSP提供。
    (3)數(shù)據(jù)加載。在INIT_B信號(hào)的上升沿,F(xiàn)PGA會(huì)采樣它的配置模式管腳M0~M2來選擇不同的配置方式,本文的被動(dòng)并行模式,需要M0~M2值為:011。然后在INIT_B信號(hào)為高時(shí),開始進(jìn)行配置數(shù)據(jù)加載。在同步字符加載完成后,真正的配置邏輯數(shù)據(jù)開始被加載。在數(shù)據(jù)加載完畢并且做了2次正確的CRC檢驗(yàn)之后,開始進(jìn)入FPGA啟動(dòng)階段,否則,F(xiàn)PGA輸出INIT_B為低,并重新來進(jìn)行配置。
    (4)啟動(dòng)。CRC校驗(yàn)正確,則FPGA拉高指示信號(hào)DONE,然后再需要4個(gè)CCLK來激活所有的IO管腳,使能并初始化內(nèi)部RAM、觸發(fā)器等,最終完成FPGA的啟動(dòng)過程。
    在生成FPGA的.bin文件時(shí),可以設(shè)置加載FPGA時(shí)使用的時(shí)鐘CCLK頻率,但是,這個(gè)頻率只對(duì)主動(dòng)加載方式有效,被動(dòng)方式時(shí),CCLK時(shí)鐘由外部供給,與此參數(shù)無關(guān)。
[!--empirenews.page--]
2 硬件實(shí)現(xiàn)電路
2.1 硬件結(jié)構(gòu)
    本文選用AD公司生產(chǎn)的ADSP-TS101這款芯片作為配置FPGA的主處理器。ADSP-TS101是一款極高性能的靜態(tài)超標(biāo)量處理器,同時(shí)支持浮點(diǎn)和定點(diǎn)處理,最高工作頻率為300 MHz,地址范圍4 GB,最大支持16MB的PROM。從地址的0x08000000~0xFFFFFFFF為外部存儲(chǔ)器空間的一部分,可以訪問獨(dú)立的外圍設(shè)備,完全可以滿足片外程序的尋址。為了完成配置FPGA的時(shí)序,需要DSP有靈活可控的引腳信號(hào)。而ADSP-TS101的4個(gè)標(biāo)志引腳信號(hào)FLAG3~FLAG0允許在ADSP-TS101和其他的設(shè)備之間傳遞位信號(hào)。任何一個(gè)標(biāo)志引腳既可以作為輸入也可以作為輸出,且ADSP -TS101的許多指令都可以以標(biāo)志引腳的輸入作為執(zhí)行條件,可以在多處理器和其他接口之間進(jìn)行高效的通信和同步。因此,可以將此4個(gè)管腳和FPGA進(jìn)行連接,模擬完成FPGA的配置時(shí)序。
    存儲(chǔ)芯片選用Spansion公司的高性能FLASH芯片S29JL064H,最小訪問周期為55 ns,其可以配置成8M×8 b的存儲(chǔ)方式。而Virtex-Ⅱ系列FPGA的配置數(shù)據(jù)包括配置數(shù)據(jù)幀和配置寄存器數(shù)據(jù),配置寄存器數(shù)據(jù)都為40×32 b,即1 280 b,配置數(shù)據(jù)幀會(huì)因器件不同而有變化,對(duì)于XC2V1000器件來說,配置數(shù)據(jù)幀為4 082 592 b,總的配置數(shù)據(jù)不到4 Mb。所以,此存儲(chǔ)芯片完全可以滿足FPGA和DSP程序的存儲(chǔ)。對(duì)于FLASH存儲(chǔ)空間的劃分,采用一分為二的方法,DSP和FPGA程序各占一半空間。即,從地址0x00000~0x3FFFFF這4 MB空間用來存儲(chǔ)DSP程序,剩余的
4MB空間0x400000~0x7FFFFF存儲(chǔ)FPGA程序。


    系統(tǒng)的硬件結(jié)構(gòu)示意圖如圖1所示。由DSP的RD信號(hào)充當(dāng)FPGA的配置時(shí)鐘CCLK,F(xiàn)LAG0信號(hào)模擬FPGA的PROG_B信號(hào),F(xiàn)LAG1和FLAG2分別作為FPGA的DONE信號(hào)和BUSY信號(hào)的輸入。此系統(tǒng)在設(shè)計(jì)時(shí),采用了DSP,F(xiàn)PGA,F(xiàn)LASH共用數(shù)據(jù)總線的方式,所以當(dāng)DSP從FLASH芯片中讀取FPGA的加載數(shù)據(jù)并出現(xiàn)在總線上的時(shí)候,可以直接被FPGA抓取來完成FPGA程序的正常加載。
2.2 工作時(shí)序
    系統(tǒng)上電后,DSP啟動(dòng)DMA通道0,從FLASH地址0開始,把一個(gè)256 word的程序塊傳送到內(nèi)部存儲(chǔ)器地址0x00~0xFF。然后,DSP開始從0x00執(zhí)行加載核,加載核將后續(xù)應(yīng)用代碼和數(shù)據(jù)加載至地址0xFF之后的內(nèi)部存儲(chǔ)器內(nèi)。最后,加載核啟動(dòng)一個(gè)256 word的DMA,使其自身被工作程序代碼覆蓋。至此,DSP即從地址0x00開始執(zhí)行工作程序。在工作程序中首先從FLASH存儲(chǔ)器中讀取FPGA的加載程序,并給出相應(yīng)的加載時(shí)序,完成FPGA程序加載。具體的工作時(shí)序,如圖2所示。



3 結(jié)語
    隨著FPGA+DSP的系統(tǒng)結(jié)構(gòu)在電子設(shè)計(jì)領(lǐng)域中應(yīng)用的日益廣泛化,在不增加其它額外器件的前提下,依靠DSP模擬FPGA加載時(shí)序,對(duì)FPGA使用了被動(dòng)并行的配置方式。此方法在一定程度減少了設(shè)計(jì)冗余,實(shí)現(xiàn)了小型化和低成本。應(yīng)用于電路系統(tǒng)中,工作穩(wěn)定可靠,靈活高效。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉