基于FPGA的四路搶答器設計_第1頁
基于FPGA的四路搶答器設計_第2頁
基于FPGA的四路搶答器設計_第3頁
基于FPGA的四路搶答器設計_第4頁
基于FPGA的四路搶答器設計_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、桂林電子科技大學 基于FPGA的四路搶答器設計摘 要本文介紹了以FPGA為基礎的四路搶答器的設計,此次設計是一個有4組搶答輸入,并具有搶答計時控制,按鍵消抖以及積分顯示等功能的通用型搶答器。主持人有4個按鍵控制,可以進行開始搶答,對各搶答小組成績進行相應加減操作以及所有積分重置。此次設計程序使用verilog語言編寫,并且使用modelsim進行相關仿真,最后在FPGA開發(fā)板上燒錄程序進行實際操作演示實現(xiàn)了相應功能,達到了此次設計的目的。本設計采用FPGA來做增強了時序控制的靈活性,同時由于FPGA的IO端口資源豐富,可以再本設計基礎上稍加修改可以重復設計出具有多組輸入的搶答器。關鍵字:按鍵消

2、抖;顯示;仿真;四路搶答;AbstractIn this paper, the design of four channel responder based on FPGA is proposed. The design contains four channel input, and also it has timing function, button-stop-shaking function, score display function. And the result of the design is a universal responder. The host has four

3、buttons to control, in order to start response, add or sub the scores for each group and clear all group scores. The design program uses verilog language to write software. And modelsim is used to simulate the function on computer. At last the actual design results are demonstrated on the FPGA devel

4、opment board, and the functions are well veified. The result achieves the purpose of the design. The design uses FPGA to enhance the flexibility of timing control. At the same time because of IO port resoures in FPGA are much rich, if you want to design more channels responder, you just only repeat

5、design on the basic of the design which is slightly modified.Keywords: button-stop-shaking; display; simulate; four channel responder;目 錄1引言42FPGA原理及其相關工具軟件的介紹52.1FPGA開發(fā)過程與應用52.1.1FPGA發(fā)展歷程及現(xiàn)狀52.1.2FPGA工作原理62.1.3FPGA開發(fā)流程62.2Quartus II軟件72.3Simulink軟件82.3.1代碼仿真82.3.2門級仿真和時序仿真93實驗步驟及仿真調試結果93.1功能描述及設計架構

6、93.2搶答器程序流程圖和各模塊軟件代碼分析103.2.1搶答器程序結構及主程序流程圖103.2.2主控制及按鍵輸入模塊123.2.3計時模塊143.2.4BCD顯示模塊143.3頂層模塊連線及開發(fā)板硬件配置153.4modelsim仿真194結論21謝 辭22參考文獻231 引言隨著電子技術的發(fā)展,現(xiàn)在的搶答器功能越來越強,可靠性和準確性也越來越高。能夠實現(xiàn)搶答器功能的方式有多種,可以采用前期的模擬電路、數(shù)字電路或模擬與數(shù)字電路相結合的方式,但這種方式制作過程復雜,而且準確性與可靠性不高,成品面積大。對于目前搶答器的功能描述,如涵蓋搶答器、搶答限時、選手答題計時及犯規(guī)組號搶答器具有搶答自鎖,

7、燈光指示、暫停復位、電子音樂報聲、自動定時等功能,還有工作模式的切換和時間設定,對于這些,隨著科學技術的發(fā)展,肯定還要得到進一步的改進。一般都要趨向于智能化。在各類競賽中,特別是做搶答題時,在搶答過程中,為了知道哪一組或哪一名選手先答題,必須要有一個系統(tǒng)來完成這個任務。如果在搶答過程中,只靠人的視覺是很難判斷出哪組先答題。利用FPGA來設計搶答器,使以上問題得以解決,即使有兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。搶答器是一種應用非常廣泛的設備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發(fā)言權的選手。早期的搶答器只由幾個三極管、可控硅、發(fā)光管等組成, 能通過發(fā)光管的指示辨認

