【正文】
CTOR (7 DOWNTO 0)。 q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0))。選擇菜單 Assign→Device… 選擇器件型號(hào) ,在彈出的對(duì)話框中的“ Device Family”下拉列表中選擇需要器件 FLEX10K。單擊如圖 所示窗口左下方的“ Locate”錯(cuò)誤定位按鈕,就可以在出現(xiàn)的文本編譯窗口中閃動(dòng)的光標(biāo)附近或上方找到錯(cuò)誤所在。 然后設(shè)定仿真時(shí)間長度。這表明,通過仿真,數(shù)據(jù)數(shù)據(jù)列表中取出數(shù)據(jù)符合波形發(fā)生器的需要。 architecture dacc of singt is ponent sindata port(address:in std_logic_vector(5 downto 0)。 begin 1: process(fss) begin if fss39。139。 end if。 邵陽學(xué)院畢業(yè)設(shè)計(jì) ( 論文 ) 30 圖 正弦發(fā)生器仿真波形 根據(jù)頂層文件的 仿真波形 可以從中看出。稍大的方塊(含 8 個(gè)小方塊)表示器件中內(nèi)嵌的 RAM 單元 EAB。 資源分配情況如圖 : 圖 芯片資源編輯窗口 邵陽學(xué)院畢業(yè)設(shè)計(jì) ( 論文 ) 31 對(duì)于 EPF10K10LC844,其中共有 216 個(gè)小柱,即邏輯陣列塊 LAB,每個(gè) LAB 有 8個(gè)小方塊,每個(gè)小方塊表示一個(gè)邏輯宏單元( Logic Cell),因此共有 1728 個(gè) LC(即LE)。選擇主菜單“ MAX+plusⅡ ”中的仿真器項(xiàng)“ Simulator”單擊彈出的仿真對(duì)話框中的“ Start”按鈕。039。 2:process(clk,data) begin if clk39。 signal fss:std_logic。 dout:out std_logic_vector(7 downto 0))。 邵陽學(xué)院畢業(yè)設(shè)計(jì) ( 論文 ) 28 圖 定制的 ROM文件的仿 真波形 在 MAX+plusⅡ 創(chuàng)建內(nèi)部的 ROM 空間,調(diào)入 已 生成的 正弦波數(shù)據(jù) 文本文件, 并對(duì)已定制的 ROM 文件進(jìn)行編譯后仿真,仿真后所得到的波形時(shí)序如上圖所示,當(dāng)來 一個(gè) 時(shí)鐘信號(hào) 脈沖 inclock 立即從 對(duì)應(yīng)的 輸入信號(hào)address 取出數(shù)據(jù)送往 q 輸出。將節(jié)點(diǎn)信號(hào)調(diào)入仿真波形編輯器窗中。方法是在進(jìn)入編邵陽學(xué)院畢業(yè)設(shè)計(jì) ( 論文 ) 27 輯窗口(圖 )后 ,選擇 Processing→ Fitter Setting,進(jìn)入如圖 38 所示的窗口,消去最上面的“ Use Quartus Fitter… ”項(xiàng)。選擇菜單 File/Project/Set Project to Current File 設(shè)為當(dāng)前文件,當(dāng)前的設(shè)定工程文件 被指定為 , 可以看到MAX+plusⅡ 主窗口左上方 路徑指向?yàn)?E:\hyq\。 PORT (address: IN STD_LOGIC_VECTOR (5 DOWNTO 0)。 q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0))。 (2) LPM_ROM 定制 ① 進(jìn)入 MAX+plusⅡ , 選菜單 File→MegaWizardPlug InManager,選擇“ Creat a new”, 然后按 “ Next” 鍵 , 進(jìn)入圖 。以下將對(duì)這 方法進(jìn)行詳細(xì)的分析與說明生成正弦波的全過程?;?FPGA波形發(fā)生器的 VHDL 的實(shí)現(xiàn)經(jīng)過以下幾個(gè)過程,首先利用 MATLAB 軟件編寫波形查找表程序生成波形查找表獲得波形數(shù)據(jù),利用 MAX+plusⅡ 軟件依次 建立波形數(shù)據(jù)文件 存儲(chǔ) 在 FPGA 的 ROM 內(nèi),再用 VHDL 語言 進(jìn)行頂層文件的描述, 經(jīng)過編譯、仿真、下 載和測(cè)試即可以得到波形了。 DATA7:輸出, 在 FPGA配置方式, DATA的數(shù)據(jù)是被 RDYnBSY信號(hào)通過電平觸發(fā)方式在 nRS信號(hào)已經(jīng)被鎖存之后寫入。 nCEO:輸出,當(dāng)設(shè)備配置完成后被驅(qū)動(dòng)為低電平。其 I/O 引腳能夠兼容 5V 等接口標(biāo)準(zhǔn),具體的 IO 引腳與對(duì)應(yīng)的引腳序號(hào)如表 24 所示: 表 24 I/O 引腳對(duì)應(yīng)的引腳序號(hào) 引腳名稱 引腳編號(hào) 引腳名稱 引腳編號(hào) 引腳名稱 引腳編號(hào) 引腳名稱 引腳編號(hào) I/O7 16 I/O17 28 I/O27 49 I/O37 62 I/O8 17 I/O18 29 I/O28 50 I/O38 64 I/O9 18 I/O19 30 I/O29 51 I/O39 65 I/O10 19 I/O20 35 I/O30 52 I/O40 66 I/O11 21 I/O21 36 I/O31 53 I/O41 67 I/O12 22 I/O22 37 I/O32 54 I/O43 71 I/O13 23 I/O23 38 I/O33 58 I/O44 72 I/O14 24 I/O24 39 I/O34 59 I/O15 25 I/O25 47 I/O35 60 I/O16 27 I/O26 48 I/O36 61 FLEX 10K10 主要 由 84 個(gè) 引腳 組成 , 各 引腳 對(duì)應(yīng)的引腳名 如 圖 所 示 : 圖 FLEX 10K10芯片 I / O 3 254n S T A T U S55n T R S T56T M S57I / O 3 358I / O 3 459I / O 3 560I / O 3 661I / O 3 762V C C I N T63I / O 3 864I / O 3 965I / O 4 066I / O 4 167G N D I N T68I N T I _ D O N E69I / O 4 2 / R D Y n B S Y70I / O 4 371I / O 4 472I / O 4 5 / C L K U S R73T D O74nCEO75CONF76TCK77I/O46/nCS78I/O47/CS79I/O48/nWS80I/O49/nRS81GNDINT82DEV_OE83IN484GCLCK11IN12DEV_OE3VCCINT4I/O0/DATA75I/O1/DATA66I/O2/DATA57I/O3/DATA48I/O4/DATA39I/O5/DATA210I/O6/DATA111D A T A 012D C L K13n C E14T D I15I / O 716I / O 817I / O 918I / O 1 019V C C I N T20I / O 1 121I / O 1 222I / O 1 323I / O 1 424I / O 1 525G N D I N T26I / O 1 627I / O 1 728I / O 1 829I / O 1 930M S E L 031M S E L 132VCCINT33nCONFIG34I/O2035I/O2136I/O2237I/O2338I/O2439VCCINT40GNDINT41IN242GCLK243IN344VCCINT45GNDINT46I/O2547I/O2648I/O2749I/O2850I/O2951I/O3052I/O3153A L T E R AE P F1 0 K 1 0 L C8 4FL E X8 4 P I N P L CC 邵陽學(xué)院畢業(yè)設(shè)計(jì) ( 論文 ) 19 ( 3) FPGA 的配置有多種方式,每種配置方式是由 FPGA 芯片上特殊功能引腳決定的, FPGA 配置引腳功能如下: MSEL0、 MSEL1:輸入, ( 0, 0)為串行 配置 或使用 配置 器件模式;( 1, 0)為并行同步模式;( 1, 1)為并行異步模式。 PS 被動(dòng)串行模式( MSEL1=0、 MSEL0=0), PPS 被動(dòng)并行同步模式 ( MSEL1= MSEL0=0) , PSA 被動(dòng)串行異步模式( MSEL1= MSEL0=0),PPA 被動(dòng)并行異步模式 ( MSEL1= MSEL0=1), JTAG 模式 ( MSEL1=0、MSEL0=0) 。如 ALTERA 的 ByteBlaster( MV) 并行下載電纜,連接 PC 機(jī)的并行打印口和需要編程或配置的器件,并與 MAX+PlusII 配合可以對(duì) ALTERA 公司的多種 CPLD、 FPGA進(jìn)行配置或編程。 由式 (24)的幅頻特性,可得到圖 (22)一階低通濾波器的幅 頻特性曲線,由圖 (23)所示的幅頻特性曲線可知,一階低通濾波器的缺點(diǎn)是 :阻帶特性衰減太慢,一般為 20dB/10out,所以這種電路只適用于對(duì)濾波特性要求不高的場(chǎng)合。隨著電子技術(shù) 、集成電路技術(shù)的迅速發(fā)展,集成有源濾波器在許多領(lǐng)域得到廣泛應(yīng)用。 refU 為參考電壓,一般在 0~ +10V 范圍,由穩(wěn)壓電源提供。對(duì)應(yīng)的引腳功 能如圖 : 圖 DAC0832 引腳排列圖 數(shù)字量輸入線 70~DIDI 常和 CPU 數(shù)據(jù)總路線相連,用于輸入 CPU 送來的待轉(zhuǎn)換數(shù)字量?!?8 位輸出寄存器”和“ 8 位 DAC 寄存器”用以實(shí)現(xiàn)兩次緩沖,這樣可以提高轉(zhuǎn)換速 。)穩(wěn)幅電路主要是將DAC0832 的輸出電流轉(zhuǎn)變?yōu)檩敵鲭妷海瑸闉V波電路提供電壓信號(hào)。由次可見,該方案更具有可行性,而且能很好地體現(xiàn)技術(shù)的先進(jìn)性。缺點(diǎn)是生成的波形單一,幅度和頻率固定,生成的波形不能滿足生產(chǎn)的需要,已 經(jīng)逐漸被淘汰。由送入地址依次讀取數(shù)據(jù),所以通過 DAC轉(zhuǎn)換是離散的信號(hào),這就是從集成運(yùn)放輸出的波形是由很多點(diǎn)組成的原因。地址發(fā)生器是 向 ROM送一定順序的地址 數(shù)據(jù) 來實(shí)現(xiàn)的,每一個(gè)新的時(shí)鐘到來時(shí)提供一個(gè)新的地址 (這里指采樣時(shí)鐘 )。波形數(shù) 用數(shù)字形式存儲(chǔ)在 ROM當(dāng)中,通過 D/A將一個(gè)數(shù)字量轉(zhuǎn)換成模擬量。 ( 4) 波形存儲(chǔ)器 有相位累加器輸出的數(shù)據(jù)作為波形存儲(chǔ)器的詳細(xì)地址,進(jìn)行波形的相位 — 幅值轉(zhuǎn)換,即可在給定的時(shí)間上確定輸出的波形的抽樣幅值。 每來一個(gè)時(shí)鐘脈沖 cf ,加法器將頻率控制字 K與寄存器輸出的累加相位數(shù)據(jù)相加,再把相加后的結(jié)果送至 寄存器的數(shù)據(jù)輸入端。如圖 。 圖 以 MCU 實(shí)現(xiàn)方案原理圖 此方法產(chǎn)生的信號(hào)頻率范圍、步進(jìn)值取決于所采用的每個(gè)周期的輸出點(diǎn)數(shù)及單片機(jī)執(zhí)行指令的時(shí)間(與單片機(jī)的結(jié)構(gòu)及選用的晶體振蕩器等有關(guān))。 如圖 集成運(yùn)放 RC相移式正弦波振蕩器的電路原理圖 。只要改變 FPGA 中查找表數(shù)據(jù)就可以產(chǎn)生任意波形,因而具有相當(dāng)大的靈活性。 傳統(tǒng)的信號(hào)發(fā)生器采用模擬電路技術(shù),由分立元件構(gòu)成振蕩電路和整形電路,產(chǎn)生各種波形。文章中的波形數(shù)據(jù)是從 Matlab 中獲取 ,波形發(fā)生器的開發(fā)是基于 EDA 開發(fā)平臺(tái)上, 借助MaxplusⅡ 軟件, 實(shí)現(xiàn) 了 波形 電路 VHDL 描述和仿真,最終通過硬件驗(yàn)證。 Abstract The profile generator is one kind of monly used metering equipment, with wide application in the field of scientific research, manufacture and teaching. The article in studying the domestic and foreign profiles generator in the foundation, proposed based on the FPGA profile generator design proposal, and in detail introduced the profile generator position, the circuit design and the VHDL hardware description. In the