基于FPGA多通道采樣系統(tǒng)設(shè)計(jì)資料
基于FPGA多通道采樣系統(tǒng)設(shè)計(jì)資料,基于,fpga,通道,采樣系統(tǒng),設(shè)計(jì),資料
計(jì)算機(jī)系畢業(yè)設(shè)計(jì)
開題報(bào)告
報(bào)告日期: 年 月 日
姓名:
學(xué)科專業(yè):
論文題目: 基于單片機(jī)的有線傳呼對講系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
題目類型: 工程設(shè)計(jì) .
題目來源: 結(jié)合生產(chǎn)實(shí)際
二、在選題過程中已查閱的文獻(xiàn)資料(列出文獻(xiàn)資料),還做了哪些調(diào)研、準(zhǔn)備工作?
1. 查閱的文獻(xiàn)資料
[1]羅凡華編..對講機(jī)原理、使用及維修圖集[M]..北京:人民郵電出版社,1993
[2]尹建華 張惠群 劉魯源 劉迎澍編著..微型計(jì)算機(jī)原理與接口技術(shù)[M]..北京:高等教育出版社,2002
[3]李學(xué)海編著..EM78單片機(jī)實(shí)用教程—基礎(chǔ)篇[M]..北京:電子工業(yè)出版社,2003
[4]白駒珩 雷曉平編..單片計(jì)算機(jī)及其應(yīng)用[M]..成都:電子科技大學(xué)出版社,2000
[5]吳玉平譯.. MCS51 Microcontroller Family User’s Manual[M]..北京:電子工業(yè)出版社,1995
[6]揚(yáng)振江,蔡德芳..新型集成電路使用指南與典型應(yīng)用[M]..西安:西安電子科技大學(xué)出版社
[7]謝自美.. 電子線路設(shè)計(jì).實(shí)驗(yàn).測試[M]..武漢:華中科技大學(xué)出版社,2000
[8]江思敏.. Protel電路設(shè)計(jì)教程[M]..北京:清華出版社,2002.
[9]張積東.. 單片機(jī)51/98開發(fā)與應(yīng)用[M]..北京:北京電子工業(yè)出版社, 1994
[10]吳金戊,沈慶陽,郭庭吉.. 8051單片機(jī)實(shí)踐與應(yīng)用[M]..北京:清華大學(xué)出版社,2002
[11]Control Systems Theory with Engineering Applications Boston.Basel.berlin,2001
[12]肖蕙蕙,傅曉林編..數(shù)字電子技術(shù)基礎(chǔ)[M]..重慶:重慶大學(xué)出版社,2002
[13]上海中專計(jì)算機(jī)協(xié)作組編..微機(jī)與單片機(jī)原理及應(yīng)用[M]..上海:復(fù)旦大學(xué)出版社,1995
三、所選課題目前國內(nèi)外科技發(fā)展動態(tài)如何?
自本世紀(jì)80年代
FPGA(Field-Programmable Gate Array 現(xiàn)場可編程門陣列)是近年來廣泛應(yīng)用的超大規(guī)模、超高速的可編程邏輯器件,由于其具有高集成度(單片集成的系統(tǒng)門數(shù)達(dá)上千萬門)、高速(200MHz以上)、在線系統(tǒng)可編程等優(yōu)點(diǎn),為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了突破性變革,大大推動了數(shù)字系統(tǒng)設(shè)計(jì)的單片化、自動化,提高了單片數(shù)字系統(tǒng)的設(shè)計(jì)周期、設(shè)計(jì)靈活性和可靠性。在超高速信號處理和實(shí)時(shí)測控方面有非常廣泛的應(yīng)用。
當(dāng)今社會是數(shù)字化的社會,是數(shù)字集成電路廣泛應(yīng)用的社會。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。
四、闡述擬選題的目的、意義、要完成的工作和預(yù)期結(jié)果
1. 目的和意義
本次畢業(yè)設(shè)計(jì)的課題對我來說是一個(gè)很新的題目,所以什么都要從新開始,特別是VHDL語言的運(yùn)用。我想通過這次畢業(yè)設(shè)計(jì),將理論與實(shí)踐結(jié)合得更加緊密,進(jìn)一步強(qiáng)化動手能力,為我以后的工作打下基礎(chǔ)。
2.要完成的工作
1.查找資料,對FPGA有一定的了解
2.畢業(yè)論文的撰寫,包括英文翻譯
3.簡單的外圍電路的設(shè)計(jì)
4.對FPGA芯片的編程與測試仿真
5.整和電路和硬件測試
6.論文的整理
3.預(yù)期結(jié)果
通過系統(tǒng)的設(shè)計(jì),可以達(dá)到多通道的音頻的采集,并能回放采集的音頻數(shù)據(jù)。
五、畢業(yè)設(shè)計(jì)所必需的實(shí)驗(yàn)、計(jì)算、加工等初步計(jì)劃
1. 電路的參數(shù)的計(jì)算(主要是濾波器和音頻采集電路的參數(shù)設(shè)計(jì)),并根據(jù)參數(shù)設(shè)計(jì)電路板
2. 對FPGA芯片的編程與測試仿真
3. 整機(jī)調(diào)試
六、畢業(yè)設(shè)計(jì)工作進(jìn)度安排
時(shí)間安排
完成工作
時(shí)間安排
第1周~第4周
準(zhǔn)備階段:主要是查找資料和理論學(xué)習(xí)階段,在這個(gè)階段還要完成的是方案的確定。(兩個(gè)星期)
第1周~第4周
第5周~第6周
硬件設(shè)計(jì)階段:主要完成外圍的電路的設(shè)計(jì)
第5周~第6周
第7周~第8周
軟件編程階段:主要完成對FPGA芯片的編成,同時(shí)要完成芯片引腳的確定
第7周~第8周
第9周~第11周
硬件制作階段:通過對FPGA芯片引腳的定義,設(shè)計(jì)完成電路圖,并做好電路版,著手撰寫論文
第9周~第11周
第11周~第12周
整機(jī)調(diào)試階段:對系統(tǒng)進(jìn)行整機(jī)調(diào)試,盡量達(dá)到設(shè)計(jì)要求
第11周~第12周
第13周~第14周
完善系統(tǒng)功能,修改論文
第13周~第14周
第15周~第16周
準(zhǔn)備畢業(yè)論文及答辯
第15周~第16周
七、對選題報(bào)告的評論意見
主持人簽名:
年 月 日
3
摘 要
本論文介紹了基于FPGA的多通道采樣系統(tǒng)的設(shè)計(jì)。用FPGA設(shè)計(jì)一個(gè)多通道采樣控制器,利用VHDL語言設(shè)計(jì)有限狀態(tài)機(jī)來實(shí)現(xiàn)對AD7892的控制。由于FPGA器件的特性是可以實(shí)現(xiàn)高速工作,為此模擬信號選用音頻信號。由于音頻信號的頻率是20Hz-20KHz,這樣就對AD轉(zhuǎn)換的速率有很高的要求.因?yàn)镕PGA的功能很強(qiáng)大,所以我們把系統(tǒng)的許多功能都集成到FPGA器件中,例如AD通道選擇部分,串并輸出控制模塊,這樣使得整個(gè)系統(tǒng)的外圍電路簡單、系統(tǒng)的穩(wěn)定性強(qiáng)。FPGA的配置模式選用被動串行模式,這樣就增強(qiáng)了系統(tǒng)的可擴(kuò)展性。輸出模式可選擇性使得系統(tǒng)的應(yīng)用相當(dāng)廣泛,串行輸出可以用于通信信號的采集,方便調(diào)制后發(fā)射到遠(yuǎn)程接受端,遠(yuǎn)程接收端對采集的數(shù)據(jù)進(jìn)行解調(diào);而并行輸出模式則可以通過高速存儲器將采集的信號放到微機(jī)或者其他的處理器上,根據(jù)采集的數(shù)據(jù)進(jìn)行相應(yīng)的控制。此系統(tǒng)的缺點(diǎn)是由于FPGA器件配置是基于SRAM查找表單元,編程的信息是保持在SRAM中,但SRAM在掉電后編程信息立即丟失,所以每次系統(tǒng)上電都需要重新配置芯片,這對在野外作業(yè)的工作人員很不方便,解決的方法是專用的配置器件來配置FPGA,在每次系統(tǒng)上電的時(shí)候會自動把編程信息配置到FPGA芯片中。但設(shè)計(jì)中沒有采用到這種配置方案主要是考慮到專用配置器件的價(jià)格問題。
本文開始介紹了多通道系統(tǒng)的組成部分,然后分別介紹了各個(gè)組成部分的原理和設(shè)計(jì)方法,其中重點(diǎn)介紹了FPGA軟件設(shè)計(jì)部分。還對當(dāng)前十分流行的基于FPGA的設(shè)計(jì)技術(shù)作了簡單的闡述,最后對系統(tǒng)的調(diào)試和應(yīng)用作了簡短的說明。
關(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語言介紹·················································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)場可編程門陣列)是近年來廣泛應(yīng)用的超大規(guī)模、超高速的可編程邏輯器件,由于其具有高集成度(單片集成的系統(tǒng)門數(shù)達(dá)上千萬門)、高速(200MHz以上)、在線系統(tǒng)可編程等優(yōu)點(diǎn),為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了突破性變革,大大推動了數(shù)字系統(tǒng)設(shè)計(jì)的單片化、自動化,提高了單片數(shù)字系統(tǒng)的設(shè)計(jì)周期、設(shè)計(jì)靈活性和可靠性。在超高速信號處理和實(shí)時(shí)測控方面有非常廣泛的應(yīng)用。
硬件描述語言HDL是一種用形式化方法描述數(shù)字電路和系統(tǒng)的語言。VHDL是硬件描述語言的幾種代表性語言的一種。VHDL(Very High Speed Integrated Circuit Hardware Description Language 即超高速集成電路硬件描述語言)主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,與其它的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。用VHDL設(shè)計(jì)的程序,通過綜合工具產(chǎn)生網(wǎng)表文件,下載到目標(biāo)器件,從而生成硬件電路。VHDL還是一種仿真語言,包括行為仿真、功能仿真和時(shí)序仿真,給系統(tǒng)設(shè)計(jì)各個(gè)階段的可行性做出了決策。
目前,這種高層次(high-level-design)的方法已被廣泛采用。據(jù)統(tǒng)計(jì),目前在美國硅谷約有90%以上的ASIC和FPGA采用硬件描述語言進(jìn)行設(shè)計(jì)。
數(shù)據(jù)采集在現(xiàn)代工業(yè)生產(chǎn)以及科學(xué)研究中的重要地位日益突出,并且實(shí)時(shí)高速數(shù)據(jù)采集的要求也不斷提高,在信號測量、圖像處理,音頻信號處理等一些高速、高精度的測量中,都需要進(jìn)行高速數(shù)據(jù)采集。本次設(shè)計(jì)就是用FPGA實(shí)現(xiàn)采樣系統(tǒng),來實(shí)現(xiàn)音頻信號的數(shù)據(jù)采集。
1 FPGA和VHDL概述
1.1 FPGA發(fā)展歷程
當(dāng)今社會是數(shù)字化的社會,是數(shù)字集成電路廣泛應(yīng)用的社會。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。
早期的可編程邏輯器件只有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡單的數(shù)字邏輯功能。其后,出現(xiàn)了一類結(jié)構(gòu)上較復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門和一個(gè)“或”門陣列組成,而任意一個(gè)組合邏輯都可以用“與一或”表達(dá)式來描述,所以, PLD能以乘積和的形式完成大量的組合邏輯功能。
這一階段的產(chǎn)品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門的輸出可以通過觸發(fā)器有選擇地被置為寄存狀態(tài)。 PAL器件是現(xiàn)場可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。還有一類結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。 PLA器件既有現(xiàn)場可編程的,也有掩膜可編程的。 在PAL的基礎(chǔ)上,又發(fā)展了一種通用陣列邏輯GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工藝,實(shí)現(xiàn)了電可擦除、電可改寫,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用。 這些早期的PLD器件的一個(gè)共同特點(diǎn)是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但其過于簡單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。
為了彌補(bǔ)這一缺陷,20世紀(jì)80年代中期。 Altera和Xilinx分別推出了類似于PAL結(jié)構(gòu)的擴(kuò)展型 CPLD(Complex Programmab1e Logic Device)和與標(biāo)準(zhǔn)門陣列類似的FPGA(Field Programmable Gate Array),它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍廣等特點(diǎn)。這兩種器件兼容了PLD和通用門陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無需測試、質(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)用門陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場合均可應(yīng)用FPGA和CPLD器件。
FPGA(現(xiàn)場可編程門陣列)與 CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL,GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來的。同以往的PAL,GAL等相比較,F(xiàn)PGA的規(guī)模比較大,它可以替代幾十甚至幾千塊通用IC芯片。這樣的FPGA實(shí)際上就是一個(gè)子系統(tǒng)部件。這種芯片受到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎。
盡管FPGA和其它類型PLD的結(jié)構(gòu)各有其特點(diǎn)和長處,但概括起來,它們是由三大部分組成的:
一個(gè)二維的邏輯塊陣列,構(gòu)成了PLD器件的邏輯組成核心;
輸入/輸出塊;
連線資源:由各種長度的連線線段組成,其中也有一些可編程的連接開關(guān),它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。
FPGA芯片都是特殊的ASIC芯片,它們除了具有ASIC的特點(diǎn)之外,還具有以下幾個(gè)優(yōu)點(diǎn):
(1)隨著VLSI(Very Large Scale IC,超大規(guī)模集成電路)工藝的不斷提高單一芯片內(nèi)部可以容納上百萬個(gè)晶體管,F(xiàn)PGA芯片的規(guī)模也越來越大,其單片邏輯門數(shù)已達(dá)到上百萬門,它所能實(shí)現(xiàn)的功能也越來越強(qiáng),同時(shí)也可以實(shí)現(xiàn)系統(tǒng)集成。
(2)FPGA芯片在出廠之前都做過百分之百的測試,不需要設(shè)計(jì)人員承擔(dān)投資的風(fēng)險(xiǎn)和費(fèi)用,設(shè)計(jì)人員只需在自己的實(shí)驗(yàn)室里就可以通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能設(shè)計(jì)。所以,F(xiàn)PGA的資金投入小,節(jié)省了許多潛在的花費(fèi)。
(3)用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動的情況下用不同軟件就可實(shí)現(xiàn)不同的功能。
所以,用FPGA 試制樣片,能以最快的速度占領(lǐng)市場。 FPGA軟件包中有各種輸入工具和仿真工具,及版圖設(shè)計(jì)工具和編程器等全線產(chǎn)品,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。 當(dāng)電路有少量改動時(shí),更能顯示出FPGA的優(yōu)勢。電路設(shè)計(jì)人員使用FPGA進(jìn)行電路設(shè)計(jì)時(shí),不需要具備專門的IC(集成電路)深層次的知識, FPGA軟件易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)計(jì),快速將產(chǎn)品推向市場。
1.2 VHDL語言介紹
VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),一旦其內(nè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)與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。
(2)VHDL豐富的仿真語句和庫函數(shù),使得在任何系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。
(3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)設(shè)計(jì),高速的完成必須有多人甚至多個(gè)開發(fā)組共同并行工作才能實(shí)現(xiàn)的工程。
(4)對于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級網(wǎng)表。
(5)VHDL對設(shè)計(jì)的描述具有相對獨(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)換電路,由于采樣音頻信號,所以需要設(shè)計(jì)音頻的放大和濾波電路。系統(tǒng)組成部分如圖2.1所示:
通道選擇部分
音頻放大、濾波部分
信號1
模擬信號輸入
信號2
AD轉(zhuǎn)換部分
控制
FPGA控制的通道選擇和AD控制部分
信號7
控制采樣
信號8
數(shù)字信號存儲
輸出
圖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ù)的鎖存信號,計(jì)數(shù)器的輸出作為數(shù)據(jù)開關(guān)CD4051的地址。利用進(jìn)程的并行操作來實(shí)現(xiàn)AD574來實(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ù)的鎖存信號,計(jì)數(shù)器的輸出作為數(shù)據(jù)開關(guān)CD4051的地址。用有限狀態(tài)機(jī)來實(shí)現(xiàn)對AD7892的控制,用外部RAM實(shí)現(xiàn)采樣數(shù)據(jù)的存儲,這樣電路實(shí)現(xiàn)比較簡單,而且AD7892的采樣速率可以達(dá)到500KHz,可以實(shí)現(xiàn)8個(gè)通道同時(shí)8路音頻信號采集。但需要外接RAM芯片,成本比較高,而且外部RAM的讀寫速度達(dá)不到高速數(shù)據(jù)采集的要求。
3.1.3方案三
用FPGA實(shí)現(xiàn)一個(gè)3位8進(jìn)制的計(jì)數(shù)器,記數(shù)脈沖是FPGA鎖存AD轉(zhuǎn)換數(shù)據(jù)的鎖存信號,計(jì)數(shù)器的輸出作為數(shù)據(jù)開關(guān)CD4051的地址。用有限狀態(tài)機(jī)來實(shí)現(xiàn)對AD7892的控制,這樣電路實(shí)現(xiàn)比較簡單,而且AD7892的采樣速率可以達(dá)到500KHz,可以實(shí)現(xiàn)8個(gè)通道同時(shí)8路音頻信號采集。同時(shí)采用FIFO模塊,讓數(shù)字?jǐn)?shù)據(jù)先存到隊(duì)列中,一邊往隊(duì)列中寫數(shù)據(jù),一邊從隊(duì)列中讀數(shù)據(jù),這樣就對數(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ì)列的讀寫操作只需要一個(gè)周期就可以完成,起到高速緩存的作用,這樣更加快了整個(gè)系統(tǒng)的運(yù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)鍵。下面分別對系統(tǒng)的這些單元電路做詳細(xì)的闡述。
4.1 音頻放大、濾波部分
人的耳朵可以辨別到的聲音頻率范圍是:20Hz-20KHz,所以對音頻放大部分的放大器有帶寬要求,要求放大器是寬頻帶的。所以本次設(shè)計(jì)選用專門用于音頻放大的高速低噪聲運(yùn)放NE5532作為放大部分的放大器。濾波部分是一個(gè)有源帶通濾波器,濾掉電路的20Hz以下的低頻和20KHz以上的高頻干擾。
4.1.1音頻放大部分
音源采用普通CD輸出的音頻信號,它產(chǎn)生輸出的信號的幅度約有300mV左右,根據(jù)設(shè)計(jì)AD7892的輸入電壓是±10V,選擇放大器的放大倍數(shù)在10-30之間,通過一個(gè)精密可調(diào)電阻來調(diào)節(jié)放大倍數(shù)。音頻放大芯片NE5532特性是雙運(yùn)放、寬頻帶、低噪聲、轉(zhuǎn)換速率大、電源范圍廣。
NE5532的管腳結(jié)構(gòu)及其功能:
(1腳)輸出信號 (2腳)反相端輸入
(3腳)同相端輸入 (4腳)負(fù)電源
(5腳)同相端輸入 (6腳)反相端輸入
(7腳)輸出信號 (8腳)正電源
NE5532技術(shù)參數(shù)
參數(shù)名稱 單位 數(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信號,為了在輸出端得到正向的音頻信號,所以放大部分采用兩級放大,前級放大10倍,后級放大通過可調(diào)電阻設(shè)計(jì)在1-3倍,這樣得到的正向音頻信號就方便了AD采樣。
4.1.2有源濾波器的設(shè)計(jì)
在一個(gè)實(shí)際的電子系統(tǒng)中,輸入信號往往因受干擾等原因而含有一些不必要的成份,應(yīng)設(shè)法將干擾衰減到足夠小的程度。在其他一些情況,我們需要的信號和干擾信號混在一起,如果這兩個(gè)信號在頻率成分上有較大的差別,就可以用濾波的方法將所需要的信號濾出。為了解決上述問題,可采用濾波電路。濾波器包括電抗性元件L、C構(gòu)成的無源濾波器、由集成運(yùn)算放大器組成的有源濾波器、以及晶體濾波器等。本次設(shè)計(jì)需要的通帶頻率范圍是20Hz-20KHz,如果用有源帶通濾波器來實(shí)現(xiàn),考慮到該帶通濾波器的上下截止頻率之比20000/20=1000,大于一個(gè)倍頻程,為一個(gè)寬帶濾波器,所以采用一個(gè)低通濾波器和一個(gè)高通濾波器級聯(lián)來實(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)對安裝好的電路按以下方法進(jìn)行調(diào)整和測試
① 仔細(xì)檢查安裝好的電路,確定元件與導(dǎo)線連接無誤后,接通電源。
② 在電路的輸入端輸入U(xiǎn)i=10mv的正弦信號,慢慢改變輸入信號的頻率(注意保持Ui的值不變),用示波器觀察波形的變化,在濾波器的截止頻率附近,觀察電路是否具有濾波特性,若沒有濾波特性,應(yīng)檢查電路,找出故障原因并排除之。
③ 若電路具有濾波特性,可進(jìn)一步進(jìn)行調(diào)試。對于低通和高通濾波器應(yīng)觀測其截止頻率是否滿足設(shè)計(jì)要求,若不滿足設(shè)計(jì)要求,應(yīng)根據(jù)有關(guān)的公式,確定應(yīng)調(diào)整哪一個(gè)元件才能使截止頻率既能達(dá)到設(shè)計(jì)要求又不會對其它的指標(biāo)參數(shù)產(chǎn)生影響。然后觀測電壓放大倍數(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 高通濾波器電路圖
音頻信號經(jīng)過音頻放大電路放大后就進(jìn)入了上圖的電路。經(jīng)過20HZ-20KHZ的帶通濾波電路進(jìn)行濾波。
4.2 AD采樣電路
由于人的耳朵能識別的音頻的頻率范圍是20Hz-20KHz,根據(jù)奈魁斯特(NYQUIST)采樣定理知道,要使采樣后的數(shù)字信號能恢復(fù)成模擬信號,采樣的頻率必須是模擬信號的頻率的兩倍,即本次采樣系統(tǒng)的采樣頻率最低要設(shè)計(jì)在40KHz,而一般CD格式的音頻信號的采樣頻率是44.1KHz,由于是8路通道的采樣,所以AD芯片的最低采樣頻率應(yīng)該是44.1KHz8=352.8KHz,所以選擇采樣頻率為500KHz的AD7892。這樣我們每個(gè)通道的采樣頻率就是500KHz/8=62.5KHz。
4.2.1芯片介紹
AD7892是美國ANALOG DEVICE公司生產(chǎn)的具有采樣保護(hù)功能的逐次逼近式12位高速ADC,根據(jù)輸入模擬信號范圍的不同可分為AD7892-1,AD7892-2,AD7892-3三種類型。其中,AD7892-1輸入信號范圍為±10V或者±5V(可設(shè)置),AD7892-2輸入信號范圍為0~+2.5V,這兩種的采樣轉(zhuǎn)換速率均為500kSPS,AD7892-3的輸入信號范圍為±2.5V,采樣轉(zhuǎn)換速率為600kSPS,AD7892-1和AD7892-3的輸入信號過壓保護(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)含模擬信號換算電路、采樣保持電路、A/D轉(zhuǎn)換的基準(zhǔn)電源(+2.5V)、時(shí)鐘電路、12位逐次逼近式ADC電路和控制電路,轉(zhuǎn)換的結(jié)果可以并行輸出,也可以串行輸出,非常容易和微處理器或DSP(數(shù)字信號處理器)接口。AD7892共有兩種封裝,一種是24腳雙列直插式DIP封裝,另一種為貼面式SOIC封裝,AD7892的引腳排列如圖4.4所示。各個(gè)引腳的功能說明如表4.1所列。
圖4.4 AD7892引腳排列圖 圖4.5 AD7892功能框圖
表4.1 AD7892的管腳名稱及功能說明
名稱
管腳
類型
功能說明
VDD
1
電源
電源:±5V±5%
STANDBY
2
I
低電平時(shí)為睡眠狀態(tài)(功耗5mW),高電平時(shí)正常工作,一般應(yīng)用時(shí)接高電平
VIN2
3
I
模擬輸入2,對AD7892-2和AD7892-3,應(yīng)懸空或接AGND。對AD7892-1來說,此引腳決定輸入信號(VIN1)的范圍,當(dāng)VIN2接AGND時(shí),VIN1的范圍為±10V,接VIN1時(shí),輸入信號范圍為±5V
VIN1
4
I
模擬信號輸入腳1,其輸入范圍同上。
REFOUT/REFIN
5
I/O
內(nèi)部ADC基準(zhǔn),2.5V輸出,也可通過該引腳輸入一個(gè)A/D轉(zhuǎn)換的外部基準(zhǔn)(2.5V),如果用內(nèi)部基準(zhǔn),此引腳懸空,對外作為基準(zhǔn)時(shí)應(yīng)對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)為測試腳,正常工作時(shí)應(yīng)接低電平
DGND
14
數(shù)字地,與外電路的數(shù)字地相連
RD
21
I
和CS配合讀,使數(shù)據(jù)輸出
CS
22
I
片選,低電平有效,可以一直有效
EOC
23
O
轉(zhuǎn)換結(jié)束信號,轉(zhuǎn)換結(jié)束時(shí),此引腳輸出100ns的低電平脈沖
CONVST
24
I
啟動轉(zhuǎn)換輸入端,當(dāng)此引腳由低變高時(shí),使采樣保持器保持開始轉(zhuǎn)換,應(yīng)加一個(gè)大于25ns的負(fù)脈沖來啟動轉(zhuǎn)換
(1) AD7892的并行輸出時(shí)序
當(dāng)MODE引腳接高電平時(shí),AD7892為并行輸出方式,其時(shí)序如圖4.6所示。CONVST信號t1應(yīng)大于35ns,在上升沿,采樣保護(hù)器進(jìn)入保持狀態(tà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下降沿開始下次采樣,也就是轉(zhuǎn)換一結(jié)束就開始下次采樣,采樣時(shí)間tACQ要大于等于200ns(AD7892-3)或400ns(AD7892-1,AD7892-2),當(dāng)轉(zhuǎn)換結(jié)束后(EOC的下降沿),只要CS和RD有效,經(jīng)過t6=40ns的時(shí)間,即可在DB0~DB11上獲得轉(zhuǎn)換后的12位數(shù)據(jù),CS和一般的片選信號相同,可一直有效,外加RD的時(shí)間t5亦應(yīng)大于35ns。下次采樣和本次的輸出可同時(shí)進(jìn)行,所以最小的一次采樣轉(zhuǎn)換輸出時(shí)間對于AD7892-3來說為1.47+0.2=1.67μs(600kSPS),而對于AD7892-1和AD7892-2來說為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)制代碼
由于三種類型的模擬輸入范圍不相同,因而其轉(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
對于AD7892-1和AD7892-3,F(xiàn)SR為滿度范圍,如輸入為±10V,則FSR=20V,輸入為±5V,F(xiàn)SR=10V,輸入為±2.5V,F(xiàn)SR=5V.模擬信號從-FSR/2→GND→+FSR/2變化,輸出則從100…000→111…111→000…000→011…111變化。而對于AD7892-2,在輸入從0→+2.5V變化時(shí),輸出則從全0→全1。
4.2.2芯片應(yīng)用
如圖4.7所示為AD7892應(yīng)用于采樣系統(tǒng)。目的是把音頻輸入模擬信號轉(zhuǎn)換為12位數(shù)字信號,該電路采用的是AD7892AN-1的并行輸出模式,其采集速度設(shè)計(jì)為500kSPS。
在此應(yīng)用中,將IN2接到AGND,IN1接音頻輸入信號,其輸入范圍為±10V,音頻信號經(jīng)過放大、濾波和AD7892的輸出信號為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控制信號均由有限狀態(tài)機(jī)提供,D[0]到D[11]數(shù)字信號是經(jīng)過AD采樣后的數(shù)字信號。
4.3 FPGA控制部分
4.3.1通道選擇模塊
通道選擇部分是一個(gè)二進(jìn)制模8的計(jì)數(shù)器,計(jì)數(shù)器的時(shí)鐘是AD數(shù)字信號的鎖存信號,每次鎖存數(shù)據(jù)后,計(jì)數(shù)器就會一次進(jìn)行加一操作,CD4051選擇下一個(gè)通道的音頻信號進(jìn)行采集。在MAX+PlusⅡ中用VHDL語言設(shè)計(jì)圖形如下圖4.8所示:
圖4.8 通道選擇部分
通過CNT[0]到CNT[2]來選擇相應(yīng)的通道,CD4051的輸出就是最后要進(jìn)行AD采樣的音頻信號。例如:若CNT[0]CNT[1]CNT[2]=“000”,則選擇第一通道音頻信號進(jìn)行AD采樣。這個(gè)部分實(shí)現(xiàn)的重點(diǎn)是對數(shù)字鎖存信號記數(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è)部分的主要工作是對AD7892的控制,使得AD7892可以工作。對AD7892的控制部分主要是通過一個(gè)有限狀態(tài)機(jī)來實(shí)現(xiàn)的,通過對AD7892的工作時(shí)序觀察,用有限狀態(tài)機(jī)對AD的控制信號做出描述,從而讓AD芯片能工作起來,這就是有限狀態(tài)機(jī)的主題任務(wù),當(dāng)然還有一些其他的功能,將在后序的部分介紹,這里先對有限狀態(tài)機(jī)作個(gè)闡述。
(1)有限狀態(tài)機(jī)的介紹
AD采樣的控制部分主要是設(shè)計(jì)一個(gè)有限狀態(tài)機(jī)來實(shí)現(xiàn),利用VHDL設(shè)計(jì)的使用邏輯系統(tǒng)中,有許多是可以利用有限狀態(tài)機(jī)的設(shè)計(jì)方案來描述和實(shí)現(xiàn)的,無論與基于VHDL的其他設(shè)計(jì)方案相比,還是與完成相似功能的CPU相比,狀態(tài)機(jī)都有其難以超越的優(yōu)越性,它主要表現(xiàn)在以下幾個(gè)方面:
有限狀態(tài)機(jī)克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點(diǎn)。狀態(tài)機(jī)的工作方式是根據(jù)控制信號按照預(yù)先設(shè)定的狀態(tài)進(jìn)行順序運(yùn)行的,狀態(tài)機(jī)是純硬件數(shù)字系統(tǒng)中的順序控制電路,因此狀態(tài)機(jī)在其運(yùn)行方式上類似于控制靈活和方便的CPU,而在運(yùn)行速度和工作可靠方面都優(yōu)于CPU。
由于狀態(tài)機(jī)的結(jié)果模式相對簡單,設(shè)計(jì)方案相對固定,特別是可以定義符號化枚舉類型的狀態(tài),這一切都為VHDL綜合器盡可能發(fā)揮其強(qiáng)大的優(yōu)化功能提供了有利條件。而且,性能良好的綜合器都具備許多可控或自動的專門用于優(yōu)化狀態(tài)機(jī)的功能。
狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊,這對于對付大規(guī)模邏輯電路設(shè)計(jì)中令人深感棘手的競爭冒險(xiǎn)現(xiàn)象無疑是一個(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)勢。由于在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的功能類似。因此,一個(gè)設(shè)計(jì)實(shí)體的功能便類似于一個(gè)含有并行運(yùn)行的CPU的高性能微處理器的功能。事實(shí)上,多CPU的微處理早已在通信、工控和軍事等領(lǐng)域有了十分廣泛的應(yīng)用。
就可靠性而言,狀態(tài)機(jī)的優(yōu)勢也是十分明顯的。CPU本身的結(jié)構(gòu)特點(diǎn)與執(zhí)行軟件指令的工作方式?jīng)Q定了任何CPU都不可能獲得圓滿的容錯(cuò)保障,這已是不爭的事實(shí)了。因此,用于要求高可靠性的特殊環(huán)境中的電子系統(tǒng)中,如果以CPU作為主控部件,應(yīng)是一項(xiàng)錯(cuò)誤的決策。然而,在狀態(tài)機(jī)系統(tǒng)就不同了,首先它是由純硬件電路構(gòu)成,不存在CPU運(yùn)行軟件過程中固有的缺陷;其次是由于狀態(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,尚不足對系統(tǒng)的運(yùn)行構(gòu)成損害;而CPU通過復(fù)位方式從非法運(yùn)行方式中恢復(fù)過來,耗時(shí)達(dá)到十ms,這對于高速高可靠系統(tǒng)顯然是無法容忍,特別是本次設(shè)計(jì)的采集音頻信號,十ms的就會丟失很多的模擬數(shù)據(jù),這樣就會讓音頻信號的不完整,所以采用有限狀態(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:對AD7892的初始化,此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0'
ST2:啟動AD7892輸入端,使采樣保持器保持開始轉(zhuǎn)換,此時(shí)conv<='0';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0'
ST3:開始進(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是否跳變高電平,若跳變,則開始讀數(shù)據(jù),此時(shí)conv<='1';cs<='1';rd<='1';lock<='0';wr_en='0';rd_en='0'
ST6:鎖存信號有效,鎖存轉(zhuǎn)換后的數(shù)據(jù)到12位并行輸出口,F(xiàn)IFO的寫信號有效,此時(shí)conv<='1';cs<='0';rd<='0';lock<='1';wr_en='1';rd_en='0'
ST7:從FIFO中讀出寫入的數(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 =>
壓縮包目錄 | 預(yù)覽區(qū) |
|
請點(diǎn)擊導(dǎo)航文件預(yù)覽
|
編號:2689627
類型:共享資源
大小:726.23KB
格式:ZIP
上傳時(shí)間:2019-11-28
5
積分
積分
- 關(guān) 鍵 詞:
- 基于 fpga 通道 采樣系統(tǒng) 設(shè)計(jì) 資料
- 資源描述:
-
基于FPGA多通道采樣系統(tǒng)設(shè)計(jì)資料,基于,fpga,通道,采樣系統(tǒng),設(shè)計(jì),資料展開閱讀全文
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://m.italysoccerbets.com/p-2689627.html