8、出選手號碼。現(xiàn)在大多數(shù)搶答器均使用高速處理芯片和數(shù)字集成電路,從開始的單片機到現(xiàn)在的ARM或者FPGA控制,并越來越走向成熟,同時增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計時、選手得分顯示功能。像這類搶答器,制作過程簡單,準確性與可靠性高,而且安裝維護簡單。對于搶答器的應用,如早期的數(shù)字電路,隨著科技的逐步發(fā)展,進而到了單片機以及更高的FPGA或ARM的控制來實現(xiàn)其功能,而且功能齊全,電路簡單,成本低,性能高,真正朝著有利的方向發(fā)展。2 FPGA原理及其相關工具軟件的介紹2.1 FPGA開發(fā)過程與應用隨著現(xiàn)場可編程邏輯器件越來越高的集成度,加上不斷出現(xiàn)的I/O標準、嵌入功能、高級時鐘

9、管理的支持,使得現(xiàn)場可編程邏輯器越來越廣泛。2.1.1 FPGA發(fā)展歷程及現(xiàn)狀從Xilinx公司推出了世界上第一片F(xiàn)PGA(現(xiàn)場可編程邏輯芯片),F(xiàn)PGA已經(jīng)歷幾十年的發(fā)展。從最初的一千多可利用門,發(fā)展到90年代的幾十萬個可利用門,到十一世紀又陸續(xù)推出了幾千萬門的單片F(xiàn)PGA芯片。FPGA使用靈活,適用性強,特別適用于復雜邏輯的設計,有利用電子系統(tǒng)小型化,而且其開發(fā)周期短、開發(fā)投入少、芯片價格不斷降低,促使FPGA越來越多地取代了ASIC的市場。2.1.2 FPGA工作原理FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括可配置邏輯模塊CLB(Confi

10、gurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有: 1)采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3)FPGA內部有豐富的觸發(fā)器和IO引腳。 4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。 5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 FPGA是由存

11、放在片內RAM中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內部邏輯關系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.1.3 FPGA開發(fā)流程FPGA開發(fā)流程可以分為如下幾步:設計輸入,

12、設計輸入主要包括原理圖輸入、狀態(tài)圖輸入、波形圖輸入以及某種硬件描述語言,比如說是VHDL、Verilog的源程序。它是利用這些輸入去描述一個電路的功能。功能仿真,功能仿真就是利用相關仿真工具對相關電路進行功能級別仿真,也就是說對你的輸入設計的邏輯功能進行相關的模擬測試。在功能上面來了解電路是否能夠達到預期要求。這里的功能仿真純粹是模擬性質的,不會設計的任何具體器件的硬件特性。綜合,綜合就是行為或者功能層次表達的電子系統(tǒng)轉換成低層次門級電路的網(wǎng)表。布局布線,就是將綜合后的網(wǎng)表文件針對某一個具體的目標器件進行邏輯映射。此時應該使用FPGA廠商提供的實現(xiàn)與布局布線工具,根據(jù)所選芯片的型號,進行芯片內

13、部功能單元的實際連接與映射。時序驗證,就是要使得時序仿真過程中,建立與保持時間要符合相關的制約,以便數(shù)據(jù)能被正確的傳輸。使仿真既包含門延時,又包含線延時信息。能較好地反映芯片的實際工作情況。生成SOF等文件,此文件可以通過調試器把它下載到系統(tǒng)中間去。而FPGA設計流程的其他步驟基本上由相關工具去完成,因此只要自己設置好相關參數(shù),不要人為干預太多。而驗證的話就需要用戶花費大量的時間去完成。2.2 Quartus II軟件 此次所使用的軟件是Quartus II9.0,編程語音是verilog HDL。Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可

14、編程邏輯器件供應商之一。Quartus II在21世紀初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成設計輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程。Altera的Quartus II 提供了完整的多平臺設計環(huán)境,能滿足各種特定設計的需要,也是單芯片可編程系統(tǒng)(SOPC)設計的綜合性環(huán)境和SOPC開發(fā)的基本設計工具,并為AlteraDSP開發(fā)包進行系統(tǒng)模型設計提供了集成綜合環(huán)境。Quartu

15、s II設計工具完全支持VHDL、Verylog的設計流程,其內部嵌有VHDL、Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接調用這些工具。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結合,可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關鍵EDA工具。Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis

16、 & Synthesis)、適配器(Filter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設計輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)和編輯數(shù)據(jù)接口(Complier Database Interface)等??梢酝ㄟ^選擇Start Complication來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇Complier Tool(Tools 菜單),在Complier Tool 窗口中運行該模塊來啟動編輯器模塊。在Complier Tool 窗口中,

