国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于硬件邏輯語言的簡單計時器設(shè)計

2023-06-10 09:25:39闞子楊劉蕭鳴趙鶴煜涂振華孫赫陽姜紹君
電腦知識與技術(shù) 2023年12期
關(guān)鍵詞:計時器

闞子楊 劉蕭鳴 趙鶴煜 涂振華 孫赫陽 姜紹君

關(guān)鍵詞:FPGA;Verilog HDL;Quartus II;計時器

中圖分類號:TP311 文獻標(biāo)識碼:B

文章編號:1009-3044(2023)12-0089-03

可控計時器在日常生活中有著廣泛的應(yīng)用,例如交通燈信號控制,競賽倒計時,考試計時器等各個方面,如何快速準(zhǔn)確計時,且不出現(xiàn)誤差,就需要通過精確的儀器來計時?;贔PGA的硬件邏輯編程語言實現(xiàn)計時器設(shè)計,可以準(zhǔn)確地進行30秒的計時功能并顯示,減少人類短時計時的時間誤差。

1 設(shè)計

1.1 實現(xiàn)功能

1) 具有30秒計時,顯示功能,計時間隔為1秒。

2) 調(diào)整外部開關(guān),控制計時器直接清零,裝數(shù),啟動和保持(暫停)功能。

3) 計時器遞減到0時候顯示器不能滅燈,同時發(fā)出報警信號(報警燈亮起)。

4) 能夠解除警報。

5) 引腳說明:

輸入信號:時鐘CPA、直接清零CR、預(yù)置LD及減計數(shù)使能S。

輸出信號:QH[3..0]、QL[3..0](余3碼)和報警信號L。

1.2 原理

1.2.1 設(shè)計基礎(chǔ)

FPGA(Field Programmable Gate Array) ,完整形式是現(xiàn)場可編程邏輯門陣列,是一種電子設(shè)備,用于執(zhí)行任何(數(shù)字)邏輯功能或數(shù)字電路的硬件實現(xiàn);是在傳統(tǒng)邏輯電路和門陣列PAL、GAL,CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物[1]。FPGA最大的特點是它們是現(xiàn)場可編程的,這意味著它們在制造出來后,可以由客戶根據(jù)自己的要求在現(xiàn)場重新編程,優(yōu)點是可重復(fù)編程且低功耗。

Verilog HDL 是一種硬件描述語言,語法與C 接近,但Verilog語言是硬件設(shè)計語言,與C實質(zhì)不同,用于多層次的數(shù)字系統(tǒng)建模,代碼對應(yīng)硬件實體[2]。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進行時序建模。

Quartus,是Altera公司推出的綜合性CPLD/FPGA開發(fā)設(shè)計軟件,一種可編程邏輯的開發(fā)設(shè)計環(huán)境,軟件支持原理圖、VHDL、Verilong HDL等多種輸入形式,以及自帶仿真器,可以進行波形,原理圖以及頂層文件等設(shè)計繪制和仿真,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。(——引用于百度百科詞條)

DE2_115開發(fā)板,核心是FPGA芯片,存儲芯片3 種,IO口配置分別為4個按鈕,18個開關(guān),18個RED- LED,9個GREEN-LED,8個七段數(shù)碼管,32字符液晶顯示屏;且含有標(biāo)準(zhǔn)接口:通用串行總線USB控制模塊以及A、B型接口,2個以太網(wǎng)絡(luò)適配器,RS-232標(biāo)準(zhǔn)串口,PS/2鍵盤接口;其他:50M晶振,支持外部時鐘,外接IO,1個連接器[3]。

1.2.2 設(shè)計原理

系統(tǒng)的核心部分是30秒可控遞減計時器,由外部開關(guān)按鍵進行清零(CR) ,直接控制遞減計時器的復(fù)位以及解除報警;預(yù)置鍵LD=0有效,當(dāng)可控計時器調(diào)至30秒時,輸出信號高四位QH[3..0]和低四位QL[3..0]分別為0110、0011(余3碼),說明可控計時器實現(xiàn)了置數(shù)功能;S為啟動和保持(暫停)按鍵,當(dāng)S=1時用于遞減計時器啟動時,當(dāng)S=0時用于保持(暫停)[4]。

2 總體設(shè)計

總體設(shè)計框圖,如圖1所示。

框圖包括10分頻器,30秒可控遞減計時器及報警電路。30秒可控遞減計時器是整個系統(tǒng)的核心部分,S=0時候用于暫?;蛘弑3?,S=1時候正常使用;當(dāng)輸入清零信號(CR) =1,可以直接控制遞減計時器的復(fù)位和接觸報警(L=0) 功能;一個數(shù)字系統(tǒng)中往往需要多種頻率的時鐘脈沖作為驅(qū)動源,這樣就需要對FPGA的系統(tǒng)時鐘(頻率較高)進行分頻,框圖中的分頻器的功能是為了對多種頻率進行分頻,提高控制精度,減小時間計時誤差。

3 硬件設(shè)計

3.1 框圖頂層文件

設(shè)計遵循最優(yōu)解原則,將代碼極簡,輸入,分頻,顯示,控制函數(shù)都編程在一個工程文件下,再建立頂層文件放在一個目錄下,畫圖編輯,建立Vector Wave? form file進行實驗仿真[5]??驁D頂層文件,如圖2所示。

3.2 模塊設(shè)計

