Verilog Hdl 語言設(shè)計(jì)點(diǎn)陣_第1頁
Verilog Hdl 語言設(shè)計(jì)點(diǎn)陣_第2頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、四川工程職業(yè)技術(shù)學(xué)院VerilogHdl語言設(shè)計(jì)點(diǎn)陣報(bào)告冊(cè)班級(jí):2014通信技術(shù)1班姓名:劉巧琳指導(dǎo)老師:郭欣時(shí)間:2016.7.5目錄一、摘要3二、緒言5三、點(diǎn)陣基本知識(shí)8四、電路分析9五、設(shè)計(jì)方案11六、程序設(shè)計(jì)13七、電路仿真圖24實(shí)驗(yàn)總結(jié)27一、摘要本論文主要闡述了基于FPGA設(shè)計(jì)16*16的點(diǎn)陣,讓點(diǎn)陣靜態(tài)或動(dòng)態(tài)顯示一個(gè)字或者一段話,LED顯示屏如今在生活中應(yīng)用廣泛,各大廣告商利用LED顯示屏的便捷性宣傳產(chǎn)品。這次實(shí)驗(yàn)需要利用EDA工具軟件Quartusll編寫并調(diào)試系統(tǒng)的VerilogHDL程序。并且每一個(gè)模塊都在這個(gè)軟件下進(jìn)行了仿真。系統(tǒng)的VerilogHDL程序編好過后先在實(shí)驗(yàn)

2、室的EDA實(shí)驗(yàn)箱上下載調(diào)試、驗(yàn)證。關(guān)鍵詞:LED、FPGA、VerilogHDL、點(diǎn)陣AbstractThispapermainlyelaboratedbasedontheFPGAdesignof16*16lattice,letlatticestaticordynamicdisplayawordorparagraph,LEDdisplaynowinlifearewidelyused,eachbigadvertisersuseLEDdisplayoftheconvenienceofpromotionalproducts.ThisdesignneedstousetheEDAtoolsoftware

3、Verilogtowriteanddebugthesystem'sHDLQuartusIIprogram.Andeachmoduleissimulatedinthesoftware.ThesystemoftheHDLVerilogprogramiscompiledinthelaboratoryafterthefirstEDAtestboxtodownloadanddebug,verify.Keyword:LED、FPGA、VerilogHDL、lattice二、緒言目前,在機(jī)場(chǎng)、飯店等很多公共場(chǎng)所都能看到美觀、實(shí)用的電子顯示屏,它以高清、節(jié)能、控制簡單、壽命長、耐沖擊、性能穩(wěn)定、成本低

4、廉、環(huán)保等優(yōu)勢(shì)迅速占領(lǐng)市場(chǎng)。隨著顯示屏尺寸的擴(kuò)大、亮度要求的增加,數(shù)據(jù)傳輸和控制的時(shí)間也會(huì)增加,如果仍然采用單片機(jī)作為控制器,將會(huì)影響顯示效果,嚴(yán)重時(shí)可能無法正常工作,然而,這時(shí)若采用可編程邏輯器件作為控制器,則可解決這一難題。一方面,隨著微電子技術(shù)的發(fā)展和生產(chǎn)工藝的提高,器件的性能大有很大的提高,出現(xiàn)了高性能的現(xiàn)場(chǎng)可編程邏輯器件(FPGA),FPGA具有處理速度高、可靠性高、高容量和集成度高等特點(diǎn),在大屏幕顯示系統(tǒng)設(shè)計(jì)中使用FPGA可以滿足現(xiàn)在的LED大屏幕系統(tǒng)對(duì)于處理視頻數(shù)據(jù)的高速要求,同時(shí)改善電路的性能,縮小系統(tǒng)的體積。設(shè)計(jì)中使用硬件描述語言進(jìn)行電路設(shè)計(jì),可以隨時(shí)根據(jù)設(shè)計(jì)需要進(jìn)行修改,而