17、可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。圖七中所示的上排是Quartus II編譯設計主控界面,它顯示了Quartus II自動設計的各主要處理環(huán)節(jié)和設計流程,包括設計輸入編輯、設計分析與綜合、適配、編程文件匯編(裝配)、時序參數(shù)提取以及編程下載幾個步驟。在圖七下排的流程框圖,是與上面的Quartus II設計流程相對照的標準的EDA開發(fā)流程。圖一、Quartus II設計流程2.3 Simulink軟件2.3.1 代碼仿真在完成一個設計的代碼編寫工作之后,可以直接對代碼進行仿真,檢測源代碼是否符合功能要求。這時,仿真的對象為HDL代碼,比較直觀,速度比較快,可以進行與軟件相類

18、似的多種手段的調試(如單步執(zhí)行等)。在設計的最初階段發(fā)現(xiàn)問題,可以節(jié)省大量的精力。1設計HDL源代碼:可以使VHDL語言或Verilog語言。2測試激勵代碼:根據(jù)設計要求輸入/輸出的激勵程序,由于不需要進行綜合,書寫具有很大的靈活性。3仿真模型/庫:根據(jù)設計內調用的器件供應商提供的模塊而定,如:FIFO(Altera常用的FIFO有:lpm_fifo /lpm_fifo_dc等)、DPRAM等。2.3.2 門級仿真和時序仿真使用綜合軟件綜合后生成的門級網(wǎng)表或者是實現(xiàn)后生成的門級模型進行仿真,不加入時延文件的仿真就是門級仿真??梢詸z驗綜合后或實現(xiàn)后的功能是否滿足功能要求,其速度比代碼功能仿真要慢

19、,但是比時序仿真要快。在門級仿真的基礎上加入時延文件“.sdf”文件的仿真就是時延仿真。優(yōu)點是:比較真實的反映邏輯的時延與功能,缺點是速度比較慢,如果邏輯比較大,那么需要很長的時間。在這里仿真以Altera的器件為例。利用經(jīng)過綜合布局布線的網(wǎng)表和具有時延信息的反標文件進行仿真,可以比較精確的仿真邏輯的時序是否滿足要求。3 實驗步驟及仿真調試結果3.1 功能描述及設計架構本文設計了一個通用型電子搶答器:有8個按鍵輸入,其中4個按鍵為四組搶答選手的輸入,另4個分別為主持人的開始搶答、加分、減分以及積分重置操作按鍵。有3個BCD數(shù)碼管進行顯示,其中1個顯示搶答者組號,另外2個顯示積分。并有8個LED

20、燈用來提示相應搶答倒計時時間。四組搶答選手,各自可手動按按鈕申請搶答權;回答正確加1 分,回答錯誤減1 分,違規(guī)搶答減1分,不搶答不加分不扣分,各組初始積分為10分。搶答器具體功能如下:1、設置一個搶答控制開關Start,該開關由主持人控制;只有當主持人按下開始鍵才能搶答;在按開始按鈕前搶答屬于違規(guī)。2、搶答器具有定時搶答功能,且一次搶答的時間設定為8 秒。當主持人啟動"開始"鍵后,8個紅色LED燈全亮,每流失一秒,LED燈則熄滅一個,從右到左依次熄滅,直到全部熄滅,若仍沒人搶答則該輪搶答輪空,自動轉到下一輪搶答環(huán)節(jié)。3、搶答器具有鎖存與顯示功能,即選手按動按鈕搶答后,鎖存

21、相應的組號,當主持人分數(shù)加減完畢后,將在3個數(shù)碼管分別顯示所搶答的組號以及該組目前的積分,如果屬于違規(guī)搶答,則直接跳出搶答環(huán)節(jié),直接扣分并顯示相應組號和目前積分,進入下一輪搶答。4、主持人在選手搶答后進入加減分環(huán)節(jié),此時主持人可使用2個按鍵中的其中一個,一個按鍵用來加分,一個按鍵用來減分,主持人可選擇加、減或者不操作,此環(huán)節(jié)一樣為計時環(huán)節(jié),倒計時時間為5秒,當5秒過后主持人未進行操作,則判定這次搶答為既不加分也不減分。加減分倒計時通過5個紅色LED燈進行顯示,當有人按下?lián)尨鸷螅?個LED燈全亮,每過1秒,則熄滅一個,從左到右,直到全部熄滅。本設計以FPGA 為基礎設計的電子搶答器,根據(jù)設計功

