朱 昊 劉化君 宋宇飛
南京工程學(xué)院 江蘇南京 211167
基于FPGA的多路高速信號(hào)可重構(gòu)系統(tǒng)平臺(tái)設(shè)計(jì)
朱 昊 劉化君 宋宇飛
南京工程學(xué)院 江蘇南京 211167
提出了基于FPGA的多路信號(hào)高速采集、存儲(chǔ)、處理系統(tǒng)的設(shè)計(jì)方案。給出了現(xiàn)代電子系統(tǒng)的需求分析。介紹了系統(tǒng)的硬件結(jié)構(gòu),討論了FPGA內(nèi)部的資源分配與設(shè)計(jì),分析了系統(tǒng)的可重構(gòu)特點(diǎn)。實(shí)際應(yīng)用表明,本系統(tǒng)具有功能靈活、處理速度高、抗干擾能力強(qiáng)的特點(diǎn),可作為高速信號(hào)通用處理平臺(tái)使用。
FPGA;多信號(hào);高速處理;系統(tǒng)重構(gòu)
隨著電子技術(shù)的發(fā)展,電子系統(tǒng)處理信號(hào)的能力越來(lái)越強(qiáng)大。用戶對(duì)電子產(chǎn)品的要求也在不斷提高。傳統(tǒng)的低速系統(tǒng)已經(jīng)逐漸不能滿足用戶的需求。另一方面,電子器件的成本越來(lái)越低,以往各種昂貴的功能強(qiáng)大的高速處理芯片已經(jīng)逐漸平價(jià)化。因此,現(xiàn)在基于高速處理芯片的電子系統(tǒng)在生活中的應(yīng)用越來(lái)越廣泛。對(duì)于這一變化趨勢(shì),作為大學(xué)電子類教學(xué)來(lái)說(shuō),也應(yīng)該逐漸調(diào)整教學(xué)重心,逐步加強(qiáng)各種新型高速處理芯片以及高速信號(hào)處理系統(tǒng)設(shè)計(jì)的介紹,以此來(lái)加強(qiáng)與實(shí)際需求的銜接。
現(xiàn)代電子系統(tǒng)往往都具有多種功能,這就要求系統(tǒng)能并行處理多路模擬、數(shù)字信號(hào)。這在工業(yè)控制領(lǐng)域尤其明顯,某些領(lǐng)域,如針織機(jī)械要求同時(shí)處理上百路信號(hào)。以往處理信號(hào)較少時(shí),控制系統(tǒng)中通常采用微處理器,如各種單片機(jī)或數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)等。但對(duì)于現(xiàn)在的復(fù)雜控制系統(tǒng),限于處理能力、速度以及引腳數(shù)量,僅僅靠用普通的微處理器往往難以完成任務(wù)。對(duì)此,通常只能采取多個(gè)微處理器聯(lián)機(jī)的并行處理模式,或者添加其他芯片擴(kuò)展系統(tǒng)資源來(lái)完成系統(tǒng)的控制任務(wù)。但這樣做不僅增加了大量的外部電路和系統(tǒng)成本,而且大大增加了系統(tǒng)的復(fù)雜性,同時(shí)系統(tǒng)的可靠性也會(huì)受到影響,這顯然是設(shè)計(jì)者所不希望的。
現(xiàn)代電子器件中,各種處理芯片的主頻越來(lái)越高。在現(xiàn)代生活的各個(gè)領(lǐng)域中,電子系統(tǒng)的處理速度越來(lái)越快。傳統(tǒng)的單片機(jī)主頻一般在6M~12MHz,對(duì)于現(xiàn)代高速電子產(chǎn)品而言已經(jīng)越來(lái)越難以勝任??删幊踢壿嬈骷?Programmable Logic Device,PLD)、ARM(Advanced RISC Machines)以及DSP等芯片可通過(guò)內(nèi)部鎖相環(huán)(Phase Locked Loop,PLL)生成高達(dá)500~700MHz的時(shí)鐘信號(hào),因此在各種民用、工業(yè)、軍事領(lǐng)域內(nèi)廣受青睞。
現(xiàn)代電子產(chǎn)品中,手持設(shè)備以及微小型設(shè)備越來(lái)越多。低功耗在現(xiàn)代電子系統(tǒng)中逐漸成為一個(gè)重要的指標(biāo)。另一方面,電路板的體積也不斷縮小。因此,傳統(tǒng)數(shù)字電路設(shè)計(jì)中多芯片結(jié)構(gòu)已經(jīng)不能滿足這種需求。而PLD芯片憑借其可編程實(shí)現(xiàn)復(fù)雜數(shù)字邏輯的功能,在現(xiàn)代電子系統(tǒng)設(shè)計(jì)中逐漸被作為數(shù)字邏輯電路的取代品。
該系統(tǒng)選用現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)為核心處理芯片,F(xiàn)PGA是目前PLD芯片中最常用的一種。它作為專用集成電路(Application Specifi c Integrate Circuit,ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn),既解決了定制電路功能單一的不足,又克服了原有簡(jiǎn)單可編程器件資源有限的缺點(diǎn)。其內(nèi)部豐富的數(shù)字電路資源以及外部IO引腳更加適用于復(fù)雜邏輯的數(shù)字信號(hào)并行處理。該系統(tǒng)中,F(xiàn)PGA完成多路信號(hào)的并行采集、存儲(chǔ)以及輸出功能。選用FPGA可以整合傳統(tǒng)數(shù)字電路設(shè)計(jì)中的眾多數(shù)字芯片,使得電路體積充分縮減,同時(shí)有效地減少電路系統(tǒng)的功耗。
考慮到該系統(tǒng)完成信號(hào)處理的復(fù)雜程度較高,從運(yùn)算能力角度來(lái)說(shuō),僅采用FPGA芯片難以完成復(fù)雜信號(hào)運(yùn)算。因此該系統(tǒng)選用一片高速DSP專門用于復(fù)雜信號(hào)處理和數(shù)據(jù)運(yùn)算。
該系統(tǒng)選用一片F(xiàn)lash芯片作為系統(tǒng)的數(shù)據(jù)存儲(chǔ)器。由于該系統(tǒng)中DSP內(nèi)部不含EPROM,所以為了能夠獨(dú)立運(yùn)行,當(dāng)系統(tǒng)脫離仿真環(huán)境以后,必須把編譯后的可執(zhí)行代碼和上電自舉所需的自舉表存儲(chǔ)在外部存儲(chǔ)器之中。另一方面,F(xiàn)PGA的核心結(jié)構(gòu)為SRAM,同樣需要將配置數(shù)據(jù)存放在片外存儲(chǔ)器中。因此,系統(tǒng)中的Flash芯片除了用于系統(tǒng)工作時(shí)的數(shù)據(jù)存儲(chǔ)之外,還同時(shí)存放DSP和Flash的下載程序和配置數(shù)據(jù)。
系統(tǒng)輸入接口分為模擬和數(shù)字兩個(gè)部分。模擬部分選擇了2片高速AD和1片低速AD。高速AD為單通道輸入;低速AD可支持8路模擬信號(hào)輸入。由于目前低功耗電子系統(tǒng)的廣泛應(yīng)用,3.3V的LVTTL電平邏輯系統(tǒng)使用越來(lái)越廣泛。因此系統(tǒng)的數(shù)字輸入部分通過(guò)數(shù)據(jù)總線轉(zhuǎn)換芯片74LVC16245來(lái)實(shí)現(xiàn)TTL電平和LVTTL電平信號(hào)通用系統(tǒng)。
系統(tǒng)輸出部分選用8位數(shù)模轉(zhuǎn)換芯片以及低通濾波電路作為模擬數(shù)據(jù)輸出接口。
系統(tǒng)中FPGA,DSP和Flash三種芯片采用3.3V電平邏輯,而AD芯片和DA芯片為5V邏輯電平。因此AD芯片和DA芯片與FPGA連接時(shí),也需要加接數(shù)據(jù)總線轉(zhuǎn)換芯片74LVC1624作為電平轉(zhuǎn)換。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
該系統(tǒng)中的FPGA芯片選用美國(guó)Altera公司Cyclone II系列芯片中的EP2C8Q208芯片。CycloneII系列芯片是Altera公司推出的新一代低成本FPGA,用于中等復(fù)雜度且追求性價(jià)比的系統(tǒng)。基于Altera公司的開發(fā)環(huán)境QuartusII可以對(duì)芯片內(nèi)部硬件資源進(jìn)行編程并對(duì)芯片管腳的功能進(jìn)行定義。
該系統(tǒng)中的DSP芯片選用美國(guó)TI公司5000系列中的TMS3205410芯片。5000系列芯片是TI公司一大類新型而重要的階段性16位定點(diǎn)數(shù)字信號(hào)處理器,在各種應(yīng)用領(lǐng)域有著廣泛的應(yīng)用。
該系統(tǒng)中的Flash芯片選用Spansion公司的S29GL064M芯片,其存儲(chǔ)容量為64Mbit。FPGA芯片EP2C8Q208的配置數(shù)據(jù)大小約為1.9Mbit,可見該芯片足夠用于存放FPGA配置數(shù)據(jù)和DSP程序。
該系統(tǒng)中的模數(shù)轉(zhuǎn)換芯片選用了2種,分別為TLC5540和ADC0809。TLC5540是美國(guó)TI公司推出的高速8位AD轉(zhuǎn)換器。它的最高轉(zhuǎn)換速率可達(dá)40MSPS。TLC5540可廣泛應(yīng)用于數(shù)字電視、醫(yī)學(xué)圖像、視頻會(huì)議、CCD掃描儀、高速數(shù)據(jù)變換及QAM調(diào)制器等應(yīng)用方面。AD0809是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的8位AD轉(zhuǎn)換芯片。其最高采樣頻率為10KSPS。但其片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),因此可以對(duì)8路模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換。
該系統(tǒng)中的DA芯片選用8位DAC0832芯片。
FPGA的核心結(jié)構(gòu)由SRAM構(gòu)成。由于SRAM的掉電易失特性,所以需要把決定FPGA內(nèi)部的配置數(shù)據(jù)存放在片外存儲(chǔ)器中,每次加電時(shí),配置數(shù)據(jù)都必須重新下載。因此對(duì)于FPGA來(lái)說(shuō),并不采用常見的系統(tǒng)編程(In System Programming,ISP)方式下載程序,取而代之的是通過(guò)在線配置方式(In Circuit Reconfigurability,ICR)配置數(shù)據(jù)?;贔PGA的可重構(gòu)系統(tǒng)是指在FPGA器件已經(jīng)配置好的情況下,在線進(jìn)行重新配置,以改變電路邏輯結(jié)構(gòu)和功能。在FPGA工作時(shí),利用FPGA的ICR特性,通過(guò)外部控制信號(hào)選擇不同的配置數(shù)據(jù),經(jīng)過(guò)在線更新后,可以實(shí)時(shí)改變FPGA內(nèi)部的電路邏輯結(jié)構(gòu)。
FPGA配置方法有PC機(jī)配置、專用芯片配置、微處理器配置等多種方式。PC機(jī)配置是指FPGA的配置數(shù)據(jù)存放在PC機(jī)中,由PC機(jī)通過(guò)下載電纜對(duì)FPGA進(jìn)行系統(tǒng)重構(gòu)。PC配置法雖然在調(diào)試時(shí)非常方便,但對(duì)于獨(dú)立產(chǎn)品來(lái)說(shuō)并不現(xiàn)實(shí)。專用配置芯片自帶時(shí)序生成系統(tǒng),使用方便,但只能存放一個(gè)配置文件,即FPGA只能實(shí)現(xiàn)單一功能,如果需要改變FPGA的結(jié)構(gòu),只能重新設(shè)計(jì)、綜合適配后把數(shù)據(jù)下載到配置芯片中,過(guò)程繁瑣。而利用微處理器對(duì)FPGA進(jìn)行配置則可把多個(gè)配置文件存放在片內(nèi)或片外存儲(chǔ)器中,通過(guò)微處理器的程序?qū)崟r(shí)選擇不同的配置文件對(duì)FPGA進(jìn)行重構(gòu),通過(guò)這種方式使得1片F(xiàn)PGA具有多種功能,且能夠進(jìn)行實(shí)時(shí)功能切換,具有非常實(shí)用的價(jià)值。
該系統(tǒng)利用DSP和Flash芯片共同構(gòu)成FPGA的重構(gòu)電路,F(xiàn)lash內(nèi)同時(shí)存放了FPGA和DSP的配置程序。兩者配置過(guò)程為:
(1)在CCS中編寫編譯DSP應(yīng)用程序、自舉程序并生成相應(yīng)二進(jìn)制代碼。
(2)在QuartusII中設(shè)計(jì)系統(tǒng)、綜合、適配并生成相應(yīng)二進(jìn)制代碼。
(3)在CCS中編寫Flash燒寫程序,下載至DSP。
(4)系統(tǒng)上電,DSP運(yùn)行燒寫程序,將DSP應(yīng)用程序、自舉程序、FPGA配置數(shù)據(jù)全部燒寫進(jìn)Flash。
(5)斷電脫離PC機(jī)。
(6)再次上電,自動(dòng)運(yùn)行自舉程序,先后從Flash中把DSP應(yīng)用程序調(diào)入DSP的程序存儲(chǔ)空間,用戶可通過(guò)DSP程序隨時(shí)從Flash中調(diào)出FPGA配置數(shù)據(jù)并下載到FPGA中,實(shí)現(xiàn)FPGA的系統(tǒng)重構(gòu)。
FPGA內(nèi)部由TLC5540控制模塊TLC5540Ctrl,ADC0809控制模塊adc0809Ctrl,F(xiàn)IFO存儲(chǔ)器模塊lpm_fifo0,F(xiàn)IFO時(shí)序控制模塊AD_data,邏輯運(yùn)算模塊ALU,F(xiàn)lash控制模塊FlashCtrl和DA控制模塊DACtrl組成。
其中TLC5540Ctrl和adc0809Ctrl模塊用于控制2種AD芯片的工作時(shí)序。2個(gè)模塊均采用狀態(tài)機(jī)的設(shè)計(jì)思路通過(guò)VHDL語(yǔ)言編程實(shí)現(xiàn)。FIFO模塊用于采樣數(shù)據(jù)和處理模塊之間的數(shù)據(jù)緩沖。AD_data模塊用于控制FIFO模塊的工作時(shí)序,將AD采樣結(jié)果送入FIFO存儲(chǔ)器。ALU模塊完成核心邏輯處理功能,結(jié)合上文所述系統(tǒng)重構(gòu)原理,可實(shí)現(xiàn)不同邏輯功能。DACtrl模塊完成DA0832的時(shí)序控制,同樣采用狀態(tài)機(jī)的思路編程實(shí)現(xiàn)。FlashCtrl模塊將ALU的運(yùn)算結(jié)果根據(jù)需要送入Flash芯片存儲(chǔ)。FPGA內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 FPGA內(nèi)部結(jié)構(gòu)圖
針對(duì)目前信號(hào)處理系統(tǒng)功能越來(lái)越強(qiáng)的趨勢(shì),提出了一種基于FPGA技術(shù)的多路信號(hào)高速采集與處理系統(tǒng)。相比傳統(tǒng)的設(shè)計(jì)方法,該系統(tǒng)利用FPGA的高速特性及其在電路邏輯設(shè)計(jì)方面的特點(diǎn),配合DSP的高速信號(hào)處理能力,一方面有效提高了系統(tǒng)處理速度,另一方面簡(jiǎn)化了電路結(jié)構(gòu)。特別是利用FPGA的在線可重構(gòu)特性設(shè)計(jì)了相應(yīng)電路,使得系統(tǒng)功能以及靈活性得到顯著的增強(qiáng)。該系統(tǒng)既可作為高校通用信號(hào)處理教學(xué)平臺(tái),也可作為科研的通用開發(fā)系統(tǒng)。
[1] 王宏義,董文娟,黃宗福,等.DSP和FPGA共用Flash進(jìn)行配置的方法[J].微計(jì)算機(jī)信息,2008,26:101~102,110
Design of multiple high speed signal reconfi gurable system platform based on FPGA
Zhu Hao, Liu Huajun, Song Yufei
Nanjing institute of technology, Nanjing, 211167, China
This paper introduces the design scheme of multiple high speed signal acquit, store and process system. The demand analysis of modern electronic system is put forward. The structure of hardware is introduced. The resource assign is discussed. The reconfi gurable feature of system is analyzed. The application indicates that this system is fl exible high speed and interference-free. It can be used as utility platform.
FPGA; multiple signals; high speed process; system reconfi gurable
2010-12-01 稿件編號(hào):1012007
朱昊,碩士,講師。
南京工程學(xué)院“先進(jìn)數(shù)控技術(shù)江蘇省高校重點(diǎn)建設(shè)實(shí)驗(yàn)室”。
南京工程學(xué)院科研基金項(xiàng)目(編號(hào):KXJ08114),江蘇高??蒲谐晒a(chǎn)業(yè)化推進(jìn)項(xiàng)目(編號(hào):JHZD08-12)。