多路信號(hào)測(cè)量電路的設(shè)計(jì) 畢業(yè)設(shè)計(jì)_第1頁(yè)
多路信號(hào)測(cè)量電路的設(shè)計(jì) 畢業(yè)設(shè)計(jì)_第2頁(yè)
多路信號(hào)測(cè)量電路的設(shè)計(jì) 畢業(yè)設(shè)計(jì)_第3頁(yè)
多路信號(hào)測(cè)量電路的設(shè)計(jì) 畢業(yè)設(shè)計(jì)_第4頁(yè)
多路信號(hào)測(cè)量電路的設(shè)計(jì) 畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——多路信號(hào)測(cè)量電路的設(shè)計(jì)畢業(yè)設(shè)計(jì)

多路信號(hào)測(cè)量電路的設(shè)計(jì)

院系:機(jī)電與自動(dòng)化學(xué)院專業(yè)班:電氣工程及其自動(dòng)化姓名:學(xué)號(hào):指導(dǎo)教師:

2023年5月

The

多路信號(hào)測(cè)量電路的設(shè)計(jì)DesignofMultiplexSignalMeasuring

Circuit

摘要

信號(hào)采集是信號(hào)和控制器之間樞紐,采集信號(hào)質(zhì)量的高低,速度的快慢將嚴(yán)重影響到控制質(zhì)量。然而,自然中的信號(hào)各種各樣,環(huán)境繁雜,并且控制器對(duì)信號(hào)的要求變各不一致,這些都有使得信號(hào)采集一直以來(lái)都是技術(shù)難點(diǎn)。

基于單片機(jī)和DSP設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)都有一定的不足。單片機(jī)制時(shí)鐘頻率低,各種功能都要靠軟件的運(yùn)行來(lái)實(shí)現(xiàn),軟件運(yùn)行時(shí)間在整個(gè)采樣時(shí)間中占很大的比例,效率低,難以適應(yīng)高速數(shù)據(jù)采集系統(tǒng)的要求。DSP的運(yùn)算速度快,擅優(yōu)點(diǎn)理密集的乘加運(yùn)算,但很難完成外圍的繁雜硬件規(guī)律控制。而FPGA卻有單片機(jī)和DSP無(wú)法比較的優(yōu)勢(shì)。本文拭圖設(shè)計(jì)一種多路的基于FPGA的信號(hào)采集系統(tǒng)。與傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)以單片機(jī)或DSP作為控制器相比,F(xiàn)PGA具有高集中成度、高時(shí)鐘頻率、時(shí)序控制確切、編程靈活等眾多優(yōu)點(diǎn),特別在并行信號(hào)處理能力方面比DSP更具有優(yōu)勢(shì)。在信號(hào)處理領(lǐng)域,經(jīng)常需要對(duì)從路信號(hào)進(jìn)行采集和實(shí)時(shí)處理,這也是本文的目標(biāo)。

4.4電源模塊27第五章軟件的設(shè)計(jì)與實(shí)現(xiàn)285.1VHDL編程285.2開發(fā)應(yīng)用程序285.3QuartusⅡ編譯335.4編譯鏈接程序345.5編程下載345.6FIFO在系統(tǒng)中的作用35第六章終止語(yǔ)37致謝38考文獻(xiàn)39

IV

緒論

常用數(shù)據(jù)采集方案是以微處理處理為核心控制多數(shù)據(jù)采集系統(tǒng)是計(jì)算機(jī)測(cè)控系統(tǒng)中不可或缺的組成部分,是影響測(cè)控系統(tǒng)個(gè)通道的信號(hào)采集、預(yù)處理、存儲(chǔ)和傳輸,即用軟件實(shí)現(xiàn)數(shù)據(jù)的采集,這在一定的程度上局限了數(shù)據(jù)采集的速度、效率及時(shí)序的確切控制。20世紀(jì)80年代起步的FPGA(FieldProgrammableGateArray),現(xiàn)場(chǎng)可編程門羅列技術(shù)近年來(lái)發(fā)展十分迅速,并廣泛應(yīng)用于通信、自動(dòng)控制、儀器儀表、信息處理等諸多領(lǐng)域?,F(xiàn)在的FPGA器件具有高集中成度、高時(shí)鐘頻率、時(shí)序控制確切、編程靈活等明顯優(yōu)于普通微處理器的特點(diǎn),因此系統(tǒng)假使采用FPGA為核心控制ADC和數(shù)據(jù)傳輸,這樣可達(dá)到預(yù)期要求,并簡(jiǎn)化外圍電路,降低設(shè)計(jì)風(fēng)險(xiǎn),縮短開發(fā)周期。

FPGA卻有單片機(jī)和DSP無(wú)法比較的優(yōu)勢(shì)。本文提出了運(yùn)用VHDL語(yǔ)言,以硬件的方式通過(guò)對(duì)AD轉(zhuǎn)換芯片進(jìn)行時(shí)序控制,并同時(shí)實(shí)現(xiàn)相關(guān)順序的多路開關(guān)切換,最終實(shí)現(xiàn)高速多路采樣,采樣的結(jié)果保存在FIFO中供上位機(jī)進(jìn)行調(diào)用。通過(guò)FPGA不僅完成了系統(tǒng)中全部數(shù)字電路部分的設(shè)計(jì),并且使系統(tǒng)具有了較高的可適應(yīng)性、可擴(kuò)展性和可調(diào)試性。

在高速多路數(shù)據(jù)采集系統(tǒng)中,尋常采用單片機(jī)或數(shù)字信號(hào)處理器DSP作為微控制器,控制模數(shù)轉(zhuǎn)換器ADC及其他外圍設(shè)備的工作。但是基于單片機(jī)或DSP的高速多路數(shù)據(jù)采集系統(tǒng)都有一定的不足。由于單片機(jī)運(yùn)行的時(shí)鐘頻率較低,并且單片機(jī)是基于順序語(yǔ)言的,各種功能都要靠軟件的運(yùn)行來(lái)實(shí)現(xiàn),因此隨著程序量的增加,假使程序的頑強(qiáng)性不好,會(huì)出現(xiàn)“程序跑飛〞和“復(fù)位〞現(xiàn)象。DSP的運(yùn)算速度快,處理繁雜的乘加運(yùn)算有一定的優(yōu)勢(shì),但是很難完成外圍設(shè)備的繁雜硬件規(guī)律控制。因而單片機(jī)或DSP很難滿足高速多路數(shù)據(jù)采集系統(tǒng)對(duì)實(shí)時(shí)性和同步性的要求。

現(xiàn)場(chǎng)可編程門陣列(FPGA)是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展起來(lái)的。FPGA時(shí)鐘頻率高,內(nèi)部延時(shí)小,運(yùn)行速度快,全部控制規(guī)律由硬件完成。它本身集采樣控制、處理、緩存、傳輸控制、通信于一個(gè)芯片內(nèi),編程配置靈活、開發(fā)周期短、系統(tǒng)簡(jiǎn)單,具有高集成度、體積小、低功耗、I/O端口多、在系統(tǒng)編程等優(yōu)點(diǎn)。在高速多路數(shù)據(jù)采集系統(tǒng)中,F(xiàn)PGA可以戰(zhàn)勝上述單片機(jī)或DSP的不足之處,滿足系統(tǒng)對(duì)實(shí)時(shí)性和同步性的要求。

1

本數(shù)據(jù)采集系統(tǒng)是基于FPGA技術(shù)設(shè)計(jì)的多路模擬量、數(shù)字量采集與處理系統(tǒng)。FPGA的I/O端口多,且可以自由編程支配、定義其功能,再配以VHDL語(yǔ)言進(jìn)行軟件設(shè)計(jì);FPGA的最大優(yōu)點(diǎn)是可在線編程,基于FPGA設(shè)計(jì)的數(shù)據(jù)采集器可以便利地進(jìn)行遠(yuǎn)程功能擴(kuò)展,可以適應(yīng)不同應(yīng)用場(chǎng)合的需要。

