基于FPGA多通道采樣系統(tǒng)設(shè)計(jì)論文資料
基于FPGA多通道采樣系統(tǒng)設(shè)計(jì)論文資料,基于,fpga,通道,采樣系統(tǒng),設(shè)計(jì),論文,資料
摘 要
本論文介紹了基于FPGA的多通道采樣系統(tǒng)的設(shè)計(jì)。用FPGA設(shè)計(jì)一個(gè)多通道采樣控制器,利用VHDL語(yǔ)言設(shè)計(jì)有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn)對(duì)AD7892的控制。由于FPGA器件的特性是可以實(shí)現(xiàn)高速工作,為此模擬信號(hào)選用音頻信號(hào)。由于音頻信號(hào)的頻率是20Hz-20KHz,這樣就對(duì)AD轉(zhuǎn)換的速率有很高的要求.因?yàn)镕PGA的功能很強(qiáng)大,所以我們把系統(tǒng)的許多功能都集成到FPGA器件中,例如AD通道選擇部分,串并輸出控制模塊,這樣使得整個(gè)系統(tǒng)的外圍電路簡(jiǎn)單、系統(tǒng)的穩(wěn)定性強(qiáng)。FPGA的配置模式選用被動(dòng)串行模式,這樣就增強(qiáng)了系統(tǒng)的可擴(kuò)展性。輸出模式可選擇性使得系統(tǒng)的應(yīng)用相當(dāng)廣泛,串行輸出可以用于通信信號(hào)的采集,方便調(diào)制后發(fā)射到遠(yuǎn)程接受端,遠(yuǎn)程接收端對(duì)采集的數(shù)據(jù)進(jìn)行解調(diào);而并行輸出模式則可以通過(guò)高速存儲(chǔ)器將采集的信號(hào)放到微機(jī)或者其他的處理器上,根據(jù)采集的數(shù)據(jù)進(jìn)行相應(yīng)的控制。此系統(tǒng)的缺點(diǎn)是由于FPGA器件配置是基于SRAM查找表單元,編程的信息是保持在SRAM中,但SRAM在掉電后編程信息立即丟失,所以每次系統(tǒng)上電都需要重新配置芯片,這對(duì)在野外作業(yè)的工作人員很不方便,解決的方法是專(zhuān)用的配置器件來(lái)配置FPGA,在每次系統(tǒng)上電的時(shí)候會(huì)自動(dòng)把編程信息配置到FPGA芯片中。但設(shè)計(jì)中沒(méi)有采用到這種配置方案主要是考慮到專(zhuān)用配置器件的價(jià)格問(wèn)題。
本文開(kāi)始介紹了多通道系統(tǒng)的組成部分,然后分別介紹了各個(gè)組成部分的原理和設(shè)計(jì)方法,其中重點(diǎn)介紹了FPGA軟件設(shè)計(jì)部分。還對(duì)當(dāng)前十分流行的基于FPGA的設(shè)計(jì)技術(shù)作了簡(jiǎn)單的闡述,最后對(duì)系統(tǒng)的調(diào)試和應(yīng)用作了簡(jiǎn)短的說(shuō)明。
關(guān)鍵詞:音頻放大;濾波器;FPGA;VHDL;AD7892;有限狀態(tài)機(jī);
Abstract
The paper introduces the design of multiple channel sampling system based on FPGA, It designs a multiple channel control sampling instrument with FPGA, I use VHDL to design ASM and then achieve the control to AD7892. Because the FPGA device can work in high-speed, we select audio signal for analog signals. The range of audio signal frequency is 20Hz-20 KHz, And then the transform speed of AD sampling must be very high. We integrate many modules in the FPGA device. For example the AD sampling channel control, the mode of output which made the circuit simply and the system stably. We choose Passive Serial for configuring the FPGA device which made the system can extend easily. The mode of output can control which made this system can use many field. The serial output mode can use in the sampling of communication. The sampling data can launch to the long-distance sink by brewage, and then the long-distance sink can demodulation the sampling data. The parallel output mode can put the sampling data to the microprocessor or other processor by the high-speed memorizer. And then control accordingly. The disadvantage of this system is that the configure of the FPGA device is based on SRAM LUT. The message of programming is kept in the SRAM, which will lose when the system is out of power supply. So we should reconfigure the programming message into the FPGA device when the system has the power supply again. It is not very convenience for working outside. But this can be resolve by using appropriative configure device which can load the configure message into the FPGA device automatically when the system have power supply. Because the price of the appropriative device, I don't choose this configure mode in this design.
This paper introduce the multiple channel sampling system in the first place, and then introduce the principle of each module and design method separately, among these I introduce the designs of FPGA especially. I also introduce the designing technique which is popular at present based on FPGA simply. Finally, I introduce debugging and application of this system.
Key words: audio amplifying; filter; FPGA; VHDL; AD7892; ASM
目 錄
引言···························································1
1 FPGA和VHDL概述·············································1
FPGA發(fā)展歷程·················································1
VHDL語(yǔ)言介紹·················································3
2 多通道采樣系統(tǒng)的組成········································3
3 總體方案設(shè)計(jì)與論證··········································4
3.1 方案設(shè)計(jì)·····················································4
3.1.1方案一·····················································4
3.1.2方案二·····················································4
3.1.3方案三·····················································4
3.2方案比較·····················································4
4 單元電路的設(shè)計(jì)··············································5
4.1音頻放大、濾波部分············································5
4.1.1音頻放大部分················································5
4.1.2有源濾波器的設(shè)計(jì)·············································6
4.2 AD采樣電路···················································8
4.2.1芯片介紹····················································8
4.2.2芯片應(yīng)用···················································11
4.3 FPGA控制部分·················································11
4.3.1通道選擇模塊···············································11
4.3.2 AD7892控制部分·············································12
4.3.3延時(shí)模塊的設(shè)計(jì)·············································17
4.3.4串并輸出選擇控制············································18
4.3.5 FIFO模塊··················································18
4.3.6 AD采樣系統(tǒng)頂層電路設(shè)計(jì)······································19
4.4 FPGA的硬件設(shè)計(jì)··············································20
4.4.1 EP1K30TC144-3芯片介紹·······································20
4.4.2芯片組成描述···············································20
4.4.3芯片工作電壓設(shè)計(jì)············································21
4.4.4芯片配置介紹···············································22
4.4.5電路設(shè)計(jì)注意事項(xiàng)············································24
4.4.6硬件電路設(shè)計(jì)技巧············································25
5 軟件介紹···················································25
5.1 MAX+PlusⅡ··················································25
5.2 Electronics Workbench(EWB) ····································25
5.3Protel99SE···················································26
6 整機(jī)調(diào)試···················································26
6.1 硬件電路的調(diào)試步驟···········································26
6.1.1音頻放大部分調(diào)試············································26
6.1.2濾波部分調(diào)試···············································27
6.1.3LM317穩(wěn)壓塊調(diào)試·············································27
6.1.4FPGA硬件電路調(diào)試············································27
6.1.5AD采樣模塊調(diào)試··············································28
6.2 聯(lián)機(jī)調(diào)試····················································28
6.3調(diào)試注意事項(xiàng)·················································28
7 結(jié)論·······················································29
謝辭··························································30
參考文獻(xiàn)······················································31
附錄··························································32
引言
FPGA(Field-Programmable Gate Array 現(xiàn)場(chǎng)可編程門(mén)陣列)是近年來(lái)廣泛應(yīng)用的超大規(guī)模、超高速的可編程邏輯器件,由于其具有高集成度(單片集成的系統(tǒng)門(mén)數(shù)達(dá)上千萬(wàn)門(mén))、高速(200MHz以上)、在線系統(tǒng)可編程等優(yōu)點(diǎn),為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了突破性變革,大大推動(dòng)了數(shù)字系統(tǒng)設(shè)計(jì)的單片化、自動(dòng)化,提高了單片數(shù)字系統(tǒng)的設(shè)計(jì)周期、設(shè)計(jì)靈活性和可靠性。在超高速信號(hào)處理和實(shí)時(shí)測(cè)控方面有非常廣泛的應(yīng)用。
硬件描述語(yǔ)言HDL是一種用形式化方法描述數(shù)字電路和系統(tǒng)的語(yǔ)言。VHDL是硬件描述語(yǔ)言的幾種代表性語(yǔ)言的一種。VHDL(Very High Speed Integrated Circuit Hardware Description Language 即超高速集成電路硬件描述語(yǔ)言)主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,與其它的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。用VHDL設(shè)計(jì)的程序,通過(guò)綜合工具產(chǎn)生網(wǎng)表文件,下載到目標(biāo)器件,從而生成硬件電路。VHDL還是一種仿真語(yǔ)言,包括行為仿真、功能仿真和時(shí)序仿真,給系統(tǒng)設(shè)計(jì)各個(gè)階段的可行性做出了決策。
目前,這種高層次(high-level-design)的方法已被廣泛采用。據(jù)統(tǒng)計(jì),目前在美國(guó)硅谷約有90%以上的ASIC和FPGA采用硬件描述語(yǔ)言進(jìn)行設(shè)計(jì)。
數(shù)據(jù)采集在現(xiàn)代工業(yè)生產(chǎn)以及科學(xué)研究中的重要地位日益突出,并且實(shí)時(shí)高速數(shù)據(jù)采集的要求也不斷提高,在信號(hào)測(cè)量、圖像處理,音頻信號(hào)處理等一些高速、高精度的測(cè)量中,都需要進(jìn)行高速數(shù)據(jù)采集。本次設(shè)計(jì)就是用FPGA實(shí)現(xiàn)采樣系統(tǒng),來(lái)實(shí)現(xiàn)音頻信號(hào)的數(shù)據(jù)采集。
1 FPGA和VHDL概述
1.1 FPGA發(fā)展歷程
當(dāng)今社會(huì)是數(shù)字化的社會(huì),是數(shù)字集成電路廣泛應(yīng)用的社會(huì)。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬(wàn)門(mén)以上)以及許多具有特定功能的專(zhuān)用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來(lái)獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專(zhuān)用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場(chǎng)可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。
早期的可編程邏輯器件只有可編程只讀存儲(chǔ)器(PROM)、紫外線可擦除只讀存儲(chǔ)器(EPROM)和電可擦除只讀存儲(chǔ)器(EEPROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。其后,出現(xiàn)了一類(lèi)結(jié)構(gòu)上較復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門(mén)和一個(gè)“或”門(mén)陣列組成,而任意一個(gè)組合邏輯都可以用“與一或”表達(dá)式來(lái)描述,所以, PLD能以乘積和的形式完成大量的組合邏輯功能。
這一階段的產(chǎn)品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門(mén)的輸出可以通過(guò)觸發(fā)器有選擇地被置為寄存狀態(tài)。 PAL器件是現(xiàn)場(chǎng)可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。還有一類(lèi)結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。 PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。 在PAL的基礎(chǔ)上,又發(fā)展了一種通用陣列邏輯GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工藝,實(shí)現(xiàn)了電可擦除、電可改寫(xiě),其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用。 這些早期的PLD器件的一個(gè)共同特點(diǎn)是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但其過(guò)于簡(jiǎn)單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。
為了彌補(bǔ)這一缺陷,20世紀(jì)80年代中期。 Altera和Xilinx分別推出了類(lèi)似于PAL結(jié)構(gòu)的擴(kuò)展型 CPLD(Complex Programmab1e Logic Device)和與標(biāo)準(zhǔn)門(mén)陣列類(lèi)似的FPGA(Field Programmable Gate Array),它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍廣等特點(diǎn)。這兩種器件兼容了PLD和通用門(mén)陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與門(mén)陣列等其它ASIC(Application Specific IC)相比,它們又具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)(一般在10,000件以下)之中。幾乎所有應(yīng)用門(mén)陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用FPGA和CPLD器件。
FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)與 CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL,GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來(lái)的。同以往的PAL,GAL等相比較,F(xiàn)PGA的規(guī)模比較大,它可以替代幾十甚至幾千塊通用IC芯片。這樣的FPGA實(shí)際上就是一個(gè)子系統(tǒng)部件。這種芯片受到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎。
盡管FPGA和其它類(lèi)型PLD的結(jié)構(gòu)各有其特點(diǎn)和長(zhǎng)處,但概括起來(lái),它們是由三大部分組成的:
一個(gè)二維的邏輯塊陣列,構(gòu)成了PLD器件的邏輯組成核心;
輸入/輸出塊;
連線資源:由各種長(zhǎng)度的連線線段組成,其中也有一些可編程的連接開(kāi)關(guān),它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。
FPGA芯片都是特殊的ASIC芯片,它們除了具有ASIC的特點(diǎn)之外,還具有以下幾個(gè)優(yōu)點(diǎn):
(1)隨著VLSI(Very Large Scale IC,超大規(guī)模集成電路)工藝的不斷提高單一芯片內(nèi)部可以容納上百萬(wàn)個(gè)晶體管,F(xiàn)PGA芯片的規(guī)模也越來(lái)越大,其單片邏輯門(mén)數(shù)已達(dá)到上百萬(wàn)門(mén),它所能實(shí)現(xiàn)的功能也越來(lái)越強(qiáng),同時(shí)也可以實(shí)現(xiàn)系統(tǒng)集成。
(2)FPGA芯片在出廠之前都做過(guò)百分之百的測(cè)試,不需要設(shè)計(jì)人員承擔(dān)投資的風(fēng)險(xiǎn)和費(fèi)用,設(shè)計(jì)人員只需在自己的實(shí)驗(yàn)室里就可以通過(guò)相關(guān)的軟硬件環(huán)境來(lái)完成芯片的最終功能設(shè)計(jì)。所以,F(xiàn)PGA的資金投入小,節(jié)省了許多潛在的花費(fèi)。
(3)用戶可以反復(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í),不需要具備專(zhuān)門(mén)的IC(集成電路)深層次的知識(shí), FPGA軟件易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)計(jì),快速將產(chǎn)品推向市場(chǎng)。
1.2 VHDL語(yǔ)言介紹
VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法是十分類(lèi)似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可視部分,及端口)和內(nèi)部(或稱(chēng)不可視部分),一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的。
(1)與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。
(2)VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。
(3)VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)設(shè)計(jì),高速的完成必須有多人甚至多個(gè)開(kāi)發(fā)組共同并行工作才能實(shí)現(xiàn)的工程。
(4)對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門(mén)級(jí)網(wǎng)表。
(5)VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。
2 多通道采樣系統(tǒng)的組成
本系統(tǒng)硬件電路包括FPGA設(shè)計(jì)的多通道采樣控制器和相應(yīng)的通道選擇電路,A/D轉(zhuǎn)換電路,由于采樣音頻信號(hào),所以需要設(shè)計(jì)音頻的放大和濾波電路。系統(tǒng)組成部分如圖2.1所示:
通道選擇部分
音頻放大、濾波部分
信號(hào)1
模擬信號(hào)輸入
信號(hào)2
AD轉(zhuǎn)換部分
控制
FPGA控制的通道選擇和AD控制部分
信號(hào)7
控制采樣
信號(hào)8
數(shù)字信號(hào)存儲(chǔ)
輸出
圖2.1 多通道系統(tǒng)的組成
3 總體方案設(shè)計(jì)與論證
3.1 方案設(shè)計(jì)
3.1.1方案一
用FPGA實(shí)現(xiàn)一個(gè)3位8進(jìn)制的計(jì)數(shù)器,記數(shù)脈沖是FPGA鎖存AD轉(zhuǎn)換數(shù)據(jù)的鎖存信號(hào),計(jì)數(shù)器的輸出作為數(shù)據(jù)開(kāi)關(guān)CD4051的地址。利用進(jìn)程的并行操作來(lái)實(shí)現(xiàn)AD574來(lái)實(shí)現(xiàn)AD轉(zhuǎn)換,這個(gè)方案的優(yōu)點(diǎn)是節(jié)省了FPGA芯片的資源,但數(shù)字電路較為復(fù)雜,而且AD574的轉(zhuǎn)換速率最高達(dá)到50KHz,不能達(dá)到8通道的高速音頻采集。
3.1.2方案二
用FPGA實(shí)現(xiàn)一個(gè)3位8進(jìn)制的計(jì)數(shù)器,記數(shù)脈沖是FPGA鎖存AD轉(zhuǎn)換數(shù)據(jù)的鎖存信號(hào),計(jì)數(shù)器的輸出作為數(shù)據(jù)開(kāi)關(guān)CD4051的地址。用有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn)對(duì)AD7892的控制,用外部RAM實(shí)現(xiàn)采樣數(shù)據(jù)的存儲(chǔ),這樣電路實(shí)現(xiàn)比較簡(jiǎn)單,而且AD7892的采樣速率可以達(dá)到500KHz,可以實(shí)現(xiàn)8個(gè)通道同時(shí)8路音頻信號(hào)采集。但需要外接RAM芯片,成本比較高,而且外部RAM的讀寫(xiě)速度達(dá)不到高速數(shù)據(jù)采集的要求。
3.1.3方案三
用FPGA實(shí)現(xiàn)一個(gè)3位8進(jìn)制的計(jì)數(shù)器,記數(shù)脈沖是FPGA鎖存AD轉(zhuǎn)換數(shù)據(jù)的鎖存信號(hào),計(jì)數(shù)器的輸出作為數(shù)據(jù)開(kāi)關(guān)CD4051的地址。用有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn)對(duì)AD7892的控制,這樣電路實(shí)現(xiàn)比較簡(jiǎn)單,而且AD7892的采樣速率可以達(dá)到500KHz,可以實(shí)現(xiàn)8個(gè)通道同時(shí)8路音頻信號(hào)采集。同時(shí)采用FIFO模塊,讓數(shù)字?jǐn)?shù)據(jù)先存到隊(duì)列中,一邊往隊(duì)列中寫(xiě)數(shù)據(jù),一邊從隊(duì)列中讀數(shù)據(jù),這樣就對(duì)數(shù)字?jǐn)?shù)據(jù)起了一個(gè)高速緩存的作用,更加快了整個(gè)系統(tǒng)的運(yùn)行速度。
3.2 方案比較
為獲得更佳的系統(tǒng)功能,使系統(tǒng)資源能得到充分地利用,我們采用第三種方案。主要是因?yàn)闋顟B(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊,為了消除電路中的毛刺現(xiàn)象,在狀態(tài)機(jī)設(shè)計(jì)中有很多種設(shè)計(jì)方案可供選擇。FIFO隊(duì)列的讀寫(xiě)操作只需要一個(gè)周期就可以完成,起到高速緩存的作用,這樣更加快了整個(gè)系統(tǒng)的運(yùn)行速度,解決了采樣和存儲(chǔ)的“瓶頸問(wèn)題”,更加有效地利用FPGA芯片的資源。
4 單元電路的設(shè)計(jì)
由圖2.1可以看出,系統(tǒng)可以分為4個(gè)大部分,分別是音頻放大、濾波部分,F(xiàn)PGA控制部分,AD采樣電路,F(xiàn)PGA硬件電路的設(shè)計(jì)。其中以FPGA控制部分為主體部分,它涉及到AD采樣控制,通道選擇控制,串并輸出模式選擇模塊,延時(shí)模塊以及FIFO模塊介紹。這些模塊的實(shí)現(xiàn)是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。下面分別對(duì)系統(tǒng)的這些單元電路做詳細(xì)的闡述。
4.1 音頻放大、濾波部分
人的耳朵可以辨別到的聲音頻率范圍是:20Hz-20KHz,所以對(duì)音頻放大部分的放大器有帶寬要求,要求放大器是寬頻帶的。所以本次設(shè)計(jì)選用專(zhuān)門(mén)用于音頻放大的高速低噪聲運(yùn)放NE5532作為放大部分的放大器。濾波部分是一個(gè)有源帶通濾波器,濾掉電路的20Hz以下的低頻和20KHz以上的高頻干擾。
4.1.1音頻放大部分
音源采用普通CD輸出的音頻信號(hào),它產(chǎn)生輸出的信號(hào)的幅度約有300mV左右,根據(jù)設(shè)計(jì)AD7892的輸入電壓是±10V,選擇放大器的放大倍數(shù)在10-30之間,通過(guò)一個(gè)精密可調(diào)電阻來(lái)調(diào)節(jié)放大倍數(shù)。音頻放大芯片NE5532特性是雙運(yùn)放、寬頻帶、低噪聲、轉(zhuǎn)換速率大、電源范圍廣。
NE5532的管腳結(jié)構(gòu)及其功能:
(1腳)輸出信號(hào) (2腳)反相端輸入
(3腳)同相端輸入 (4腳)負(fù)電源
(5腳)同相端輸入 (6腳)反相端輸入
(7腳)輸出信號(hào) (8腳)正電源
NE5532技術(shù)參數(shù)
參數(shù)名稱(chēng) 單位 數(shù)據(jù)值
輸入失調(diào)電壓 mV ±0.5
溫漂 μV/℃ 5
增益帶寬積 MHz 10
轉(zhuǎn)換速率 V/us 9
諧波失真 % 0.001
工作電流 mA 8
工作電壓 V ±3-±22
設(shè)計(jì)中因?yàn)椴捎梅聪喽溯斎胍纛l信號(hào),為了在輸出端得到正向的音頻信號(hào),所以放大部分采用兩級(jí)放大,前級(jí)放大10倍,后級(jí)放大通過(guò)可調(diào)電阻設(shè)計(jì)在1-3倍,這樣得到的正向音頻信號(hào)就方便了AD采樣。
4.1.2有源濾波器的設(shè)計(jì)
在一個(gè)實(shí)際的電子系統(tǒng)中,輸入信號(hào)往往因受干擾等原因而含有一些不必要的成份,應(yīng)設(shè)法將干擾衰減到足夠小的程度。在其他一些情況,我們需要的信號(hào)和干擾信號(hào)混在一起,如果這兩個(gè)信號(hào)在頻率成分上有較大的差別,就可以用濾波的方法將所需要的信號(hào)濾出。為了解決上述問(wèn)題,可采用濾波電路。濾波器包括電抗性元件L、C構(gòu)成的無(wú)源濾波器、由集成運(yùn)算放大器組成的有源濾波器、以及晶體濾波器等。本次設(shè)計(jì)需要的通帶頻率范圍是20Hz-20KHz,如果用有源帶通濾波器來(lái)實(shí)現(xiàn),考慮到該帶通濾波器的上下截止頻率之比20000/20=1000,大于一個(gè)倍頻程,為一個(gè)寬帶濾波器,所以采用一個(gè)低通濾波器和一個(gè)高通濾波器級(jí)聯(lián)來(lái)實(shí)現(xiàn)帶通濾波。
(1)設(shè)計(jì)步驟
有源濾波器的設(shè)計(jì),就是根據(jù)所給定的指標(biāo)要求,確定濾波器的階數(shù)n,選擇具體的電路形式,算出電路中各元件的具體數(shù)值,安裝電路和調(diào)試,使設(shè)計(jì)的濾波器滿足指標(biāo)要求,具體步驟如下:
① 根據(jù)阻帶衰減速率要求,確定濾波器的階數(shù)n。
② 選擇具體的電路形式。
③ 根據(jù)電路的傳遞函數(shù)和附錄中表1歸一化濾波器傳遞函數(shù)的分母多項(xiàng)式,建立起系數(shù)的方程組。
④ 解方程組求出電路中元件的具體數(shù)值。
⑤ 將設(shè)計(jì)好的電路,在EWB上進(jìn)行仿真。
⑥ 按照所設(shè)計(jì)的電路,將元件安裝在實(shí)驗(yàn)板上。
⑦ 安裝電路并進(jìn)行調(diào)試,使電路的性能滿足指標(biāo)要求。
(2)對(duì)安裝好的電路按以下方法進(jìn)行調(diào)整和測(cè)試
① 仔細(xì)檢查安裝好的電路,確定元件與導(dǎo)線連接無(wú)誤后,接通電源。
② 在電路的輸入端輸入U(xiǎn)i=10mv的正弦信號(hào),慢慢改變輸入信號(hào)的頻率(注意保持Ui的值不變),用示波器觀察波形的變化,在濾波器的截止頻率附近,觀察電路是否具有濾波特性,若沒(méi)有濾波特性,應(yīng)檢查電路,找出故障原因并排除之。
③ 若電路具有濾波特性,可進(jìn)一步進(jìn)行調(diào)試。對(duì)于低通和高通濾波器應(yīng)觀測(cè)其截止頻率是否滿足設(shè)計(jì)要求,若不滿足設(shè)計(jì)要求,應(yīng)根據(jù)有關(guān)的公式,確定應(yīng)調(diào)整哪一個(gè)元件才能使截止頻率既能達(dá)到設(shè)計(jì)要求又不會(huì)對(duì)其它的指標(biāo)參數(shù)產(chǎn)生影響。然后觀測(cè)電壓放大倍數(shù)是否滿足設(shè)計(jì)要求,若達(dá)不到要求,應(yīng)根據(jù)相關(guān)的公式調(diào)整有關(guān)的元件,使其達(dá)到設(shè)計(jì)要求。最后設(shè)計(jì)的有源帶通濾波器在EWB上的仿真圖如圖4.1所示:
圖4.1 有源帶通濾波器的仿真圖
有源帶通濾波電路分成兩個(gè)部分,高通部分和低通部分,圖4.2是20HZ的高通濾波器,圖4.3是20KHZ的低通濾波器。
圖4.2 低通濾波器電路圖
圖4.3 高通濾波器電路圖
音頻信號(hào)經(jīng)過(guò)音頻放大電路放大后就進(jìn)入了上圖的電路。經(jīng)過(guò)20HZ-20KHZ的帶通濾波電路進(jìn)行濾波。
4.2 AD采樣電路
由于人的耳朵能識(shí)別的音頻的頻率范圍是20Hz-20KHz,根據(jù)奈魁斯特(NYQUIST)采樣定理知道,要使采樣后的數(shù)字信號(hào)能恢復(fù)成模擬信號(hào),采樣的頻率必須是模擬信號(hào)的頻率的兩倍,即本次采樣系統(tǒng)的采樣頻率最低要設(shè)計(jì)在40KHz,而一般CD格式的音頻信號(hào)的采樣頻率是44.1KHz,由于是8路通道的采樣,所以AD芯片的最低采樣頻率應(yīng)該是44.1KHz8=352.8KHz,所以選擇采樣頻率為500KHz的AD7892。這樣我們每個(gè)通道的采樣頻率就是500KHz/8=62.5KHz。
4.2.1芯片介紹
AD7892是美國(guó)ANALOG DEVICE公司生產(chǎn)的具有采樣保護(hù)功能的逐次逼近式12位高速ADC,根據(jù)輸入模擬信號(hào)范圍的不同可分為AD7892-1,AD7892-2,AD7892-3三種類(lèi)型。其中,AD7892-1輸入信號(hào)范圍為±10V或者±5V(可設(shè)置),AD7892-2輸入信號(hào)范圍為0~+2.5V,這兩種的采樣轉(zhuǎn)換速率均為500kSPS,AD7892-3的輸入信號(hào)范圍為±2.5V,采樣轉(zhuǎn)換速率為600kSPS,AD7892-1和AD7892-3的輸入信號(hào)過(guò)壓保護(hù)電壓分別為±17V和±7V。本次設(shè)計(jì)選用的是AD7892AN-1,因?yàn)槠洳蓸铀俾室逊?路的音頻采集速率。
AD7892模數(shù)轉(zhuǎn)換器具有如下特點(diǎn):
① 單電源工作(+5V);
② 內(nèi)含采樣保持放大器;
③ 具有高速串、并行接口。
AD7892的內(nèi)部框圖如圖4.5所示,它內(nèi)含模擬信號(hào)換算電路、采樣保持電路、A/D轉(zhuǎn)換的基準(zhǔn)電源(+2.5V)、時(shí)鐘電路、12位逐次逼近式ADC電路和控制電路,轉(zhuǎn)換的結(jié)果可以并行輸出,也可以串行輸出,非常容易和微處理器或DSP(數(shù)字信號(hào)處理器)接口。AD7892共有兩種封裝,一種是24腳雙列直插式DIP封裝,另一種為貼面式SOIC封裝,AD7892的引腳排列如圖4.4所示。各個(gè)引腳的功能說(shuō)明如表4.1所列。
圖4.4 AD7892引腳排列圖 圖4.5 AD7892功能框圖
表4.1 AD7892的管腳名稱(chēng)及功能說(shuō)明
名稱(chēng)
管腳
類(lèi)型
功能說(shuō)明
VDD
1
電源
電源:±5V±5%
STANDBY
2
I
低電平時(shí)為睡眠狀態(tài)(功耗5mW),高電平時(shí)正常工作,一般應(yīng)用時(shí)接高電平
VIN2
3
I
模擬輸入2,對(duì)AD7892-2和AD7892-3,應(yīng)懸空或接AGND。對(duì)AD7892-1來(lái)說(shuō),此引腳決定輸入信號(hào)(VIN1)的范圍,當(dāng)VIN2接AGND時(shí),VIN1的范圍為±10V,接VIN1時(shí),輸入信號(hào)范圍為±5V
VIN1
4
I
模擬信號(hào)輸入腳1,其輸入范圍同上。
REFOUT/REFIN
5
I/O
內(nèi)部ADC基準(zhǔn),2.5V輸出,也可通過(guò)該引腳輸入一個(gè)A/D轉(zhuǎn)換的外部基準(zhǔn)(2.5V),如果用內(nèi)部基準(zhǔn),此引腳懸空,對(duì)外作為基準(zhǔn)時(shí)應(yīng)對(duì)AGND接一個(gè) 0.1μF的瓷片電容
AGND
6
模擬地
MODE
7
I
低電平時(shí)為串行輸出,高電平時(shí)為并行輸出
DB11~DB0
8~13
15~20
O/I
A/D轉(zhuǎn)換的12位并行輸出,可與TTL電平兼容,為三態(tài)輸出,DB0為低位,DB11為高位,當(dāng)串行工作時(shí),15腳(SDATA)為串行數(shù)據(jù)輸出腳,16位的前四位為0,后12位為A/D的結(jié)果。
16腳(SCLK)為串行輸出的時(shí)鐘輸入端
17腳(RFS)為測(cè)試腳,正常工作時(shí)應(yīng)接低電平
DGND
14
數(shù)字地,與外電路的數(shù)字地相連
RD
21
I
和CS配合讀,使數(shù)據(jù)輸出
CS
22
I
片選,低電平有效,可以一直有效
EOC
23
O
轉(zhuǎn)換結(jié)束信號(hào),轉(zhuǎn)換結(jié)束時(shí),此引腳輸出100ns的低電平脈沖
CONVST
24
I
啟動(dòng)轉(zhuǎn)換輸入端,當(dāng)此引腳由低變高時(shí),使采樣保持器保持開(kāi)始轉(zhuǎn)換,應(yīng)加一個(gè)大于25ns的負(fù)脈沖來(lái)啟動(dòng)轉(zhuǎn)換
(1) AD7892的并行輸出時(shí)序
當(dāng)MODE引腳接高電平時(shí),AD7892為并行輸出方式,其時(shí)序如圖4.6所示。CONVST信號(hào)t1應(yīng)大于35ns,在上升沿,采樣保護(hù)器進(jìn)入保持狀態(tài),并開(kāi)始A/D轉(zhuǎn)換,轉(zhuǎn)換時(shí)間tCONV為1.47μs(AD7892-3)或1.6μs(AD7892-1,AD7892-2),轉(zhuǎn)換結(jié)束后EOC腳輸出t260ns的負(fù)脈沖以進(jìn)行中斷或數(shù)據(jù)鎖存,并在EOC下降沿開(kāi)始下次采樣,也就是轉(zhuǎn)換一結(jié)束就開(kāi)始下次采樣,采樣時(shí)間tACQ要大于等于200ns(AD7892-3)或400ns(AD7892-1,AD7892-2),當(dāng)轉(zhuǎn)換結(jié)束后(EOC的下降沿),只要CS和RD有效,經(jīng)過(guò)t6=40ns的時(shí)間,即可在DB0~DB11上獲得轉(zhuǎn)換后的12位數(shù)據(jù),CS和一般的片選信號(hào)相同,可一直有效,外加RD的時(shí)間t5亦應(yīng)大于35ns。下次采樣和本次的輸出可同時(shí)進(jìn)行,所以最小的一次采樣轉(zhuǎn)換輸出時(shí)間對(duì)于AD7892-3來(lái)說(shuō)為1.47+0.2=1.67μs(600kSPS),而對(duì)于AD7892-1和AD7892-2來(lái)說(shuō)為1.6+0.4=2μs (即500kSPS),圖6中t9200ns,t75ns,t3、t4、t8可為零(此時(shí)t9=tACQ)。
圖4.6 AD7892的并行輸出時(shí)序
(2) 轉(zhuǎn)換后的二進(jìn)制代碼
由于三種類(lèi)型的模擬輸入范圍不相同,因而其轉(zhuǎn)換輸出的二進(jìn)代碼碼也不相同,表3所列為AD7892-1和AD7892-3的輸入輸出代碼。
表4.2 AD7892-1,AD7892-3理想的輸入輸出表
輸?入
輸出(12位)
+FSR/2+1/2LSB
100…000→100…001
-FSR/2+3/2LSB
100…001→100…101
…
…
AGND-1/2LSB
111…111→000…000
AGND+1/2LSB
000…000→000…001
…
…
+FSR/2-5/2LSB
011…101→011…110
+FSR/2-3/2LSB
011…110→011…111
對(duì)于AD7892-1和AD7892-3,F(xiàn)SR為滿度范圍,如輸入為±10V,則FSR=20V,輸入為±5V,F(xiàn)SR=10V,輸入為±2.5V,F(xiàn)SR=5V.模擬信號(hào)從-FSR/2→GND→+FSR/2變化,輸出則從100…000→111…111→000…000→011…111變化。而對(duì)于AD7892-2,在輸入從0→+2.5V變化時(shí),輸出則從全0→全1。
4.2.2芯片應(yīng)用
如圖4.7所示為AD7892應(yīng)用于采樣系統(tǒng)。目的是把音頻輸入模擬信號(hào)轉(zhuǎn)換為12位數(shù)字信號(hào),該電路采用的是AD7892AN-1的并行輸出模式,其采集速度設(shè)計(jì)為500kSPS。
在此應(yīng)用中,將IN2接到AGND,IN1接音頻輸入信號(hào),其輸入范圍為±10V,音頻信號(hào)經(jīng)過(guò)放大、濾波和AD7892的輸出信號(hào)為100…000~111…111,即從2048→4095,在D11反相后,在狀態(tài)機(jī)的第5個(gè)狀態(tài)鎖存器鎖存的數(shù)據(jù)為000…000→011…111,即從0→2047。由P/S選擇相應(yīng)的輸出模式輸出。
圖4.7 AD7892采樣系統(tǒng)
電路中的CONV,EOC,CS,RD控制信號(hào)均由有限狀態(tài)機(jī)提供,D[0]到D[11]數(shù)字信號(hào)是經(jīng)過(guò)AD采樣后的數(shù)字信號(hào)。
4.3 FPGA控制部分
4.3.1通道選擇模塊
通道選擇部分是一個(gè)二進(jìn)制模8的計(jì)數(shù)器,計(jì)數(shù)器的時(shí)鐘是AD數(shù)字信號(hào)的鎖存信號(hào),每次鎖存數(shù)據(jù)后,計(jì)數(shù)器就會(huì)一次進(jìn)行加一操作,CD4051選擇下一個(gè)通道的音頻信號(hào)進(jìn)行采集。在MAX+PlusⅡ中用VHDL語(yǔ)言設(shè)計(jì)圖形如下圖4.8所示:
圖4.8 通道選擇部分
通過(guò)CNT[0]到CNT[2]來(lái)選擇相應(yīng)的通道,CD4051的輸出就是最后要進(jìn)行AD采樣的音頻信號(hào)。例如:若CNT[0]CNT[1]CNT[2]=“000”,則選擇第一通道音頻信號(hào)進(jìn)行AD采樣。這個(gè)部分實(shí)現(xiàn)的重點(diǎn)是對(duì)數(shù)字鎖存信號(hào)記數(shù),計(jì)數(shù)器的輸出作為CD4051的通道選擇地址。
通道選擇部分的主體程序如下:
二進(jìn)制模8計(jì)數(shù)器
signal q:std_logic_vector(2 downto 0);
begin
counter:process(clk)
begin
if(clk'event and clk='1') then
if q="111" then
q<="000";
else
q<=q+1;
end if;
end if;
cnt<=q;
end process;
通道選擇模塊的仿真圖如圖4.9所示:
圖4.9 通道模塊仿真圖
4.3.2AD7892控制部分
這個(gè)部分的主要工作是對(duì)AD7892的控制,使得AD7892可以工作。對(duì)AD7892的控制部分主要是通過(guò)一個(gè)有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn)的,通過(guò)對(duì)AD7892的工作時(shí)序觀察,用有限狀態(tài)機(jī)對(duì)AD的控制信號(hào)做出描述,從而讓AD芯片能工作起來(lái),這就是有限狀態(tài)機(jī)的主題任務(wù),當(dāng)然還有一些其他的功能,將在后序的部分介紹,這里先對(duì)有限狀態(tài)機(jī)作個(gè)闡述。
(1)有限狀態(tài)機(jī)的介紹
AD采樣的控制部分主要是設(shè)計(jì)一個(gè)有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn),利用VHDL設(shè)計(jì)的使用邏輯系統(tǒng)中,有許多是可以利用有限狀態(tài)機(jī)的設(shè)計(jì)方案來(lái)描述和實(shí)現(xiàn)的,無(wú)論與基于VHDL的其他設(shè)計(jì)方案相比,還是與完成相似功能的CPU相比,狀態(tài)機(jī)都有其難以超越的優(yōu)越性,它主要表現(xiàn)在以下幾個(gè)方面:
有限狀態(tài)機(jī)克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點(diǎn)。狀態(tài)機(jī)的工作方式是根據(jù)控制信號(hào)按照預(yù)先設(shè)定的狀態(tài)進(jìn)行順序運(yùn)行的,狀態(tài)機(jī)是純硬件數(shù)字系統(tǒng)中的順序控制電路,因此狀態(tài)機(jī)在其運(yùn)行方式上類(lèi)似于控制靈活和方便的CPU,而在運(yùn)行速度和工作可靠方面都優(yōu)于CPU。
由于狀態(tài)機(jī)的結(jié)果模式相對(duì)簡(jiǎn)單,設(shè)計(jì)方案相對(duì)固定,特別是可以定義符號(hào)化枚舉類(lèi)型的狀態(tài),這一切都為VHDL綜合器盡可能發(fā)揮其強(qiáng)大的優(yōu)化功能提供了有利條件。而且,性能良好的綜合器都具備許多可控或自動(dòng)的專(zhuān)門(mén)用于優(yōu)化狀態(tài)機(jī)的功能。
狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊,這對(duì)于對(duì)付大規(guī)模邏輯電路設(shè)計(jì)中令人深感棘手的競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象無(wú)疑是一個(gè)上佳的選擇。為了消除電路中的毛刺現(xiàn)象,在狀態(tài)機(jī)設(shè)計(jì)中有很多種設(shè)計(jì)方案可供選擇。
與VHDL的其他描述方式相比,狀態(tài)機(jī)的VHDL表述豐富多樣、程序?qū)哟畏置?,結(jié)構(gòu)清晰,易懂易讀;在排錯(cuò)、修改和模塊移植方面也有其獨(dú)特的特點(diǎn)。
在高速運(yùn)算和控制方面,狀態(tài)機(jī)就更有其巨大的優(yōu)勢(shì)。由于在VHDL中,一個(gè)狀態(tài)機(jī)可以由多個(gè)進(jìn)程構(gòu)成,一個(gè)結(jié)構(gòu)體可以包括多個(gè)狀態(tài)機(jī),而一個(gè)單獨(dú)的狀態(tài)機(jī)(或多個(gè)并行進(jìn)程的狀態(tài)機(jī))以順序方式所能完成的運(yùn)算和控制方面的工作與一個(gè)CPU的功能類(lèi)似。因此,一個(gè)設(shè)計(jì)實(shí)體的功能便類(lèi)似于一個(gè)含有并行運(yùn)行的CPU的高性能微處理器的功能。事實(shí)上,多CPU的微處理早已在通信、工控和軍事等領(lǐng)域有了十分廣泛的應(yīng)用。
就可靠性而言,狀態(tài)機(jī)的優(yōu)勢(shì)也是十分明顯的。CPU本身的結(jié)構(gòu)特點(diǎn)與執(zhí)行軟件指令的工作方式?jīng)Q定了任何CPU都不可能獲得圓滿的容錯(cuò)保障,這已是不爭(zhēng)的事實(shí)了。因此,用于要求高可靠性的特殊環(huán)境中的電子系統(tǒng)中,如果以CPU作為主控部件,應(yīng)是一項(xiàng)錯(cuò)誤的決策。然而,在狀態(tài)機(jī)系統(tǒng)就不同了,首先它是由純硬件電路構(gòu)成,不存在CPU運(yùn)行軟件過(guò)程中固有的缺陷;其次是由于狀態(tài)機(jī)的設(shè)計(jì)中能使用各種完整的容錯(cuò)技術(shù);再次是當(dāng)狀態(tài)機(jī)進(jìn)入非法狀態(tài)并從中跳出,進(jìn)入正常狀態(tài)所耗的時(shí)間十分短暫,通常只有2、3個(gè)時(shí)鐘周期,約十個(gè)ns,尚不足對(duì)系統(tǒng)的運(yùn)行構(gòu)成損害;而CPU通過(guò)復(fù)位方式從非法運(yùn)行方式中恢復(fù)過(guò)來(lái),耗時(shí)達(dá)到十ms,這對(duì)于高速高可靠系統(tǒng)顯然是無(wú)法容忍,特別是本次設(shè)計(jì)的采集音頻信號(hào),十ms的就會(huì)丟失很多的模擬數(shù)據(jù),這樣就會(huì)讓音頻信號(hào)的不完整,所以采用有限狀態(tài)機(jī)是一個(gè)很好的選擇。
(2)有限狀態(tài)機(jī)的設(shè)計(jì)
根據(jù)AD7892的時(shí)序圖設(shè)計(jì)的狀態(tài)轉(zhuǎn)換圖如圖4.10所示:
圖4.10 AD采樣的狀態(tài)轉(zhuǎn)移圖
(由于FPGA芯片時(shí)鐘定在20MHZ,故一個(gè)周期是0.05us,完成一次AD采樣,AD7982AN-1大約需要2us,40個(gè)時(shí)鐘周期)
ST1:對(duì)AD7892的初始化,此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0'
ST2:?jiǎn)?dòng)AD7892輸入端,使采樣保持器保持開(kāi)始轉(zhuǎn)換,此時(shí)conv<='0';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0'
ST3:開(kāi)始進(jìn)行模數(shù)轉(zhuǎn)換,此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0';
ST4:采樣周期等待,等待EOC跳變低電平,此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0';
ST5:判斷EOC是否跳變高電平,若跳變,則開(kāi)始讀數(shù)據(jù),此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0'
ST6:鎖存信號(hào)有效,鎖存轉(zhuǎn)換后的數(shù)據(jù)到12位并行輸出口,F(xiàn)IFO的寫(xiě)信號(hào)有效,此時(shí)conv<='1';cs<='0';rd<='0';lock<='1';wr_en='1';rd_en='0'
ST7:從FIFO中讀出寫(xiě)入的數(shù)據(jù),此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='1'
ST8:等待狀態(tài),準(zhǔn)備下次的采樣,此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0'
程序的主體如下:
com1:process(current_state,eoc)
begin
case current_state is
when st1 => next_state <= st2;
when st2 => next_state <= st3;
when st3 => next_state <= st4;
when st4 => if (eoc='1') then next_state <= st4;
else next_state <= st5;
end if;
when st5 => if (eoc='0') then next_state <= st5;
else next_state <=st6;
end if;
when st6 => next_state <= st7;
when st7 => next_state <= st8;
when st8 => next_state <= st1;
when others => next_state<=st1;
end case;
end process com1;
com2:process(current_state)
begin
case current_state is
when st1 => conv<='1';cs<='1';rd<='1';lock<='0';wr_en<='0';rd_en<='0';
when st2 => conv<='0';cs<='1';rd<='1';lock<='0';wr_en<='0';rd_en<='0';
when st3 => conv<='1';cs<='1';rd<='1';lock<='0';wr_en<='0';rd_en<='0';
when st4 => conv<='1';cs<='1';rd<='1';lock<='0';wr_en<='0';rd_en<='0';
when st5 =>
收藏
編號(hào):2689880
類(lèi)型:共享資源
大?。?span id="mzebxcnn0" class="font-tahoma">726.04KB
格式:ZIP
上傳時(shí)間:2019-11-28
5
積分
- 關(guān) 鍵 詞:
-
基于
fpga
通道
采樣系統(tǒng)
設(shè)計(jì)
論文
資料
- 資源描述:
-
基于FPGA多通道采樣系統(tǒng)設(shè)計(jì)論文資料,基于,fpga,通道,采樣系統(tǒng),設(shè)計(jì),論文,資料
展開(kāi)閱讀全文
- 溫馨提示:
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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書(shū)面授權(quán),請(qǐng)勿作他用。