freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga來完成直接數(shù)字頻率合成器(dds)的設(shè)計(jì)(編輯修改稿)

2024-07-24 17:29 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 由于本設(shè)計(jì)選用的單片機(jī)為MSC51系列的8051,它相對(duì)于高速的FPGA來說速度太慢,因此對(duì)單片機(jī)擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器和波形存儲(chǔ)器。半導(dǎo)體存儲(chǔ)器可分為三類:只讀存儲(chǔ)器(ROM、PROM、EPROM),隨機(jī)存儲(chǔ)器(SRAM、DRAM),不揮發(fā)性讀寫存儲(chǔ)器(EEPROM、NOVRAM)。本設(shè)計(jì)要實(shí)現(xiàn)編輯功能,故必須選擇隨機(jī)存儲(chǔ)器或不揮發(fā)性讀寫存儲(chǔ)器。方案一:采用SRAM(6264:8KRAM)和EEPROM(2817:2KROM),通過總線隔離的辦法實(shí)現(xiàn),既能通過CPU改變存儲(chǔ)器數(shù)據(jù),又能通過相位累加實(shí)現(xiàn)讀取波形存儲(chǔ)器數(shù)據(jù)的功能。方案二:采用特殊存儲(chǔ)器雙口RAM。雙口RAM有左右兩套相同的I/O口,即兩套數(shù)據(jù)總線,分別有兩套地址、控制總線,并有一套競(jìng)爭(zhēng)仲裁電路。它可通過左右兩邊的任一組I/O進(jìn)行異步的存儲(chǔ)器讀寫操作,避免了系統(tǒng)總線隔離[17]。 對(duì)比上述兩種方案,方案一的硬件電路雖較復(fù)雜,但設(shè)計(jì)簡(jiǎn)單,成本低,容量大,故采用此方案。 存儲(chǔ)器尋址方案方案一:采用移位寄存器74164對(duì)BCD乘法器14527進(jìn)行設(shè)置。BCD乘法器14527接成加法級(jí)聯(lián)方式,輸入頻率由晶振提供,級(jí)聯(lián)輸出頻率為: ()式中KKKKK5為BCD乘法器置數(shù)。根據(jù)置數(shù)不同,可以輸出不同的頻率的計(jì)數(shù)脈沖,再經(jīng)計(jì)數(shù)器計(jì)數(shù)對(duì)存儲(chǔ)器尋址,頻率控制尋址頻率,從而控制輸出波形的頻率。此方案硬件接線復(fù)雜,頻帶不易拓寬。方案二:運(yùn)用FPGA構(gòu)成的相位累加器對(duì)EEPROM進(jìn)行尋址。由單片機(jī)控制步長(zhǎng)即可控制尋址頻率,而相移也可方便地由單片機(jī)控制相位累加器的初始值來設(shè)定。比較兩種方案,方案二設(shè)計(jì)簡(jiǎn)單,易于單片機(jī)控制,故選方案二。3 總體設(shè)計(jì) FPGA設(shè)計(jì)DDS電路的具體實(shí)現(xiàn)FPGA設(shè)計(jì)的DDS系統(tǒng)主要由相位累加器及相位/幅度轉(zhuǎn)換電路組成。根據(jù)設(shè)計(jì)的具體要求,還設(shè)計(jì)了一個(gè)系統(tǒng)控制電路,這一電路可靈活設(shè)計(jì),以突出FPGA的優(yōu)點(diǎn)所在。另外采用VHDL硬件描述語言實(shí)現(xiàn)整個(gè)DDS電路,不僅利于設(shè)計(jì)文檔的管理,而且方便設(shè)計(jì)的修改和擴(kuò)充,還可以在不同F(xiàn)PGA器件之間實(shí)現(xiàn)移植。 相位累加器部分在用FPGA設(shè)計(jì)DDS電路的時(shí)候,相位累加器是決定DDS電路性能的一個(gè)關(guān)鍵部分。小的累加器可以利用FLEX器件的進(jìn)位鏈得到快速、高效的電路結(jié)構(gòu)。然而由于進(jìn)位鏈必須位于臨近的LAB(邏輯陣列塊)和LE(邏輯單元)內(nèi),因此長(zhǎng)的進(jìn)位鏈勢(shì)必會(huì)減少其它邏輯使用的布線資源,同時(shí)過長(zhǎng)的進(jìn)位鏈也會(huì)制約整個(gè)系統(tǒng)速度的提高。另一種提高速度的辦法是采用流水線技術(shù),即把在一個(gè)時(shí)鐘內(nèi)要完成的邏輯操作分成幾步較小的操作,并插入幾個(gè)時(shí)鐘周期來提高系統(tǒng)的數(shù)據(jù)吞吐率。但是流水線技術(shù)比較適合開環(huán)結(jié)構(gòu)的電路,要用在累加器這樣的閉環(huán)反饋的電路中必須謹(jǐn)慎考慮,以保證設(shè)計(jì)的準(zhǔn)確無誤。綜合考慮后,相位累加器采用流水線技術(shù)來實(shí)現(xiàn),這樣能保證較高的資源利用率,又能提高系統(tǒng)的性能和速度。設(shè)計(jì)中整個(gè)系統(tǒng)只加入了一級(jí)流水線來提高速度。為了進(jìn)一步提高速度,在設(shè)計(jì)相位累加器模塊和加法器模塊時(shí)并沒有采用FPGA單元庫中16~32位加法器,盡管它們可以很容易地實(shí)現(xiàn)高達(dá)32位的相位累加器,但當(dāng)工作頻率較高時(shí),它們較大的延時(shí)不能滿足速度要求,故不可取。因此,具體實(shí)現(xiàn)時(shí)分別采用了4個(gè)和8個(gè)4位累加器,以流水線的方式實(shí)現(xiàn)16位累加器和32位加法器。采用流水線技術(shù)可以大大提高系統(tǒng)的工作速度[18]。 相位/幅度轉(zhuǎn)換電路相位/幅度轉(zhuǎn)換電路是DDS電路中的另一個(gè)關(guān)鍵部分。該電路通常采用ROM結(jié)構(gòu),相位累加器的輸出是一種數(shù)字式鋸齒波,通過取它的若干位作為ROM的地址輸入,而后通過查表和運(yùn)算,ROM就能輸出所需波形的量化數(shù)據(jù)。 在FPGA(針對(duì)Altera公司的器件)中,ROM一般由EAB實(shí)現(xiàn),且ROM表的尺寸隨地址位數(shù)或數(shù)據(jù)位數(shù)的增加成指數(shù)遞增關(guān)系,因此在滿足信號(hào)性能的前提下,如何有效利用FPGA的有限資源,成為相位/幅度轉(zhuǎn)換電路中最關(guān)鍵的一點(diǎn)。在設(shè)計(jì)時(shí)可充分利用信號(hào)周期內(nèi)的對(duì)稱性和算術(shù)關(guān)系來減少EAB的開銷。相位/幅度轉(zhuǎn)換電路中的主要問題在于ROM的大小。由于本設(shè)計(jì)只需要輸出正弦波,故考慮了以下的優(yōu)化方式:正弦波信號(hào)對(duì)于x=π直線成奇對(duì)稱,基于此可以將ROM表減至原來的1/2,再利用左半周期內(nèi),波形對(duì)于點(diǎn)(π/2,0)成偶對(duì)稱,進(jìn)一步將ROM表減至最初的1/4,因此通過一個(gè)正弦碼表的前1/4周期就可以變換得到的正弦的整個(gè)周期碼表,這樣就節(jié)省了將近3/4的資源[19]。 波形表生成由于DDS中波形表存儲(chǔ)器是采用FPGA芯片內(nèi)部的LPM_ROM實(shí)現(xiàn),具體實(shí)現(xiàn)見附錄2。 D/A轉(zhuǎn)換電路 因?yàn)橐a(chǎn)生兩路具有相位差的正弦波,所以必須采用兩片D/A轉(zhuǎn)換芯片將兩路信號(hào)分別轉(zhuǎn)換成模擬量輸出。在此選用轉(zhuǎn)換速率為500ns的芯片AD7521作為數(shù)字量到模擬量的轉(zhuǎn)換器件。 系統(tǒng)控制電路 系統(tǒng)控制電路主要是根據(jù)是否需要相位調(diào)制及頻率調(diào)制,系統(tǒng)時(shí)鐘是否需要分頻得到所需的基準(zhǔn)時(shí)鐘,頻率碼的輸入方式是串行、并行還是微機(jī)接口方式,如何控制輸出等具體要求而設(shè)計(jì)的,。 單片機(jī)與FPGA的接口設(shè)計(jì) 在功能上,單片機(jī)與FPGA有很強(qiáng)的互補(bǔ)性。單片機(jī)具有性價(jià)比高、功能靈活、易于人機(jī)對(duì)話、良好的數(shù)據(jù)處理能力等特點(diǎn);FPGA則具有高速、高可靠性以及開發(fā)便捷、規(guī)范等優(yōu)點(diǎn)。用這兩類器件相結(jié)合的電路結(jié)構(gòu)在許多高性能儀器儀表和電子產(chǎn)品中仍將被廣泛應(yīng)用。MCS51單片機(jī)(8051)系統(tǒng)是整個(gè)硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機(jī)工作的控制器,又是數(shù)據(jù)處理器,其內(nèi)部資源分配和性能如下:8位CPU、尋址能力達(dá)264K;4KB的ROM和128字節(jié)RAM;4個(gè)8位I/O接口電路;一個(gè)串行全雙工異步接口;5個(gè)中斷源和兩個(gè)中斷優(yōu)先級(jí)[20]。 8051的引腳圖單片機(jī)的功能主要是傳送頻率控制字K1和相位控制字K2給FPGA處理;生成波形表存儲(chǔ)于EEPROM中;控制鍵盤的寫入和LED的顯示;控制DAC0832進(jìn)行幅值轉(zhuǎn)換。在每次加電前都要通過單片機(jī)初始化,將寫好的程序加載在信號(hào)產(chǎn)生系統(tǒng)上,然后把從鍵盤上輸入的數(shù)據(jù)送到中央處理芯片上,信號(hào)通過低通濾波器輸出的同時(shí),LED數(shù)碼管顯示信號(hào)的頻率和相位差。單片機(jī)與FPGA的接口方式一般有兩種,即總線方式與獨(dú)立方式。因?yàn)閱纹瑱C(jī)以總線方式與FPGA進(jìn)行數(shù)據(jù)與控制信息通信有許多優(yōu)點(diǎn),如速度快;節(jié)省PLD芯片的I/O口線;編程簡(jiǎn)捷,控制可靠;另外在FPGA中通過邏輯切換,單片機(jī)易于與SRAM或ROM接口。故單片機(jī)與FPGA的接口方式選用總線方式。,其外部接口和VHDL設(shè)計(jì)見附錄2。 FPGA與單片機(jī)的總線接口 ,它以總線方式與FPGA進(jìn)行數(shù)據(jù)與控制信息通信,其通信工作時(shí)序是純硬件行為,只需一條單字節(jié)指令就能完成所需的讀寫時(shí)序,如:MOVX @DPTR, A。 MOVX A, @DPTR。其時(shí)序電平變化速度與單片機(jī)工作時(shí)鐘頻率有關(guān)。 MCS51單片機(jī)總線接口方式工作時(shí)序圖中,ALE為地址鎖存使能信號(hào),利用其下降沿將低8位地址鎖存于FPGA中的地址鎖存器(LATCH_ADDRES)中;當(dāng)ALE將低8位地址通過P0鎖存的同時(shí),高8位地址已穩(wěn)定建立于P2口,單片機(jī)利用讀指令允許信號(hào)PSEN的低電平從外部ROM中將指令從P0口讀入,由時(shí)序圖可見,其指令讀入的時(shí)機(jī)是在PSEN的上升沿之前。然后由P2口和P0口分別輸出高8位和低8位的數(shù)據(jù)地址,并由ALE的下降沿 P0口的低8位地址鎖存于地址鎖存器。若需從FPGA中讀出數(shù)據(jù),單片機(jī)則通過指令“MOVX A,@DPTR”使RD信號(hào)為低電平,。若要將累加器A的數(shù)據(jù)寫入FPGA,則需通過指令”MOVX @DPTR,A”和寫允許信號(hào)WR。這時(shí),DPTR的高8位和低8位數(shù)據(jù)作為高、低8位地址分別向P2和P0口輸出,最后由WR的低電平結(jié)合譯碼,將累加器A的數(shù)據(jù)寫入圖中相關(guān)的鎖存器。(FPGA)的選擇FPGA是現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array)的英語縮寫,它是在陣列的各個(gè)節(jié)點(diǎn)放上由門 、觸發(fā)器等做成的邏輯單元,并在各個(gè)單元之間預(yù)先制作了許多連線。在FPGA中常用的編程工藝有反熔絲和SRAM兩類。綜合考慮設(shè)計(jì)、仿真和調(diào)試的全過程,在此主要考慮選用Altera公司的FLEX10K系列的FPGA芯片。FLEX10K是Altera公司1995年推出的產(chǎn)品系列,它集合了可編程器件的靈活性, SRAM工藝制造,器件規(guī)模從10000門到250000門,系統(tǒng)時(shí)鐘可以達(dá)到204MHZ,兼容66MHZ,64 bit PIC,采用獨(dú)特的嵌入式陣列和邏輯陣列的邏輯實(shí)現(xiàn)結(jié)構(gòu),同一系列相同封裝的芯片在管腳上滿足兼容[21]。同時(shí),可為用戶提供多達(dá)3K8位的片內(nèi)RAM,其雙口RAM為獨(dú)立的讀寫操作提供了獨(dú)立的讀、寫端口,且每個(gè)I/O口都有寄存器;PLL時(shí)鐘管理和時(shí)鐘增強(qiáng)電路提高了系統(tǒng)的性能,并且可以提供時(shí)鐘倍頻;專用進(jìn)位鏈路,可實(shí)現(xiàn)快速加法器和計(jì)數(shù)器功能;專用級(jí)聯(lián)鏈路,支持系統(tǒng)集成;支持多時(shí)鐘系統(tǒng)的低時(shí)滯要求;具有JTAG邊界掃描測(cè)試內(nèi)速電路;Altera的I/ BGA封裝極大的提高了FLEX10K系列的靈活性和適應(yīng)性。并由Altera公司的MAX plusⅡ開發(fā)系列提供軟件支持。本設(shè)計(jì)中采用Altera公司的FLEX10K系列芯片EPF10K10LC844,作為實(shí)現(xiàn)DDS的FPGA芯片。[22]:邏輯門數(shù)I/O門數(shù)電源 V速度等級(jí)/ns邏輯單元RAM /bit參數(shù)100008445766144其5V外部電源和TTL、CMOS電平兼,豐富的寄存器資源和I/O口,40MHZ的工作頻率滿足基準(zhǔn)時(shí)鐘10MHZ的要求,其優(yōu)良的特性完全可以實(shí)現(xiàn)DDS芯片的功能。 其他電路設(shè)計(jì)在設(shè)計(jì)中除單片機(jī)和FPGA之外,還需要很多外圍電路來提供時(shí)鐘源和波形調(diào)整等,以下將簡(jiǎn)要介紹各外圍電路的設(shè)計(jì)及參數(shù)選擇。 晶體振蕩電路 設(shè)計(jì)中取64個(gè)點(diǎn)組成一個(gè)周期的波形,且頻率最小步進(jìn)定為20HZ,這樣需要產(chǎn)生1280HZ的方波作為鎖相環(huán)電路的輸入。,即可得到頻率為1280HZ的方波f1,。 晶體振蕩電路 地址計(jì)數(shù)脈沖產(chǎn)生電路由于一個(gè)周期我們?nèi)〉氖?4個(gè)樣點(diǎn),最小步進(jìn)20HZ,因此如果計(jì)數(shù)器的計(jì)數(shù)脈沖頻率為1280HZ,D/A轉(zhuǎn)換器就會(huì)輸出20HZ的波形。這樣若要得到頻率為F0(F0為20的倍數(shù))赫茲的波形,只要輸入頻率為64F0(HZ)的計(jì)數(shù)脈沖即可。例如要得到20HZ的正弦波,計(jì)數(shù)脈沖頻率應(yīng)為1280HZ;要得到頻率為20KHZ的正弦波。,1280HZ的方波信號(hào)作為鎖相環(huán)頻率合成器4046的基準(zhǔn)時(shí)鐘,并配以可編程計(jì)數(shù)器8254實(shí)現(xiàn)基準(zhǔn)時(shí)鐘頻率的2~62500倍頻,這樣就得到了地址計(jì)數(shù)器脈沖f2。 地址計(jì)數(shù)脈沖產(chǎn)生電路 幅度控制電路波形的幅度控制利用帶寬1MHZ的DAC0832控制[23],利用DAC0832內(nèi)部的分壓網(wǎng)絡(luò),將經(jīng)DDS產(chǎn)生的波形作為DAC0832的基準(zhǔn)電壓,由單片機(jī)控制輸入的數(shù)字量,~5V。 幅度控制電路 單片機(jī)外擴(kuò)展存儲(chǔ)器電路采用外部存儲(chǔ)器6264(SRAM:8KRAM)和2817(EEPROM:2KROM),通過總線隔離的辦法實(shí)現(xiàn)。 外擴(kuò)存儲(chǔ)器電路 濾波、緩沖輸出電路 D/A輸出后,通過濾波電路、輸出緩沖電路,使信號(hào)平滑且具有負(fù)載能力。濾波采用二階巴特沃茲低通濾波器,其幅度函數(shù)是單調(diào)下降的,且n階巴特沃茲低通濾波器的前(2n1)階導(dǎo)數(shù)在ω=0處為零,所以它又稱為最大平坦幅度濾波器[24]。由于本設(shè)計(jì)要求濾波的分量主要為由D/A產(chǎn)生的高頻分量,和要保留的頻率(小于20KHZ)相差很遠(yuǎn),所以濾波器在通帶內(nèi)的平坦程度比其衰減陡度更為重要。另外,巴特沃茲低通濾波器也不像其它濾波器對(duì)元件值要求那么苛刻,因?yàn)樵诮刂诡l率附近,頻率響應(yīng)鈍化可能是這些濾波器在要求銳截止的地方不合要求。設(shè)計(jì)中主要是頻率為≤20KHZ的正弦波。運(yùn)放選用寬帶運(yùn)放LF351。,又要盡可能抑制諧波和高頻噪聲,綜合考慮?。篟1=1KΩ,R2=1KΩ,C1=100pF,C=100pF。 濾波、緩沖電路 鍵盤和顯示控制電路采用通用鍵盤接口芯片8279,通過74LS373和74LS377與單片機(jī)的P0口相連,控制44陣列鍵盤和4個(gè)數(shù)碼管顯示的鍵盤顯示模塊,用掃描方式由8279得到鍵盤碼,由中斷服務(wù)程序把數(shù)據(jù)送給單片機(jī),以實(shí)現(xiàn)系統(tǒng)控制和顯示功能。此方案不用單片機(jī)掃描,占用資源少,電路見附錄1。用四個(gè)LED進(jìn)行顯示,這種方案的缺點(diǎn)是不能適時(shí)顯示,但也能滿足設(shè)計(jì)要求。本方案采用單片機(jī)控制, 由4511驅(qū)動(dòng)4個(gè)共陰極數(shù)碼管LED進(jìn)行動(dòng)態(tài)顯示相位和頻率。4 系統(tǒng)的實(shí)現(xiàn) 系統(tǒng)的計(jì)算與仿真本設(shè)計(jì)是在EDA設(shè)計(jì)平臺(tái)上實(shí)現(xiàn)系統(tǒng)的仿真,所以需要的裝置主要有PC機(jī)和Altera公司的MAX+plusⅡ軟件。Altera公司的MAX+plusⅡ軟件是一款易于使用的開發(fā)工具,其界面友好,集成化程度高。支持FLEX、MAX、ACEX1K系列器件,可通過 MAX+plusⅡ圖形編輯器創(chuàng)建圖形設(shè)計(jì)文件(.gdf),通過MAX+plusⅡ文本編輯器使用VHDL語言創(chuàng)建文本設(shè)計(jì)文件(.vhd),還可以通過MAX+plusⅡ波形編輯器創(chuàng)建波形設(shè)計(jì)文件(.wdf)。通過MAX+plusⅡ編譯器完成,可檢查項(xiàng)目是否有錯(cuò),并對(duì)項(xiàng)目進(jìn)行邏輯綜合,然后配置到一個(gè)ALTERA器件中,同時(shí)產(chǎn)生報(bào)告文件、編程文件和用于時(shí)間仿真的輸出文件。 系統(tǒng)頻率、相位和幅度的計(jì)算正弦波可表示為:F=Asin(2Л),數(shù)字量最終轉(zhuǎn)換為模擬量時(shí)可表示為:
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1