國(guó)內(nèi)外學(xué)者在利用FPGA實(shí)現(xiàn)信號(hào)處理算法方面做了大量的工作,并取得了良好的效益。我國(guó)的FPGA技術(shù)起步相對(duì)較晚,但進(jìn)入21世紀(jì)后,發(fā)展十分迅速。目前不少大學(xué)及研究所都使用FPGA芯片設(shè)計(jì)開發(fā)具有自主知識(shí)產(chǎn)權(quán)的IP核?;贔PGA的研究將會(huì)是繼單片機(jī)后的又一個(gè)巨大產(chǎn)業(yè),自然以FPGA作為處理器也將會(huì)有廣闊的前景和重要意義。所以借做多路數(shù)據(jù)采集器的系統(tǒng)設(shè)計(jì)的機(jī)遇,選擇FPGA作為控制器,并借此機(jī)遇來(lái)系統(tǒng)的學(xué)習(xí)FPGA。

2

第一章信號(hào)與模數(shù)轉(zhuǎn)換

1.1如何理解信號(hào)

什么是信號(hào)?“信號(hào)〞一詞在人們的日常生活和社會(huì)活動(dòng)中并不陌生,例如時(shí)鐘報(bào)時(shí)、汽車?yán)鹊穆曇?、交織路口的紅綠燈、戰(zhàn)場(chǎng)上的信號(hào)彈、電子計(jì)算機(jī)內(nèi)部以及它和外圍設(shè)備之間聯(lián)絡(luò)的電信號(hào)等,都是人們熟悉的信號(hào)。但是,要嚴(yán)格地給信號(hào)下定義,必需搞清它和信息、消息之間的聯(lián)系。

我們生活在信息時(shí)代,信息對(duì)每個(gè)人來(lái)說(shuō)都具有重要的意義。信息是指人類社會(huì)和自然界中需要傳送、交換、存儲(chǔ)和提取的抽象內(nèi)容。首先,信息具有客觀性,它存在于一切事物之中,事物的一切變化和運(yùn)動(dòng)都伴隨著信息的交換和傳送。同時(shí),信息具有抽象性,只有通過(guò)一定的形式才能把它表現(xiàn)出來(lái)。

由于信息的抽象性,為了交換和傳送,必需通過(guò)一定的表現(xiàn)形式將它表示出來(lái)。人們把表示信息的語(yǔ)言、文字、圖像、數(shù)據(jù)等稱為消息,而信息是消息之中賦予人們新知識(shí)與新概念的內(nèi)容??梢?,信息是消息的內(nèi)容,而且是預(yù)先不知道的內(nèi)容。尋常,人們說(shuō):“這張報(bào)紙信息量大〞或“那個(gè)消息不含一點(diǎn)信息〞就表達(dá)了消息和信息之間的關(guān)系。

一般狀況下,消息不便于傳送和交換,往往需要借助于某種便于傳送和交換的物理量作為運(yùn)載手段,我們把聲、光、電等運(yùn)載消息的物理量稱為信號(hào),它們是時(shí)間或空間的函數(shù),所攜帶的消息則表達(dá)在它們的變化之中。在作為信號(hào)的眾多物理量中,電是應(yīng)用最廣泛的物理量,由于它簡(jiǎn)單產(chǎn)生、傳輸和控制,也簡(jiǎn)單實(shí)現(xiàn)與其它物理量的相互轉(zhuǎn)換。因此,我們尋常所指的信號(hào)主要是電信號(hào)。

信息、消息和信號(hào)三者之間的關(guān)系可以用下面的例子形象地給以說(shuō)明:甲通過(guò)電話告訴了乙一件乙事先不知道的事情,我們說(shuō)乙得到了信息,它是客觀存在的,但是它是乙從甲的語(yǔ)言這一表現(xiàn)形式中得到的,這里,語(yǔ)言是甲傳遞給乙的消息,而電話傳

3

1.2信號(hào)采集

信號(hào)采集,具體地說(shuō),就是把傳感器輸出的模擬或數(shù)字信號(hào)轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別的數(shù)字,由計(jì)算機(jī)接口采集成為內(nèi)存中的數(shù)據(jù),按各種需要處理成相應(yīng)的數(shù)據(jù)結(jié)果,供傳送、顯示、打印輸出,以實(shí)現(xiàn)對(duì)自然界變量的監(jiān)測(cè)。與此同時(shí),將計(jì)算機(jī)得到的數(shù)據(jù)進(jìn)行顯示或打印,以便實(shí)現(xiàn)對(duì)某些物理量的監(jiān)視,其中一部分?jǐn)?shù)據(jù)還將被控制生產(chǎn)過(guò)程中的計(jì)算機(jī)控制系統(tǒng)用來(lái)控制某些物理量。信息測(cè)量的范圍很廣泛,它已滲透到了地質(zhì)、醫(yī)藥器械、雷達(dá)、通訊、遙感遙測(cè)等各個(gè)領(lǐng)域,為我們更好的獲取信息提供了良好的基礎(chǔ)。

另外,在評(píng)估一個(gè)信號(hào)源的質(zhì)量時(shí),也可以通過(guò)數(shù)據(jù)采集的手段將信號(hào)采集存入計(jì)算機(jī),再通過(guò)各種處理方式來(lái)測(cè)量評(píng)價(jià)該信號(hào)源的好壞。這時(shí),該信號(hào)測(cè)量系統(tǒng)就類似一臺(tái)測(cè)試儀器。信號(hào)測(cè)量系統(tǒng)的性能好壞,主要取決于數(shù)據(jù)采集時(shí)的精度和速度。精度是通過(guò)有效位數(shù)來(lái)反映的,有效位數(shù)越高,要求系統(tǒng)的噪聲就越低。速度是通過(guò)采樣率[2]來(lái)反映的,速度太高,傳統(tǒng)的TTL規(guī)律往往不能滿足需求,一般高速采集芯片的輸出規(guī)律都為ECL規(guī)律。這樣相應(yīng)地增加了功耗。所以,在高速數(shù)據(jù)采集芯片的設(shè)計(jì)上是用大功耗來(lái)?yè)Q取高速度,同時(shí)也減小了規(guī)律擺幅。

1.3典型高速數(shù)據(jù)采集的特點(diǎn)和發(fā)展趨勢(shì)

典型數(shù)據(jù)采集系統(tǒng)的構(gòu)成是由A/D+DSP+FPGA(CPLD)+D/A。其中A/D(模數(shù)轉(zhuǎn)換器)完成把模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),DSP(數(shù)字信號(hào)處理器)用來(lái)對(duì)A/D采樣后的數(shù)據(jù)進(jìn)行處理,而FPGA(現(xiàn)場(chǎng)可編程門陣列)或CPLD(繁雜可編程規(guī)律器件)是用來(lái)對(duì)整個(gè)系統(tǒng)進(jìn)行控制,而D/A(數(shù)模轉(zhuǎn)換器)是用來(lái)將輸出的數(shù)字信號(hào)轉(zhuǎn)化為模擬信號(hào)從而來(lái)驅(qū)動(dòng)外部設(shè)備。當(dāng)采樣頻率很高時(shí),A/D采樣后的數(shù)據(jù)量很大,DSP來(lái)不及對(duì)采樣后的數(shù)據(jù)進(jìn)行處理,所以此時(shí)一般在A/D和DSP之間使用FIFO(FirstInFirstOut)或者雙口RAM來(lái)對(duì)采集后的數(shù)據(jù)進(jìn)行緩存。假使數(shù)據(jù)量特別大,有時(shí)還要使用外加的SDRAM(同步動(dòng)態(tài)存儲(chǔ)器)來(lái)對(duì)采集后的數(shù)據(jù)作以保存。同時(shí),采集系統(tǒng)有時(shí)需要與外界進(jìn)行數(shù)據(jù)交換,所以需要設(shè)置一些對(duì)外接口,譬如,采集卡有時(shí)需要與計(jì)算機(jī)進(jìn)行數(shù)據(jù)交換,就可以在采集