5、不必對(duì)硬件進(jìn)行修改,它使系統(tǒng)的設(shè)計(jì)和調(diào)試非常方便,大大的縮短了產(chǎn)品的開發(fā)周期,降低了開發(fā)成本,也方便以后的系統(tǒng)升級(jí)。50年前人們已經(jīng)了解半導(dǎo)體材料可產(chǎn)生光線的基本知識(shí),第一個(gè)商用二極管產(chǎn)生于I960年。LED是英文lightemittingdiode(發(fā)光二極管)的縮寫,它的基本結(jié)構(gòu)是一塊電致發(fā)光的半導(dǎo)體材料,置于一個(gè)有引線的架子上,然后四周用環(huán)氧樹脂密封,即固體封裝,所以能起到保護(hù)內(nèi)部芯線的作用,所以LED的抗震性能好。我國LED顯示屏市場(chǎng)起步較早,市場(chǎng)上出現(xiàn)了一批具有很強(qiáng)實(shí)力的LED顯示屏生產(chǎn)廠商。目前LED顯示屏已經(jīng)廣泛應(yīng)用到車站、銀行、證券、醫(yī)院。在LED需求量上,LED顯示屏僅次于L

6、ED指示燈名列第二,占到LED整體銷量的23.1%。由于用于顯示屏的LED在亮度和壽命上的要求高于LED指示燈,平均價(jià)格在指示燈LED之上,這就導(dǎo)致顯示屏用LED市場(chǎng)規(guī)模達(dá)到32.4億元,超過指示燈位居榜首成為LED的主要應(yīng)用市場(chǎng)。我國LED顯示屏市場(chǎng)起步較早,市場(chǎng)上出現(xiàn)了一批具有很強(qiáng)實(shí)力的LED顯示屏生產(chǎn)廠商。目前LED顯示屏已經(jīng)廣泛應(yīng)用到車站、銀行、證券、醫(yī)院。在LED需求量上,LED顯示屏僅次于LED指示燈名列第二,占到LED整體銷量的23.1%。由于用于顯示屏的LED在亮度和壽命上的要求高于LED指示燈,平均價(jià)格在指示燈LED之上,這就導(dǎo)致顯示屏用LED市場(chǎng)規(guī)模達(dá)到32.4億元,超過指

7、示燈位居榜首成為LED的主要應(yīng)用市場(chǎng)。憑借著獨(dú)特優(yōu)勢(shì),LED全彩顯示屏廣泛應(yīng)用在體育場(chǎng)館、市政廣場(chǎng)、演唱會(huì)、車站、機(jī)場(chǎng)等場(chǎng)所。LED早已應(yīng)用在以手機(jī)為主的小尺寸液晶面板背光市場(chǎng)中,手機(jī)產(chǎn)量的持續(xù)增長帶動(dòng)了背光源市場(chǎng)的快速發(fā)展。特別是2003年彩屏手機(jī)的出現(xiàn)更是推動(dòng)白光LED市場(chǎng)的快速發(fā)展。但隨著手機(jī)產(chǎn)量進(jìn)入平穩(wěn)增長階段以及技術(shù)提升導(dǎo)致用于手機(jī)液晶面板背光源LED數(shù)量減少,使得LED在手機(jī)背光源中用量增速放緩,2005年背光源用LED數(shù)量超過12億只,未來幾年增長率也將保持在個(gè)位數(shù)。數(shù)量增速的放緩加上平均價(jià)格的不斷下降,最終導(dǎo)致小尺寸背光源市場(chǎng)增長乏力同時(shí),中大尺寸背光源市場(chǎng)雖為廠商新寵,但在2

