基于FPGA方向的大型屏幕顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)1_第1頁(yè)
基于FPGA方向的大型屏幕顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)1_第2頁(yè)
基于FPGA方向的大型屏幕顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)1_第3頁(yè)
基于FPGA方向的大型屏幕顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)1_第4頁(yè)
基于FPGA方向的大型屏幕顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)1_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)基于fpga方向的大型屏幕顯示系統(tǒng)設(shè)計(jì)摘 要主要研究基于altera公司fpga芯片的電子顯示屏的研究,配備相應(yīng)的pc機(jī)軟件,可實(shí)現(xiàn)合攏、開(kāi)簾、上下左右移動(dòng)等顯示形式,并可顯示時(shí)鐘。具體內(nèi)容:1.fpga系統(tǒng)設(shè)計(jì);2.顯示接口電路的設(shè)計(jì);3.時(shí)鐘接口電路的設(shè)計(jì);4. fpga系統(tǒng)與pc機(jī)通訊接口(rs232)的設(shè)計(jì)。fpga控制模塊控制時(shí)鐘模塊、點(diǎn)陣顯示模塊、上位機(jī)通信模塊的協(xié)同工作,并分析、處理接收的數(shù)據(jù)。時(shí)鐘模塊完成對(duì)時(shí)鐘芯片的讀寫(xiě),包括時(shí)鐘初始化和時(shí)鐘信息讀取,最終用數(shù)碼管顯示時(shí)鐘。點(diǎn)陣顯示模塊實(shí)現(xiàn)led點(diǎn)陣的驅(qū)動(dòng)和顯示功能。驅(qū)動(dòng)部分使用移位寄存器74hc

2、595和移位寄存器 74hc164 組成,74hc595 負(fù)責(zé)列掃描數(shù)據(jù),74hc164 負(fù)責(zé)行掃描數(shù)據(jù)。行掃描采用三極管放大電流,加大掃描強(qiáng)度,提高點(diǎn)陣屏亮度。led點(diǎn)陣是由16個(gè)大小為 32mm*32mm 的8*8共陽(yáng)點(diǎn)陣組成16*64 點(diǎn)陣,可以顯示四個(gè)漢字,點(diǎn)陣屏可拆裝,采用圓孔銅排針,連接性能非常好。串口通信部分通過(guò)rs232串口實(shí)現(xiàn)。用戶(hù)可以通過(guò)上位機(jī)軟件發(fā)送待顯示的數(shù)據(jù)給fpga控制系統(tǒng)。采用fpga為核心控制模塊,通過(guò)接收上位機(jī)數(shù)據(jù)控制led點(diǎn)陣顯示信息,同時(shí)通過(guò)鍵盤(pán)來(lái)控制顯示方式,并且在數(shù)碼管上顯示實(shí)時(shí)時(shí)鐘。軟件部分根據(jù)各芯片的時(shí)序圖進(jìn)行模塊編程,消除了競(jìng)爭(zhēng)和冒險(xiǎn)。通過(guò)編程、

3、調(diào)試、仿真、下載正確地實(shí)現(xiàn)了合攏、開(kāi)簾、上下左右移動(dòng)等顯示形式,其硬件系統(tǒng)的實(shí)驗(yàn)驗(yàn)證也獲得了與軟件模擬仿真結(jié)論相吻合的結(jié)果。 關(guān)鍵詞:fpga控制模塊,串行通信電路,led點(diǎn)陣及驅(qū)動(dòng)電路 ,時(shí)鐘模塊abstractthe main research based on alteras fpga chip electronic display, a pc equipped with the appropriate software, can be realized together and open the curtains, move around the display in the form

4、, and can display the clock. specific content: 1.fpga system design; 2 shows the design of the interface circuit; 3 clock interface circuit design; fpga system and pc, the design of the communication interface (rs232). fpga control module controls the clock module, dot matrix display module, the pc

5、communication module to work together and to analyze and process the received data. the clock module clock chip to read and write, including clock initialization and clock information read the final clock with digital display. dot-matrix display module led dot matrix drive and display functions. dri

6、ve using a shift register 74hc595 shift register 74hc164 74hc595 is responsible for column scan data, the 74hc164 is responsible for the line scan data. line scan using current transistor amplifier to increase the scanning strength, improve dot matrix screen brightness. led dot matrix 16 size 32mm *

7、 32mm 8 * 8 common anode dot matrix composed of 16 * 64 dot matrix, you can display four characters, dot matrix screen is removable, round hole copper pin connection performance good. serial communications through the rs232 serial interface. users can use the software to send data to be displayed to

8、 the the fpga control systems. using fpga as the core control module, led dot matrix display is controlled by the host computer receives data through the keyboard at the same time to control the display and digital display real-time clock. software are based in part on the timing diagram of each chi

9、p module programming, eliminating the competition and adventure.programming, debugging, simulation, download the correct close, open curtain, move around the display in the form of the experimental verification of the hardware system is also consistent with the conclusions of software simulation res