4

卡上設(shè)計(jì)一些PCI、ISA、USB、串口或并行接口等。

采集卡[3]需要時(shí)鐘作為基準(zhǔn),所以應(yīng)當(dāng)具備時(shí)鐘電路。當(dāng)然,還必需提供采集卡工作的必要電源,所以也應(yīng)當(dāng)具有電源電路。當(dāng)系統(tǒng)的工作頻率很高時(shí),在低頻時(shí)不大明顯的信號(hào)完整性和電磁兼容性問(wèn)題就會(huì)突出地表現(xiàn)出來(lái)。所以,此時(shí)對(duì)PCB的布局和布線應(yīng)相當(dāng)嚴(yán)格,通過(guò)適當(dāng)?shù)牟季趾筒季€,可以將影響信號(hào)完整性的因素降到很低的水平。

現(xiàn)在的A/D的采樣頻率可達(dá)GHz的量級(jí),GEFanuc智能平臺(tái)近日發(fā)布了ICS-8551加固型ADCPMC/XMC模塊,ICS-8551專為嚴(yán)苛環(huán)境設(shè)計(jì),提供雙或四通道操作,四通道采樣頻率1.5GHz,雙通道采樣頻率3GHz,適用于光譜監(jiān)測(cè)、信號(hào)智能、戰(zhàn)場(chǎng)通訊、雷達(dá)等方面的軟件無(wú)線電(SDR)應(yīng)用。對(duì)于采樣頻率較低的A/D,其有效位數(shù)可達(dá)16位以上。數(shù)字信號(hào)處理器DSP的時(shí)鐘頻率可達(dá)600MHz以上,每秒鐘能夠進(jìn)行千萬(wàn)次以上的乘加運(yùn)算。FPGA的時(shí)鐘頻率也可達(dá)到100MHz以上,內(nèi)部規(guī)律門數(shù)可達(dá)500萬(wàn)以上。SDRAM的容量單片可達(dá)64MB,并且可以多片級(jí)聯(lián),能夠滿足高速緩存的需要。D/A的位數(shù)可達(dá)18位以上,轉(zhuǎn)換時(shí)間可以達(dá)到小于1微妙。現(xiàn)在的一些總線,譬如PCI總線,傳輸速率可達(dá)132Mbyte/s;USB總線,傳輸速率可達(dá)480Mbit/s,可以滿足數(shù)據(jù)采集卡與其它設(shè)備的高速數(shù)據(jù)傳輸。所有這些條件,都使數(shù)據(jù)采集向?qū)拵А⒏咚俜较虬l(fā)展成為現(xiàn)實(shí)。

1.4模數(shù)轉(zhuǎn)換(A/D)

隨著數(shù)字電子技術(shù)的迅速發(fā)展,各種數(shù)字設(shè)備,特別是數(shù)字電子計(jì)算機(jī)的應(yīng)用日益廣泛,幾乎滲透到國(guó)民經(jīng)濟(jì)的所有領(lǐng)域之中。數(shù)字計(jì)算機(jī)只能夠?qū)?shù)字信號(hào)進(jìn)行處理,處理的結(jié)果還是數(shù)字量,它在用于生產(chǎn)過(guò)程自動(dòng)控制的時(shí)候,所要處理的變量往往是連續(xù)變化的物理量,如溫度、壓力、速度等都是模擬量,這些非電子信號(hào)的模擬量先要經(jīng)過(guò)傳感器變成電壓或者電流信號(hào),然后再轉(zhuǎn)換成數(shù)字量,才能夠送往計(jì)算機(jī)進(jìn)行處理。

模擬量轉(zhuǎn)換成數(shù)字量的過(guò)程被稱為模數(shù)轉(zhuǎn)換,簡(jiǎn)稱A/D(AnalogtoDigital)轉(zhuǎn)換;完成模數(shù)轉(zhuǎn)換的電路被稱為A/D轉(zhuǎn)換器,簡(jiǎn)稱ADC(AnalogtoDigitalConverter)。數(shù)字量轉(zhuǎn)換成模擬量的過(guò)程稱為數(shù)模轉(zhuǎn)換,簡(jiǎn)稱D/A(DigitaltoAnalog)

5

轉(zhuǎn)換;完成數(shù)模轉(zhuǎn)換的電路稱為D/A轉(zhuǎn)換器,簡(jiǎn)稱DAC(DigitaltoConverter)。帶有模數(shù)和數(shù)模轉(zhuǎn)換電路的測(cè)控系統(tǒng)大致可用圖1.1所示的框圖表示。

圖1-1典型數(shù)字系統(tǒng)控制框圖

圖中模擬信號(hào)由傳感器轉(zhuǎn)換為電信號(hào),經(jīng)放大送入AD轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,由數(shù)字電路進(jìn)行處理,再由DA轉(zhuǎn)換器還原為模擬量,去驅(qū)動(dòng)執(zhí)行部件。為了保證數(shù)據(jù)處理結(jié)果的確鑿性,AD轉(zhuǎn)換器和DA轉(zhuǎn)換器必需有足夠的轉(zhuǎn)換精度。同時(shí),為了適應(yīng)快速過(guò)程的控制和檢測(cè)的需要,AD轉(zhuǎn)換器和DA轉(zhuǎn)換器還必需有足夠快的轉(zhuǎn)換速度。因此,轉(zhuǎn)換精度和轉(zhuǎn)換速度乃是衡量AD轉(zhuǎn)換器和DA轉(zhuǎn)換器性能優(yōu)劣的主要標(biāo)志。

A/D轉(zhuǎn)換器的主要性能參數(shù):

(1)轉(zhuǎn)換速率(ConversionRate):指完成一次從模擬到數(shù)字的ADC轉(zhuǎn)換過(guò)程所需時(shí)間的倒數(shù)。積分型ADC的轉(zhuǎn)換時(shí)間是毫秒級(jí)屬低速ADC,逐次比較型ADC是微秒級(jí)屬中速ADC,全并行/串并行型ADC可達(dá)到納秒級(jí)。為了保證轉(zhuǎn)換的正確完成,采樣速率(SampleRate)必需小于或等于轉(zhuǎn)換速率。常用單位是KS/S和MS/S,表示每秒采樣千/百萬(wàn)次(Kilo/MillionSamplesperSecond)。

(2)分辯率(Resolution):指數(shù)字量變化一個(gè)最小量時(shí)模擬信號(hào)的變化量。分辯率又稱精度,尋常以數(shù)字信號(hào)的位數(shù)來(lái)表示。

(3)量化誤差(QuantizingError):由于ADC的有限分辯率而引起的誤差,即有限分辯率AD的階梯狀轉(zhuǎn)移特性曲線與無(wú)限分辯率ADC(理想ADC)的轉(zhuǎn)移特性曲線(直線)之間的最大偏差。尋常是一個(gè)或半個(gè)最小數(shù)字量的模擬變化量,表示為1LSB、1/2LSB。

6

(4)偏移誤差(OffsetError):輸入信號(hào)為零時(shí)輸出信號(hào)不為零的值,可外接電位器調(diào)至最小。