22、能要求,該設計主要包括搶答輸入鍵盤,數(shù)碼管顯示,LED燈顯示及FPGA 最小系統(tǒng)。搶答器結構框圖如下圖所示:FPGA時鐘信號按鍵輸入電路數(shù)碼管顯示電路LED計時顯示電路圖二、搶答器結構框圖其中FPGA 最小系統(tǒng)電路為FPGA 正常工作時的基本電路,由時鐘和復位電路組成。按鍵輸入電路由8個按鍵組成。數(shù)碼管顯示電路由1個8段控制共陰BCD和2個經(jīng)過譯碼后的4位BCD組成。LED計時顯示電路由8個紅色LED燈組成。3.2 搶答器程序流程圖和各模塊軟件代碼分析3.2.1 搶答器程序結構及主程序流程圖軟件設計主要采用verilog HDL 語言進行設計,總體編程思路采用模塊化編程方式,主要分為3個模塊,

23、一個主控制及按鍵輸入模塊,一個LED計時提示模塊,一個搶答組號及積分顯示模塊,分別對這3個子模塊進行獨立編程設計,并生成元件,并在頂層使用電路連線的方式將3個模塊連接起來完成整個設計。主要程序運行方式采用狀態(tài)機的方法來實現(xiàn)對搶答器的各個環(huán)節(jié)的控制。此次所設計的狀態(tài)一共有4個狀態(tài)。第一個狀態(tài)為等待主持人按鍵開始搶答,在此狀態(tài)時會一直檢測按鍵信號,當收到主持人的開始搶答信號進入下一個環(huán)節(jié),如果有人搶答判定為違規(guī)搶答,而直接進入狀態(tài)4進行積分和搶答組號顯示。第二個狀態(tài)為等待4組搶答狀態(tài),在此狀態(tài)時,LED計時顯示模塊將開始顯示搶答計時,如果在規(guī)定時間內有人最先搶答則直接進入下一個狀態(tài),而如果無人搶答

24、,計時時間到后也進入下一個狀態(tài),此狀態(tài)下主持人按除復位鍵以外鍵無效,而按復位鍵則直接返回第一個狀態(tài),并將積分復位。第三個狀態(tài)為主持人加減分狀態(tài),在此狀態(tài)時,LED計時顯示模塊重置并顯示加減分的計時,如果在規(guī)定時間內主持人按下加分或減分則直接進入第四狀態(tài),而無操作計時時間到后也進入下一個狀態(tài),此狀態(tài)下主持人按復位鍵則返回第一狀態(tài)并將積分復位。其他按鍵輸入無效。第四個狀態(tài)對前面狀態(tài)中所獲取的鍵值信號進行處理,更新并保存各組的積分信息,同時將搶答組號和積分發(fā)送給BCD顯示模塊進行顯示,最后自動跳轉回第一狀態(tài)。下圖為主程序運行流程圖:圖三、 主程序流程圖3.2.2 主控制及按鍵輸入模塊此模塊輸入有時鐘

25、信號clk,8個按鍵輸入信號7:0key_in, 加減分計時計完信號score_end,搶答計時計完信號start_end;而輸出有加減分開始計時信號score_begin,搶答開始計時信號start_begin,搶答組積分輸出信號4:0score_value,搶答組組號輸出信號3:0 score_num,復位信號clr。該模塊生成圖如下:圖四、主控制及按鍵輸入模塊框圖此模塊主要實現(xiàn)按鍵輸入和判定,以及狀態(tài)機控制,并與計時模塊進行雙向通信,發(fā)送計時信號和接收計時完成信號,將搶答結果組號和積分信息發(fā)送給BCD顯示模塊進行顯示,其中clr信號對其他模塊進行同步復位。此模塊的按鍵輸入采用了軟件計數(shù)消