10、ults. keywords: fpga control module, serial communication circuit, led dot matrix drive circuit, clock module湖南工業(yè)大學(xué)本科畢業(yè)設(shè)計(jì)(論文)第1章 緒 論 1.1研究現(xiàn)狀 led照明就像是近年來(lái)高速發(fā)展的交通,迅速崛起,近幾年來(lái)年增長(zhǎng)率幾近超過(guò)60%,而隨著led發(fā)光效率的不斷提升,封裝技術(shù)的不斷改進(jìn),驅(qū)動(dòng)能力和壽命的增加,led照明技術(shù)在未來(lái)幾年內(nèi)會(huì)逐漸進(jìn)入千家萬(wàn)戶(hù)。隨著世界各國(guó)環(huán)保議題逐漸重視,led照明產(chǎn)業(yè)頁(yè)將扮演愈來(lái)愈重要的角色,其主要產(chǎn)品是應(yīng)用于室內(nèi)、室外照明以及街燈等高功率

11、產(chǎn)品。據(jù)悉,2009年全球照明市場(chǎng)約1219億美元,而led就占了其中的0.5%,可見(jiàn)其有一個(gè)很好的發(fā)展前景。其中,又以亞太地區(qū)的市場(chǎng)規(guī)模最大,約占全球比例的33.7%,其次是北美和歐洲,分別占30.1%和27.4%。在應(yīng)用產(chǎn)品中,戶(hù)外照明約占總比重的12%,具有相當(dāng)大的發(fā)展空間,而在此當(dāng)中中國(guó)市場(chǎng)占據(jù)了全球市場(chǎng)的38%,成為戶(hù)外照明中占有率最高的。此外,在受政府政策及推廣影響下的街燈應(yīng)用有望成為照明產(chǎn)業(yè)中成長(zhǎng)最快的。在歐美優(yōu)先領(lǐng)起的趨勢(shì)下,2010年全球達(dá)到450萬(wàn)盞led街燈的水平,并且伴隨著國(guó)際加緊節(jié)能減碳的節(jié)奏,一旦路燈標(biāo)準(zhǔn)規(guī)格普及,中國(guó)市場(chǎng)有望突破占有世界50%以上的比例。led驅(qū)動(dòng)

12、器技術(shù)的發(fā)展主要體現(xiàn)在兩方面:一方面,日常生活中常用的鹵素?zé)簟谉霟艉蜔晒鉄魧⒈浑x線(xiàn)式高功率因數(shù)校正可調(diào)光led驅(qū)動(dòng)器替代;另一方面,低壓鹵素?zé)粢矊⒈籰ed驅(qū)動(dòng)器能高效替代。在為led提供電能及熱能保護(hù)的前提下,以增加其耐用性。當(dāng)然,優(yōu)化驅(qū)動(dòng)器以提供最佳功效也成為一大發(fā)展趨勢(shì)。隨著數(shù)字技術(shù)的快速發(fā)展,基于fpga芯片控制全彩led大屏幕圖像顯示系統(tǒng)設(shè)計(jì),各種數(shù)字顯示屏也像雨后春筍隨即涌現(xiàn)出來(lái),像lcd、led、dlp都是其中最典型的代表,而各種數(shù)字大屏幕的控制系統(tǒng)也多種多樣,有用pc+dvi接口解碼芯片+fpga芯片聯(lián)機(jī)控制系統(tǒng)的,也有用arm+fpga脫機(jī)控制系統(tǒng)的。盡管大尺寸液晶顯示在未來(lái)

13、的幾年還有相當(dāng)大的市場(chǎng)份額,但針對(duì)大尺寸直下式背光源的驅(qū)動(dòng)和控制芯片的開(kāi)發(fā)的歷史并不悠久。針對(duì)led背光源的特點(diǎn),可以將信號(hào)處理技術(shù)和復(fù)雜的控制技術(shù)融合到背光源技術(shù)中,目前的做法主要是采用fpga,各廠家均有自家不同的控制方法和算法。隨著數(shù)字電視技術(shù)和背光技術(shù)的發(fā)展,背光的控制方法及驅(qū)動(dòng)方法越來(lái)越規(guī)范化,為了降低成本,將屏顯控制、背光控制單元和電視的機(jī)芯微處理器由一個(gè)微處理器統(tǒng)一實(shí)現(xiàn)也將是一種技術(shù)發(fā)展的趨勢(shì)。 如今,verilog hdl設(shè)計(jì)成為中國(guó)臺(tái)灣地區(qū)和美國(guó)邏輯電路設(shè)計(jì)和制造廠家的一大設(shè)計(jì)主流,而中國(guó)大陸地區(qū)目前學(xué)習(xí)使用verilog hdl也已超過(guò)了vhdl。從使用的角度看,對(duì)于集成電

14、路(asic)設(shè)計(jì)人員來(lái)說(shuō),更多的是掌握verilog,因?yàn)樵趇c設(shè)計(jì)領(lǐng)域,有90以上的公司采用verilog進(jìn)行ic設(shè)計(jì)。而對(duì)于pld/fpga設(shè)計(jì)者而言,兩種語(yǔ)言區(qū)別不是很大。 1.2 研究意義 隨著社會(huì)的快速發(fā)展,led顯示屏作為一種大型平板顯示設(shè)備,以其功耗低、使用壽命長(zhǎng)、維護(hù)費(fèi)用低等特點(diǎn)在顯示屏領(lǐng)域占據(jù)著非常重要的位置。特別是在近年,帶有紅、藍(lán)、綠三基色以及灰度顯示效果的全彩led顯示屏,以其豐富多彩的顯示效果而倍受業(yè)界關(guān)注,成為led顯示屏市場(chǎng)近年增長(zhǎng)幅度較大的產(chǎn)品之一。單位面積亮度、壽命、三基色的偏差程度、對(duì)比度、點(diǎn)距、灰度等級(jí)(包括灰度級(jí)數(shù)和線(xiàn)性度)、掃描頻率等性能指標(biāo)是衡量或