(5)滿刻度誤差(FullScaleError):滿度輸出時(shí)對(duì)應(yīng)的輸入信號(hào)與理想輸入信號(hào)值之差。

(6)線性度(Linearity):實(shí)際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移,不包括以上三種誤差。

7

其次章FPGA設(shè)計(jì)

2.1FPGA技術(shù)/簡(jiǎn)介

可編和規(guī)律羅列器件是可能由用戶進(jìn)行編程以實(shí)現(xiàn)所需規(guī)律功能的數(shù)字集成電路,利用其內(nèi)部的規(guī)律結(jié)構(gòu)實(shí)現(xiàn)任何布爾表達(dá)式,寄放器函數(shù)。和一般的ASIC電路相比,可編程規(guī)律器件具有設(shè)計(jì)周期短,修改便利的優(yōu)點(diǎn).

現(xiàn)場(chǎng)可編程門羅列FPGA是八十年代中期出現(xiàn)的新型高密度可編程規(guī)律器件,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。通過(guò)編程可以立刻把一個(gè)通用的FPGA芯片配置成用戶需要的硬件數(shù)字電路,因而大大加快電子產(chǎn)品的研發(fā)周期,降低研發(fā)成本,縮短產(chǎn)品上市時(shí)間。FPGA具有高密度(一個(gè)器件內(nèi)部可用規(guī)律門可達(dá)數(shù)萬(wàn)門),運(yùn)行速度快(管腳間的延時(shí)小,公幾個(gè)ns)的特點(diǎn)。用它來(lái)設(shè)計(jì)數(shù)字電路可以簡(jiǎn)化系統(tǒng)設(shè)計(jì),縮小數(shù)據(jù)規(guī)模,提高系統(tǒng)的穩(wěn)定性。

FPGA兼有串、并行工作方式和高集成度和高可靠性等明顯的特點(diǎn),其時(shí)鐘延遲可達(dá)納秒級(jí),同時(shí),在基于芯片的設(shè)計(jì)中可以減少芯片數(shù)量,縮小系統(tǒng)體積,降低能源消耗,提高系統(tǒng)的性能指標(biāo)和可靠性。正是由于FPGA具有這些優(yōu)點(diǎn)FPGA在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有十分廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,假使設(shè)計(jì)得當(dāng),將不會(huì)存在類似于MCU的復(fù)位不可靠和PC可能跑飛等問(wèn)題。FPGA的高可靠性還表現(xiàn)在,幾乎可將整個(gè)系統(tǒng)下載于同一芯片中,實(shí)現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積。與AMU設(shè)計(jì)相比,F(xiàn)PGA顯著的優(yōu)勢(shì)是開發(fā)周期短,投資風(fēng)險(xiǎn)小、產(chǎn)品上市速度快,市場(chǎng)適應(yīng)能力強(qiáng)和硬件升級(jí)旋繞碩士學(xué)位論文余地大,而且當(dāng)產(chǎn)品定型和產(chǎn)量擴(kuò)大后,可將在生產(chǎn)中達(dá)到充分檢驗(yàn)的VHDL設(shè)計(jì)迅速實(shí)現(xiàn)ASIC投產(chǎn)。

隨著大規(guī)模現(xiàn)場(chǎng)可編程規(guī)律器件的發(fā)展,系統(tǒng)設(shè)計(jì)進(jìn)入“片上可編程系統(tǒng)〞(SOPC)的新紀(jì)元;芯片朝著高密度、低壓、低功耗方向挺進(jìn):在SOC芯片上可以將微處理器、數(shù)字信號(hào)處理器、存儲(chǔ)器、規(guī)律電路、模擬電路集成在一個(gè)芯片上。而假使將可編程規(guī)律電路IP核集成到SOC芯片上則會(huì)大大提高SOC芯片

8

的靈活性與有效性,并且縮短了SOC芯片的設(shè)計(jì)周期。因此國(guó)際各大公司都在積極擴(kuò)展其IP庫(kù),以優(yōu)化的資源更好的滿足用戶的需求,擴(kuò)大市場(chǎng)。

由此可見,F(xiàn)PGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問(wèn)題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價(jià)格不斷降低,這使得FPGA占有越來(lái)越多的市場(chǎng),特別是對(duì)小批量、多品種的產(chǎn)品需求,使FPGA成為首選。FPGA普及的另一重要原因是IP(知識(shí)產(chǎn)權(quán))越來(lái)越被高度重視,帶有IP內(nèi)核的功能塊在ASIC設(shè)計(jì)平臺(tái)上的應(yīng)用日益廣泛。越來(lái)越多的設(shè)計(jì)人員,采用設(shè)計(jì)重用,將系統(tǒng)設(shè)計(jì)模塊化,為設(shè)計(jì)帶來(lái)了快捷和便利。并可以使每個(gè)設(shè)計(jì)人員充分利用軟件代碼,提高開發(fā)效率,減少上市時(shí)間,降低研發(fā)費(fèi)用,縮短研發(fā)周期,降低風(fēng)險(xiǎn)。

2.2FPGA的特點(diǎn)及工作原理

2.2.1FPGA的特點(diǎn)

FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。

加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部規(guī)律關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無(wú)須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用十分靈活