8、006年還不能形成規(guī)模。在上述兩個(gè)因素的影響下,背光源市場(chǎng)將在2006年出現(xiàn)1%的負(fù)增長。2005年背光源市場(chǎng)規(guī)模超過15億元。三、點(diǎn)陣基本知識(shí)16*16掃描LED點(diǎn)陣只要其對(duì)應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻可以放在X軸或Y軸。它有16個(gè)共陰極輸出端口,每個(gè)共陰極對(duì)應(yīng)有16個(gè)LED顯示燈。LED點(diǎn)陣每個(gè)點(diǎn)都有一個(gè)紅色的發(fā)光二極管。點(diǎn)陣內(nèi)的二極管間的連接都是行共陽,列共陰。本實(shí)驗(yàn)采用共陰,當(dāng)二極管的共陽極為高電平,共陰極為低電平時(shí),所接點(diǎn)發(fā)光;反之處于截止?fàn)顟B(tài),不放光。數(shù)字電路。(圖1-7所示)、電路分析本設(shè)計(jì)采用16

9、X16LED點(diǎn)陣屏由4塊8X8LED點(diǎn)陣拼接而成,每一塊點(diǎn)陣都有8行8列,因此總共有16根行控制線和16根列控制線。EDA實(shí)驗(yàn)箱上有其接口電路,STR,SI,SCK,且實(shí)驗(yàn)箱上采用的是4個(gè)74HC595來實(shí)現(xiàn)行掃描和列掃描的。用動(dòng)態(tài)分時(shí)掃描技術(shù)使LED點(diǎn)陣模塊顯示字體,需要進(jìn)行兩步工作。第一步是獲得數(shù)據(jù)并保存,即在存貯器中建立漢字?jǐn)?shù)據(jù)庫。第二步是在掃描模塊的控制下,配合行掃描的次序正確地輸出這些數(shù)據(jù)。獲得圖像數(shù)據(jù)的步驟是,先將要顯示的每一幅圖像畫在一個(gè)被分成16X16共256個(gè)小方格的矩形框中,再在有筆劃下落處的小方格里填上“1”,無筆劃處填上“0”,這樣就形成了與這個(gè)漢字所對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)在

10、該矩形框上的分布,再將此分布關(guān)系以32X16的數(shù)據(jù)結(jié)構(gòu)組成64個(gè)字節(jié)的數(shù)據(jù),并保存在只讀存貯器ROM中。以這種方式將若干個(gè)漢字的數(shù)據(jù)貯存在存貯器內(nèi),就完成了圖像數(shù)據(jù)庫的建立工作。電路中采用SPI接口的方式對(duì)LED點(diǎn)陣進(jìn)行操作,LATTICE_SI對(duì)應(yīng)SPI的MOSI,LATTICE_STR對(duì)應(yīng)SPI的nCS,LATTICE_SCK對(duì)應(yīng)SPI的SCK。U17,U18,U19以及U20(74HC595)構(gòu)成一個(gè)串入并出的32bit數(shù)據(jù)移位寄存器。當(dāng)LATTICE_STR低電平有效時(shí),32bit數(shù)據(jù)在32個(gè)LATTICE_SCK時(shí)鐘下有LATTICE_SI串行輸入,當(dāng)LATTICE_STR由低電平變

11、成高電平時(shí),32bit數(shù)據(jù)并行輸出。在主板上主板上數(shù)據(jù)輸出時(shí)LADLDP對(duì)應(yīng)行,而LD1LD16對(duì)應(yīng)列,最先移入的數(shù)據(jù)被當(dāng)作16列(LD16),最后移入的被當(dāng)作第一行(LDA)。五、設(shè)計(jì)方案點(diǎn)陣LED般采用掃描式顯示,實(shí)際運(yùn)用分為三種方式:(1)點(diǎn)掃描(2)行掃描(3)列掃描若使用第一種方式,其掃描頻率必須大于16X64=1024Hz,周期小于1ms即可。若使用第二和第三種方式,則頻率必須大于16X8=128Hz,周期小于7.8ms即可符合視覺暫留要求。此外一次驅(qū)動(dòng)一列或一行(8顆LED)時(shí)需外加驅(qū)動(dòng)電路提高電流,否則LED亮度會(huì)不足本文系統(tǒng)的LED點(diǎn)陣模塊,共由16X16=256個(gè)LED發(fā)光