15、橫向比較大型顯示設(shè)備優(yōu)劣的標(biāo)準(zhǔn)。而這些性能指標(biāo)的優(yōu)劣,很大程度決定于掃描控制器的一個(gè)性能。因此對(duì)大屏幕全彩led顯示掃描控制方法的研究有著重要的意義。隨著顯示亮度要求的增加、屏尺寸的擴(kuò)大,數(shù)據(jù)傳輸和控制的時(shí)間也會(huì)增加,如果仍然采用簡(jiǎn)單的單片機(jī)作為控制器,將會(huì)影響畫(huà)面顯示的效果,嚴(yán)重時(shí)可能導(dǎo)致無(wú)法正常工作,然而,如果控制器采用可編程邏輯器件,則可解決這一難題。一方面,隨著生產(chǎn)工藝的提高和微電子技術(shù)的發(fā)展,器件的性能會(huì)有很大的提高,從而出現(xiàn)了高性能的現(xiàn)場(chǎng)可編程邏輯器件(fpga),fpga具有處理速度高、高容量、可靠性高和集成度高等特點(diǎn),在大屏幕顯示系統(tǒng)設(shè)計(jì)中使用fpga可以滿(mǎn)足現(xiàn)在的led大屏幕

16、系統(tǒng)對(duì)于處理視頻數(shù)據(jù)的高速要求,同時(shí)改善電路的性能,縮小系統(tǒng)的體積。設(shè)計(jì)中使用硬件描述語(yǔ)言進(jìn)行電路設(shè)計(jì),可以隨時(shí)根據(jù)設(shè)計(jì)需要進(jìn)行修改,而不必對(duì)硬件進(jìn)行修改,它使系統(tǒng)的設(shè)計(jì)和調(diào)試非常方便,不僅大大的縮短了產(chǎn)品的開(kāi)發(fā)周期,降低了開(kāi)發(fā)成本,也方便以后的系統(tǒng)升級(jí)。1.3 研究?jī)?nèi)容本課題為基于altera公司fpga芯片的電子顯示屏的研究設(shè)計(jì),并配備相應(yīng)的pc機(jī)軟件,從而實(shí)現(xiàn)開(kāi)簾、合攏、上下、左右移動(dòng)等多種顯示形式,并可顯示相應(yīng)的時(shí)鐘。具體內(nèi)容為:1.fpga整體系統(tǒng)的設(shè)計(jì);2.時(shí)鐘接口電路的設(shè)計(jì);3.顯示接口電路的設(shè)計(jì); 4. fpga系統(tǒng)與pc機(jī)通訊接口(rs232)的設(shè)計(jì)。第2章 系統(tǒng)組成及工作原

17、理2.1 系統(tǒng)組成本設(shè)計(jì)要求使用altera公司的fpga芯片完成64*16點(diǎn)陣式led點(diǎn)陣顯示屏的顯示,配備相應(yīng)的pc機(jī)軟件,實(shí)現(xiàn)上位機(jī)與下位機(jī)的通信,下位機(jī)實(shí)現(xiàn)開(kāi)簾、合攏、上下、左右移動(dòng)等多種顯示形式,并且能夠顯示時(shí)鐘。基于fpga的led點(diǎn)陣顯示屏的系統(tǒng)框圖如下圖2.1所示:時(shí)鐘模塊串口通信 點(diǎn)陣顯示模塊fpga控制系統(tǒng)上位機(jī)圖2.1 系統(tǒng)總體框圖fpga控制模塊控制點(diǎn)陣顯示模塊、時(shí)鐘模塊及上位機(jī)通信模塊的協(xié)同工作,并分析、處理接收相應(yīng)的數(shù)據(jù)。時(shí)鐘模塊完成對(duì)時(shí)鐘芯片的讀寫(xiě),包括對(duì)時(shí)鐘的初始化和時(shí)鐘信息的讀取,并最終在數(shù)碼管上顯示出來(lái)。 點(diǎn)陣顯示模塊實(shí)現(xiàn)的是led點(diǎn)陣的驅(qū)動(dòng)及其顯示功能。驅(qū)

18、動(dòng)部分使用移位寄存器74hc595和移位寄存器 74hc164 組成,74hc595 主要負(fù)責(zé)列掃描數(shù)據(jù),74hc164 主要負(fù)責(zé)行掃描數(shù)據(jù)。行掃描采用三極管進(jìn)行電流放大,加大掃描強(qiáng)度,從而提高點(diǎn)陣屏亮度。led點(diǎn)陣是由16個(gè)大小為 32mm*32mm 的 8*8 共陽(yáng)點(diǎn)陣組成64*16 點(diǎn)陣,可以同時(shí)顯示四個(gè)漢字或者八個(gè)字母,點(diǎn)陣屏可拆裝,采用的是圓孔銅排針,連接性能非常好。串口通信部分通過(guò)rs232串口實(shí)現(xiàn)。用戶(hù)可以通過(guò)上位機(jī)軟件發(fā)送需要顯示的數(shù)據(jù)給fpga控制系統(tǒng)。2.2 工作原理 本設(shè)計(jì)的工作原理為:采用以fpga為核心控制模塊,通過(guò)接收上位機(jī)數(shù)據(jù)控制led點(diǎn)陣顯示系統(tǒng)。同時(shí)通過(guò)鍵盤(pán)來(lái)