26、抖的方法,就是在按鍵按下邊沿信號發(fā)生后,計數(shù)單位開始計數(shù)如果計數(shù)完后按鍵狀態(tài)仍處于按下狀態(tài),則判定有按鍵輸入,否則不做操作。此次設計開發(fā)板上使用的時鐘頻率為20MHz,因此設置計數(shù)最大值為4000000則消抖時間大約在200ms左右,符合消抖延時所需要的時間。此次設計對每個按鍵均設置獨立的消抖計數(shù)單位,如果哪個按鍵的計數(shù)最先完成,則判定該鍵最先按下,并進行相應操作,部分程序如下:if(cnt0<32'd4000000)cnt0=cnt0+1;else /if(cnt3=22'd4000000)begincnt0=32'd0;key_value=8'b001

27、00001;state=3'b011;end按鍵輸入的判斷采用casez語句實現(xiàn),只對按鍵的某一位進行判斷,部分程序如下:casez(key_in) 8'b?0:Begin3.2.3 計時模塊此模塊輸入有時鐘信號clk,搶答開始計時信號start_begin,加減分開始計時信號score_begin,復位信號clr,輸出信號有搶答結束計時信號start_end,加減分結束計時信號score_end,以及8個LED燈顯示控制led_8信號。該模塊生成圖如下:圖五、計時模塊框圖此模塊主要實現(xiàn)當主控模塊發(fā)來搶答開始計時信號后開始搶答計時,計時時間為8秒,并用8個LED燈進行顯示,每次