12、二極管組成。如何在該點(diǎn)陣模塊上顯示漢字是本文設(shè)計(jì)的關(guān)鍵技術(shù)。本文系統(tǒng)設(shè)計(jì)是采用一種16路動(dòng)態(tài)分時(shí)掃描技術(shù)來實(shí)現(xiàn)的。具體方法是,將4個(gè)8X8數(shù)組的顯示模塊組合成兩個(gè)16行16列的掃描結(jié)構(gòu)。其行輸入端與FPGA內(nèi)的只讀存儲(chǔ)器ROM的16位數(shù)據(jù)輸出端口相連;16個(gè)列控制端與一個(gè)4-16譯碼器的輸出相連;而譯碼器的輸入端和片選信號(hào)又與FPGA內(nèi)的列掃描控制模塊的輸出端口相連。方案二:VerilogHDL程序設(shè)計(jì)的是硬件,可以“并發(fā)執(zhí)行”本設(shè)計(jì)可以將LED顯示屏要的顯示內(nèi)容抽象成一個(gè)二維數(shù)組(數(shù)組中的1'對(duì)映點(diǎn)陣顯示屏上面的亮點(diǎn)),用VerilogHDL語言設(shè)計(jì)一個(gè)進(jìn)程將這個(gè)數(shù)組動(dòng)態(tài)顯示在LED

13、顯示屏上,再利用另一個(gè)進(jìn)程對(duì)這個(gè)數(shù)組按一定頻率進(jìn)行數(shù)據(jù)更新,更新的方式可以有多種。因?yàn)閮蓚€(gè)進(jìn)程是同時(shí)進(jìn)行的(并發(fā)執(zhí)行),如果對(duì)數(shù)組中的漢字?jǐn)?shù)據(jù)按滾動(dòng)的方式更新,則可實(shí)現(xiàn)漢字的滾動(dòng)顯示通過比較我們選擇方案二。雖然方案一很容易實(shí)現(xiàn),而且占用FPGA的資源較少,但是由于其實(shí)現(xiàn)方式的局限性,該方案只能實(shí)現(xiàn)漢字的滾動(dòng)顯示。方案二中將LED點(diǎn)陣抽象成了一個(gè)二維數(shù)組??梢栽O(shè)計(jì)一些比較復(fù)雜的算法來控制這個(gè)數(shù)組,使設(shè)計(jì)的系統(tǒng)不但可以滾動(dòng)顯示漢字,還可以擴(kuò)展一些其它的顯示效果。六、程序設(shè)計(jì)設(shè)計(jì)程序如下:-LED1616.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIE

14、EE.STD_LOGIC_Arith.ALL;USEIEEE.STD_LOGIC_Unsigned.ALL;ENTITYLED1616ISPORT(clk48M:INSTD_LOGIC;-系統(tǒng)時(shí)鐘sdat_in:INSTD_LOGIC_VECTOR(31downto0);STR:OUTSTD_LOGIC;SCLK:OUTSTD_LOGIC;d_out:OUTSTD_LOGIC);END;ARCHITECTUREoneOFLED1616ISSIGNALclk_count:integerrange0to400;SIGNALcnt32:STD_LOGIC_VECTOR(5downto0);SIGNA

15、Lclk60K,STR_R,SCLK_R,d_out_R:STD_LOGIC;SIGNALdata_shift:STD_LOGIC_VECTOR(31downto0);TYPEstatesIS(st0,st1,st2,st3);SIGNALc_state,n_state:states;BEGINSTR<=STR_R;SCLK<=SCLK_R;d_out<=d_out_R;d_out_R<=data_shift(31);PROCESS(clk48M)BEGINIFRISING_EDGE(clk48M)THENIFclk_count=400THENclk_count<

16、=0;clk60K<=notclk60K;ELSEclk_count<=clk_count+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(clk60K)BEGINIFRISING_EDGE(clk60K)THENc_state<=n_state;-主控時(shí)序進(jìn)程ENDIF;ENDPROCESS;PROCESS(c_state)BEGINCASEc_stateISWHENst0=>n_state<=st1;STR_R<='1'SCLK_R<='0'WHENst1=>n_state<=st2;S