19、控制幾種顯示方式,并在數(shù)碼管上顯示實(shí)時(shí)時(shí)鐘。軟件部分根據(jù)各芯片的時(shí)序圖進(jìn)行相應(yīng)的模塊編程,從而消除競(jìng)爭(zhēng)和冒險(xiǎn)。第3章 基于fpga的led點(diǎn)陣硬件設(shè)計(jì)3.1 方案論證與比較3.1.1 fpga芯片選擇當(dāng)今fpga芯片的主要設(shè)計(jì)和生產(chǎn)廠家有altera、atmel、xilinx、lattice等公司。其中以xilinx、altera公司規(guī)模最大,他們的市場(chǎng)占有率也是最高的。相對(duì)于xilinx而言, altera更適合于教學(xué)使用,因?yàn)閷?duì)于初學(xué)者來(lái)說(shuō),他的入門(mén)門(mén)檻較低,學(xué)起來(lái)簡(jiǎn)單。更重要的是,altera公司還給學(xué)習(xí)者提供很好的后續(xù)服務(wù)和支持。而在工藝方面,xilinx公司和altera公司生產(chǎn)的f

20、pga都是基于sram的工藝的,需要在使用時(shí)外接一個(gè)片外存儲(chǔ)器用以保存程序。上電時(shí),fpga將外部存儲(chǔ)器中的數(shù)據(jù)讀入片內(nèi)ram,完成配置后,進(jìn)入正常工作狀態(tài);掉電后,恢復(fù)為白片,內(nèi)部邏輯消失。這樣的好處在于不僅能夠反復(fù)使用,還不需要專(zhuān)門(mén)的fpga編程器,只需通用的prom、eprom編程器即可。本設(shè)計(jì)采用較為普遍的altera公司的ep2c8q208c芯片。這塊芯片不僅內(nèi)部資源豐富,而且支持nios,無(wú)論在性?xún)r(jià)比還是將來(lái)進(jìn)行功能拓展上都占據(jù)著絕對(duì)的優(yōu)勢(shì)。3.1.2 led點(diǎn)陣屏及驅(qū)動(dòng)電路本設(shè)計(jì)采用64*16led點(diǎn)陣屏由16塊8*8led點(diǎn)陣拼接而成,每一塊點(diǎn)陣都有8行8 列,因此總共有16根

21、行控制線(xiàn)和64根列控制線(xiàn)。方案一:在led點(diǎn)陣驅(qū)動(dòng)電路中,采用1片4線(xiàn)/16線(xiàn)譯碼器74hc154作為行驅(qū)動(dòng),選用4片74hc154占用15個(gè)fpga的i/o口(包括兩個(gè)enable端)。方案二:使用四個(gè)移位寄存器74hc595(帶存儲(chǔ)器) 和兩個(gè)移位寄存器 74hc164 驅(qū)動(dòng)16*16的點(diǎn)陣,74hc595 主要負(fù)責(zé)列掃描數(shù)據(jù),而74hc164 主要負(fù)責(zé)行掃描數(shù)據(jù)。行掃描采用三極管放大電流,加大掃描強(qiáng)度,從而提高點(diǎn)陣屏亮度。最終只需要制作四塊同樣的板子拼湊成64*16led點(diǎn)陣。方案比較及確定:首先,考慮i/o口數(shù)量的占用,方案一使用了15個(gè)i/o口,而方案二只使用了5個(gè),相對(duì)而言方案二使

22、用了更少的i/o口。其次,考慮軟件編程,采用譯碼方式(方案一)驅(qū)動(dòng)可以使代碼簡(jiǎn)化,而采用移位方式(方案二)驅(qū)動(dòng)的可使他的拓展性更強(qiáng)。再次,考慮到一個(gè)制作成本,一片74hc154芯片大約四元,而一片74hc595芯片和74hc164芯片只需0.7元。最后,考慮功率損耗,兩種方案使用的coms芯片功耗都非常小。所以,綜上所得,本設(shè)計(jì)宜采用方案二,不僅能夠大大的減少i/o資源的占用量,而且還能使制作成本縮減。3.1.3時(shí)鐘芯片dallas公司推出的ds1302芯片是一種涓流充電的時(shí)鐘芯片,內(nèi)部含有31字節(jié)靜態(tài)ram和一個(gè)實(shí)時(shí)時(shí)鐘/日歷。同時(shí),可以提供時(shí)分秒、日期、年月等信息,更重要的是,每月的天數(shù)和