(1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。

(2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。(3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。

(4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器

9

件。之一。

(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。2.2.2FPGA的工作原理

FPGA采用了規(guī)律單元陣列LCA(LogicCellArray)這樣一個(gè)概念,內(nèi)部包括可配置規(guī)律模塊CLB(ConfigurableLogicBlock)、輸出輸入模塊IOB(InputOutputBlock)和內(nèi)部連線(Interconnect)三個(gè)部分。現(xiàn)場(chǎng)可編程門陣列(FPGA)是可編程器件。與傳統(tǒng)規(guī)律電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu),F(xiàn)PGA利用小型查找表(16×1RAM)來(lái)實(shí)現(xiàn)組合規(guī)律,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來(lái)驅(qū)動(dòng)其他規(guī)律電路或驅(qū)動(dòng)I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合規(guī)律功能又可實(shí)現(xiàn)時(shí)序規(guī)律功能的基本規(guī)律單元模塊,這些模塊間利用金屬連線相互連接或連接到I/O模塊。FPGA的規(guī)律是通過(guò)向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來(lái)實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了規(guī)律單元的規(guī)律功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA允許無(wú)限次的編程

2.3配置芯片

Altera的配置器件可以分為以下3種:

(1)加強(qiáng)型的配置器件:EPC16、EPC8、EPC4。(2)普通配置器件:EPC2、EPC1、EPC1441。

(3)AS串行配置器件:EPCS64、EPCS16、EPCS4、EPCS1。加強(qiáng)型的配置器件可以支持對(duì)大容量FPGA的單片配置,它們可以由JTAG接口進(jìn)行在系統(tǒng)編程(ISP),而且可以支持FPP快速配置方式。普通配置器件容量相對(duì)較小,其中只有EPC2可以重復(fù)編程。要支持大容量FPGA的配置,可以將多片級(jí)聯(lián)起來(lái)。AS串行配置芯片是一種非易失性的、基于Flash存儲(chǔ)器的器件,專門為Altera的StratixII、Cyclone和CycloneII系列FPGA而設(shè)計(jì)。用戶可以使用Altera的ByteBlasterII下載電纜來(lái)將程序加載到配置芯片中。Cyclone系列專用配置器件,即專門用于配置Cyclone器件的EEPROM,可以用ByteblasterII在線改寫,電壓為3.3V。如下表2-1所示:

10

表2-1Cyclone專用配置器件

2.4FPGA的常用開發(fā)工具

開發(fā)Altera公司的可編程規(guī)律器件有兩種軟件,QuartusII和MAX+PLUSII。本設(shè)計(jì)采用QuartusII開發(fā)軟件,其提供了一種與結(jié)構(gòu)無(wú)關(guān)的全集成化設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能對(duì)Altera的各種產(chǎn)品系列便利地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。QuartusII開發(fā)系統(tǒng)具有強(qiáng)大的處理能力和高度的靈活性,它的優(yōu)點(diǎn)主要表現(xiàn)在以下方面:

(1)與結(jié)構(gòu)無(wú)關(guān):QuartusII系統(tǒng)的編譯程序,支持Altera全部系列的PLD產(chǎn)品,提供與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)開發(fā)環(huán)境,具有強(qiáng)大的規(guī)律綜合與優(yōu)化功能。

(2)多平臺(tái):QuartusII可在基于PC機(jī)的WINDOWS或WINDOWSNT環(huán)境下以及多種工作站的XWINDOWS環(huán)境下運(yùn)行。

(3)全集成化:QuartusII的設(shè)計(jì)輸入、規(guī)律綜合、布局布線、仿真校驗(yàn)和編程下載等功能都全部集成在統(tǒng)一的開發(fā)環(huán)境下,可以加快動(dòng)態(tài)開發(fā)和調(diào)試,縮短開發(fā)周期。并且在QuartusII軟件中還集成了SignalTapII規(guī)律分析儀,在系統(tǒng)調(diào)試過(guò)程中可以實(shí)時(shí)的監(jiān)控FPGA中各觀測(cè)信號(hào)的變化(包括虛擬引腳上的信號(hào)),從而給調(diào)試過(guò)程帶來(lái)了極大的便利。

(4)硬件描述語(yǔ)言(HDL):QuartusII支持各種HDL輸入選項(xiàng),包括VHDL,VerilogHDL和Altera的硬件描述語(yǔ)言AHDL。

(5)豐富的設(shè)計(jì)庫(kù):QuartusII提供豐富的庫(kù)單元供設(shè)計(jì)者調(diào)用,其中包括各類常用的基本數(shù)字器件,以及參數(shù)化的宏單元模塊(MegaFunction)。并且可以通過(guò)加載Altera的MegaCore軟件包來(lái)在QuartusII中加載IPCore資源,從而引入像FFT、PCI、FIR等這樣的IP軟核。這些模塊都可以通過(guò)QuartusII中的MegaWizard來(lái)加以編程和設(shè)計(jì),根據(jù)我們的具體需要來(lái)實(shí)現(xiàn)其相應(yīng)的功能。

11

調(diào)用這些庫(kù)單元進(jìn)行設(shè)計(jì),可以大大減輕設(shè)計(jì)工作量,設(shè)計(jì)周期成倍縮短。

(6)開放的界面:QuartusII提供標(biāo)準(zhǔn)的接口,可以與其它第三方工業(yè)標(biāo)準(zhǔn)的EDA軟件協(xié)同使用。設(shè)計(jì)者可以使用其它的EDA軟件工具進(jìn)行設(shè)計(jì)輸入,再利用QuartusII進(jìn)行編譯處理,并使用其它EDA工具進(jìn)行器件和板級(jí)仿真。

2.5FPGA配置模式

FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對(duì)其編程。

如何實(shí)現(xiàn)快速的時(shí)序收斂、降低功耗和成本、優(yōu)化時(shí)鐘管理并降低FPGA與PCB并行設(shè)計(jì)的繁雜性等問(wèn)題,一直是采用FPGA的系統(tǒng)設(shè)計(jì)工程師需要考慮的關(guān)鍵問(wèn)題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發(fā)展,系統(tǒng)設(shè)計(jì)工程師在從這些優(yōu)異性能獲益的同時(shí),不得不面對(duì)由于FPGA前所未有的性能和能力水平而帶來(lái)的新的設(shè)計(jì)挑戰(zhàn)。

FPGA廠商Xilinx最近推出的Virtex-5系列采用65nm工藝,可提供高達(dá)33萬(wàn)個(gè)規(guī)律單元、1,200個(gè)I/O和大量硬IP塊。超大容量和密度使繁雜的布線變得更加不可預(yù)計(jì),由此帶來(lái)更嚴(yán)重的時(shí)序收斂問(wèn)題。此外,針對(duì)不同應(yīng)用而集成的更多數(shù)量的規(guī)律功能、DSP、嵌入式處理和接口模塊,也讓時(shí)鐘管理和電壓分派問(wèn)題變得更加困難。

FPGA廠商、EDA工具供應(yīng)商正在通力合作解決65nmFPGA獨(dú)特的設(shè)計(jì)挑戰(zhàn)。不久以前,Synplicity與Xilinx宣布成立超大容量時(shí)序收斂聯(lián)合工作小組,旨在最大程度地幫助系統(tǒng)設(shè)計(jì)工程師以更快、更高效的方式應(yīng)用65nmFPGA器件。設(shè)計(jì)軟件供應(yīng)商Magma推出的綜合工具BlastFPGA能幫助建立優(yōu)化的布局,加快時(shí)序的收斂

最近FPGA的配置方式已經(jīng)多元化!

2.6FPGA開發(fā)流程

FPGA開發(fā)基本流程包括:設(shè)計(jì)輸入、設(shè)計(jì)仿真、設(shè)計(jì)綜合、布局布線,它們的連接關(guān)系如圖1所示。圖1FPGA開發(fā)流程圖設(shè)計(jì)綜合是整個(gè)FPGA設(shè)計(jì)流程中一個(gè)重要的步驟,它將HDL代碼生成用于布局布線的網(wǎng)表和相應(yīng)的約束。而且

12

隨著新一代FPGA芯片頻率和密度的增長(zhǎng),時(shí)序收斂問(wèn)題越來(lái)越嚴(yán)重,綜合已經(jīng)成為整個(gè)設(shè)計(jì)成敗的關(guān)鍵。尋常芯片供應(yīng)商的FPGA軟件中都包含綜合功能,但它相對(duì)簡(jiǎn)單,不能適應(yīng)新一代FPGA芯片的發(fā)展,需要更加專業(yè)的綜合工具

FPGA開發(fā)基本流程包括:設(shè)計(jì)輸入、設(shè)計(jì)仿真、設(shè)計(jì)綜合、布局布線,它們的連接關(guān)系如圖2-2所示。

圖2-2FPGA開發(fā)流程圖

設(shè)計(jì)綜合是整個(gè)FPGA設(shè)計(jì)流程中一個(gè)重要的步驟,它將HDL代碼生成用于布局布線的網(wǎng)表和相應(yīng)的約束。而且隨著新一代FPGA芯片頻率和密度的增長(zhǎng),時(shí)序收斂問(wèn)題越來(lái)越嚴(yán)重,綜合已經(jīng)成為整個(gè)設(shè)計(jì)成敗的關(guān)鍵。尋常芯片供應(yīng)商的FPGA軟件中都包含綜合功能,但它相對(duì)簡(jiǎn)單,不能適應(yīng)新一代FPGA芯片的發(fā)展,需要更加專業(yè)的綜合工具來(lái)優(yōu)化設(shè)計(jì),PrecisionRTL綜合就是其中之一。

13

第三章系統(tǒng)的組成

3.1系統(tǒng)設(shè)計(jì)方案

3.1.1系統(tǒng)分析

基于FPGA的多路信號(hào)采集器系統(tǒng)涉及的內(nèi)容包括,信號(hào)的采集,數(shù)據(jù)的傳輸,數(shù)據(jù)的處理和存儲(chǔ),實(shí)時(shí)信息的顯示。如前所述系統(tǒng)的工作流程為:首先要對(duì)多通道模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,然后對(duì)其進(jìn)行緩存處理和必要的轉(zhuǎn)換,最終將處理后的結(jié)果傳送到PC機(jī)。這需要結(jié)合各個(gè)模擬傳感器輸出的信號(hào)的特點(diǎn)和系統(tǒng)各項(xiàng)指標(biāo)選擇合理的調(diào)理電路,A/D轉(zhuǎn)換,信號(hào)處理器和顯示模塊等。前端模擬部分前人已做了大量的研發(fā)工作,技術(shù)比較成熟,方案比較固定,本節(jié)重點(diǎn)針對(duì)數(shù)字部分的方案進(jìn)行探討。

(1)信號(hào)處理器的選擇

在高速多路數(shù)據(jù)采集系統(tǒng)中,尋常采用單片機(jī)或數(shù)字信號(hào)處理器DSP作為微控制器,控制模數(shù)轉(zhuǎn)換器ADC及其他外圍設(shè)備的工作。但是基于單片機(jī)或DSP的高速多路數(shù)據(jù)采集系統(tǒng)都有一定的不足。由于單片機(jī)運(yùn)行的時(shí)鐘頻率較低,并且單片機(jī)是基于順序語(yǔ)言的,各種功能都要靠軟件的運(yùn)行來(lái)實(shí)現(xiàn),因此隨著程序量的增加,假使程序的頑強(qiáng)性不好,會(huì)出現(xiàn)“程序跑飛〞和“復(fù)位〞現(xiàn)象。DSP的運(yùn)算速度快,處理繁雜的乘加運(yùn)算有一定的優(yōu)勢(shì),但是很難完成外圍設(shè)備的繁雜硬件規(guī)律控制。因而單片機(jī)或DSP很難滿足高速多路數(shù)據(jù)采集系統(tǒng)對(duì)實(shí)時(shí)性和同步性的要求

現(xiàn)場(chǎng)可編程門陣列(FPGA)是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展起來(lái)的。FPGA時(shí)鐘頻率高,內(nèi)部延時(shí)小,運(yùn)行速度快,全部控制規(guī)律由硬件完成。它本身集采樣控制、處理、緩存、傳輸控制、通信于一個(gè)芯片內(nèi),編程配置靈活、開發(fā)周期短、系統(tǒng)簡(jiǎn)單,具有高集成度、體積小、低功耗、I/O端口多、在系統(tǒng)編程等優(yōu)點(diǎn)。在高速多路數(shù)據(jù)采集系統(tǒng)中,F(xiàn)PGA可以戰(zhàn)勝上述單片機(jī)或DSP的不足之處,滿足系統(tǒng)對(duì)實(shí)時(shí)性和同步性的要求。

本數(shù)據(jù)采集系統(tǒng)是基于FPGA技術(shù)設(shè)計(jì)的多路模擬量、數(shù)字量采集與處理系統(tǒng)。FPGA的I/O端口多,且可以自由編程支配、定義其功能,再配以VHDL語(yǔ)

14

言進(jìn)行軟件設(shè)計(jì);FPGA的最大優(yōu)點(diǎn)是可在線編程,基于FPGA設(shè)計(jì)的數(shù)據(jù)采集器可以便利地進(jìn)行遠(yuǎn)程功能擴(kuò)展,可以適應(yīng)不同應(yīng)用場(chǎng)合的需要。

(2)傳輸總線接口的選擇

傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸接口在低速時(shí)常采用標(biāo)準(zhǔn)串行口或并行口,高速時(shí)一般彩PCI總線接口。它們各自的特點(diǎn)如下:準(zhǔn)串行口或并行口應(yīng)用開發(fā)比較簡(jiǎn)單,即硬件電路和編程簡(jiǎn)單但是數(shù)據(jù)傳輸速率較低;PCI總線數(shù)據(jù)傳輸速率較高,可以達(dá)到1GPS,但是硬件設(shè)計(jì)和驅(qū)動(dòng)開發(fā)難度較大,PCI卡的尺寸面積限制了I/O接口的擴(kuò)展,不能在筆記本電腦或便攜式PC上安裝,而且驅(qū)動(dòng)程序使用不便利;目前流行的USB2.0傳輸協(xié)議傳輸速率可達(dá)480Mbps,而且接口簡(jiǎn)單,便攜,可熱插拔的優(yōu)點(diǎn)而用硬件描棕語(yǔ)言開發(fā)的難度太大。

由于設(shè)計(jì)要求的數(shù)據(jù)速度不高,考慮到編程的快捷和連接電路的簡(jiǎn)單,及其系統(tǒng)的穩(wěn)定性和經(jīng)濟(jì)。本設(shè)計(jì)系統(tǒng)彩通用串行通信接口RS-232。

3.2系統(tǒng)設(shè)計(jì)方案

該多路信號(hào)測(cè)量系統(tǒng)主要由模擬部分,數(shù)字部分和接口部分三大板塊組成,其中模擬部分主要包含模擬信號(hào)預(yù)處理模塊和模數(shù)轉(zhuǎn)換模塊;數(shù)字部分除時(shí)鐘產(chǎn)生電路外,其余部分完全在FPGA中設(shè)計(jì)完成包含8位AD轉(zhuǎn)換芯片ADC0809。首先以硬件的方式通過(guò)對(duì)AD轉(zhuǎn)換芯片進(jìn)行時(shí)序控制并同時(shí)實(shí)現(xiàn)相關(guān)順序的多路開關(guān)切換;然后實(shí)現(xiàn)高速多路采樣;最終采樣的結(jié)果保存在FIFO中供上位機(jī)進(jìn)行調(diào)用,系統(tǒng)結(jié)構(gòu)如下圖3-1所示:

圖3-1數(shù)據(jù)采集結(jié)構(gòu)框圖

本系統(tǒng)由FPGA、ADC0809芯片等組合而成。FPGA(現(xiàn)場(chǎng)可編程門陣列)是可編程規(guī)律器件;ADC0809為單極性輸入,8位轉(zhuǎn)換精度逐次逼進(jìn)式A/D轉(zhuǎn)換器,

15

其采樣速度為每次轉(zhuǎn)換約100μs,采用雙排28引腳封裝,是自動(dòng)數(shù)據(jù)采集、程控增益放大等重要技術(shù)領(lǐng)域的常用器件,其實(shí)際使用性能的優(yōu)劣對(duì)系統(tǒng)的嚴(yán)謹(jǐn)和可靠性重要影響。

3.3各部件在系統(tǒng)中的作用

在本系統(tǒng)中,各個(gè)部件都有其獨(dú)特的作用。簡(jiǎn)述如下:

(1)FPGA在系統(tǒng)中主要是將程序下載到其里面,加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部規(guī)律關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。

(2)ADC0809芯片的作用是將輸入的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),內(nèi)部具有自動(dòng)采樣保持、可按比例量程校準(zhǔn)轉(zhuǎn)換范圍、抗噪聲干擾功能。

16

第四章硬件的設(shè)計(jì)及實(shí)現(xiàn)

4.1硬件的設(shè)計(jì)思路

本系統(tǒng)的設(shè)計(jì)思路是:首先將模擬信號(hào)輸入給A/D轉(zhuǎn)換器ADCO8O9轉(zhuǎn)換芯片進(jìn)行時(shí)序控制并同時(shí)實(shí)現(xiàn)對(duì)相關(guān)順序的多路開關(guān)的切換;然后實(shí)現(xiàn)高速多路采樣;最終采樣的結(jié)果保存在FIFO中供上位機(jī)進(jìn)行調(diào)用數(shù)據(jù)[5]。由此可以看出FPGA在本系統(tǒng)中,起到了一個(gè)傳輸橋梁的作用。

使用QuartusⅡ軟件選取Cyclone系列,并對(duì)SOPCBuilder生成的HDL設(shè)計(jì)文件進(jìn)行布局布線;再使用QuartusⅡ選取EP2C5T114C8并對(duì)系統(tǒng)上的各種I/O分派管腳,另外還要根據(jù)要求進(jìn)行硬件編譯選項(xiàng)或時(shí)序約束的設(shè)置。在編譯的過(guò)程中,QuartusⅡ從VHDL源文件綜合生成一個(gè)適合目標(biāo)器件的網(wǎng)表。最終,生成配置文件。

最終,使用QuartusⅡ編程器和Altera下載電纜,將配置文件下載到開發(fā)板上。當(dāng)校驗(yàn)完當(dāng)前硬件設(shè)計(jì)后,還可再次將新的配置下載到開發(fā)板上的非易失存儲(chǔ)器里。

17

4.2硬件總體設(shè)計(jì)

本硬件電路的主要芯片有:模數(shù)轉(zhuǎn)換芯片ADC0809、FPGA。其硬件電路如下圖所示

圖4-1FPGA控制的ADC0809采樣電路

圖4-1中,輸入部分:IN0-IN7為8條模擬量輸入通道。ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0-5V,若信號(hào)太小,必需進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)當(dāng)保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路;中間部分:主要是FPGA芯片,實(shí)現(xiàn)對(duì)ADC0809的采樣控制;輸出部分:輸出的8位二進(jìn)制數(shù)字信號(hào)由兩種方式顯示,一種方式是由8個(gè)發(fā)光二極管組成,每一個(gè)二極管代表一位二進(jìn)制數(shù),當(dāng)二極管處于發(fā)光狀態(tài)即“亮〞時(shí),表示輸出二進(jìn)制“1〞;否則輸出“0〞。簡(jiǎn)言之,“亮〞—“1〞,“滅〞—“0〞;另一種輸出方式是由兩位數(shù)碼管組成的,每一位數(shù)碼管以十六進(jìn)制(即0--F)顯示二進(jìn)制輸出的四位。

18

4.2硬件組成

本系統(tǒng)由FPGA、ADC0809芯片連接和管腳分派等組合而成。其中,F(xiàn)PGA是核心的功能模塊,承載了全部的數(shù)字電路部分。FPGA完成的功能可以主要描述為以下幾點(diǎn):

(1)PIO控制器模擬接口,完成與外設(shè)的連接。

(2)通過(guò)內(nèi)部PLL(鎖相環(huán)),將外部信號(hào)源時(shí)鐘引入FPGA中,并做相應(yīng)的倍頻處理。

(3)通過(guò)在其內(nèi)部設(shè)計(jì)RAM,存儲(chǔ)ADC采集后的數(shù)據(jù)。并且根RAM的特點(diǎn),來(lái)便利的進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。

4.2.1FPGA的優(yōu)點(diǎn)(1)FPGA的優(yōu)點(diǎn)

第一,隨著VlSI(VeryLargeScaleIC,超大規(guī)模集成電路)工藝的不斷提高單一芯片內(nèi)部可以容納上百萬(wàn)個(gè)晶體管,F(xiàn)PGA芯片的規(guī)模也越來(lái)越大,其單片規(guī)律門數(shù)已達(dá)到上百萬(wàn)門,它所能實(shí)現(xiàn)的功能也越來(lái)越強(qiáng),同時(shí)也可以實(shí)現(xiàn)系統(tǒng)集成,即片上系統(tǒng)SOC。

其次,F(xiàn)PGA芯片在出廠之前都做過(guò)百分之百的測(cè)試,不需要設(shè)計(jì)人員承受投片風(fēng)險(xiǎn)和費(fèi)用,設(shè)計(jì)人員只需在自己的試驗(yàn)室里就可以通過(guò)相關(guān)的軟硬件環(huán)境來(lái)完成芯片的最終功能設(shè)計(jì)。所以,F(xiàn)PGA的資金投入小,節(jié)省了大量潛在的花費(fèi)。

第三,用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動(dòng)的狀況下用不同軟件就可實(shí)現(xiàn)不同的功能。所以,用FPGA試制樣片,能以最快的速度占領(lǐng)市場(chǎng)。FPGA軟件包中有各種輸入工具和仿真工具,及幅員設(shè)計(jì)工具和編程器等全線產(chǎn)品,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最終芯片的制作。當(dāng)電路有少量改動(dòng)時(shí),更能顯示出FPGA的優(yōu)勢(shì)。電路設(shè)計(jì)人員使用FPGA進(jìn)行電路設(shè)計(jì)時(shí),不需要具備專門的IC(集成電路)深層次的知識(shí),F(xiàn)PGA軟件易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)計(jì),快速將產(chǎn)品推向市場(chǎng)。