分頻器和30可控遞減計時器模塊主要實現(xiàn)的是數(shù)字從30秒開始每秒進行減一的功能,首先撥動CR 清零后,就可以直接啟動分頻已經(jīng)計時功能,數(shù)字將會在30秒遞減,也可以時間暫停和開始等功能。

顯示器模塊主要是顯示30秒的遞減的實現(xiàn)結(jié)果,當(dāng)與之相對應(yīng)的快關(guān)撥動時,可以在顯示器上看到數(shù)字的跳動、停止和重置等功能。

筆者在這里選擇使用DE2_115 開發(fā)板進行仿真。在DE2_115 開發(fā)板上進行仿真,可以更加直觀地觀測實物。其中分頻器使用的是開發(fā)板自帶的晶振分頻,數(shù)字顯示模塊使用的是兩位八段譯碼管,控制模塊則使用觸發(fā)開關(guān),其余功能使用發(fā)光二極管表示。

4 仿真

CPA為時鐘定時50MHz,S為啟動暫停,CR為清零,S設(shè)置為高電平代表為啟動,整個電路繼續(xù)進行CR為高電平跳變觸發(fā),CPA、CPB設(shè)置時鐘頻率[5],當(dāng)暫停、清零以及數(shù)字30秒時L為報警電路跳變?yōu)楦唠娖?,對?yīng)的發(fā)光二極管開始工作。

為了測試計時器的功能是否正常,我們可以控制S=0或者1,來觀察可控計時器能否正常遞減計數(shù),當(dāng)計數(shù)器遞減至0的時候能否發(fā)出報警信號L是否為1。當(dāng)輸入清零(CR)低電平信號時,直接復(fù)位并解除報警,實現(xiàn)功能。

其仿真圖如圖3所示。

通過仿真波形圖可以看出,當(dāng)30秒可控計時器正常運行時,預(yù)置按鍵LD=0有效,當(dāng)計時器調(diào)為30秒時,輸出信號高四位QH[3..0]和低四位QL[3..0]分別為0110、0011(余3碼),即實現(xiàn)置數(shù)功能;啟動和保持(暫停)按鍵為S,當(dāng)S=1高電平的時,用于遞減計(啟動)時,當(dāng)S=0低電平時用于保持(暫停)[6]。

5 下載驗證

本次使用DE2_115開發(fā)板進行下載仿真驗證,各位讀者可以進行參考本次驗證,由于實驗的偶然性,本次實驗不排除有錯誤的情況。

首先使用Quartus||軟件中的Assignments—pins功能為工程圖分配管腳,此處附上管腳分配圖如圖4~圖7所示。

CPA分配表D.4.1時鐘輸入的引腳分配CLOCK_50;S、CP、LD分配表D.1.1觸發(fā)丌關(guān)引腳分配SW[0]、SW[1]、SW[2];L、CPB分配表D.1.3LED的引腳分配LEDR[0]、LEDR[1];QL[6..0]分配表D.1.9七段數(shù)據(jù)管的引腳HEX[0-6]; QH[6..0]分配表HEX1[0-6],如圖8所示。

使用USB數(shù)據(jù)線和電源線連接開發(fā)板,再使用軟件的Programmer功能Hardware Setup,將Currently se? lected hardware 搜索USB數(shù)據(jù)線配置,最后點擊start 進行下載,最后在開發(fā)板上進行驗證操作。

演示驗證狀態(tài)如下所示:實現(xiàn)了以下功能:

1)具有30秒計時,顯示功能,計時間隔為1秒,如圖9所示。

2)計時器遞減到0時候顯示器不能滅燈,同時發(fā)出報警信號(報警燈亮起),如圖10 所示。

3)調(diào)整外部開關(guān),控制計時器直接清零,裝數(shù),啟動和保持(暫停)功能,如圖11所示。

6 總結(jié)

本文采用了分塊設(shè)計的思想設(shè)計了簡單計時器,通過對FPGA的了解學(xué)習(xí),進一步熟悉和掌握了Quartus II軟件的使用方法,現(xiàn)能夠利用Verilog HDL 語言設(shè)計簡單數(shù)字電路系統(tǒng),本文分別設(shè)計了分頻模塊,遞減計時模塊,報警模塊,且通過軟件進行波形仿真對比,對結(jié)果進行驗證。經(jīng)過反復(fù)修改與驗證后,最終實現(xiàn)了所需功能,使30秒可控計時器能夠正常使用。

猜你喜歡
計時器
成語填字
松鼠的計時器
超高精度計時器——原子鐘
基于ARM內(nèi)核的計時器設(shè)計
抗繆勒氏管激素:卵巢功能的計時器!
媽媽寶寶(2017年2期)2017-02-21 01:21:22
豎向固定電火花打點計時器的技巧
抚顺县| 即墨市| 怀远县| 深圳市| 石渠县| 招远市| 红河县| 兴文县| 永泰县| 南岸区| 顺昌县| 贵南县| 合肥市| 赤城县| 长泰县| 米林县| 新宾| 辛集市| 山西省| 正定县| 霍林郭勒市| 邓州市| 扶沟县| 聂荣县| 玛纳斯县| 镇康县| 安化县| 定安县| 略阳县| 五常市| 广灵县| 宝丰县| 镇坪县| 北辰区| 青阳县| 雷州市| 周至县| 涞源县| 乌拉特中旗| 永修县| 政和县|