23、閏年的天數(shù)都可相應(yīng)的自動(dòng)調(diào)整。時(shí)鐘操作可通過(guò)am/pm指示決定是采用24小時(shí)制式還是采用12小時(shí)制式。3.1.4 串行通信模塊輸入接口模塊提供的是pc上位機(jī)到fpga核心板傳輸數(shù)據(jù)的接口。輸入接口通過(guò)rs232以及jtag下載線(xiàn)來(lái)實(shí)現(xiàn)從pc上位機(jī)傳輸數(shù)據(jù)到下位機(jī)。上位機(jī)使用相應(yīng)的字模提取工具,將下一步需要顯示的數(shù)據(jù)發(fā)送至下位機(jī),而pc和nios系統(tǒng)間的通信是通過(guò)jtag下載線(xiàn)來(lái)實(shí)現(xiàn)的。而rs232串口連接也實(shí)現(xiàn)了fpga核心板與led顯示模塊之間的通信。3.2 fpga控制模塊 fpga控制模塊的電路是系統(tǒng)控制和數(shù)據(jù)處理的核心,該部分電路主要由電源接口、開(kāi)關(guān)、相應(yīng)的時(shí)鐘振蕩電路和復(fù)位電路組成。

24、3.2.1 電源接口及開(kāi)關(guān)電路圖 3.1 電源接口及開(kāi)關(guān)電路 如圖3.1所示,其中f1為限流1.1a的f110保險(xiǎn)管,主要目的在于保護(hù)電源。3.2.2 復(fù)位電路如圖3.2所示,該復(fù)位電路主要實(shí)現(xiàn)的是對(duì)系統(tǒng)進(jìn)行初始化。在沒(méi)有按下按鍵的情況下,key讀取到的是高電平。而在按下鍵之后,key拉低。整個(gè)過(guò)程當(dāng)中,一次復(fù)位后產(chǎn)生一脈沖信號(hào),觸發(fā)芯片在下降沿時(shí)進(jìn)行復(fù)位。 圖3.2 復(fù)位電路3.2.3 時(shí)鐘振蕩電路 如圖3.3所示,x1為20mhz的有源晶振。 圖3.3 時(shí)鐘振蕩電路3.3 led點(diǎn)陣及驅(qū)動(dòng)電路 3.3.1 led點(diǎn)陣點(diǎn)陣屏可分為共陽(yáng)式點(diǎn)陣屏和共陰式點(diǎn)陣屏兩種,本次畢業(yè)設(shè)計(jì)采用的是共陽(yáng)型的點(diǎn)

25、陣屏,如圖3.4所示。8*8點(diǎn)陣屏顯示的原理是利用其行列導(dǎo)通其中的led進(jìn)而控制64個(gè)led的亮滅。使用4塊8*8led點(diǎn)陣屏就可以組成一個(gè)16*16的點(diǎn)陣屏,它能夠顯示一個(gè)漢字或者是兩個(gè)字母。圖3.4 8*8點(diǎn)陣原理圖 3.3.2 led點(diǎn)陣驅(qū)動(dòng)電路驅(qū)動(dòng)部分使用四個(gè)帶存儲(chǔ)器的移位寄存器 74hc595和兩個(gè)移位寄存器 74hc164 組成,74hc595負(fù)責(zé)列掃描數(shù)據(jù),74hc164負(fù)責(zé)行掃描數(shù)據(jù)。列掃描采用三極管放大電流,加大掃描強(qiáng)度,提高點(diǎn)陣屏亮度。3.4 時(shí)鐘模塊時(shí)鐘模塊包括時(shí)鐘芯片和時(shí)鐘顯示模塊。3.4.1時(shí)鐘芯片電路ds1302實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年等時(shí)間,如果

26、一個(gè)月的天數(shù)小于31天時(shí)還可以進(jìn)行自動(dòng)調(diào)整,同時(shí)還具有閏年補(bǔ)償功能。工作電壓寬度為2.55.5v。采用的是雙電源供電,在有主電源的情況下還配備一個(gè)備用電源,用戶(hù)可設(shè)置備用電源充電方式,以便提供對(duì)后背電源進(jìn)行涓細(xì)電流充電。ds1302的外部引腳分配如圖3.5所示,內(nèi)部結(jié)構(gòu)如圖3.6所示。ds1302主要用于數(shù)據(jù)記錄,特別是在對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能夠?qū)崿F(xiàn)同步計(jì)時(shí),因此測(cè)量系統(tǒng)中應(yīng)用非常廣泛。圖3.5 ds1302的外部引腳分配圖3.6 ds1302的內(nèi)部結(jié)構(gòu)3.4.2時(shí)鐘顯示電路本設(shè)計(jì)主要采用六位獨(dú)立的數(shù)碼管分別顯示時(shí)鐘。電路如圖3.7所示。數(shù)碼管可分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。

27、本次設(shè)計(jì)采用的是共陽(yáng)極數(shù)碼管。每一個(gè)數(shù)碼管通過(guò)一個(gè)9012三極管進(jìn)行電流放大。9012為pnp型三極管,當(dāng)sel端出現(xiàn)低電平時(shí),數(shù)碼管被選通。反之,當(dāng)sel拉高時(shí),數(shù)碼管不顯示。圖3.7 數(shù)碼管顯示 3.5 串行通信電路串行通信電路由rs232串口電路和jtag接口電路共同組成。rs232串口用于上位機(jī)與下位機(jī)的數(shù)據(jù)傳輸,而jtag接口用于程序下載與調(diào)試。3.5.1 rs232串口電路fpga的電平為ttl電平(即:高電平 +3.3v,低電平 0v),而計(jì)算機(jī)串口電平為rs232電平(即:高電平 -12v,低電平 +12v),所以,計(jì)算機(jī)與fpga芯片之間進(jìn)行通訊時(shí)需要加電平轉(zhuǎn)換芯片。rs23

