




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——多路信號測量電路的設(shè)計(jì)畢業(yè)設(shè)計(jì)
多路信號測量電路的設(shè)計(jì)
院系:機(jī)電與自動化學(xué)院專業(yè)班:電氣工程及其自動化姓名:學(xué)號:指導(dǎo)教師:
2023年5月
The
多路信號測量電路的設(shè)計(jì)DesignofMultiplexSignalMeasuring
Circuit
摘要
信號采集是信號和控制器之間樞紐,采集信號質(zhì)量的高低,速度的快慢將嚴(yán)重影響到控制質(zhì)量。然而,自然中的信號各種各樣,環(huán)境繁雜,并且控制器對信號的要求變各不一致,這些都有使得信號采集一直以來都是技術(shù)難點(diǎn)。
基于單片機(jī)和DSP設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)都有一定的不足。單片機(jī)制時鐘頻率低,各種功能都要靠軟件的運(yùn)行來實(shí)現(xiàn),軟件運(yùn)行時間在整個采樣時間中占很大的比例,效率低,難以適應(yīng)高速數(shù)據(jù)采集系統(tǒng)的要求。DSP的運(yùn)算速度快,擅優(yōu)點(diǎn)理密集的乘加運(yùn)算,但很難完成外圍的繁雜硬件規(guī)律控制。而FPGA卻有單片機(jī)和DSP無法比較的優(yōu)勢。本文拭圖設(shè)計(jì)一種多路的基于FPGA的信號采集系統(tǒng)。與傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)以單片機(jī)或DSP作為控制器相比,F(xiàn)PGA具有高集中成度、高時鐘頻率、時序控制確切、編程靈活等眾多優(yōu)點(diǎn),特別在并行信號處理能力方面比DSP更具有優(yōu)勢。在信號處理領(lǐng)域,經(jīng)常需要對從路信號進(jìn)行采集和實(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第六章終止語37致謝38考文獻(xiàn)39
IV
緒論
常用數(shù)據(jù)采集方案是以微處理處理為核心控制多數(shù)據(jù)采集系統(tǒng)是計(jì)算機(jī)測控系統(tǒng)中不可或缺的組成部分,是影響測控系統(tǒng)個通道的信號采集、預(yù)處理、存儲和傳輸,即用軟件實(shí)現(xiàn)數(shù)據(jù)的采集,這在一定的程度上局限了數(shù)據(jù)采集的速度、效率及時序的確切控制。20世紀(jì)80年代起步的FPGA(FieldProgrammableGateArray),現(xiàn)場可編程門羅列技術(shù)近年來發(fā)展十分迅速,并廣泛應(yīng)用于通信、自動控制、儀器儀表、信息處理等諸多領(lǐng)域?,F(xiàn)在的FPGA器件具有高集中成度、高時鐘頻率、時序控制確切、編程靈活等明顯優(yōu)于普通微處理器的特點(diǎn),因此系統(tǒng)假使采用FPGA為核心控制ADC和數(shù)據(jù)傳輸,這樣可達(dá)到預(yù)期要求,并簡化外圍電路,降低設(shè)計(jì)風(fēng)險,縮短開發(fā)周期。
FPGA卻有單片機(jī)和DSP無法比較的優(yōu)勢。本文提出了運(yùn)用VHDL語言,以硬件的方式通過對AD轉(zhuǎn)換芯片進(jìn)行時序控制,并同時實(shí)現(xiàn)相關(guān)順序的多路開關(guān)切換,最終實(shí)現(xiàn)高速多路采樣,采樣的結(jié)果保存在FIFO中供上位機(jī)進(jìn)行調(diào)用。通過FPGA不僅完成了系統(tǒng)中全部數(shù)字電路部分的設(shè)計(jì),并且使系統(tǒng)具有了較高的可適應(yīng)性、可擴(kuò)展性和可調(diào)試性。
在高速多路數(shù)據(jù)采集系統(tǒng)中,尋常采用單片機(jī)或數(shù)字信號處理器DSP作為微控制器,控制模數(shù)轉(zhuǎn)換器ADC及其他外圍設(shè)備的工作。但是基于單片機(jī)或DSP的高速多路數(shù)據(jù)采集系統(tǒng)都有一定的不足。由于單片機(jī)運(yùn)行的時鐘頻率較低,并且單片機(jī)是基于順序語言的,各種功能都要靠軟件的運(yùn)行來實(shí)現(xiàn),因此隨著程序量的增加,假使程序的頑強(qiáng)性不好,會出現(xiàn)“程序跑飛〞和“復(fù)位〞現(xiàn)象。DSP的運(yùn)算速度快,處理繁雜的乘加運(yùn)算有一定的優(yōu)勢,但是很難完成外圍設(shè)備的繁雜硬件規(guī)律控制。因而單片機(jī)或DSP很難滿足高速多路數(shù)據(jù)采集系統(tǒng)對實(shí)時性和同步性的要求。
現(xiàn)場可編程門陣列(FPGA)是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展起來的。FPGA時鐘頻率高,內(nèi)部延時小,運(yùn)行速度快,全部控制規(guī)律由硬件完成。它本身集采樣控制、處理、緩存、傳輸控制、通信于一個芯片內(nèi),編程配置靈活、開發(fā)周期短、系統(tǒng)簡單,具有高集成度、體積小、低功耗、I/O端口多、在系統(tǒng)編程等優(yōu)點(diǎn)。在高速多路數(shù)據(jù)采集系統(tǒng)中,F(xiàn)PGA可以戰(zhàn)勝上述單片機(jī)或DSP的不足之處,滿足系統(tǒng)對實(shí)時性和同步性的要求。
1
本數(shù)據(jù)采集系統(tǒng)是基于FPGA技術(shù)設(shè)計(jì)的多路模擬量、數(shù)字量采集與處理系統(tǒng)。FPGA的I/O端口多,且可以自由編程支配、定義其功能,再配以VHDL語言進(jìn)行軟件設(shè)計(jì);FPGA的最大優(yōu)點(diǎn)是可在線編程,基于FPGA設(shè)計(jì)的數(shù)據(jù)采集器可以便利地進(jìn)行遠(yuǎn)程功能擴(kuò)展,可以適應(yīng)不同應(yīng)用場合的需要。
國內(nèi)外學(xué)者在利用FPGA實(shí)現(xiàn)信號處理算法方面做了大量的工作,并取得了良好的效益。我國的FPGA技術(shù)起步相對較晚,但進(jìn)入21世紀(jì)后,發(fā)展十分迅速。目前不少大學(xué)及研究所都使用FPGA芯片設(shè)計(jì)開發(fā)具有自主知識產(chǎn)權(quán)的IP核?;贔PGA的研究將會是繼單片機(jī)后的又一個巨大產(chǎn)業(yè),自然以FPGA作為處理器也將會有廣闊的前景和重要意義。所以借做多路數(shù)據(jù)采集器的系統(tǒng)設(shè)計(jì)的機(jī)遇,選擇FPGA作為控制器,并借此機(jī)遇來系統(tǒng)的學(xué)習(xí)FPGA。
2
第一章信號與模數(shù)轉(zhuǎn)換
1.1如何理解信號
什么是信號?“信號〞一詞在人們的日常生活和社會活動中并不陌生,例如時鐘報(bào)時、汽車?yán)鹊穆曇?、交織路口的紅綠燈、戰(zhàn)場上的信號彈、電子計(jì)算機(jī)內(nèi)部以及它和外圍設(shè)備之間聯(lián)絡(luò)的電信號等,都是人們熟悉的信號。但是,要嚴(yán)格地給信號下定義,必需搞清它和信息、消息之間的聯(lián)系。
我們生活在信息時代,信息對每個人來說都具有重要的意義。信息是指人類社會和自然界中需要傳送、交換、存儲和提取的抽象內(nèi)容。首先,信息具有客觀性,它存在于一切事物之中,事物的一切變化和運(yùn)動都伴隨著信息的交換和傳送。同時,信息具有抽象性,只有通過一定的形式才能把它表現(xiàn)出來。
由于信息的抽象性,為了交換和傳送,必需通過一定的表現(xiàn)形式將它表示出來。人們把表示信息的語言、文字、圖像、數(shù)據(jù)等稱為消息,而信息是消息之中賦予人們新知識與新概念的內(nèi)容??梢姡畔⑹窍⒌膬?nèi)容,而且是預(yù)先不知道的內(nèi)容。尋常,人們說:“這張報(bào)紙信息量大〞或“那個消息不含一點(diǎn)信息〞就表達(dá)了消息和信息之間的關(guān)系。
一般狀況下,消息不便于傳送和交換,往往需要借助于某種便于傳送和交換的物理量作為運(yùn)載手段,我們把聲、光、電等運(yùn)載消息的物理量稱為信號,它們是時間或空間的函數(shù),所攜帶的消息則表達(dá)在它們的變化之中。在作為信號的眾多物理量中,電是應(yīng)用最廣泛的物理量,由于它簡單產(chǎn)生、傳輸和控制,也簡單實(shí)現(xiàn)與其它物理量的相互轉(zhuǎn)換。因此,我們尋常所指的信號主要是電信號。
信息、消息和信號三者之間的關(guān)系可以用下面的例子形象地給以說明:甲通過電話告訴了乙一件乙事先不知道的事情,我們說乙得到了信息,它是客觀存在的,但是它是乙從甲的語言這一表現(xiàn)形式中得到的,這里,語言是甲傳遞給乙的消息,而電話傳
3
1.2信號采集
信號采集,具體地說,就是把傳感器輸出的模擬或數(shù)字信號轉(zhuǎn)換成計(jì)算機(jī)可以識別的數(shù)字,由計(jì)算機(jī)接口采集成為內(nèi)存中的數(shù)據(jù),按各種需要處理成相應(yīng)的數(shù)據(jù)結(jié)果,供傳送、顯示、打印輸出,以實(shí)現(xiàn)對自然界變量的監(jiān)測。與此同時,將計(jì)算機(jī)得到的數(shù)據(jù)進(jìn)行顯示或打印,以便實(shí)現(xiàn)對某些物理量的監(jiān)視,其中一部分?jǐn)?shù)據(jù)還將被控制生產(chǎn)過程中的計(jì)算機(jī)控制系統(tǒng)用來控制某些物理量。信息測量的范圍很廣泛,它已滲透到了地質(zhì)、醫(yī)藥器械、雷達(dá)、通訊、遙感遙測等各個領(lǐng)域,為我們更好的獲取信息提供了良好的基礎(chǔ)。
另外,在評估一個信號源的質(zhì)量時,也可以通過數(shù)據(jù)采集的手段將信號采集存入計(jì)算機(jī),再通過各種處理方式來測量評價該信號源的好壞。這時,該信號測量系統(tǒng)就類似一臺測試儀器。信號測量系統(tǒng)的性能好壞,主要取決于數(shù)據(jù)采集時的精度和速度。精度是通過有效位數(shù)來反映的,有效位數(shù)越高,要求系統(tǒng)的噪聲就越低。速度是通過采樣率[2]來反映的,速度太高,傳統(tǒng)的TTL規(guī)律往往不能滿足需求,一般高速采集芯片的輸出規(guī)律都為ECL規(guī)律。這樣相應(yīng)地增加了功耗。所以,在高速數(shù)據(jù)采集芯片的設(shè)計(jì)上是用大功耗來換取高速度,同時也減小了規(guī)律擺幅。
1.3典型高速數(shù)據(jù)采集的特點(diǎn)和發(fā)展趨勢
典型數(shù)據(jù)采集系統(tǒng)的構(gòu)成是由A/D+DSP+FPGA(CPLD)+D/A。其中A/D(模數(shù)轉(zhuǎn)換器)完成把模擬信號轉(zhuǎn)化為數(shù)字信號,DSP(數(shù)字信號處理器)用來對A/D采樣后的數(shù)據(jù)進(jìn)行處理,而FPGA(現(xiàn)場可編程門陣列)或CPLD(繁雜可編程規(guī)律器件)是用來對整個系統(tǒng)進(jìn)行控制,而D/A(數(shù)模轉(zhuǎn)換器)是用來將輸出的數(shù)字信號轉(zhuǎn)化為模擬信號從而來驅(qū)動外部設(shè)備。當(dāng)采樣頻率很高時,A/D采樣后的數(shù)據(jù)量很大,DSP來不及對采樣后的數(shù)據(jù)進(jìn)行處理,所以此時一般在A/D和DSP之間使用FIFO(FirstInFirstOut)或者雙口RAM來對采集后的數(shù)據(jù)進(jìn)行緩存。假使數(shù)據(jù)量特別大,有時還要使用外加的SDRAM(同步動態(tài)存儲器)來對采集后的數(shù)據(jù)作以保存。同時,采集系統(tǒng)有時需要與外界進(jìn)行數(shù)據(jù)交換,所以需要設(shè)置一些對外接口,譬如,采集卡有時需要與計(jì)算機(jī)進(jìn)行數(shù)據(jù)交換,就可以在采集
4
卡上設(shè)計(jì)一些PCI、ISA、USB、串口或并行接口等。
采集卡[3]需要時鐘作為基準(zhǔn),所以應(yīng)當(dāng)具備時鐘電路。當(dāng)然,還必需提供采集卡工作的必要電源,所以也應(yīng)當(dāng)具有電源電路。當(dāng)系統(tǒng)的工作頻率很高時,在低頻時不大明顯的信號完整性和電磁兼容性問題就會突出地表現(xiàn)出來。所以,此時對PCB的布局和布線應(yīng)相當(dāng)嚴(yán)格,通過適當(dāng)?shù)牟季趾筒季€,可以將影響信號完整性的因素降到很低的水平。
現(xiàn)在的A/D的采樣頻率可達(dá)GHz的量級,GEFanuc智能平臺近日發(fā)布了ICS-8551加固型ADCPMC/XMC模塊,ICS-8551專為嚴(yán)苛環(huán)境設(shè)計(jì),提供雙或四通道操作,四通道采樣頻率1.5GHz,雙通道采樣頻率3GHz,適用于光譜監(jiān)測、信號智能、戰(zhàn)場通訊、雷達(dá)等方面的軟件無線電(SDR)應(yīng)用。對于采樣頻率較低的A/D,其有效位數(shù)可達(dá)16位以上。數(shù)字信號處理器DSP的時鐘頻率可達(dá)600MHz以上,每秒鐘能夠進(jìn)行千萬次以上的乘加運(yùn)算。FPGA的時鐘頻率也可達(dá)到100MHz以上,內(nèi)部規(guī)律門數(shù)可達(dá)500萬以上。SDRAM的容量單片可達(dá)64MB,并且可以多片級聯(lián),能夠滿足高速緩存的需要。D/A的位數(shù)可達(dá)18位以上,轉(zhuǎn)換時間可以達(dá)到小于1微妙?,F(xiàn)在的一些總線,譬如PCI總線,傳輸速率可達(dá)132Mbyte/s;USB總線,傳輸速率可達(dá)480Mbit/s,可以滿足數(shù)據(jù)采集卡與其它設(shè)備的高速數(shù)據(jù)傳輸。所有這些條件,都使數(shù)據(jù)采集向?qū)拵?、高速方向發(fā)展成為現(xiàn)實(shí)。
1.4模數(shù)轉(zhuǎn)換(A/D)
隨著數(shù)字電子技術(shù)的迅速發(fā)展,各種數(shù)字設(shè)備,特別是數(shù)字電子計(jì)算機(jī)的應(yīng)用日益廣泛,幾乎滲透到國民經(jīng)濟(jì)的所有領(lǐng)域之中。數(shù)字計(jì)算機(jī)只能夠?qū)?shù)字信號進(jìn)行處理,處理的結(jié)果還是數(shù)字量,它在用于生產(chǎn)過程自動控制的時候,所要處理的變量往往是連續(xù)變化的物理量,如溫度、壓力、速度等都是模擬量,這些非電子信號的模擬量先要經(jīng)過傳感器變成電壓或者電流信號,然后再轉(zhuǎn)換成數(shù)字量,才能夠送往計(jì)算機(jī)進(jìn)行處理。
模擬量轉(zhuǎn)換成數(shù)字量的過程被稱為模數(shù)轉(zhuǎn)換,簡稱A/D(AnalogtoDigital)轉(zhuǎn)換;完成模數(shù)轉(zhuǎn)換的電路被稱為A/D轉(zhuǎn)換器,簡稱ADC(AnalogtoDigitalConverter)。數(shù)字量轉(zhuǎn)換成模擬量的過程稱為數(shù)模轉(zhuǎn)換,簡稱D/A(DigitaltoAnalog)
5
轉(zhuǎn)換;完成數(shù)模轉(zhuǎn)換的電路稱為D/A轉(zhuǎn)換器,簡稱DAC(DigitaltoConverter)。帶有模數(shù)和數(shù)模轉(zhuǎn)換電路的測控系統(tǒng)大致可用圖1.1所示的框圖表示。
圖1-1典型數(shù)字系統(tǒng)控制框圖
圖中模擬信號由傳感器轉(zhuǎn)換為電信號,經(jīng)放大送入AD轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,由數(shù)字電路進(jìn)行處理,再由DA轉(zhuǎn)換器還原為模擬量,去驅(qū)動執(zhí)行部件。為了保證數(shù)據(jù)處理結(jié)果的確鑿性,AD轉(zhuǎn)換器和DA轉(zhuǎn)換器必需有足夠的轉(zhuǎn)換精度。同時,為了適應(yīng)快速過程的控制和檢測的需要,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)換過程所需時間的倒數(shù)。積分型ADC的轉(zhuǎn)換時間是毫秒級屬低速ADC,逐次比較型ADC是微秒級屬中速ADC,全并行/串并行型ADC可達(dá)到納秒級。為了保證轉(zhuǎn)換的正確完成,采樣速率(SampleRate)必需小于或等于轉(zhuǎn)換速率。常用單位是KS/S和MS/S,表示每秒采樣千/百萬次(Kilo/MillionSamplesperSecond)。
(2)分辯率(Resolution):指數(shù)字量變化一個最小量時模擬信號的變化量。分辯率又稱精度,尋常以數(shù)字信號的位數(shù)來表示。
(3)量化誤差(QuantizingError):由于ADC的有限分辯率而引起的誤差,即有限分辯率AD的階梯狀轉(zhuǎn)移特性曲線與無限分辯率ADC(理想ADC)的轉(zhuǎn)移特性曲線(直線)之間的最大偏差。尋常是一個或半個最小數(shù)字量的模擬變化量,表示為1LSB、1/2LSB。
6
(4)偏移誤差(OffsetError):輸入信號為零時輸出信號不為零的值,可外接電位器調(diào)至最小。
(5)滿刻度誤差(FullScaleError):滿度輸出時對應(yīng)的輸入信號與理想輸入信號值之差。
(6)線性度(Linearity):實(shí)際轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏移,不包括以上三種誤差。
7
其次章FPGA設(shè)計(jì)
2.1FPGA技術(shù)/簡介
可編和規(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)場可編程門羅列FPGA是八十年代中期出現(xiàn)的新型高密度可編程規(guī)律器件,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。通過編程可以立刻把一個通用的FPGA芯片配置成用戶需要的硬件數(shù)字電路,因而大大加快電子產(chǎn)品的研發(fā)周期,降低研發(fā)成本,縮短產(chǎn)品上市時間。FPGA具有高密度(一個器件內(nèi)部可用規(guī)律門可達(dá)數(shù)萬門),運(yùn)行速度快(管腳間的延時小,公幾個ns)的特點(diǎn)。用它來設(shè)計(jì)數(shù)字電路可以簡化系統(tǒng)設(shè)計(jì),縮小數(shù)據(jù)規(guī)模,提高系統(tǒng)的穩(wěn)定性。
FPGA兼有串、并行工作方式和高集成度和高可靠性等明顯的特點(diǎn),其時鐘延遲可達(dá)納秒級,同時,在基于芯片的設(shè)計(jì)中可以減少芯片數(shù)量,縮小系統(tǒng)體積,降低能源消耗,提高系統(tǒng)的性能指標(biāo)和可靠性。正是由于FPGA具有這些優(yōu)點(diǎn)FPGA在超高速應(yīng)用領(lǐng)域和實(shí)時測控方面有十分廣闊的應(yīng)用前景。在高可靠應(yīng)用領(lǐng)域,假使設(shè)計(jì)得當(dāng),將不會存在類似于MCU的復(fù)位不可靠和PC可能跑飛等問題。FPGA的高可靠性還表現(xiàn)在,幾乎可將整個系統(tǒng)下載于同一芯片中,實(shí)現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積。與AMU設(shè)計(jì)相比,F(xiàn)PGA顯著的優(yōu)勢是開發(fā)周期短,投資風(fēng)險小、產(chǎn)品上市速度快,市場適應(yīng)能力強(qiáng)和硬件升級旋繞碩士學(xué)位論文余地大,而且當(dāng)產(chǎn)品定型和產(chǎn)量擴(kuò)大后,可將在生產(chǎn)中達(dá)到充分檢驗(yàn)的VHDL設(shè)計(jì)迅速實(shí)現(xiàn)ASIC投產(chǎn)。
隨著大規(guī)?,F(xiàn)場可編程規(guī)律器件的發(fā)展,系統(tǒng)設(shè)計(jì)進(jìn)入“片上可編程系統(tǒng)〞(SOPC)的新紀(jì)元;芯片朝著高密度、低壓、低功耗方向挺進(jìn):在SOC芯片上可以將微處理器、數(shù)字信號處理器、存儲器、規(guī)律電路、模擬電路集成在一個芯片上。而假使將可編程規(guī)律電路IP核集成到SOC芯片上則會大大提高SOC芯片
8
的靈活性與有效性,并且縮短了SOC芯片的設(shè)計(jì)周期。因此國際各大公司都在積極擴(kuò)展其IP庫,以優(yōu)化的資源更好的滿足用戶的需求,擴(kuò)大市場。
由此可見,F(xiàn)PGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷降低,這使得FPGA占有越來越多的市場,特別是對小批量、多品種的產(chǎn)品需求,使FPGA成為首選。FPGA普及的另一重要原因是IP(知識產(chǎn)權(quán))越來越被高度重視,帶有IP內(nèi)核的功能塊在ASIC設(shè)計(jì)平臺上的應(yīng)用日益廣泛。越來越多的設(shè)計(jì)人員,采用設(shè)計(jì)重用,將系統(tǒng)設(shè)計(jì)模塊化,為設(shè)計(jì)帶來了快捷和便利。并可以使每個設(shè)計(jì)人員充分利用軟件代碼,提高開發(fā)效率,減少上市時間,降低研發(fā)費(fèi)用,縮短研發(fā)周期,降低風(fēng)險。
2.2FPGA的特點(diǎn)及工作原理
2.2.1FPGA的特點(diǎn)
FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。
加電時,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的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時,只需換一片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)險最小的器
9
件。之一。
(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。2.2.2FPGA的工作原理
FPGA采用了規(guī)律單元陣列LCA(LogicCellArray)這樣一個概念,內(nèi)部包括可配置規(guī)律模塊CLB(ConfigurableLogicBlock)、輸出輸入模塊IOB(InputOutputBlock)和內(nèi)部連線(Interconnect)三個部分?,F(xiàn)場可編程門陣列(FPGA)是可編程器件。與傳統(tǒng)規(guī)律電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu),F(xiàn)PGA利用小型查找表(16×1RAM)來實(shí)現(xiàn)組合規(guī)律,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他規(guī)律電路或驅(qū)動I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合規(guī)律功能又可實(shí)現(xiàn)時序規(guī)律功能的基本規(guī)律單元模塊,這些模塊間利用金屬連線相互連接或連接到I/O模塊。FPGA的規(guī)律是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的,存儲在存儲器單元中的值決定了規(guī)律單元的規(guī)律功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA允許無限次的編程
2.3配置芯片
Altera的配置器件可以分為以下3種:
(1)加強(qiáng)型的配置器件:EPC16、EPC8、EPC4。(2)普通配置器件:EPC2、EPC1、EPC1441。
(3)AS串行配置器件:EPCS64、EPCS16、EPCS4、EPCS1。加強(qiáng)型的配置器件可以支持對大容量FPGA的單片配置,它們可以由JTAG接口進(jìn)行在系統(tǒng)編程(ISP),而且可以支持FPP快速配置方式。普通配置器件容量相對較小,其中只有EPC2可以重復(fù)編程。要支持大容量FPGA的配置,可以將多片級聯(lián)起來。AS串行配置芯片是一種非易失性的、基于Flash存儲器的器件,專門為Altera的StratixII、Cyclone和CycloneII系列FPGA而設(shè)計(jì)。用戶可以使用Altera的ByteBlasterII下載電纜來將程序加載到配置芯片中。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)無關(guān)的全集成化設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能對Altera的各種產(chǎn)品系列便利地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。QuartusII開發(fā)系統(tǒng)具有強(qiáng)大的處理能力和高度的靈活性,它的優(yōu)點(diǎn)主要表現(xiàn)在以下方面:
(1)與結(jié)構(gòu)無關(guān):QuartusII系統(tǒng)的編譯程序,支持Altera全部系列的PLD產(chǎn)品,提供與結(jié)構(gòu)無關(guān)的設(shè)計(jì)開發(fā)環(huán)境,具有強(qiáng)大的規(guī)律綜合與優(yōu)化功能。
(2)多平臺:QuartusII可在基于PC機(jī)的WINDOWS或WINDOWSNT環(huán)境下以及多種工作站的XWINDOWS環(huán)境下運(yùn)行。
(3)全集成化:QuartusII的設(shè)計(jì)輸入、規(guī)律綜合、布局布線、仿真校驗(yàn)和編程下載等功能都全部集成在統(tǒng)一的開發(fā)環(huán)境下,可以加快動態(tài)開發(fā)和調(diào)試,縮短開發(fā)周期。并且在QuartusII軟件中還集成了SignalTapII規(guī)律分析儀,在系統(tǒng)調(diào)試過程中可以實(shí)時的監(jiān)控FPGA中各觀測信號的變化(包括虛擬引腳上的信號),從而給調(diào)試過程帶來了極大的便利。
(4)硬件描述語言(HDL):QuartusII支持各種HDL輸入選項(xiàng),包括VHDL,VerilogHDL和Altera的硬件描述語言AHDL。
(5)豐富的設(shè)計(jì)庫:QuartusII提供豐富的庫單元供設(shè)計(jì)者調(diào)用,其中包括各類常用的基本數(shù)字器件,以及參數(shù)化的宏單元模塊(MegaFunction)。并且可以通過加載Altera的MegaCore軟件包來在QuartusII中加載IPCore資源,從而引入像FFT、PCI、FIR等這樣的IP軟核。這些模塊都可以通過QuartusII中的MegaWizard來加以編程和設(shè)計(jì),根據(jù)我們的具體需要來實(shí)現(xiàn)其相應(yīng)的功能。
11
調(diào)用這些庫單元進(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)行器件和板級仿真。
2.5FPGA配置模式
FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對其編程。
如何實(shí)現(xiàn)快速的時序收斂、降低功耗和成本、優(yōu)化時鐘管理并降低FPGA與PCB并行設(shè)計(jì)的繁雜性等問題,一直是采用FPGA的系統(tǒng)設(shè)計(jì)工程師需要考慮的關(guān)鍵問題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發(fā)展,系統(tǒng)設(shè)計(jì)工程師在從這些優(yōu)異性能獲益的同時,不得不面對由于FPGA前所未有的性能和能力水平而帶來的新的設(shè)計(jì)挑戰(zhàn)。
FPGA廠商Xilinx最近推出的Virtex-5系列采用65nm工藝,可提供高達(dá)33萬個規(guī)律單元、1,200個I/O和大量硬IP塊。超大容量和密度使繁雜的布線變得更加不可預(yù)計(jì),由此帶來更嚴(yán)重的時序收斂問題。此外,針對不同應(yīng)用而集成的更多數(shù)量的規(guī)律功能、DSP、嵌入式處理和接口模塊,也讓時鐘管理和電壓分派問題變得更加困難。
FPGA廠商、EDA工具供應(yīng)商正在通力合作解決65nmFPGA獨(dú)特的設(shè)計(jì)挑戰(zhàn)。不久以前,Synplicity與Xilinx宣布成立超大容量時序收斂聯(lián)合工作小組,旨在最大程度地幫助系統(tǒng)設(shè)計(jì)工程師以更快、更高效的方式應(yīng)用65nmFPGA器件。設(shè)計(jì)軟件供應(yīng)商Magma推出的綜合工具BlastFPGA能幫助建立優(yōu)化的布局,加快時序的收斂
最近FPGA的配置方式已經(jīng)多元化!
2.6FPGA開發(fā)流程
FPGA開發(fā)基本流程包括:設(shè)計(jì)輸入、設(shè)計(jì)仿真、設(shè)計(jì)綜合、布局布線,它們的連接關(guān)系如圖1所示。圖1FPGA開發(fā)流程圖設(shè)計(jì)綜合是整個FPGA設(shè)計(jì)流程中一個重要的步驟,它將HDL代碼生成用于布局布線的網(wǎng)表和相應(yīng)的約束。而且
12
隨著新一代FPGA芯片頻率和密度的增長,時序收斂問題越來越嚴(yán)重,綜合已經(jīng)成為整個設(shè)計(jì)成敗的關(guān)鍵。尋常芯片供應(yīng)商的FPGA軟件中都包含綜合功能,但它相對簡單,不能適應(yīng)新一代FPGA芯片的發(fā)展,需要更加專業(yè)的綜合工具
FPGA開發(fā)基本流程包括:設(shè)計(jì)輸入、設(shè)計(jì)仿真、設(shè)計(jì)綜合、布局布線,它們的連接關(guān)系如圖2-2所示。
圖2-2FPGA開發(fā)流程圖
設(shè)計(jì)綜合是整個FPGA設(shè)計(jì)流程中一個重要的步驟,它將HDL代碼生成用于布局布線的網(wǎng)表和相應(yīng)的約束。而且隨著新一代FPGA芯片頻率和密度的增長,時序收斂問題越來越嚴(yán)重,綜合已經(jīng)成為整個設(shè)計(jì)成敗的關(guān)鍵。尋常芯片供應(yīng)商的FPGA軟件中都包含綜合功能,但它相對簡單,不能適應(yīng)新一代FPGA芯片的發(fā)展,需要更加專業(yè)的綜合工具來優(yōu)化設(shè)計(jì),PrecisionRTL綜合就是其中之一。
13
第三章系統(tǒng)的組成
3.1系統(tǒng)設(shè)計(jì)方案
3.1.1系統(tǒng)分析
基于FPGA的多路信號采集器系統(tǒng)涉及的內(nèi)容包括,信號的采集,數(shù)據(jù)的傳輸,數(shù)據(jù)的處理和存儲,實(shí)時信息的顯示。如前所述系統(tǒng)的工作流程為:首先要對多通道模擬信號進(jìn)行模數(shù)轉(zhuǎn)換,然后對其進(jìn)行緩存處理和必要的轉(zhuǎn)換,最終將處理后的結(jié)果傳送到PC機(jī)。這需要結(jié)合各個模擬傳感器輸出的信號的特點(diǎn)和系統(tǒng)各項(xiàng)指標(biāo)選擇合理的調(diào)理電路,A/D轉(zhuǎn)換,信號處理器和顯示模塊等。前端模擬部分前人已做了大量的研發(fā)工作,技術(shù)比較成熟,方案比較固定,本節(jié)重點(diǎn)針對數(shù)字部分的方案進(jìn)行探討。
(1)信號處理器的選擇
在高速多路數(shù)據(jù)采集系統(tǒng)中,尋常采用單片機(jī)或數(shù)字信號處理器DSP作為微控制器,控制模數(shù)轉(zhuǎn)換器ADC及其他外圍設(shè)備的工作。但是基于單片機(jī)或DSP的高速多路數(shù)據(jù)采集系統(tǒng)都有一定的不足。由于單片機(jī)運(yùn)行的時鐘頻率較低,并且單片機(jī)是基于順序語言的,各種功能都要靠軟件的運(yùn)行來實(shí)現(xiàn),因此隨著程序量的增加,假使程序的頑強(qiáng)性不好,會出現(xiàn)“程序跑飛〞和“復(fù)位〞現(xiàn)象。DSP的運(yùn)算速度快,處理繁雜的乘加運(yùn)算有一定的優(yōu)勢,但是很難完成外圍設(shè)備的繁雜硬件規(guī)律控制。因而單片機(jī)或DSP很難滿足高速多路數(shù)據(jù)采集系統(tǒng)對實(shí)時性和同步性的要求
現(xiàn)場可編程門陣列(FPGA)是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展起來的。FPGA時鐘頻率高,內(nèi)部延時小,運(yùn)行速度快,全部控制規(guī)律由硬件完成。它本身集采樣控制、處理、緩存、傳輸控制、通信于一個芯片內(nèi),編程配置靈活、開發(fā)周期短、系統(tǒng)簡單,具有高集成度、體積小、低功耗、I/O端口多、在系統(tǒng)編程等優(yōu)點(diǎn)。在高速多路數(shù)據(jù)采集系統(tǒng)中,F(xiàn)PGA可以戰(zhàn)勝上述單片機(jī)或DSP的不足之處,滿足系統(tǒng)對實(shí)時性和同步性的要求。
本數(shù)據(jù)采集系統(tǒng)是基于FPGA技術(shù)設(shè)計(jì)的多路模擬量、數(shù)字量采集與處理系統(tǒng)。FPGA的I/O端口多,且可以自由編程支配、定義其功能,再配以VHDL語
14
言進(jìn)行軟件設(shè)計(jì);FPGA的最大優(yōu)點(diǎn)是可在線編程,基于FPGA設(shè)計(jì)的數(shù)據(jù)采集器可以便利地進(jìn)行遠(yuǎn)程功能擴(kuò)展,可以適應(yīng)不同應(yīng)用場合的需要。
(2)傳輸總線接口的選擇
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸接口在低速時常采用標(biāo)準(zhǔn)串行口或并行口,高速時一般彩PCI總線接口。它們各自的特點(diǎn)如下:準(zhǔn)串行口或并行口應(yīng)用開發(fā)比較簡單,即硬件電路和編程簡單但是數(shù)據(jù)傳輸速率較低;PCI總線數(shù)據(jù)傳輸速率較高,可以達(dá)到1GPS,但是硬件設(shè)計(jì)和驅(qū)動開發(fā)難度較大,PCI卡的尺寸面積限制了I/O接口的擴(kuò)展,不能在筆記本電腦或便攜式PC上安裝,而且驅(qū)動程序使用不便利;目前流行的USB2.0傳輸協(xié)議傳輸速率可達(dá)480Mbps,而且接口簡單,便攜,可熱插拔的優(yōu)點(diǎn)而用硬件描棕語言開發(fā)的難度太大。
由于設(shè)計(jì)要求的數(shù)據(jù)速度不高,考慮到編程的快捷和連接電路的簡單,及其系統(tǒng)的穩(wěn)定性和經(jīng)濟(jì)。本設(shè)計(jì)系統(tǒng)彩通用串行通信接口RS-232。
3.2系統(tǒng)設(shè)計(jì)方案
該多路信號測量系統(tǒng)主要由模擬部分,數(shù)字部分和接口部分三大板塊組成,其中模擬部分主要包含模擬信號預(yù)處理模塊和模數(shù)轉(zhuǎn)換模塊;數(shù)字部分除時鐘產(chǎn)生電路外,其余部分完全在FPGA中設(shè)計(jì)完成包含8位AD轉(zhuǎn)換芯片ADC0809。首先以硬件的方式通過對AD轉(zhuǎn)換芯片進(jìn)行時序控制并同時實(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)場可編程門陣列)是可編程規(guī)律器件;ADC0809為單極性輸入,8位轉(zhuǎn)換精度逐次逼進(jìn)式A/D轉(zhuǎn)換器,
15
其采樣速度為每次轉(zhuǎn)換約100μs,采用雙排28引腳封裝,是自動數(shù)據(jù)采集、程控增益放大等重要技術(shù)領(lǐng)域的常用器件,其實(shí)際使用性能的優(yōu)劣對系統(tǒng)的嚴(yán)謹(jǐn)和可靠性重要影響。
3.3各部件在系統(tǒng)中的作用
在本系統(tǒng)中,各個部件都有其獨(dú)特的作用。簡述如下:
(1)FPGA在系統(tǒng)中主要是將程序下載到其里面,加電時,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芯片的作用是將輸入的模擬信號轉(zhuǎn)換成數(shù)字信號,內(nèi)部具有自動采樣保持、可按比例量程校準(zhǔn)轉(zhuǎn)換范圍、抗噪聲干擾功能。
16
第四章硬件的設(shè)計(jì)及實(shí)現(xiàn)
4.1硬件的設(shè)計(jì)思路
本系統(tǒng)的設(shè)計(jì)思路是:首先將模擬信號輸入給A/D轉(zhuǎn)換器ADCO8O9轉(zhuǎn)換芯片進(jìn)行時序控制并同時實(shí)現(xiàn)對相關(guān)順序的多路開關(guān)的切換;然后實(shí)現(xiàn)高速多路采樣;最終采樣的結(jié)果保存在FIFO中供上位機(jī)進(jìn)行調(diào)用數(shù)據(jù)[5]。由此可以看出FPGA在本系統(tǒng)中,起到了一個傳輸橋梁的作用。
使用QuartusⅡ軟件選取Cyclone系列,并對SOPCBuilder生成的HDL設(shè)計(jì)文件進(jìn)行布局布線;再使用QuartusⅡ選取EP2C5T114C8并對系統(tǒng)上的各種I/O分派管腳,另外還要根據(jù)要求進(jìn)行硬件編譯選項(xiàng)或時序約束的設(shè)置。在編譯的過程中,QuartusⅡ從VHDL源文件綜合生成一個適合目標(biāo)器件的網(wǎng)表。最終,生成配置文件。
最終,使用QuartusⅡ編程器和Altera下載電纜,將配置文件下載到開發(fā)板上。當(dāng)校驗(yàn)完當(dāng)前硬件設(shè)計(jì)后,還可再次將新的配置下載到開發(fā)板上的非易失存儲器里。
17
4.2硬件總體設(shè)計(jì)
本硬件電路的主要芯片有:模數(shù)轉(zhuǎn)換芯片ADC0809、FPGA。其硬件電路如下圖所示
圖4-1FPGA控制的ADC0809采樣電路
圖4-1中,輸入部分:IN0-IN7為8條模擬量輸入通道。ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必需進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)當(dāng)保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路;中間部分:主要是FPGA芯片,實(shí)現(xiàn)對ADC0809的采樣控制;輸出部分:輸出的8位二進(jìn)制數(shù)字信號由兩種方式顯示,一種方式是由8個發(fā)光二極管組成,每一個二極管代表一位二進(jìn)制數(shù),當(dāng)二極管處于發(fā)光狀態(tài)即“亮〞時,表示輸出二進(jìn)制“1〞;否則輸出“0〞。簡言之,“亮〞—“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)通過內(nèi)部PLL(鎖相環(huán)),將外部信號源時鐘引入FPGA中,并做相應(yīng)的倍頻處理。
(3)通過在其內(nèi)部設(shè)計(jì)RAM,存儲ADC采集后的數(shù)據(jù)。并且根RAM的特點(diǎn),來便利的進(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)部可以容納上百萬個晶體管,F(xiàn)PGA芯片的規(guī)模也越來越大,其單片規(guī)律門數(shù)已達(dá)到上百萬門,它所能實(shí)現(xiàn)的功能也越來越強(qiáng),同時也可以實(shí)現(xiàn)系統(tǒng)集成,即片上系統(tǒng)SOC。
其次,F(xiàn)PGA芯片在出廠之前都做過百分之百的測試,不需要設(shè)計(jì)人員承受投片風(fēng)險和費(fèi)用,設(shè)計(jì)人員只需在自己的試驗(yàn)室里就可以通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能設(shè)計(jì)。所以,F(xiàn)PGA的資金投入小,節(jié)省了大量潛在的花費(fèi)。
第三,用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動的狀況下用不同軟件就可實(shí)現(xiàn)不同的功能。所以,用FPGA試制樣片,能以最快的速度占領(lǐng)市場。FPGA軟件包中有各種輸入工具和仿真工具,及幅員設(shè)計(jì)工具和編程器等全線產(chǎn)品,電路設(shè)計(jì)人員在很短的時間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最終芯片的制作。當(dāng)電路有少量改動時,更能顯示出FPGA的優(yōu)勢。電路設(shè)計(jì)人員使用FPGA進(jìn)行電路設(shè)計(jì)時,不需要具備專門的IC(集成電路)深層次的知識,F(xiàn)PGA軟件易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)計(jì),快速將產(chǎn)品推向市場。
19
mV)。因此廣泛應(yīng)用于模擬量和數(shù)字量的轉(zhuǎn)換電路。
(3)AD轉(zhuǎn)換芯片ADC0809的工作原理
ADC0809具有8種串行接口時序模式.這些模式是由I/OCLOCK周期來定義,圖4-6所示為ADC0809的時序圖。
圖4-6ADC0809的時序圖
①在IN0-IN7上可分別接上要測量轉(zhuǎn)換的8路模擬量信號。
②將ADDA-ADDC端給上代表選擇測量通道的代碼。如000(B)則代表通道0;001(B)代表通道1;111則代表通道7。
③將ALE由低電平置為高電平,從而將ADDA-ADDC送進(jìn)的通道代碼鎖存,經(jīng)譯碼后被選中的通道的模擬量送給內(nèi)部轉(zhuǎn)換單元。
④給START一個正脈沖。當(dāng)上升沿時,所有內(nèi)部寄放器清零。下降沿時,開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,START保持低電平。
⑤EOC為轉(zhuǎn)換終止信號。在上述的A/D轉(zhuǎn)換期間,可以對EOC進(jìn)行不斷測量,當(dāng)EOC為高電平日,說明轉(zhuǎn)換工作終止。否則,說明正在進(jìn)行A/D轉(zhuǎn)換。⑥當(dāng)A/D轉(zhuǎn)換終止后,將OE設(shè)置為1,這時D0-D7的數(shù)據(jù)便可以讀取了。OE=0,D0-D7輸出端為高阻態(tài),OE=1,D0-D7端輸出轉(zhuǎn)換的數(shù)據(jù)。
(4)ADC0809的工作方式
25
ADC0809在控制時產(chǎn)生START轉(zhuǎn)換啟動信號,ALE地址鎖存允許信號(高電平有效),在工作流程中,F(xiàn)PGA不斷讀入轉(zhuǎn)換終止信號EOC判斷AD0809轉(zhuǎn)換能不能終止。當(dāng)EOC發(fā)出一個正脈沖時,表示A/D轉(zhuǎn)換終止,此時開啟輸出允許OE,開啟ADC0809的三態(tài)緩沖鎖存器將轉(zhuǎn)換好的8位二進(jìn)制數(shù)輸入FPGA芯片中。通過查找表的要領(lǐng)將8位二進(jìn)制數(shù)轉(zhuǎn)換成12位BCD碼。
4.3時鐘電路
系統(tǒng)的時鐘由外部晶振供給,同倍的各個時鐘信號則通過FPGA編程來實(shí)現(xiàn),在這方面FPGA的分頻很有優(yōu)勢。如圖4-7所示,4M晶振工作電壓為5V,通過FPGA芯片的全局時鐘信號輸入端I0183口輸入到系統(tǒng)中。
圖4-7時鐘電路
26
4.4電源模塊
電源模塊一般以可插拔的形式給出。就原理上來說,它尋常也是個開關(guān)穩(wěn)壓器,所以它的效率也十分高,而且相對于普通開關(guān)穩(wěn)壓器,它的集成度更高,外圍只需要一個輸入電容和一個輸出電容即可工作(這一點(diǎn)于LDO類似),設(shè)計(jì)相當(dāng)簡便,特別適合要求開發(fā)周期十分短的應(yīng)用,特別是原型機(jī)的設(shè)計(jì)。由于電源模塊上集成了幾乎所有可以集成的東西,靈活性相對較差,價格也相對較高。圖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è)計(jì)思想,所以思路明了明白。
根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能,用一個總體模塊來實(shí)現(xiàn),即需要幾個輸入又有幾個輸出。在這方面,由于一個完全的VHDL語言程序包括實(shí)體、結(jié)構(gòu)體、配置、程序包和庫五個部分。其中,實(shí)體就用于描述系統(tǒng)和外部的接口;結(jié)構(gòu)體用于描述設(shè)計(jì)系統(tǒng)的行為,系統(tǒng)的數(shù)據(jù)流和系統(tǒng)內(nèi)部的結(jié)構(gòu);配置用于從庫中選取所需要設(shè)計(jì)單元來組成系統(tǒng)設(shè)計(jì)的不同版本;程序包主要用來存放各種設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型、常量、和子程序等;庫主要用于存放已經(jīng)編譯好的實(shí)體、機(jī)構(gòu)體、程序包和配置。所以,先設(shè)計(jì)總體的實(shí)體,然后再細(xì)分,最終再把各個子模塊連接起來。
5.2開發(fā)應(yīng)用程序
在構(gòu)建硬件系統(tǒng)后,在此基礎(chǔ)上開發(fā)應(yīng)用程序。根據(jù)ADC0809工作時序,就可以利用VHDL語言編寫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)時鐘,eoc為ADC0809轉(zhuǎn)換終止信號
clk1,start,ale,en:outstd_logic;--ADC0809控制信號
abc_in:instd_logic_vector(2downto0);--模擬選通信號
abc_out:outstd_logic_vector(2downto0);--ADC0809模擬信號選通信號
q:outstd_logic_vector(7downto0));--送至8個并排數(shù)碼管信號
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ù)寄放信號
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)簡單說就是指先進(jìn)先出。由于微電子技術(shù)的飛速發(fā)展,新一代FIFO芯片容量越來越大,體積越來越小,價格越來越低廉。作為一種新型大規(guī)模集成電路,F(xiàn)IFO芯片以其靈活、便利、高效的特性,逐漸在高速數(shù)據(jù)采集、高速數(shù)據(jù)處理、高速數(shù)據(jù)傳輸以及多機(jī)處理系統(tǒng)中得到越來越廣泛的應(yīng)用。
在系統(tǒng)設(shè)計(jì)中,以增加數(shù)據(jù)傳輸率、處理大量數(shù)據(jù)流、匹配具有不同傳輸率的系統(tǒng)為目的而廣泛使用FIFO存儲器,從而提高了系統(tǒng)性能。FIFO存儲器是一個先入先出的雙口緩沖器,即第一個進(jìn)入其內(nèi)的數(shù)據(jù)第一個被移出,其中一個存儲器的輸入口,另一個口是存儲器的輸出口。對于單片F(xiàn)IFO來說,主要有兩種結(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存儲器是系統(tǒng)的緩沖環(huán)節(jié),假使沒有FIFO存儲器,整個系統(tǒng)就不可能正常工作,它主要有幾方面的功能:
(1)對連續(xù)的數(shù)據(jù)流進(jìn)行緩存,防止在進(jìn)機(jī)和存儲操作時丟失數(shù)據(jù);
35
(2)數(shù)據(jù)集中起來進(jìn)行進(jìn)機(jī)和存儲,可避免頻繁的總線操作,減輕CPU的負(fù)擔(dān);
(3)允許系統(tǒng)進(jìn)行DMA操作,提高數(shù)據(jù)的傳輸速度。這是至關(guān)重要的一點(diǎn),假使不采用DMA操作,數(shù)據(jù)傳輸將達(dá)不到傳輸要求,而且大大增加CPU的負(fù)擔(dān),無法同時完成數(shù)據(jù)的存儲工作。
FIFO存儲器[12]分為寫入專用區(qū)和讀取專用區(qū)。讀操作與寫操作可以異步進(jìn)行,寫人區(qū)上寫入的數(shù)據(jù)依照寫入的順序從讀取端的區(qū)中讀出,類似于吸收寫人端與讀出端速度差的一種緩沖器。計(jì)算機(jī)的串口,一般也都具有FIFO緩沖器(不是單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年統(tǒng)計(jì)學(xué)考試問題解決試題及答案
- 醫(yī)院品管圈全員培訓(xùn)課程
- 2024年汽車美容師考試心態(tài)調(diào)節(jié)與試題答案
- 2024年汽車美容師職能轉(zhuǎn)換考量試題及答案
- 2024年統(tǒng)計(jì)學(xué)知識網(wǎng)絡(luò)與分析試題及答案
- 強(qiáng)化監(jiān)管下食品企業(yè)責(zé)任的分析試題及答案
- 2024年統(tǒng)計(jì)學(xué)考試難度分析試題及答案
- 小學(xué)六年級語文生活應(yīng)用試題及答案
- 六年級語文期中考試試題及答案
- 瑤族文化課件
- 民法典與醫(yī)療損害責(zé)任
- 《抽水蓄能電站檢修導(dǎo)則》
- 鍋爐本體安裝單位工程驗(yàn)收表格樣本
- 王薔《英語教學(xué)法》總復(fù)習(xí)練習(xí)(附答案)
- 廣東省深圳市2024年七年級下冊地理期中試卷附答案
- 2022年4月自考03201護(hù)理學(xué)導(dǎo)論試題及答案含解析
- 2024年初中學(xué)業(yè)音樂科目水平考試題庫及答案
- 兩位數(shù)乘一位數(shù)計(jì)算質(zhì)量作業(yè)口算題
- 荒山綠化方案
- 用戶體驗(yàn)與用戶界面設(shè)計(jì)培訓(xùn):提高用戶體驗(yàn)與用戶界面設(shè)計(jì)的技術(shù)與方法
- 小學(xué)數(shù)學(xué)六年級下冊數(shù)學(xué)廣角鴿巢問題教學(xué)課件22
評論
0/150
提交評論