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

正文內(nèi)容

基于fpga的數(shù)字跑表設計畢業(yè)設計-文庫吧

2024-10-21 16:01 本頁面


【正文】 ECTURE] [ 結構體名 ]; VHDL 中實體的完整格式如下: ENTITY 實體名 IS [ GENERIC (類屬表 )。 ] [ PORT (端口表 )。 ] [ BEGIN 實體語句部分 。] END [ ENTITY ] 實體名 。 它描述了一個系統(tǒng)或者電路的外觀圖。實體中的類屬和端口用來說明所設計的系統(tǒng)或者電路與其它模塊通信的對象。實體語句部分定義實體接口中的公共信息。 5 第三章 跑表的 設計 跑表的方案選擇 方案一: 設計一款基于單片機的數(shù)字跑表。 AT89C51 和 555 定時器結合來完成; ,編輯程序下載、調(diào)試、試運行; 。 方案二: 設計一款基于 FPGA 的數(shù)字跑表。 FPGA 開發(fā)平臺和 Max+plusII 操作平臺來完成 ; ,用軟件仿真運行; 。 方案比較: 相同點:這兩種方案的原理相似都分別由計數(shù)部分、顯示部分組成。都能按照設計要求完成有百分秒計時 功能的數(shù)字跑表。 不同點: 方案一主要是單片機來完成跑表,應用范圍略廣,但考慮到單片機本身的特點,不適合結合比較高端的設備。 方案二應用領域比較廣泛,能結合許多設備,能夠更好、更精確的實現(xiàn)計時功能。 方案采用: 根據(jù)以上方案分析和研究的可行性、價值性和意義性分析,數(shù)字跑表的設計采用方案二。 方案二設計主要由五個主要模塊組成:鍵輸入模塊(主要是消除抖動之類的); 時鐘分頻模塊(輸出為 100Hz 用于計時、 1kHz 用于數(shù)碼管動態(tài)掃描);使能控制模塊(實現(xiàn)開始及暫停功能);計數(shù)器模塊(由模十計數(shù)器和模六計數(shù)器 級聯(lián));顯示控制模塊(包括數(shù)據(jù)選擇和顯示譯碼)。 它是采用 VHDL 語言來設計的跑表系統(tǒng),能通過計算機來完成,從而縮短了系統(tǒng)的開發(fā)時間,提高了系統(tǒng)的工作效率。 其主要特點描述如下: (1)啟 /停功能。在任何情況下只要按復位開關,跑表都會無條件地執(zhí)行復位操作。 6 (2)計時精度高于 秒,內(nèi)部定時時鐘信號頻率采用 1000Hz 的時鐘輸入信號,以 24h 為最長計時周期。 (3)對跑表進行更換電源操作是由系統(tǒng)電源復位電路提供給跑表的電源復位信號來控制跑表的復位操作。 圖 跑表系統(tǒng)的結構框圖 跑表的程序 流程圖 圖 秒計數(shù)進程程序流程圖 開始 CLR=1 SH=5? SL=9 SH=SH+1 MH=0, CN2=1 清零顯示 結束 Y Y Y N N SL=0 N 7 圖 分 計數(shù)進程程序流程圖 頂層設計與 VHDL 源代碼 頂層實體設計及 VHDL 源代碼 在自頂向下的 VHDL 語言設計描述中,第一個應該考慮的是描述頂層信號接口,如圖 所示。 圖 跑表各個模塊的連接關系 VHDL 的系統(tǒng)接口是由實體說明來描述的。下面是跑表頂層實體說明的 VHDL 源代碼。 源代碼 1 CLR=1? SH=5? ML=0 SL=9? MH=MH+1 MH=0 清零顯示 結束 開始 Y Y Y N N N 8 library ieee。 use 。 use 。 use 。 entity stopwatch is port ( reset1 : in std_logic。 on_off : in std_logic。 sysreset : in std_logic。 clk : in std_logic。 choose : out std_logic_vector(7 downto 0)。 segment : out std_logic_vector(6 downto 0))。 end stopwatch。 頂層結構體的設計 因我們通常用的跑表大部分都由按鍵產(chǎn)生的,但這種操作會產(chǎn)生一定的誤差,因為當需要計時的時候你的手按下的速度,和按鍵接觸的速度以及彈簧反應的速度都直接影響計時的精度,因此設計一款消抖同步電路就顯的十分重要。根據(jù)大部分資料的情況,本文采用了最普遍使用的一種消抖同步電路,結構圖如 。 圖 常用消抖同步電路 根據(jù)圖 所示的各個模塊。將各個模塊描述如下: (1) 鍵輸入模塊 復位鍵和開關鍵屬于鍵輸入模塊。這些都是跑表基本的輸入功能按鍵。 9 (2) 時鐘分頻模塊 根據(jù)跑表要求的情況, 用時鐘分頻模塊來進行分頻,已達到各種功能模塊的需求。 (3) 控制模塊 控制模塊是由鍵輸入模塊導入信號,再由相應的程序功能分配相應的操作,從而執(zhí)行相應的動作,已完成所要控制的對象。 (4) 跑表計時模塊 由輸入的控制鍵和時鐘分頻模塊的參考,跑表就根據(jù)分頻數(shù)據(jù)在鍵輸入的命令下開始計時。 (5) 跑表顯示模塊 由了跑表計時模塊的數(shù)據(jù),數(shù)碼管就可以根據(jù)提供的內(nèi)容,將其展現(xiàn)八個 LED 七段數(shù)碼管顯示上。 跑表的各個模塊分析 鍵輸入模塊 因為有抖動的緣故,會產(chǎn)生持續(xù)時間長短和不穩(wěn)定的情況。因此才要在跑表電路中加上一個鍵輸入模塊來減少誤差和抖動現(xiàn)象。鍵輸入模塊的作用就是保證系統(tǒng)能夠撲捉到精確的脈沖,保證每一個脈沖都能夠準確無誤的被記錄下來,從而能使它產(chǎn)生一個寬度為時鐘周期模塊的脈沖,保證時鐘周期模塊的正常讀取。 如 圖 36所示它反映了 開關脈沖 on_off0 的定時關系。 圖 鍵輸入模塊中輸入和輸出信號的關系 從 圖 能 看出:狀態(tài)控制信號 on_off_tmp1 是開關信號 on_off 在時鐘信號 clk1 10 的下降沿進行鎖存的鎖存信號;而狀態(tài)控制信號 tmp2 是 tmp1 在時鐘信號 clk1 的下降沿進行的鎖存信號;控制 信號 on_off_tmp3 是狀態(tài)控制信號 on_off_tmp2 的反相信號;開關脈沖就是時鐘信號 clk控制信號 on_off_tmp控制信號 on_off_tmp3 的邏輯與。 根據(jù) 圖 所示 的定時關系對該鍵輸入模塊進行 VHDL 描述,功能描述如下面源代碼所示。 源代碼 2 library ieee。 use 。 entity keyin is port ( reset : in std_logic。 on_off : in std_logic。 clk : in std_logic。 clk1 : in std_logic。 reset0 : out std_logic。 on_off0 : out std_logic)。 end keyin; architecture rtl of keyin is signal on_off_tmp1 : std_logic; signal on_off_tmp2 : std_logic; signal on_off_tmp3 : std_logic; begin process(clk1) begin if ( clk1’ event and clk1 =’ 0’ ) then on_off_tmp2 = on_off_tmp1。 on_off_tmp1 = on_off。 on_off_tmp3 = not on_off_tmp2。 end if。 end process。 process(clk) 11 begin if ( clk’ event and clk =’ 0’ ) then on_off0 = clk1 and on_off_tmp1 and on_off_tmp3。 end if。 end process。 reset0 = reset。 end rtl。 圖 鍵入模塊 仿真波形 時鐘分頻模塊 分頻模塊的功能就是講一個整的時鐘信號進行分割,分割成時鐘需要的那種頻率。如消除抖動時鐘信號為 25Hz 那么就要對時鐘進行分配,分配給消除抖動電路一個 25Hz的頻率。跑表內(nèi)部也需要定時信號,因此,也要將時鐘信號分配為一個是 100Hz 的時鐘信號.那么就可以對一個 1000Hz 的時鐘進行 10 分頻后得到 100Hz,再將 100Hz 進行 4分頻就得到了 25Hz 了。在本設計中 clk0 是 100Hz 的時鐘信號頻率, clk1 是一個 25Hz的時鐘頻率。 下面用語言來描述 10分頻電 路和 4分頻電路。 源代碼 3 library ieee。 use 。 use 。 use 。 entity clk_div10 is port ( clk : in std_logic。 reset : in std_logic。 12 clk_div : out std_logic)。 end clk_div10。 architecture rtl of clk_div10 is signal count :std_logic_vector (3 downto 0)。 begin process (clk) begin if ( clk’ event and clk =’ 1’ ) then if ( reset = ‘ 1’ ) then count = (others = ’ 0’ )。 elsif ( count = “1001” ) then count = ( others = ‘ 0’ )。 else count = count +1。 end if。 end if。 end process。 process (clk) begin if ( clk’ event and clk =’ 1’ ) then if ( count = “1001” ) then clk_div = ‘ 1’ 。 else clk_div = ‘ 0’ 。 end if。 end if。 end process。 end rtl。 在上面的源代碼中,第一步是將時鐘信號進行了 10 分頻,第二步將時鐘信號進行了 4 分頻。這里得到的 4分頻信號 clk1 與 clk0 相與,所以就得到了一個有效的脈沖為 13 1ms的時鐘信號。 圖 分頻模塊 仿真波形 控制模塊 控制模塊主要就是控制跑表的開始、暫停與停止,以及清零和復位,還有加減鍵的控制。控制模塊主要的功能就是產(chǎn)生跑表的允許信號,這個模塊的輸入信號就是去除抖動后的信號,它還有啟停信號、電源開關信號、內(nèi)部計時信號。 信號的時序關系 如圖 所 示。 圖 輸入和輸出信號的關系 根據(jù) 上面 的時序關系,不難寫出控制模塊的 VHDL 描述??刂颇K的功能描述如源代碼 4所示。 源代碼 4 library ieee。 use 。 14 entity control is port ( sysreset : in std_logic。 reset0 : in std_logic。 on_off0 : in std_logic; clk0 : in std_logic。 enable : out std_logic)。 end control。 architecture rtl of control is sign
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1