17、TR_R<='0'SCLK_R<='0'WHENst2=>n_state<=st3;STR_R<='0'SCLK_R<='1'WHENst3=>if(cnt32>="100000")thenn_state<=st0;elsen_state<=st2;endif;STR_R<='0'SCLK_R<='0'WHENOTHERS=>n_state<=st0;ENDCASE;ENDPROCESS;PROC

18、ESS(SCLK_R)BEGINif(STR_R='1')thendata_shift<=sdat_in;cnt32<="000000"elsIFFAllING_EDGE(SCLK_R)THENdata_shift(31downto0)<=data_shift(30downto0)&'0'cnt32<=cnt32+'1'ENDIF;ENDPROCESS;END;-LS416LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIG

19、NED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYLS416ISPORT(SEL:INSTD_LOGIC_VECTOR(3DOWNTO0);Dout:OUTSTD_LOGIC_VECTOR(15DOWNTO0);ENDLS416;ARCHITECTUREBHVOFLS416ISBEGINPROCESS(SEL)BEGINCASESELISWHEN"0000"=>Dout<="1111111111111110"WHEN"0001"=>Dout<="11111111111

20、11101"WHEN"0010"=>Dout<="1111111111111011"WHEN"0011"=>Dout<="1111111111110111"WHEN"0100"=>Dout<="1111111111101111"WHEN"0101"=>Dout<="1111111111011111"WHEN"0110"=>Dout<="1

21、111111110111111"WHEN"0111"=>Dout<="1111111101111111"WHEN"1000"=>Dout<="1111111011111111"WHEN"1001"=>Dout<="1111110111111111"WHEN"1010"=>Dout<="1111101111111111"WHEN"1011"=>Dout&l

22、t;="1111011111111111"WHEN"1100"=>Dout<="1110111111111111"WHEN"1101"=>Dout<="1101111111111111"WHEN"1110"=>Dout<="1011111111111111"WHEN"1111"=>Dout<="0111111111111111"WHENOTHERS=>NULL;E

23、NDCASE;ENDPROCESS;ENDBHV;-MAX280LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYMAX280ISPORT(Qa:INSTD_LOGIC_VECTOR(8DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(8DOWNTO0);ENDMAX280;ARCHITECTUREBEHOFMAX280ISSIGNALQ1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(Qa)

24、BEGINIF(Qa>=280)thenQ<=Qa-280;elseQ<=Qa;ENDIF;ENDPROCESS;ENDBEH;modulecnt4b(clk,q);inputclk;output3:0q;reg3:0q;always(posedgeclk)beginif(q=4'b1111)q=4'b0000;elseq<=q+1'b1;endendmodulemoduleint_diva(clockin,clockout);inputclockin;outputclockout;regclockout;reg23:0counter;alway

25、s(posedgeclockin)beginclockout=(counter>=12000000);if(clockout)counter<=24'd0;elsecounter<=counter+1'b1;endendmodulemoduleint_divb(clockin,counter,clockout);inputclockin;outputclockout;output8:0counter;regclockout;reg8:0counter;always(posedgeclockin)beginclockout=(counter>=280);i

26、f(clockout)counter<=9'd0;elsecounter<=counter+1'b1;endendmodulemoduleadd4(dataa,datab,result);input8:0dataa;input8:0datab;output8:0result;reg8:0result;always(dataaordatab)beginresult<=dataa+datab;endendmodule七、電路仿真圖BLOCK1(1-1)(1-2)(1-3)LEDROM(1-6).ADC;.L.l;.CLK4BU.嚴(yán)険哪G>clock:-st5

27、(1-4)BLOCK2IpmomD:address9:0:ckick:irt£t(1-5)ROM><T:<AddrKi+2|+3+4+5|揺I+7ASCII口00047FE40424Q5240564Q5B47F2F8Q52405A40564252444243FE4000400001600404042204210420042Q3FE0042CC-2.BB24004200427FFE00420042004200420000BB.BBBB.3200000000000000000000000000000000000000000000000000000000000000000000000000

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論