EDA課程設計-計步器_第1頁
EDA課程設計-計步器_第2頁
EDA課程設計-計步器_第3頁
EDA課程設計-計步器_第4頁
EDA課程設計-計步器_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、信息科學與技術學院EDA技術使用教程課程設計報告題目名稱: 計步器設計 學生姓名: 盧 霞 學 號: 2012508179 專業(yè)年級: 電信2012級 2班 指導教師: 張銳敏老師 時 間: 2015年1月3日 目錄三、設計內(nèi)容33.1系統(tǒng)分析33.2方案設計43.3電路模塊選擇43.3.1檢測上升沿模塊53.3.2計數(shù)模塊63.3.3掃描輸出模塊73.3.4輸入輸出信號模塊9四、程序設計9五、仿真結果145.1仿真截圖145.2結果分析15六、遇到的問題15七、設計心得16八、參考文獻18計步器的設置一、 設計背景從我國的電子計步器市場發(fā)展來看,近幾年隨著行業(yè)需求市場的進一步增長,電子計步器

2、呈現(xiàn)良好的發(fā)展態(tài)勢。而隨著人民生活水平的逐步提高,大家更加注重身體健康,鍛煉在日常生活中顯得尤為重要,而計步器就成為了大家比較青睞的鍛煉伙伴。此次交計步器的設計采用基于Verilog HDL語言和FPGA的方法來實現(xiàn)所要求的功能?;贔PGA的計步器設計方法具有設計的靈活性,易于修改,設計周期短等縱多優(yōu)點。隨著設計語言、電子設計自動化和FPGA期間的不斷發(fā)展,基于FPGA期間的不斷完善和發(fā)展。在不遠的將來。由FPGA設計的產(chǎn)品將越來越普遍。二、 設計要求通過對設計的模塊劃分,以及各模塊功能的定義,以FPGA為核心器件,用VHDL設計手段制作、用硬件描述性語言編寫程序?qū)崿F(xiàn)設計中各個模塊的基本功能

3、,完成其功能仿真和編譯并生成底層模塊,在Quartus中完成頂層設計并編譯通過,完成設計下載并調(diào)試電路。1)系統(tǒng)時鐘1MHz;2)擁有計步、暫停、清零(復位)功能;3)輸入端每進入一個計步脈沖(可能存在抖動),步數(shù)計數(shù)+1,計步結果以十進制數(shù)顯示在數(shù)碼管上;4)點下暫停鍵,計數(shù)停止,并有信號控制指示燈閃爍,閃爍周期1s;再次點擊暫停鍵,繼續(xù)計數(shù),指示燈停止閃爍;5)點下清零鍵,計數(shù)歸零;6)要求能夠?qū)τ嫴矫}沖和按鍵的抖動進行正確處理,2ms以內(nèi)的變化忽略不計;7)持續(xù)10s無計數(shù)脈沖后,自動轉(zhuǎn)入暫停狀態(tài),計數(shù)停止,并有信號控制指示燈閃爍,閃爍周期1s;再次點擊暫停鍵,繼續(xù)計數(shù),指示燈停止閃爍;

4、三、 設計內(nèi)容3.1系統(tǒng)分析本實驗設計完成一個電路來檢測目標運動的次數(shù),并在數(shù)碼管上顯示。用傳感器檢測抖動信號,采集到的信號經(jīng)過放大器放大 ,將信號轉(zhuǎn)變成方波,編程將信號在 FPGA 方式處理,并將結果送數(shù)碼管顯示。3.2方案設計 根據(jù)設計要求和系統(tǒng)所具有功能,并參考相關的文獻資料經(jīng)行方案設計畫出如下所示的計步器系統(tǒng)框圖,及為設計的總體方案,框圖如下圖所示3.3電路模塊選擇本設計因為各個模塊功能簡單,故直接用內(nèi)部信號線連接起來形成一個整體,但是各模塊功能簡單介紹如下:3.3.1檢測上升沿模塊DIN為實際檢測到的抖動信號,通過和D觸發(fā)器的配合形成計數(shù)模塊的使能端信號控制計數(shù)器的計數(shù)過程。libr