28、2串口電路如圖3.8所示:圖3.8 rs232串口電路圖3.8中,rs232串口電路中使用max232cpe作為電平轉(zhuǎn)換芯片,通過(guò)串口線(xiàn)連接到計(jì)算機(jī)的com口(9針d形口),用于fpga與上位機(jī)通信以及和其他串口設(shè)備的數(shù)據(jù)交互。3.5.2 jtag下載接口jtag下載接口電路如下圖3.9所示,用于調(diào)試fpga。jtag下載不僅下載速度快,而且支持signaltap,但是,不能編程epcs芯片,掉電后會(huì)造成數(shù)據(jù)丟失。使用jtag時(shí)需要配合usb blaster進(jìn)行下載調(diào)試。 圖3.9 jtag下載接口電路 圖3-5 jtag下載接口電路第4章 基于fpga的led點(diǎn)陣顯示的軟件設(shè)計(jì)4.1 ver

29、ilog hdl編程語(yǔ)言及編譯器概述4.1.1 verilog hdl語(yǔ)言綜述常用的硬件描述語(yǔ)言有vhdl、verilog dhl和abel語(yǔ)言。常用的fpga的編程語(yǔ)言有二種,一種是verilog hdl,一種是vhdl。將verilog hdl語(yǔ)言和vhdl語(yǔ)言進(jìn)行對(duì)比,我們能夠看到,verilog hdl語(yǔ)言是一種非常容易掌握的硬件描述語(yǔ)言,較之而論vhdl語(yǔ)言則是一個(gè)規(guī)模龐大的語(yǔ)言,在使用它之前完全學(xué)會(huì)它是非常難的。verilog是專(zhuān)門(mén)為復(fù)雜數(shù)字系統(tǒng)的設(shè)計(jì)仿真而開(kāi)發(fā)的,本身就非常適合復(fù)雜數(shù)字邏輯電路和系統(tǒng)的仿真和綜合。由于verilog在其門(mén)級(jí)描述的底層,也就是在晶體管開(kāi)關(guān)的描述方面比

30、vhdl有更強(qiáng)的功能,所以,即使是vhdl的設(shè)計(jì)環(huán)境,在底層實(shí)質(zhì)上也是由verilog hdl描述的器件庫(kù)所支持的1。verilog適合系統(tǒng)級(jí)(system)、算法級(jí)(alogrithem)、寄存器傳輸級(jí)(rtl)、邏輯級(jí)(logic)、門(mén)級(jí)(gata)、電路開(kāi)關(guān)級(jí)(switch)設(shè)計(jì),而systemverilog 是verilog語(yǔ)言的擴(kuò)展和延伸,更適用于可重用的可綜合ip和可重用的驗(yàn)證用ip設(shè)計(jì),以及特大型(千萬(wàn)門(mén)級(jí)以上)基于ip的系統(tǒng)級(jí)設(shè)計(jì)和驗(yàn)證。verilog hdl作為一種高級(jí)的硬件描述編程語(yǔ)言,與c語(yǔ)言的風(fēng)格有很多類(lèi)似之處。其中有許多語(yǔ)句,如if語(yǔ)句、case語(yǔ)句和c語(yǔ)言中的相應(yīng)語(yǔ)

31、句都很相似。4.1.2 quartus ii 軟件綜述altera公司的quartus ii設(shè)計(jì)軟件提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能夠直接滿(mǎn)足特定的設(shè)計(jì)需要,為可編程芯片系統(tǒng)(sopc)提供全面的設(shè)計(jì)環(huán)境。quartus ii軟件含有fpga和cpld設(shè)計(jì)所有階段的解決方案,如圖4.1所示。圖4.1 quartus ii設(shè)計(jì)流程圖quartus ii設(shè)計(jì)工具支持基于verilog hdl、vhdl和圖形的設(shè)計(jì),其內(nèi)部嵌有vhdl、verilog hdl邏輯綜合器。quartus ii 可以利用第三方的綜合工具進(jìn)行邏輯綜合,當(dāng)然也可以利用第三方的仿真工具(如modelsim)進(jìn)行仿真。此外quar

32、tus ii與matlab和dsp builder 結(jié)合,可以進(jìn)行基于fpga的dsp系統(tǒng)開(kāi)發(fā)。使用quartus ii內(nèi)嵌的sopc builder,配合nios ii ide集成開(kāi)發(fā)環(huán)境,可以開(kāi)發(fā)nios ii嵌入式軟核處理器。4.1.3 modelsim 仿真軟件綜述modelsim由mentor graphics 公司的子公司model tech公司開(kāi)發(fā),是業(yè)界最優(yōu)秀的verilog hdl語(yǔ)言仿真器。它提供一個(gè)非常友好的調(diào)試環(huán)境,是唯一的單內(nèi)核支持vhdl和verilog混合仿真的仿真器,是進(jìn)行fpga/sopc設(shè)計(jì)的rtl級(jí)和門(mén)級(jí)電路仿真的最佳首選。modelsim最大的特點(diǎn)是其強(qiáng)

