EDA函數(shù)發(fā)生器--絕對不用改版_第1頁
EDA函數(shù)發(fā)生器--絕對不用改版_第2頁
EDA函數(shù)發(fā)生器--絕對不用改版_第3頁
EDA函數(shù)發(fā)生器--絕對不用改版_第4頁
EDA函數(shù)發(fā)生器--絕對不用改版_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

目 錄摘要IAbstractII1緒論12實(shí)驗(yàn)方案22.1設(shè)計(jì)要求22.2設(shè)計(jì)思路23函數(shù)發(fā)生器模塊設(shè)計(jì)33.1分頻模塊33.2遞增斜波產(chǎn)生模塊33.3遞減斜波產(chǎn)生模塊33.4三角波模塊33.5遞增階梯波模塊33.6輸出波形選擇模塊43.7 D/A轉(zhuǎn)換模塊43.7.1 D/A轉(zhuǎn)換器工作原理43.7.2 TLC5620工作原理44系統(tǒng)聯(lián)調(diào)測試分析75實(shí)驗(yàn)小結(jié)8參考文獻(xiàn)9附錄10武漢理工大學(xué)EDA課程設(shè)計(jì)說明書摘要應(yīng)用EDA技術(shù)完成一個(gè)電子產(chǎn)品的設(shè)計(jì),以 CPLD芯片中集成一個(gè)在電子生產(chǎn)或檢測中通常用到函數(shù)波形發(fā)生器。在QUARTERS軟件開發(fā)平臺(tái),輸入原理圖或硬件描述語言VHDL完成的D/A接口的設(shè)計(jì)文件,系統(tǒng)將自動(dòng)地完成邏輯編譯、綜合、仿真、目標(biāo)芯片的適配編譯、下載等的工作。設(shè)計(jì)的工作是利用編程的方式來進(jìn)行對系統(tǒng)的功能的描述,在EDA工具的幫助下,應(yīng)用相應(yīng)的可編程器件,實(shí)現(xiàn)設(shè)計(jì)的最終結(jié)果。使常用到的波形發(fā)生器微型化,設(shè)計(jì)簡單化,使用簡單化。關(guān)鍵詞:VHDL ;D/A接口;函數(shù)發(fā)生器AbstractApplication of EDA technology for complete a electronic product design, with FPGA chip in electronics manufacturing or integrated a testing usually use function waveform generator. In software development platform, QUARTERS input principle chart or hardware description language VHDL completed D/A interface design documents, the system will automatically logic compilation, comprehensive, simulation, target chip adaptive compilation, download, etc. Design work is to make use of programming approach to the function of the system are described, and the EDA tools help, application of corresponding programmable devices, realization design the final result. So that commonly used to the waveform generator miniaturization, design simplicity, use simplified.Keyword:VHDL, D/A interface; Function generatorI1緒論EDA(electronic design automation,電子設(shè)計(jì)自動(dòng)化)技術(shù)是現(xiàn)代電子工程領(lǐng)域的一門新技術(shù)。它提供了基于計(jì)算機(jī)和信息技術(shù)的電路系統(tǒng)設(shè)計(jì)方法。EDA技術(shù)的發(fā)展和推廣應(yīng)用極大地推動(dòng)了電子工業(yè)的發(fā)展,隨著EDA技術(shù)的發(fā)展,硬件電子電路的設(shè)計(jì)幾乎全部可以依靠計(jì)算機(jī)來完成。這樣就大大縮短了硬件電子電路設(shè)計(jì)的周期從而使制造商可以快速開發(fā)出品種多批量小的產(chǎn)品,以滿足市的眾多需求。EDA技術(shù)的推廣是當(dāng)今世界的一個(gè)技術(shù)熱點(diǎn)。EDA技術(shù)是現(xiàn)代電子工業(yè)中不可缺少的一項(xiàng)技術(shù)。傳統(tǒng)設(shè)計(jì)應(yīng)用分立元件或通用數(shù)字電路芯片,設(shè)計(jì)周期長,花費(fèi)大,而且往往局部功能優(yōu)化,而整體功能較差。EDA 以計(jì)算機(jī)為平臺(tái),根據(jù)硬件描述語言,如VHDL自動(dòng)地完成邏輯編譯、化簡分割、綜合及優(yōu)化,布局布線,仿真直至對特定目標(biāo)芯片的適配編譯,邏輯映射和編程下載等工作。以自頂向下的設(shè)計(jì)方法,使硬件設(shè)計(jì)軟件化,擺脫了傳統(tǒng)手工設(shè)計(jì)的眾多缺點(diǎn)。其方法簡單,頻率穩(wěn)定度高,易于程控。隨著EDA技術(shù)的深入發(fā)展,基于硬件描述語言的方法將有取代傳統(tǒng)手工設(shè)計(jì)方法的趨勢。嘗試用VHDL設(shè)計(jì)來產(chǎn)生正弦波,其頻率切換非常便捷,調(diào)試、修改也非常節(jié)省時(shí)間。CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件,是從PAL和GAL器件發(fā)展出來的器件,相對而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開發(fā)軟件平臺(tái),用原理圖、硬件描述語言等方法,生成相應(yīng)的目標(biāo)文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。D/A轉(zhuǎn)換器的功能是把二進(jìn)制數(shù)字信號(hào)轉(zhuǎn)換為與其數(shù)值成正比的模擬信號(hào)。TLC5620是串行8位D/A轉(zhuǎn)換芯片,應(yīng)用CPLD可以完成對TLC5620的控制。TLC5620與CPLD結(jié)合之后可以完成函數(shù)發(fā)生器的基本功能:波形輸出。通過合適的VHDL語言程序可以完成遞增斜波、遞減斜波、三角波、遞增階梯波的輸出。2實(shí)驗(yàn)方案2.1設(shè)計(jì)要求要求用CPLD控制AD558完成設(shè)計(jì)一個(gè)函數(shù)發(fā)生器,該函數(shù)發(fā)生器能夠產(chǎn)生遞增斜波、遞減斜波、三角波以及階梯波,并且可以通過選擇開關(guān)選擇相應(yīng)的波形輸出;系統(tǒng)具有復(fù)位的功能;通過按鍵確定輸出的波形及確定是否輸出波形。CPLD是整個(gè)系統(tǒng)的核心,構(gòu)成系統(tǒng)控制器,波形數(shù)據(jù)生成器,加法器,運(yùn)算/譯碼等功能。2.2設(shè)計(jì)思路通過以上分析設(shè)計(jì)要求完成的功能,確定函數(shù)發(fā)生器可由遞增斜波產(chǎn)生模塊、遞減斜波產(chǎn)生模塊、三角波產(chǎn)生模塊、階梯波產(chǎn)生模塊、波形選擇模塊、TLC5620轉(zhuǎn)換模塊組成,以及按鍵復(fù)位控制和時(shí)鐘輸入。由此可確定系統(tǒng)的總體原理框圖為:選 擇復(fù) 位波形產(chǎn)生時(shí) 鐘波形輸出選擇TLC5620圖2.1 設(shè)計(jì)原理框圖其中時(shí)鐘脈沖由試驗(yàn)箱內(nèi)部自帶的頻率為20M的脈沖周期波提供,根據(jù)要求的波形周期,通過分頻器可以方便的改變產(chǎn)生波形的周期;4個(gè)選擇按鈕和復(fù)位功能按鈕采用實(shí)驗(yàn)箱的撥碼開關(guān);波形產(chǎn)生以及波形選擇模塊通過VHDL語言輸入CPLD中控制波形的產(chǎn)生和選擇;TLC5620集成在實(shí)驗(yàn)箱上,通過QUARTUS 上的管腳定義可以關(guān)聯(lián),并通過CPLD控制輸入輸出。3函數(shù)發(fā)生器模塊設(shè)計(jì)根據(jù)自上而下的思路進(jìn)行項(xiàng)目設(shè)計(jì)。明確每個(gè)模塊的功能以后,開始編寫各個(gè)模塊的程序。3.1分頻模塊分頻模塊的VHDL程序如附錄中所示,clk是實(shí)驗(yàn)箱時(shí)鐘的輸入端,通過調(diào)節(jié)x的值改變輸出頻率的大小,調(diào)節(jié)y值獲得D/A轉(zhuǎn)換器的頻率0.5MHz,小于限定最大頻率1MHz。3.2遞增斜波產(chǎn)生模塊遞增斜波的VHDL程序如附錄所示,其中count是計(jì)數(shù)信號(hào)。程序設(shè)計(jì)中每當(dāng)檢測到時(shí)鐘上升沿時(shí),計(jì)數(shù)器值加1,當(dāng)增加到最大后清零。計(jì)數(shù)值增加呈現(xiàn)線性關(guān)系,因此輸出的波形是遞增的斜波。3.3遞減斜波產(chǎn)生模塊遞減斜波的VHDL程序如附錄所示,其中count是計(jì)數(shù)信號(hào)。程序設(shè)計(jì)中每當(dāng)檢測到時(shí)鐘上升沿時(shí),計(jì)數(shù)器值減1,當(dāng)減小到0后賦值255。計(jì)數(shù)值減小呈現(xiàn)線性關(guān)系,因此輸出的波形是遞減的斜波。3.4三角波模塊三角波的VHDL程序如附錄所示,其中sen為信號(hào)發(fā)生輔助信號(hào),當(dāng)計(jì)數(shù)的數(shù)據(jù)不是最大值時(shí),數(shù)值做遞增運(yùn)算,當(dāng)增大到最大時(shí),然后再做遞減運(yùn)算。因此輸出的波形便呈現(xiàn)出三角波的形狀。3.5遞增階梯波模塊遞增階梯波的VHDL程序如附錄所示,階梯波設(shè)計(jì)的是數(shù)據(jù)的遞增是以一定的階梯常數(shù)向上增加,所以輸出的波形呈現(xiàn)是成階梯狀的,而不是,完全呈現(xiàn)是直線增長。3.6輸出波形選擇模塊波形選擇模塊通過對端口值a、b、c、d分別置1來實(shí)現(xiàn)4種波形的選擇。3.7 D/A轉(zhuǎn)換模塊3.7.1 D/A轉(zhuǎn)換器工作原理D/A轉(zhuǎn)換器的功能是把二進(jìn)制數(shù)字信號(hào)轉(zhuǎn)換為與其數(shù)值成正比的模擬信號(hào)。在D/A參數(shù)中一個(gè)最重要的參數(shù)就是分辨率。它是指輸入數(shù)字量發(fā)生單位數(shù)碼變化時(shí),所對應(yīng)輸出模擬量(電壓或電流)的變化量。實(shí)驗(yàn)要求在此次設(shè)計(jì)中采用的是D/A轉(zhuǎn)換器AD558,但試驗(yàn)箱上芯片為TLC5620,故在本次課程設(shè)計(jì)中采用串行D/A轉(zhuǎn)換器TLC5620。3.7.2 TLC5620工作原理D/A轉(zhuǎn)換器TLC5620是EDA試驗(yàn)箱上自帶的4通道串行8位電壓輸出D/A轉(zhuǎn)換芯片,接入電壓在4.75V到5.25V之間。它與CPLD器件聯(lián)合使用可以產(chǎn)生幾種波形。其芯片管腳如圖3.7所示:圖3.7 TLC5620芯片管腳外形圖其中,DACA、DACB、DACC、DACD為模擬信號(hào)輸出,REFA、REFB、REFC、REFD為其對應(yīng)的參考電壓,DATA為存放數(shù)字量的串行接口,數(shù)據(jù)范圍為0255。VDD、GND分別是芯片輸入電壓端與接地端,CLK為芯片時(shí)鐘,其最大時(shí)鐘頻率為1MHz。LDAC、LOAD為時(shí)序控制端口。其時(shí)序控制如圖3.8所示:圖3.8 TLC5620時(shí)序控制圖數(shù)據(jù)在每個(gè)時(shí)鐘下降沿輸出DATA端,數(shù)據(jù)輸入過程中,LOAD始終處于高電平,LDAC處于低電平,一旦數(shù)據(jù)輸入完成,LOAD置低,則轉(zhuǎn)換輸出,把數(shù)據(jù)從串行輸入寄存器傳送到所選擇的DAC。當(dāng)LDAC引腳從高電平變?yōu)榈碗娖綍r(shí)DAC輸出更新,隨后輸出端產(chǎn)生模擬電壓。數(shù)據(jù)輸入時(shí)最高有效位(MSB)在前,其中,tw(LDAC)和tw(LOAD)最小值為250ns。對TLC5620的數(shù)字控制是通過一根簡單的3路串行總線實(shí)現(xiàn)的,其11位命令字包括8位數(shù)據(jù)位,2位DAC選擇位和一位范圍位RNG,后者用來選擇輸出范圍是1倍還是2倍。DAC輸出通道的選擇由A1和A0控制,如圖3.9所示:圖3.9 TLC5620輸出通道選擇圖4系統(tǒng)聯(lián)調(diào)測試分析通過對以上各模塊的細(xì)化和分析,最終在QUARTUS 中完成了整個(gè)系統(tǒng)的聯(lián)合調(diào)試,編譯通過(源程序見附錄)。由clk端輸入20M的周期脈沖,根據(jù)要求的波形周期經(jīng)分頻器輸入合適頻率的脈沖波。分頻后脈沖波clkms分別接入4個(gè)波形發(fā)生器作為同步時(shí)鐘,clkus作為D/A轉(zhuǎn)換器TLC5620的串行接口時(shí)鐘。鎖定管腳后再次編譯,編譯成功后就可以把程序下載到實(shí)驗(yàn)箱上進(jìn)行功能驗(yàn)證,通過對端口值a、b、c、d分別置1來實(shí)現(xiàn)4種波形的選擇,繼而可以用示波器在VOUT端測到輸出波形。5實(shí)驗(yàn)小結(jié)通過這次EDA課程設(shè)計(jì),我對課堂上所學(xué)到的理論知識(shí)的理解加深了許多,自己動(dòng)腦、動(dòng)手設(shè)計(jì)的能力也得到了較大提高。雖然我們上學(xué)期學(xué)習(xí)了EDA這門課,但是由于學(xué)時(shí)十分有限,當(dāng)時(shí)學(xué)的有些不系統(tǒng)。在此次課程設(shè)計(jì)之前,有許多細(xì)節(jié)我已經(jīng)不是很清楚了,為此我特意花了兩天的時(shí)間提前再次學(xué)習(xí)了EDA技術(shù)與VHDL這本教材。我想這和課堂上的學(xué)習(xí)一樣是我能順利完成本次課程設(shè)計(jì)的一個(gè)重要原因。在這次課程設(shè)計(jì)的過程中,我對VHDL語言有了更深的認(rèn)識(shí)。通過查閱相關(guān)資料和動(dòng)手設(shè)計(jì)我發(fā)現(xiàn)我以前對VHDL語言的認(rèn)識(shí)太過膚淺,認(rèn)為VHDL語言只能用于設(shè)計(jì)小型的電路系統(tǒng)。但有了更深刻的認(rèn)識(shí)之后我發(fā)現(xiàn)學(xué)好VHDL語言可以設(shè)計(jì)出大規(guī)模的、功能復(fù)雜的電路系統(tǒng)。以前之所以會(huì)有錯(cuò)誤的認(rèn)識(shí)是因?yàn)樽约簩HDL語言的了解和掌握還不夠?,F(xiàn)在仔細(xì)想想,這次課程設(shè)計(jì)使得我對VHDL語言的理解與應(yīng)用能力得到了較大的提升,也讓我認(rèn)識(shí)到只要升入學(xué)習(xí),提升的空間永遠(yuǎn)的存在的。在設(shè)計(jì)的過程中我遇到了一些問題,如:編寫源程序中出現(xiàn)了語法錯(cuò)誤,TLC5620時(shí)序控制錯(cuò)誤,限制頻率大小不對和通道利用不當(dāng)?shù)?。通過查閱書本和以前設(shè)計(jì)的程序我發(fā)現(xiàn)了產(chǎn)生錯(cuò)誤的原因并解決了問題完成了設(shè)計(jì)。經(jīng)過反思我發(fā)現(xiàn)較大一部分錯(cuò)誤時(shí)因?yàn)椴僮鞯牟皇炀氄粘傻?,這也讓我明白了要保持設(shè)計(jì)的高效率及必須經(jīng)常練習(xí)。另一方面我也發(fā)現(xiàn)了動(dòng)手實(shí)踐的重要性。動(dòng)手實(shí)踐是理論知識(shí)得以靈活運(yùn)用的必要前提,也是今后今后走上工作崗位之后能夠很好的完成設(shè)計(jì)工作的技術(shù)保證。只有遇到實(shí)際問題并根據(jù)自己對課堂上獲得的專業(yè)知識(shí)的理解來解決它才能真正的提高自己的能力。這也提醒我在平時(shí)的學(xué)習(xí)生活中不能一味埋頭于課本知識(shí),當(dāng)今社會(huì)競爭越來越激烈,社會(huì)對人才的要求越來越全面,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,必須靠動(dòng)手能力做支撐。因此在學(xué)習(xí)之余我們應(yīng)該積極參加各種與專業(yè)知識(shí)有關(guān)的實(shí)踐活動(dòng)和知識(shí)競賽,鞏固所學(xué)的理論知識(shí),多注重培養(yǎng)實(shí)際動(dòng)手能力和專業(yè)技術(shù)能力,這樣才能在以后的工作崗位上有所作為。參考文獻(xiàn)1潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程(第二版).科學(xué)出版社,2007.92徐守堂劉艷惠,李娜,孔旭梅.EDA技術(shù)教程.西北師范大學(xué)知行學(xué)院計(jì)算機(jī)與電子信科學(xué)系3潭會(huì)生,張昌凡.EDA技術(shù)及應(yīng)用.西安電子科技大學(xué)出版社,2001.94李洋. EDA技術(shù)使用教程.機(jī)械工業(yè)出版社,2002.35趙剛.EDA技術(shù)簡明教程.成都:四川大學(xué)出版社,2004.6附錄-源程序-library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity rom isport (clk,a,b,c,d:in std_logic;dout:out std_logic;load:out std_logic;loac:out std_logic; clkout :out std_logic);end rom;architecture behave of rom iscomponent tlc5620 isport (clk:in std_logic;sen :in std_logic;din:in integer range 0 to 255;dout :out std_logic; clkout :out std_logic; load :buffer std_logic;loac :out std_logic);end component;signal count:integer range 0 to 255;signal clkms,clkus,sen:std_logic:=0;beginm1:tlc5620 port map(clk=clkus,sen=clkms,din=count,dout=dout,clkout=clkout,load=load,loac=loac);process(clk)variable x:integer range 0 to 9999;variable y:integer range 0 to 19;beginif rising_edge(clk) then-頻率調(diào)整if x9999 then x:=x+1;else x:=0;clkms= NOT clkms;-波形時(shí)鐘end if;if y19 then y:=y+1;else y:=0;clkus= NOT clkus; -D/A時(shí)鐘end if;end if;end process;process(clkms)variable x:integer range 0 to 499;beginif rising_edge(clkms) thenif a=1 then-階梯波if x100 then count=0;x:=x+1;elsif x200 then count=63;x:=x+1;elsif x300 then count=127;x:=x+1;elsif x400 then count=191;x:=x+1;elsif x499 then count=255;x:=x+1;else x:=0;end if;elsif b=1 then-遞增波if count=255 then count=0;else count=count+1;end if;elsif c=1 then-遞減波if count=0 then count=255;else count=count-1;end if;elsif d=1 then-三角波if sen=0 then if count255 then count=count+1;else sen0 then count=count-1;else sen=0;end if;end if;end if;end if;end process;end behave;library ieee;-tlc5620控制程序use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity tlc5620 isport (clk:in std_logic;sen :in std_logic;din:in integer range 0 to 255;dout :out std_logic; clkout :out std_logic; load :buffer std_logic;loac :out std_logic);end tlc5620;architecture behave of tlc5620 issignal cur_st:integer range 0 to 2;signal clk_delay,load_1,load_2:std_logic:=0;signal data_buff:std_logic_vector(10 downto 0);beginload=load_1 xor load_2;loac=0;process(clk,sen)variable

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論