28、計時時間減少1秒,則一個LED燈熄滅,從右到左,直到8個LED全部熄滅,計時結束返回搶答結束計時信號;當主控模塊發(fā)來加減分開始計時信號后開始加減分計時,計時時間為5秒,并用5個LED燈進行顯示,每次計時減少1秒,則一個LED燈熄滅,從左到右來區(qū)別搶答計時的LED燈提示方式,直到5個LED全部熄滅,計時結束返回加減分結束計時信號。不管在計時過程中還是不計時狀態(tài),如果有收到主控模塊發(fā)來的clr信號,則所有計時停止,重置所有狀態(tài)。計時所使用的方式仍然是通過計數(shù)實現(xiàn),部分程序如下:if(cnt <32'd20000000 )cnt=cnt+32'd1;elsebegincnt=3

29、2'd0;led_8=8'b11111111<<cnt_max1;cnt_max1=cnt_max1+1;end3.2.4 BCD顯示模塊此模塊輸入信號有時鐘信號clk,復位信號clr,搶答組積分信號4:0 score_value,搶答組組號3:0 score_num;輸出信號有組號顯示控制信號7:0 score_disp,積分個位顯示控制信號3:0 addr_l,積分十位顯示控制信號3:0 addr_h。此模塊框圖如下圖:圖六、BCD顯示模塊框圖此模塊實現(xiàn)從主控模塊搶答組的信息并進行顯示,使用一個BCD顯示搶答組的組號,而搶答組積分有兩位,所以進行相應處理,取得積

30、分的個位和十位,并使用2個BCD顯示其積分。當收到主控模塊發(fā)來的clr信號后,3個BCD顯示重置為未顯示狀態(tài)。由于設計開發(fā)板上積分顯示所使用的2個BCD有編碼芯片,所以可以直接輸出值進行顯示,而組號顯示所使用的BCD是直接8段控制,需要進行編碼操作,其部分程序如下:case(score_num)4'd1:score_disp=8'b00000110;4'd2:score_disp=8'b01011011;4'd3:score_disp=8'b01001111;4'd4:score_disp=8'b01100110;default:

31、;endcase3.3 頂層模塊連線及開發(fā)板硬件配置此次設計頂層模塊不是通過程序例化的方式添加子模塊,而是使用電路圖連線的方式,將每個模塊編譯成功后生成的器件圖導入到頂層模塊中,并使用連線直接將各模塊直接連接,并設置整個頂層總模塊的輸入和輸出,其具體連線圖如下:圖七、頂層模塊連線圖此次設計中進行實物驗證的FPGA開發(fā)板所使用芯片型號為CycloneII系列中EP2C5T144,此次設計中主要用到了開發(fā)板上的8個按鍵,8個LED燈以及3個BCD數(shù)碼管,相應硬件引腳對應名稱如下表:引腳名FPGA引腳號相應功能ClkP17給FPGA提供20Mhz時鐘信號K1P57搶答開始按鍵K2P58加分操作按鍵K

32、3P59減分操作按鍵K4P60搶答復位按鍵K5P63一號搶答按鍵K6P64二號搶答按鍵K7P65三號搶答按鍵K8P67四號搶答按鍵LED8P9LED計時顯示1LED7P8LED計時顯示2LED6P7LED計時顯示3LED5P4LED計時顯示4LED4P3LED計時顯示5LED3P144LED計時顯示6LED2P143LED計時顯示7LED1P142LED計時顯示8LEDA-d0P27積分個位BCD數(shù)碼管d0LEDA-d1P43積分個位BCD數(shù)碼管d1LEDA-d2P42積分個位BCD數(shù)碼管d2LEDA-d3P41積分個位BCD數(shù)碼管d3LEDB-d0P40積分十位BCD數(shù)碼管d0LEDB-d1

33、P32積分十位BCD數(shù)碼管d1LEDB-d2P31積分十位BCD數(shù)碼管d2LEDB-d3P30積分十位BCD數(shù)碼管d3LEDC-aP55組號BCD數(shù)碼管a段LEDC-bP53組號BCD數(shù)碼管b段LEDC-cP52組號BCD數(shù)碼管c段LEDC-dP51組號BCD數(shù)碼管d段LEDC-eP48組號BCD數(shù)碼管e段LEDC-fP47組號BCD數(shù)碼管f段LEDC-gP45組號BCD數(shù)碼管g段LEDC-pP44組號BCD數(shù)碼管p段表一、FPGA開發(fā)板對應管腳號及功能表此次設計中clk信號未外接時鐘,而直接由開發(fā)板上的20M晶振提供。按鍵部分電路在未按下狀態(tài)為高電平,按下后為低電平,接法如下圖:圖八、按鍵部

34、分電路8個LED燈直接由高電平驅動,當FPGA的IO輸出高電平時,LED被點亮,輸出低電平則LED熄滅。LEDA和LEDB兩個8段數(shù)碼管里面有編碼芯片,因此輸出4位數(shù)可直接顯示,無需進行編碼,例如輸出1則直接顯示“1”,方便操作。而LEDC數(shù)碼管為共陰數(shù)碼管,它的每一段使用FPGA的一個IO驅動,因此輸出的8位數(shù)為編碼后的數(shù)。LEDC8段數(shù)碼管的每段所在位置及內部電路如圖:圖九、共陰數(shù)碼管段位置分布圖圖十、共陰數(shù)碼管內部結構圖由于此開發(fā)板上有JTAG接口,而沒有AS接口,因此開發(fā)板程序下載方式只有JTAG下載方式。而JTAG下載方式又有兩種,一種掉電后程序就擦除,另一種將程序保存在外部EEPR

35、OM里,進行引導FPGA配置,掉電后程序不會消失。在程序調試時候可以使用掉電式下載,方便查找程序的漏洞,此時下載進FPGA的文件為.sof格式的文件,而如果想將程序固化到開發(fā)板上的EPC存儲器件中,需要將.sof轉換成.jic文件進行下載,此時需要選擇相應的EPC型號,進行下載。此次在固化程序時候發(fā)現(xiàn),開發(fā)板上的EPC型號為EPCS1,程序的大小超過了板子上的EPC容量,因此此次設計不能將程序固化到開發(fā)板上,只能掉電式調試。3.4 modelsim仿真此次設計中clk為20MHz,因此時間周期為50ns,而計時模塊以及按鍵去抖程序的時間都大于200ms,因此仿真時會造成時間差太大,而造成仿真時間太長而不能運行。此時仿真可將計時模塊以及按鍵去抖的計數(shù)值從原先設計的好的值調整到一個較小的數(shù)來讓仿真可以運行,用于查看波形是否正確,實際應用時再還原原先設定的計數(shù)值。此次仿真將計數(shù)值設定為10,整個仿真運行時間為1ms,并且按鍵輸入只設定搶答1的脈沖為1,而其他按鍵脈沖值為0,則此時搶答器處于違規(guī)搶答狀態(tài),每一次搶答環(huán)節(jié)將扣除搶答1組積分1分,直

溫馨提示

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

評論

0/150

提交評論