19

mV)。因此廣泛應(yīng)用于模擬量和數(shù)字量的轉(zhuǎn)換電路。

(3)AD轉(zhuǎn)換芯片ADC0809的工作原理

ADC0809具有8種串行接口時(shí)序模式.這些模式是由I/OCLOCK周期來(lái)定義,圖4-6所示為ADC0809的時(shí)序圖。

圖4-6ADC0809的時(shí)序圖

①在IN0-IN7上可分別接上要測(cè)量轉(zhuǎn)換的8路模擬量信號(hào)。

②將ADDA-ADDC端給上代表選擇測(cè)量通道的代碼。如000(B)則代表通道0;001(B)代表通道1;111則代表通道7。

③將ALE由低電平置為高電平,從而將ADDA-ADDC送進(jìn)的通道代碼鎖存,經(jīng)譯碼后被選中的通道的模擬量送給內(nèi)部轉(zhuǎn)換單元。

④給START一個(gè)正脈沖。當(dāng)上升沿時(shí),所有內(nèi)部寄放器清零。下降沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,START保持低電平。

⑤EOC為轉(zhuǎn)換終止信號(hào)。在上述的A/D轉(zhuǎn)換期間,可以對(duì)EOC進(jìn)行不斷測(cè)量,當(dāng)EOC為高電平日,說(shuō)明轉(zhuǎn)換工作終止。否則,說(shuō)明正在進(jìn)行A/D轉(zhuǎn)換。⑥當(dāng)A/D轉(zhuǎn)換終止后,將OE設(shè)置為1,這時(shí)D0-D7的數(shù)據(jù)便可以讀取了。OE=0,D0-D7輸出端為高阻態(tài),OE=1,D0-D7端輸出轉(zhuǎn)換的數(shù)據(jù)。