33、大的調(diào)試功能,先進(jìn)的數(shù)據(jù)流窗口,可以迅速地追蹤到產(chǎn)生不定或者錯(cuò)誤狀態(tài)的原因;性能分析工具幫助分析性能瓶頸,加速仿真;代碼覆蓋率檢查確保測(cè)試的完備;多種模式的波形比較功能;可以實(shí)現(xiàn)與matlab的simulink的聯(lián)合仿真。4.2 led點(diǎn)陣顯示模塊4.2.1 led點(diǎn)陣顯示驅(qū)動(dòng) led點(diǎn)陣顯示模塊完成對(duì)列選擇和行掃描。將16位的行數(shù)據(jù)移位進(jìn)入74hc164的寄存器中,將64位的列數(shù)據(jù)移位進(jìn)入74hc595中。當(dāng)完成一行的掃描輸出一個(gè)脈沖信號(hào)isdone。由于人眼的暫留時(shí)間,只有當(dāng)畫(huà)面刷新頻率大于50hz時(shí)才不會(huì)出現(xiàn)閃爍現(xiàn)象。更新行數(shù)據(jù)最大周期tmax=1/50/16=1.25ms。程序中利用計(jì)

34、數(shù)器cnt作為行移位標(biāo)志,當(dāng)計(jì)數(shù)器計(jì)數(shù)到19999時(shí)移位一次,t=(19999+1)/20000000=1ms,(系統(tǒng)使用20mhz晶振),所以本設(shè)計(jì)刷新周期為1ms。以下代碼為led顯示驅(qū)動(dòng)模塊的源程序:module displ_led(input clk,input rst, input 15:0 row_data,input 31:0 data,output rclk,output sclk,output ser,output ab,output s_clk,output isdone);reg rab; reg rs_clk;reg rrclk; reg rsclk;reg rser;

35、reg risdone;reg 14:0 cnt;reg 3:0 c;always (posedge clk or negedge rst)if(!rst)begin cnt=15d0; c=4d0; end else if(cnt=15d19_999) begin c=c+1b1;cnt=15d0; endelse cnt=cnt+1b1;reg 5:0 i;always (posedge clk or negedge rst)if(!rst) begin rab=1b1;rs_clk=1b0; rrclk=1b0;rsclk=1b0; rser=1b0;i=6d0;risdone=1b0;

36、 endelse case(i)0:begin risdone=1b0; rab=row_datac; rs_clk=1b0; rrclk=1b0; rsclk=1b0; i=i+1b1; end 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32: if(cnt2:0=3d5)beginrsclk=1b1; i=i+1b1;endelsebegin rser=datai-1;rsclk=1b0;end33: beginrrclk=1b1;rs_clk=1b1; i=i+1

37、b1; end34:begin if(cnt=15d0) begin risdone=1b1; i=6d0;end else begin rrclk=1b0; rsclk=1b0; rs_clk=1b0; end endendcaseassign rclk=rrclk;assign sclk=rsclk;assign ser=rser;assign ab=rab;assign s_clk=rs_clk;assign isdone=risdone;endmodule 圖4.2 點(diǎn)陣顯示驅(qū)動(dòng)仿真波形 ab,s_clk用于驅(qū)動(dòng)74hc164;ser,sclk,rclk用于驅(qū)動(dòng)74hc595。當(dāng)輸入

38、data=32h55_55_f0_0a、row_data=16b1111_1111_1111_1110時(shí)功能仿真波形如圖4.2所示,相隔8個(gè)時(shí)鐘周期ser更新一次數(shù)據(jù),并且sclk產(chǎn)生一脈沖將列數(shù)據(jù)移位一次。移完所有64位數(shù)據(jù)時(shí),rclk產(chǎn)生一脈沖信號(hào)將列數(shù)據(jù)鎖存。同時(shí)isdone產(chǎn)生一脈沖用于與其他模塊進(jìn)行交互。4.2.2 行數(shù)據(jù)控制模塊行數(shù)據(jù)控制模塊主要實(shí)現(xiàn)控制顯示的上下移位功能。以下程序?yàn)榇四K的源程序:module row_control(input clk,input rst,input key_up, input key_down,input key_stop,/input 15:

39、0 rdata,output 15:0 row_data);reg up_en; reg down_en;reg 15:0 rrow; always (posedge clk or negedge rst)if(!rst)beginup_en=1b0;down_en=1b0;endelse if(key_up)beginup_en=1b1; down_en=1b0;end else if(key_down) begin down_en=1b1; up_en=1b0; endelse if(key_stop)begin up_en=1b0; down_en=1b0;endreg 23:0 cnt

40、0;reg 3:0 k;always (posedge clk or negedge rst)if(!rst) begin cnt0=24d0;k=4d0;rrow=16b1111_1111_1111_1110; endelse if(down_en) begin if(cnt0=24d9_999_999)begin k=k+1b1; cnt0=24d0; end else begin cnt0=cnt0+1b1;case(k) 0:rrow=16b1111_1111_1111_1110; 1: rrow=16b1111_1111_1111_1101; 2:rrow=16b1111_1111_