5、ary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_UNSIGNED.all;entity jibuqi isport (din : in std_logic;clk : in std_logic;reset: in std_logic;light:out std_logic_vector(7 downto 0);en_out:out std_logic_vector(7 downto 0);end jibuqi;part1:process(clk,reset)-D 觸發(fā)器beginif (reset=0) thenb1=0;elsi

6、f (clkevent and clk=1) thenb1=din;end if;end process ;3.3.2計數(shù)模塊當使能信號EN為1時,通過檢測上升沿信號實現(xiàn)計數(shù),并將計數(shù)信息保存在b5,b6變量內(nèi),b5為計數(shù)個位值,b6為計數(shù)十位值。part3: process(clk,reset,b4)- 計數(shù)器模塊beginif (reset=0) thenb50) ;b60);elsif (clkevent and clk=1) thenif (b4=1) thenif (b51001)then b51000) then b50);if (b61001)then b61000)then b

7、60);end if;end if;elsif (b4=0) thenb5=b5;b6=b6;end if;end if;end process;3.3.3掃描輸出模塊掃描輸出模塊主要由分頻器構成,通過計數(shù)器構成的分頻器控制電平翻轉(zhuǎn)控制位的選擇,以此確定輸出十位和個位。part4:process(clk,reset)- 掃描輸出模塊,控制使能輸出beginif (reset=0) thenb80);elsif (clkevent and clk=1) thenif (b81111111111111111) thenb81111111111111110) then b80);end if;end

8、 if;if (b80111111111111111 and b81111111111111111) then b9=1 ;elsif (b80000000000000000) then b9=0;end if;if (b9=1) then en_out=11111101;elsif (b9=0) then en_out=11111110;end if;end process ;part5:process(b9,b5,b6)- 掃描輸出模塊,控制 LED 管beginif (b9=0) then plays=b5;elsif (b9=1) then playslightlightlightli

9、ghtlightlightlightlightlightlightlight=11111111;end case;end process ;end Behavioral;3.3.4輸入輸出信號模塊din,clk,Reset為輸入信號,din為抖動信號,即人體運動時的計步信號,clk為時鐘脈沖信號為計數(shù)器提供時鐘脈沖,Reset為復位信號,實現(xiàn)計步器復位(清零)。En,dout(light)為輸出信號,En_out為選擇顯示十位還是個位,dout為計數(shù)值,并編碼顯示在數(shù)碼管上。四、 程序設計一個完整的VHDL語言程序通常包括實體(Entity)、結構體、配置、包集合(Package)和庫(Lib

10、rary)5個部分組成。下面為此次課程設計的源代碼。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_UNSIGNED.all;entity jibuqi isport (din : in std_logic;clk : in std_logic;reset: in std_logic;light:out std_logic_vector(7 downto 0);en_out:out std_logic_vector(7 downto 0);end jibuqi;architecture Behavioral of jibu

11、qi issignal b1,b4,b9:std_logic;- 中間變量signal b8:std_logic_vector(15 downto 0);- 分頻signal b5,b6:std_logic_vector(3 downto 0);- 計數(shù)輸出個位與十位signal plays:std_logic_vector(3 downto 0);- 選擇十位或個位beginpart1:process(clk,reset)-D 觸發(fā)器beginif (reset=0) thenb1=0;elsif (clkevent and clk=1) thenb1=din;end if;end proc

12、ess ;part2: process(b1,din)- 比較器與門后輸出beginif ( b1=0 and din=1 ) then b4=1 ;else b4=0;end if;end process;part3: process(clk,reset,b4)- 計數(shù)器模塊beginif (reset=0) thenb50) ;b60);elsif (clkevent and clk=1) thenif (b4=1) thenif (b51001)then b51000) then b50);if (b61001)then b61000)then b60);end if;end if;el