(4)ADC0809的工作方式

25

ADC0809在控制時(shí)產(chǎn)生START轉(zhuǎn)換啟動(dòng)信號(hào),ALE地址鎖存允許信號(hào)(高電平有效),在工作流程中,F(xiàn)PGA不斷讀入轉(zhuǎn)換終止信號(hào)EOC判斷AD0809轉(zhuǎn)換能不能終止。當(dāng)EOC發(fā)出一個(gè)正脈沖時(shí),表示A/D轉(zhuǎn)換終止,此時(shí)開啟輸出允許OE,開啟ADC0809的三態(tài)緩沖鎖存器將轉(zhuǎn)換好的8位二進(jìn)制數(shù)輸入FPGA芯片中。通過(guò)查找表的要領(lǐng)將8位二進(jìn)制數(shù)轉(zhuǎn)換成12位BCD碼。

4.3時(shí)鐘電路

系統(tǒng)的時(shí)鐘由外部晶振供給,同倍的各個(gè)時(shí)鐘信號(hào)則通過(guò)FPGA編程來(lái)實(shí)現(xiàn),在這方面FPGA的分頻很有優(yōu)勢(shì)。如圖4-7所示,4M晶振工作電壓為5V,通過(guò)FPGA芯片的全局時(shí)鐘信號(hào)輸入端I0183口輸入到系統(tǒng)中。