41、1111_1011;3: rrow=16b1111_1111_1111_0111;4: rrow=16b1111_1111_1110_1111;5:rrow=16b1111_1111_1101_1111;6:rrow=16b1111_1111_1011_1111;7:rrow=16b1111_1111_0111_1111;8:rrow=16b1111_1110_1111_1111;9:rrow=16b1111_1101_1111_1111;10:rrow=16b1111_1011_1111_1111;11:rrow=16b1111_0111_1111_1111;12:rrow=16b1110_

42、1111_1111_1111;13:rrow=16b1101_1111_1111_1111;14:rrow=16b1011_1111_1111_1111;15:rrow=16b0111_1111_1111_1111; endcase end endelse if(up_en) begin if(cnt0=24d9_999_999) begin k=k+1b1; cnt0=24d0; end else begincnt0=cnt0+1b1;case(k)0:rrow=16b1111_1111_1111_1110;1:rrow=16b0111_1111_1111_1111; 2:rrow=16b1

43、011_1111_1111_1111;3:rrow=16b1101_1111_1111_1111;4:rrow=16b1110_1111_1111_1111;5:rrow=16b1111_0111_1111_1111;6:rrow=16b1111_1011_1111_1111;7:rrow=16b1111_1101_1111_1111;8:rrow=16b1111_1110_1111_1111;9:rrow=16b1111_1111_0111_1111;10:rrow=16b1111_1111_1011_1111;11:rrow=16b1111_1111_1101_1111;12:rrow=1

44、6b1111_1111_1110_1111;13:rrow=16b1111_1111_1111_0111;14:rrow=16b1111_1111_1111_1011;15:rrow=16b1111_1111_1111_1101;endcaseend endelse rrow=16b1111_1111_1111_1110;assign row_data=rrow;endmodule其中,key_up表示上鍵標(biāo)志信號(hào),key_down表示下鍵標(biāo)志信號(hào),key_stop為停止移位標(biāo)志信號(hào),row_data為行數(shù)據(jù)輸出。靜態(tài)顯示時(shí),只要進(jìn)行逐行掃描,第i位出現(xiàn)0時(shí),則選通第i行。所以當(dāng)按下停止鍵時(shí),

45、則直接輸出16b1111_1111_1111_1110。當(dāng)有其他鍵按下時(shí)則觸發(fā)移位。移位時(shí),首先啟動(dòng)計(jì)數(shù)器,當(dāng)每計(jì)滿(mǎn)9,999,999(即0.5s)時(shí),行數(shù)據(jù)移位一次。如圖4.3所示,仿真key_up鍵按下時(shí),row_data每0.5s循環(huán)右移一次。圖4.3 行數(shù)據(jù)控制仿真波形4.2.3 列數(shù)據(jù)控制模塊 列數(shù)據(jù)控制模塊主要實(shí)現(xiàn)合攏、上下左右移動(dòng)、開(kāi)簾四種顯示方式的控制。以下為模塊的例化程序: module column_control(input clk,input rst,input key_left,input key_right,input key_stop,input 63:0 rda

46、ta,output 63:0 data);其中,key_left表示左鍵標(biāo)志信號(hào),key_right表示右鍵標(biāo)志信號(hào),key_stop為停止移位標(biāo)志信號(hào),在沒(méi)有讀取到按鍵時(shí)顯示方式為循環(huán)開(kāi)簾和合攏。rdata為原列數(shù)據(jù),data為移動(dòng)后的列數(shù)據(jù)。移位速度為1/20s,如圖4.4所示:圖4.4列數(shù)據(jù)左移仿真波形4.3 時(shí)鐘模塊 時(shí)鐘模塊主要實(shí)現(xiàn)讀寫(xiě)時(shí)鐘芯片ds1302和驅(qū)動(dòng)數(shù)碼管顯示時(shí)鐘。如圖4.5所示,inter_face完成對(duì)時(shí)鐘初始化和讀取時(shí)鐘以及作為smg模塊與ds1302的接口。圖4.5 時(shí)鐘模塊rtl圖4.3.1 讀寫(xiě)時(shí)鐘芯片 如圖4.6所示,該模塊由命令控制模塊和函數(shù)模塊組成。 圖

47、4.6 時(shí)鐘芯片讀寫(xiě)模塊 _function模塊端口實(shí)例化程序:module _function(input clk,input rstn,input 1:0 start,output done,input 7:0 addr,input 7:0 write_data,output 7:0 read_data,output rst,output sclk,inout sio); 其中,兩位的start為讀寫(xiě)選擇信號(hào),當(dāng)start1為1的時(shí)候進(jìn)行寫(xiě)操作,當(dāng)start0為1的時(shí)候進(jìn)行讀操作;addr為操作碼;write_data為待寫(xiě)數(shù)據(jù);read_data保存了讀取到的時(shí)鐘數(shù)據(jù);rst驅(qū)動(dòng)ds1302復(fù)位引腳;sclk為ds1302的提供時(shí)鐘信號(hào);sio為輸入輸出口,驅(qū)動(dòng)ds1302數(shù)據(jù)端口。

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論