13、sif (b4=0) thenb5=b5;b6=b6;end if;end if;end process;part4:process(clk,reset)- 掃描輸出模塊,控制使能輸出beginif (reset=0) thenb80);elsif (clkevent and clk=1) thenif (b81111111111111111) thenb81111111111111110) then b80);end if;end if;if (b80111111111111111 and b81111111111111111) then b9=1 ;elsif (b800000000000

14、00000) then b9=0;end if;if (b9=1) then en_out=11111101;elsif (b9=0) then en_out=11111110;end if;end process ;part5:process(b9,b5,b6)- 掃描輸出模塊,控制 LED 管beginif (b9=0) then plays=b5;elsif (b9=1) then playslightlightlightlightlightlightlightlightlightlightlight=11111111;end case;end process ;end Behavior

15、al;五、 仿真結果5.1仿真截圖 利用uartusII軟件對本程序進行編譯,生成了可以進行仿真定時分析以及下載到可編程器件的相關文件。仿真結果如圖所示設置好的vwf仿真激勵波形文件圖仿真輸出波形報告5.2結果分析通過設定Clk值以及din和Reset的初值,就可以得到如上所示的仿真波形圖。由仿真波形圖可以看出波形是由din初值信號觸發(fā)而顯示出各個狀態(tài)的。Reset高電平信號輸入時,對應en_out選定位選顯示對應計數(shù)值。六、 遇到的問題1、 問題首先出現(xiàn)在Quartus軟件的應用上,一開始把文件名取名為漢字名“計步器”,出現(xiàn)錯誤,后來知道,文件必須保存在英文文件夾下。2、 一開始沒有注意到程

16、序文件保存時要保存成實體名,VHD的形式,在編譯時出錯。3、 在寫程序的時候會輸錯部分關鍵字或漏掉一些小的標點之類的,導致編譯不通過,需要經(jīng)過反復查找,所以,覺得在輸入程序時就應注意細節(jié),提高一次正確率,避免一些不必要的小錯誤的發(fā)生,起到事半功倍的效果。4、 在編譯過程中一定要按照步驟,細心仔細的完成每一個選項,在這個部分很容易出錯。如果選項錯誤,那么在時序仿真是會出錯。七、 設計心得通過本次EDA課程設計,由于我們?nèi)D書館查閱了很多書籍,因此獲得了很多知識,同時也發(fā)現(xiàn)了自己的很多不足,由于課程設計的時間緊迫,有些瑕疵和漏洞還沒有進一步完善。但是通過這幾天的學習,我還是發(fā)現(xiàn)了很多知識上的漏洞,

17、同時也看到了自己的動手能力還是比較缺乏、獨立思考的意識還不強、理論聯(lián)系實際的能力還急需提高。正是這次課程設計讓我學到了很多,我總是想著能動嘴就不動手,因此在實踐中總是出現(xiàn)這樣那樣的問題,但是在大家的齊心協(xié)力下,我們不僅鞏固了先前學的EDA技術的理論知識,而且也培養(yǎng)了我們的動手能力,更令我的創(chuàng)造性思維得到拓展。在課程設計中一個人的力量是遠遠不夠的,真正完成任務需要我們團結一心,互相協(xié)作,在此過程中我得到了師哥師姐們以及同組同學的熱心幫助才最終完成了這個題目,我也曾經(jīng)因為實踐經(jīng)驗的缺乏失落過,也曾經(jīng)仿真成功而熱情高漲。在設計過程中,我們應該培養(yǎng)自己的獨立思考、分析問題的能力。通過這次的設計,實現(xiàn)了自己動手實踐。實現(xiàn)了理論與實踐相結合。在課下和同學的交流中,我發(fā)現(xiàn)我們所欠缺的東西真的很多,需要學習的東西更多,只有一直保持積極向上、激情活力的心,有目標、有理想,并不斷為之付出努力,就一定會取得成功。最后,通過這次的課程設計,還有一點是我們做任何事情都無法缺少的,那就是細心認真。此次設計我們就深深地體會到了,由于編程的時候沒有做到足夠的細心,導致一串代碼弄混了。但是密密麻麻的英文字母混在一起,我始終沒有發(fā)現(xiàn)。最終在調(diào)試的時候,

溫馨提示

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

評論

0/150

提交評論