圖4-7時(shí)鐘電路

26

4.4電源模塊

電源模塊一般以可插拔的形式給出。就原理上來(lái)說(shuō),它尋常也是個(gè)開關(guān)穩(wěn)壓器,所以它的效率也十分高,而且相對(duì)于普通開關(guān)穩(wěn)壓器,它的集成度更高,外圍只需要一個(gè)輸入電容和一個(gè)輸出電容即可工作(這一點(diǎn)于LDO類似),設(shè)計(jì)相當(dāng)簡(jiǎn)便,特別適合要求開發(fā)周期十分短的應(yīng)用,特別是原型機(jī)的設(shè)計(jì)。由于電源模塊上集成了幾乎所有可以集成的東西,靈活性相對(duì)較差,價(jià)格也相對(duì)較高。圖3以TI的PT6943為例,描述了用電源模塊設(shè)計(jì)FPGA電源的典型電路。PT6943是TI的PT6940系列電源模塊的一種,輸入為4.5V至5.5V,它支持3.3V和1.5V兩路輸出,每路輸出的最大電流均為6A,它內(nèi)部還集成了電壓順序控制,短路保護(hù)等功能。

圖4-8用電源模塊設(shè)計(jì)FPGA電源典型電路

27

第五章軟件的設(shè)計(jì)與實(shí)現(xiàn)

5.1VHDL編程

在用VHDL編程時(shí),由于采取自頂向下的設(shè)計(jì)思想,所以思路明了明白。

根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能,用一個(gè)總體模塊來(lái)實(shí)現(xiàn),即需要幾個(gè)輸入又有幾個(gè)輸出。在這方面,由于一個(gè)完全的VHDL語(yǔ)言程序包括實(shí)體、結(jié)構(gòu)體、配置、程序包和庫(kù)五個(gè)部分。其中,實(shí)體就用于描述系統(tǒng)和外部的接口;結(jié)構(gòu)體用于描述設(shè)計(jì)系統(tǒng)的行為,系統(tǒng)的數(shù)據(jù)流和系統(tǒng)內(nèi)部的結(jié)構(gòu);配置用于從庫(kù)中選取所需要設(shè)計(jì)單元來(lái)組成系統(tǒng)設(shè)計(jì)的不同版本;程序包主要用來(lái)存放各種設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型、常量、和子程序等;庫(kù)主要用于存放已經(jīng)編譯好的實(shí)體、機(jī)構(gòu)體、程序包和配置。所以,先設(shè)計(jì)總體的實(shí)體,然后再細(xì)分,最終再把各個(gè)子模塊連接起來(lái)。

5.2開發(fā)應(yīng)用程序

在構(gòu)建硬件系統(tǒng)后,在此基礎(chǔ)上開發(fā)應(yīng)用程序。根據(jù)ADC0809工作時(shí)序,就可以利用VHDL語(yǔ)言編寫ADC0809的單路AD轉(zhuǎn)換程序,其源程序如下。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entityADC0809is

port(d:instd_logic_vector(7downto0);--ADC0809輸出的采樣數(shù)據(jù)

28

clk,eoc:instd_logic;--clk為系統(tǒng)時(shí)鐘,eoc為ADC0809轉(zhuǎn)換終止信號(hào)

clk1,start,ale,en:outstd_logic;--ADC0809控制信號(hào)

abc_in:instd_logic_vector(2downto0);--模擬選通信號(hào)

abc_out:outstd_logic_vector(2downto0);--ADC0809模擬信號(hào)選通信號(hào)

q:outstd_logic_vector(7downto0));--送至8個(gè)并排數(shù)碼管信號(hào)

endADC0809;

architecturebehavofADC0809is

typestatesis(st0,st1,st2,st3,st4,st5,st6);--定義各狀態(tài)的子類型

signalcurrent_state,next_state:states:=st0;

signalregl:std_logic_vector(7downto0);--中間數(shù)據(jù)寄放信號(hào)

signal:std_logic_vector(7downto0);begin

com:process(current_state,eoc)--規(guī)定各種狀態(tài)的轉(zhuǎn)換方式begin

casecurrent_stateis

29

whenst0=>next_statenext_statenext_statealealenext_statenext_statenext_state

(3)運(yùn)行程序

在工程編譯調(diào)試之后,就可以運(yùn)行程序了,以下為ADC0809采樣控制原理圖。

圖5-6ADC0809采樣控制原理圖

5.6FIFO在系統(tǒng)中的作用

FIFO(FirstInFirstOut)簡(jiǎn)單說(shuō)就是指先進(jìn)先出。由于微電子技術(shù)的飛速發(fā)展,新一代FIFO芯片容量越來(lái)越大,體積越來(lái)越小,價(jià)格越來(lái)越低廉。作為一種新型大規(guī)模集成電路,F(xiàn)IFO芯片以其靈活、便利、高效的特性,逐漸在高速數(shù)據(jù)采集、高速數(shù)據(jù)處理、高速數(shù)據(jù)傳輸以及多機(jī)處理系統(tǒng)中得到越來(lái)越廣泛的應(yīng)用。

在系統(tǒng)設(shè)計(jì)中,以增加數(shù)據(jù)傳輸率、處理大量數(shù)據(jù)流、匹配具有不同傳輸率的系統(tǒng)為目的而廣泛使用FIFO存儲(chǔ)器,從而提高了系統(tǒng)性能。FIFO存儲(chǔ)器是一個(gè)先入先出的雙口緩沖器,即第一個(gè)進(jìn)入其內(nèi)的數(shù)據(jù)第一個(gè)被移出,其中一個(gè)存儲(chǔ)器的輸入口,另一個(gè)口是存儲(chǔ)器的輸出口。對(duì)于單片F(xiàn)IFO來(lái)說(shuō),主要有兩種結(jié)構(gòu):觸發(fā)導(dǎo)向結(jié)構(gòu)和零導(dǎo)向傳輸結(jié)構(gòu)。觸發(fā)導(dǎo)向傳輸結(jié)構(gòu)的FIFO是由寄放器陣列構(gòu)成的,零導(dǎo)向傳輸結(jié)構(gòu)的FIFO是由具有讀和寫地址指針的雙口RAM構(gòu)成。

FIFO存儲(chǔ)器是系統(tǒng)的緩沖環(huán)節(jié),假使沒有FIFO存儲(chǔ)器,整個(gè)系統(tǒng)就不可能正常工作,它主要有幾方面的功能:

(1)對(duì)連續(xù)的數(shù)據(jù)流進(jìn)行緩存,防止在進(jìn)機(jī)和存儲(chǔ)操作時(shí)丟失數(shù)據(jù);

35

(2)數(shù)據(jù)集中起來(lái)進(jìn)行進(jìn)機(jī)和存儲(chǔ),可避免頻繁的總線操作,減輕CPU的負(fù)擔(dān);

(3)允許系統(tǒng)進(jìn)行DMA操作,提高數(shù)據(jù)的傳輸速度。這是至關(guān)重要的一點(diǎn),假使不采用DMA操作,數(shù)據(jù)傳輸將達(dá)不到傳輸要求,而且大大增加CPU的負(fù)擔(dān),無(wú)法同時(shí)完成數(shù)據(jù)的存儲(chǔ)工作。

FIFO存儲(chǔ)器[12]分為寫入專用區(qū)和讀取專用區(qū)。讀操作與寫操作可以異步進(jìn)行,寫人區(qū)上寫入的數(shù)據(jù)依照寫入的順序從讀取端的區(qū)中讀出,類似于吸收寫人端與讀出端速度差的一種緩沖器。計(jì)算機(jī)的串口,一般也都具有FIFO緩沖器(不是單

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論