【正文】
編程邏輯陣列器件是可以由用戶進(jìn)行編程以實(shí)現(xiàn)所需邏輯功能的數(shù)字集成電路,利用其內(nèi)部的邏輯結(jié)構(gòu)實(shí)現(xiàn)任何布爾表達(dá)式、寄存器函數(shù)。按FPGA的邏輯功能塊的規(guī)模和功能分類,F(xiàn)PGA可分為三大類:細(xì)粒度FPGA、中粒度FPGA和粗粒度FPGA。Xilinx公司FPGA的邏輯塊構(gòu)造有查找表型和多路開關(guān)型,其中具有代表性的查找表結(jié)構(gòu)是Xilinx公司的XC系列FPGA,它的可編程邏輯單元是查找表,由查找表構(gòu)成函數(shù)發(fā)生器,再由查找表來實(shí)現(xiàn)邏輯函數(shù)。正是由于FPGA具有這些優(yōu)點(diǎn),F(xiàn)PGA在超高速應(yīng)用領(lǐng)域和實(shí)時測控方面有非常廣闊的應(yīng)用前景.。FPGA普及的另一重要原因是IP(知識產(chǎn)權(quán))越來越被高度重視,帶有IP內(nèi)核的功能塊在ASIC設(shè)計(jì)平臺上的應(yīng)用日益廣泛。A3P250器件是Actel ProASIC3/E系列產(chǎn)品的最新成員。FPGA是由存放在片內(nèi)的RAM來設(shè)置其工作狀態(tài)的,因此工作需要對片內(nèi)RAM進(jìn)行編程。FPGA器件內(nèi)部的結(jié)構(gòu)與資源分布:(1)邏輯單元與邏輯陣列邏輯單元是在FPGA器件內(nèi)部,用于完成用戶邏輯的最小單元,它主要由以下部件組成:一個輸入的查找表、一個可編程的寄存器、一條進(jìn)位鏈和一條寄存器級連鏈。(2)內(nèi)部連接通路在FPGA器件內(nèi)部存在各種連接通路,用于連接器件內(nèi)部的不同模塊,因?yàn)镕PGA期間內(nèi)不得資源是按照行列的方式分布的,所以連接通路也分為行連接和列連接兩種。Num表示管腳序號。CLKnum:鎖相環(huán)時鐘輸入。其中MSEL[1:0]:用于選擇選擇配置模式。nCONFIG:用戶模式配置起始信號。1989年CADENCE公司收購了GDA公司,使得Verilog HDL成為了該公司的獨(dú)家專利。 Verilog HDL中有兩類數(shù)據(jù)類型:線網(wǎng)數(shù)據(jù)類型和寄存器數(shù)據(jù)類型。設(shè)計(jì)能夠在多個層次上加以描述,從開關(guān)級、門級、寄存器傳送級( RT L)到算法級,包括進(jìn)程和隊(duì)列級。Verilog HDL 還具有內(nèi)置邏輯函數(shù),例如amp。FPGA與ADS8344之間的通信可以采用中斷方式,當(dāng)數(shù)據(jù)轉(zhuǎn)換好以后,BUSY引腳由高電平變?yōu)榈碗娖綇亩a(chǎn)生中斷信號。AINl/AIN2通道和模式寄存器;st6:將20H寫進(jìn)模式寄存器中,選擇自校準(zhǔn)再恢復(fù)模式;st7:將0CH寫進(jìn)通信寄存器中,選擇了AIN1/AIN2通道和下一次操作讀通信寄存器的0/DRDY位;st8:讀通信寄存器的0/DRDY位;st9:將5CH寫進(jìn)通信寄存器,選擇AIN1/AIN2通道和下一次讀數(shù)據(jù)寄存器中的數(shù)據(jù);stl0:讀數(shù)據(jù)寄存器中的值A(chǔ)DS8344工作狀態(tài)控制。根據(jù)控制信號的不同,讀寫有不同的控制方式。如果FPGA外掛一片RAM的話,要等到它存滿之后才能開始上傳工作,這會讓效率打折扣,對一些要求高速傳輸?shù)膱龊蠒斐捎绊憽? 控制電路是數(shù)據(jù)采集系統(tǒng)的核心,該系統(tǒng)采用A3P250實(shí)現(xiàn)。由于FPGA是RAM工藝,掉電后信息將丟失,為此,必須有外置存儲器來保存程序。 )thenDout =39。039。 程序中的8位控制字節(jié)是在另一進(jìn)程中根據(jù)用戶要求進(jìn)行配置的。 begin If( rst = 39。) thenif ( busyread= 39。) thenbuff40 = (others = 39。039。039。每幀的低4位是數(shù)據(jù)位,高4位是編碼位,數(shù)據(jù)編碼格式如表3所示:表3 異步數(shù)據(jù)編碼格式停止位空閑位 地址位數(shù)據(jù)位起始位111100D3 D2D1D00111101D7D6D5D40111110D11D10D9D80111111D15D14D13D120 上位PC機(jī)以指定速率接收到如表l格式的4個異步數(shù)據(jù)幀后,去掉起始位、停止位,地址位和空閑位,按地址位順序重新排列數(shù)據(jù),就得到D15~D0的16位A/D量化數(shù)據(jù),PC機(jī)對數(shù)據(jù)可做進(jìn)一步的處理。該設(shè)計(jì)已經(jīng)應(yīng)用在多模塊的紅外線列探測器地面成像演示系統(tǒng)中,實(shí)際中的應(yīng)用證明,基于FPGA的高速數(shù)據(jù)采集系統(tǒng)完全可以可以滿足其多通道采集的要求。求學(xué)歷程是艱苦的,但又是快樂的,這四年來幫助我的老師同學(xué)們,有你們的鼓勵和幫助,才有我大學(xué)四年的學(xué)業(yè)和本論文的順利完成。沒有何老師的辛勤栽培、孜孜教誨,就沒有我論文的順利完成。由于整個系統(tǒng)的控制采用FPGA實(shí)現(xiàn),具有組織方式靈活的特點(diǎn),可以依據(jù)現(xiàn)場的具體情況,對FPGA的內(nèi)部配置進(jìn)行修改、調(diào)試。end process。pdatain (7 downto 4) amp。pdatain (15 downto 12) amp。下面是異步數(shù)據(jù)編碼的部分程序:process (res ,read, pdatain)begin if (rst = 39。else (clkevent and clk = 39。 PDl~D0——功率管理選擇位。end if。139。 begin If( rst = 39。POINTSYNC為A/D轉(zhuǎn)換器的轉(zhuǎn)換時鐘,OEAD0到OEAD7是8路鎖存器574的輸出使能信號,LK_LATCH為鎖存器的數(shù)據(jù)打入脈沖信號;A為SRAM1地址線,WREN為RA M寫時鐘信號,RDEN為讀信號。 總之,要看你的應(yīng)用,如果對帶寬要求不高,可以只用一片RAM,這樣可以節(jié)省成本。在不同的應(yīng)用場合,數(shù)據(jù)格式也不同,不過一般都是一幀一幀傳輸?shù)?,一幀?shù)據(jù)的起始有幀頭,有些也有幀尾還有其他校驗(yàn)位之類的,原理上都差不多。FPGA的乒乓球RAM控制如圖10所示:圖10 乒乓球RAM控制存儲器用于數(shù)據(jù)緩存。DCIK的輸入是分頻模塊提供的lkHz的頻率。一般使用Verilog HDL是出于兩種目的:一種是為了描述數(shù)字電路系統(tǒng),也就是說某個數(shù)字電路系統(tǒng)已經(jīng)客觀存在了,使用Verilog HDL僅僅是為了描述這個數(shù)字電路系統(tǒng)的行為:另一種是為了設(shè)計(jì)一個特定功能的數(shù)字電路系統(tǒng)。能夠使用門和模塊實(shí)例化語句在結(jié)構(gòu)級進(jìn)行結(jié)構(gòu)描述。 Verilog HDL語言的描述能力能夠通過使用編程語言接口( P L I)機(jī)制進(jìn)一步擴(kuò)展。可采用三種不同方式或混合方式對設(shè)計(jì)建模。Verilog HDL就是在用途最廣泛的C語言的基礎(chǔ)上發(fā)展起來的一種件描述語言,它是由GDA公司的PhilMoorby在1983年末首創(chuàng)的,最初只設(shè)計(jì)了一個仿真與驗(yàn)證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時序分析工具。nCEO:下載鏈器件使能輸出,在一條下載鏈中,當(dāng)?shù)谝粋€器件配置完成后,此信號將使能下一個器件開始進(jìn)行配置,下載鏈的最后一個器件的nCEO應(yīng)懸空。圖9 FPGA的時鐘源和鎖相環(huán)接口 FPGA的配置電路FPGA是基于SRAM型結(jié)構(gòu)的,其本身并不能固化程序。GNDA_PLL:鎖相環(huán)模擬地。 FPGA芯片的I/O口這些I/O接口是除去FPGA的電源管腳、時鐘及鎖相環(huán)管腳、接地管腳及特殊應(yīng)用管腳等固定用途之外,用戶能夠直接使用I/O管腳接口,這些接口用來提供給系統(tǒng)復(fù)位,A/D芯片的時鐘、數(shù)據(jù)和控制信號。本地互聯(lián)通路是邏輯陣列的重要組成部分,它在16個邏輯單元之間起高速路由的作用,為一個邏輯陣列內(nèi)部的邏輯單元提供高速的連接鏈路。目前,F(xiàn)PGA市場占有率最高的兩大公司Xilinx和Altera生產(chǎn)的FPGA都是基于SARM工藝的,需要在使用時外接一個片外存儲器以保存程序。由于基于LUT的FPGA具有很高的集成度,其器件密度數(shù)萬門到數(shù)千萬門不等,可以完成極其復(fù)雜的時序邏輯電路與組合邏輯電路,因此適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。 Actel推出兩種版本的激活套件,能夠簡化設(shè)計(jì)的實(shí)施并為A3P250器件提供低成本的全速編程能力。因此國際各大公司都在積極擴(kuò)充其IP庫,以優(yōu)化的資源更好的滿足用戶的需求,擴(kuò)大市場。多級與或門型的優(yōu)點(diǎn)是可以方便地將待反饋的輸出信號反饋到輸入端,以實(shí)現(xiàn)閉環(huán)控制邏輯和多個邏輯塊之間的級聯(lián)。Flash Memory型FPGA具有非易失性和重復(fù)編程的雙重優(yōu)點(diǎn),但不能動態(tài)重構(gòu),功耗也較SRAM型FPGA高。用它來設(shè)計(jì)數(shù)字電路可以簡化系統(tǒng)設(shè)計(jì),縮小數(shù)據(jù)規(guī)模,提高系統(tǒng)的穩(wěn)定性。 FPGA芯片的基本工作原理與基本架構(gòu)FPGA是整個高速數(shù)據(jù)采集系統(tǒng)的核心,它一方面控制前端AD的采樣,另一方面對采集來的數(shù)據(jù)進(jìn)行緩沖以及進(jìn)一步的處理,充分發(fā)揮其靈活性。1LSB。單端輸入時,各個模擬通道均輸入+I(xiàn)N信號,而從COM引腳接入-IN信號。數(shù)據(jù)可以被轉(zhuǎn)移和輸出的時鐘速率的 ,只要最小采集時間TABLE 。在轉(zhuǎn)換,SCLK 仍將低為8181。當(dāng)FPGA讀取完ADC上次轉(zhuǎn)換結(jié)果時,下一個轉(zhuǎn)換通道的控制字節(jié)就寫到了DIN引腳。GND:參考地。ADS8344的芯片引腳圖如圖3所示:圖3 ADS8344芯片引腳CH0~CH7:模擬輸入通道的輸入端,8個單端模擬輸入通道可合用為雙端差分輸入,所有通道的輸入范圍從0V到+VREF,未用的輸入通道應(yīng)接GDN以避免噪聲輸入。模數(shù)轉(zhuǎn)換芯片是整個數(shù)據(jù)采集系統(tǒng)的核心,它的好壞直接決定了整個采集系統(tǒng)的成功與否,本系統(tǒng)選用ADI公司的ADS8344作為其轉(zhuǎn)換芯片,并基于ADS8344進(jìn)行了模數(shù)轉(zhuǎn)換采集板的設(shè)計(jì)實(shí)現(xiàn)。通信及檢測等領(lǐng)域,為了提高系統(tǒng)的性能指標(biāo),對的處理廣泛采用了數(shù)字計(jì)算機(jī)技術(shù)。在模擬信號進(jìn)入A/D轉(zhuǎn)換器之前,需要進(jìn)行信號的調(diào)理、濾波以及放大,從而達(dá)到A/D變換器的輸入電平要求,以充分利用A/D轉(zhuǎn)換器的滿量程分辨率。在多路、高速的數(shù)據(jù)采集系統(tǒng)中,往往會采用應(yīng)用FPGA的數(shù)據(jù)采集系統(tǒng)架構(gòu),該系統(tǒng)主要由A/D+FPGA組成,A/D負(fù)責(zé)多路數(shù)據(jù)的采集工作,F(xiàn)PGA主要負(fù)責(zé)數(shù)據(jù)的緩沖存儲以及對前端ADC的采樣控制。量化后的信號是時間上和幅值上都離散的數(shù)字量,可以直接送到計(jì)算機(jī)中進(jìn)行處理。其中的模擬部分主要是將前端的傳感器所提供的電參量信號進(jìn)行轉(zhuǎn)換、放大、濾波、調(diào)零等處理,使之成為適合AD或者顯示記錄儀器所需要的電壓信號。加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。FPGA企業(yè)都在大力降低產(chǎn)品的功耗,滿足業(yè)界越來越苛刻的低功耗需求。 由Altera公司推出的新一代專用集成電路是專門針對某一數(shù)字系統(tǒng)設(shè)計(jì)、生產(chǎn)的集成電路。微電子技術(shù)的一系列成就以及微型計(jì)算機(jī)的廣泛應(yīng)用,不僅為高性能數(shù)據(jù)采集系統(tǒng)的應(yīng)用開拓了廣闊的前景,也對高性能數(shù)據(jù)采集技術(shù)的發(fā)展產(chǎn)生了深刻的影響。在20世紀(jì)60年代后期,國外就有成套的數(shù)據(jù)采集測試設(shè)備進(jìn)入市場,此階段的數(shù)據(jù)采集設(shè)備和系統(tǒng)多屬于專用的系統(tǒng)。對于微弱信號的采集和處理,多數(shù)是以單片機(jī)或CPU為控制核心,雖然編程簡單控制靈活,但由單片機(jī)串行工作的特點(diǎn)所決定的,即使是高速度單片機(jī)也只能工作在us級;可靠性低,在某些情況下瞬間的復(fù)位會造成嚴(yán)重后果;不支持地址空間的擴(kuò)展,只能用I/O端口來擴(kuò)展外圍器件;專為超低功耗設(shè)計(jì),不適宜工作在+5V工作電壓;因此,單片機(jī)的指令周期以及處理速度的影響,對于多通道、多個A/D組成的陣列進(jìn)行控制以及數(shù)據(jù)處理,普通單片機(jī)達(dá)不到要求,因此多路數(shù)據(jù)采集系統(tǒng)里往往不采用單片機(jī)直接控制。s ,designs an appropriate data acquisition system appears especially essential and paper has established a data acquisition system based on FPGA technologies.In the first part of the article,we introduced the relative basic knowledge of FPGA, FPGA platform and the corresponding software development the basis of that we made the paper on FPGA design development.This paper mainly discuss the multichannel data