![基于FPGA方向的大型屏幕顯示系統設計說明_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/3222ea70-5b60-434d-a3a9-10655bf5bb5b/3222ea70-5b60-434d-a3a9-10655bf5bb5b1.gif)
![基于FPGA方向的大型屏幕顯示系統設計說明_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/3222ea70-5b60-434d-a3a9-10655bf5bb5b/3222ea70-5b60-434d-a3a9-10655bf5bb5b2.gif)
![基于FPGA方向的大型屏幕顯示系統設計說明_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/3222ea70-5b60-434d-a3a9-10655bf5bb5b/3222ea70-5b60-434d-a3a9-10655bf5bb5b3.gif)
![基于FPGA方向的大型屏幕顯示系統設計說明_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/3222ea70-5b60-434d-a3a9-10655bf5bb5b/3222ea70-5b60-434d-a3a9-10655bf5bb5b4.gif)
![基于FPGA方向的大型屏幕顯示系統設計說明_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/3222ea70-5b60-434d-a3a9-10655bf5bb5b/3222ea70-5b60-434d-a3a9-10655bf5bb5b5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于FPGA方向的大型屏幕顯示系統設計摘 要主要研究基于Altera公司FPGA芯片的電子顯示屏的研究,配備相應的PC機軟件,可實現合攏、開簾、上下左右移動等顯示形式,并可顯示時鐘。具體容:1.FPGA系統設計;2.顯示接口電路的設計;3.時鐘接口電路的設計;4. FPGA系統與PC機通訊接口(RS232)的設計。FPGA控制模塊控制時鐘模塊、點陣顯示模塊、上位機通信模塊的協同工作,并分析、處理接收的數據。時鐘模塊完成對時鐘芯片的讀寫,包括時鐘初始化和時鐘信息讀取,最終用數碼管顯示時鐘。點陣顯示模塊實現LED點陣的驅動和顯示功能。驅動部分使用移位寄存器74HC595和移位寄存器 74HC164
2、 組成,74HC595 負責列掃描數據,74HC164 負責行掃描數據。行掃描采用三極管放大電流,加大掃描強度,提高點陣屏亮度。LED點陣是由16個大小為 32mm*32mm 的8*8共陽點陣組成16*64 點陣,可以顯示四個漢字,點陣屏可拆裝,采用圓孔銅排針,連接性能非常好。串口通信部分通過RS232串口實現。用戶可以通過上位機軟件發(fā)送待顯示的數據給FPGA控制系統。采用FPGA為核心控制模塊,通過接收上位機數據控制LED點陣顯示信息,同時通過鍵盤來控制顯示方式,并且在數碼管上顯示實時時鐘。軟件部分根據各芯片的時序圖進行模塊編程,消除了競爭和冒險。通過編程、調試、仿真、下載正確地實現了合攏、
3、開簾、上下左右移動等顯示形式,其硬件系統的實驗驗證也獲得了與軟件模擬仿真結論相吻合的結果。關鍵詞:FPGA控制模塊,串行通信電路,LED點陣與驅動電路 ,時鐘模塊ABSTRACTThe main research based on Altera's 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, and can dis
4、play 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 communication
5、 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. Drive using a sh
6、ift 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 * 32mm 8 * 8 c
7、ommon 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 the the FPGA
8、 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 chip module prog
9、ramming, 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 results. Keyword
10、s: FPGA control module, serial communication circuit, LED dot matrix drive circuit, clock module28 / 30第1章 緒論1.1研究現狀LED照明就像是近年來高速發(fā)展的交通,迅速崛起,近幾年來年增長率幾近超過60%,而隨著LED發(fā)光效率的不斷提升,封裝技術的不斷改進,驅動能力和壽命的增加,LED照明技術在未來幾年會逐漸進入千家萬戶。隨著世界各國環(huán)保議題逐漸重視,LED照明產業(yè)頁將扮演愈來愈重要的角色,其主要產品是應用于室、室外照明以與街燈等高功率產品。據悉,2009年全球照明市場約1219億美元,而
11、LED就占了其中的0.5%,可見其有一個很好的發(fā)展前景。其中,又以亞太地區(qū)的市場規(guī)模最大,約占全球比例的33.7%,其次是北美和歐洲,分別占30.1%和27.4%。在應用產品中,戶外照明約占總比重的12%,具有相當大的發(fā)展空間,而在此當中中國市場占據了全球市場的38%,成為戶外照明中占有率最高的。此外,在受政府政策與推廣影響下的街燈應用有望成為照明產業(yè)中成長最快的。在歐美優(yōu)先領起的趨勢下,2010年全球達到450萬盞LED街燈的水平,并且伴隨著國際加緊節(jié)能減碳的節(jié)奏,一旦路燈標準規(guī)格普與,中國市場有望突破占有世界50%以上的比例。LED驅動器技術的發(fā)展主要體現在兩方面:一方面,日常生活中常用的
12、鹵素燈、白熾燈和熒光燈將被離線式高功率因數校正可調光LED驅動器替代;另一方面,低壓鹵素燈也將被LED驅動器能高效替代。在為LED提供電能與熱能保護的前提下,以增加其耐用性。當然,優(yōu)化驅動器以提供最佳功效也成為一大發(fā)展趨勢。隨著數字技術的快速發(fā)展,基于FPGA芯片控制全彩LED大屏幕圖像顯示系統設計,各種數字顯示屏也像雨后春筍隨即涌現出來,像LCD、LED、DLP都是其中最典型的代表,而各種數字大屏幕的控制系統也多種多樣,有用PC+DVI接口解碼芯片+FPGA芯片聯機控制系統的,也有用ARM+FPGA脫機控制系統的。盡管大尺寸液晶顯示在未來的幾年還有相當大的市場份額,但針對大尺寸直下式背光源的
13、驅動和控制芯片的開發(fā)的歷史并不悠久。針對LED背光源的特點,可以將信號處理技術和復雜的控制技術融合到背光源技術中,目前的做法主要是采用FPGA,各廠家均有自家不同的控制方法和算法。隨著數字電視技術和背光技術的發(fā)展,背光的控制方法與驅動方法越來越規(guī)化,為了降低成本,將屏顯控制、背光控制單元和電視的機芯微處理器由一個微處理器統一實現也將是一種技術發(fā)展的趨勢。 如今,Verilog HDL設計成為中國地區(qū)和美國邏輯電路設計和制造廠家的一大設計主流,而中國大陸地區(qū)目前學習使用Verilog HDL也已超過了VHDL。從使用的角度看,對于集成電路(ASIC)設計人員來說,更多的是掌握verilog,因為
14、在IC設計領域,有90以上的公司采用verilog進行IC設計。而對于PLD/FPGA設計者而言,兩種語言區(qū)別不是很大。1.2 研究意義隨著社會的快速發(fā)展,LED顯示屏作為一種大型平板顯示設備,以其功耗低、使用壽命長、維護費用低等特點在顯示屏領域占據著非常重要的位置。特別是在近年,帶有紅、藍、綠三基色以與灰度顯示效果的全彩LED顯示屏,以其豐富多彩的顯示效果而倍受業(yè)界關注,成為LED顯示屏市場近年增長幅度較大的產品之一。單位面積亮度、壽命、三基色的偏差程度、對比度、點距、灰度等級(包括灰度級數和線性度)、掃描頻率等性能指標是衡量或橫向比較大型顯示設備優(yōu)劣的標準。而這些性能指標的優(yōu)劣,很大程度決
15、定于掃描控制器的一個性能。因此對大屏幕全彩LED顯示掃描控制方法的研究有著重要的意義。隨著顯示亮度要求的增加、屏尺寸的擴大,數據傳輸和控制的時間也會增加,如果仍然采用簡單的單片機作為控制器,將會影響畫面顯示的效果,嚴重時可能導致無常工作,然而,如果控制器采用可編程邏輯器件,則可解決這一難題。一方面,隨著生產工藝的提高和微電子技術的發(fā)展,器件的性能會有很大的提高,從而出現了高性能的現場可編程邏輯器件(FPGA),FPGA具有處理速度高、高容量、可靠性高和集成度高等特點,在大屏幕顯示系統設計中使用FPGA可以滿足現在的LED大屏幕系統對于處理視頻數據的高速要求,同時改善電路的性能,縮小系統的體積。
16、設計中使用硬件描述語言進行電路設計,可以隨時根據設計需要進行修改,而不必對硬件進行修改,它使系統的設計和調試非常方便,不僅大大的縮短了產品的開發(fā)周期,降低了開發(fā)成本,也方便以后的系統升級。1.3 研究容本課題為基于Altera公司FPGA芯片的電子顯示屏的研究設計,并配備相應的PC機軟件,從而實現開簾、合攏、上下、左右移動等多種顯示形式,并可顯示相應的時鐘。具體容為:1.FPGA整體系統的設計;2.時鐘接口電路的設計;3.顯示接口電路的設計; 4. FPGA系統與PC機通訊接口(RS232)的設計。第2章 系統組成與工作原理2.1 系統組成本設計要求使用Altera公司的FPGA芯片完成64*
17、16點陣式LED點陣顯示屏的顯示,配備相應的PC機軟件,實現上位機與下位機的通信,下位機實現開簾、合攏、上下、左右移動等多種顯示形式,并且能夠顯示時鐘。基于FPGA的LED點陣顯示屏的系統框圖如下圖2.1所示:時鐘模塊串口通信點陣顯示模塊FPGA控制系統上位機圖2.1 系統總體框圖FPGA控制模塊控制點陣顯示模塊、時鐘模塊與上位機通信模塊的協同工作,并分析、處理接收相應的數據。時鐘模塊完成對時鐘芯片的讀寫,包括對時鐘的初始化和時鐘信息的讀取,并最終在數碼管上顯示出來。 點陣顯示模塊實現的是LED點陣的驅動與其顯示功能。驅動部分使用移位寄存器74HC595和移位寄存器 74HC164 組成,74
18、HC595 主要負責列掃描數據,74HC164 主要負責行掃描數據。行掃描采用三極管進行電流放大,加大掃描強度,從而提高點陣屏亮度。LED點陣是由16個大小為 32mm*32mm 的 8*8 共陽點陣組成64*16 點陣,可以同時顯示四個漢字或者八個字母,點陣屏可拆裝,采用的是圓孔銅排針,連接性能非常好。串口通信部分通過RS232串口實現。用戶可以通過上位機軟件發(fā)送需要顯示的數據給FPGA控制系統。2.2 工作原理本設計的工作原理為:采用以FPGA為核心控制模塊,通過接收上位機數據控制LED點陣顯示系統。同時通過鍵盤來控制幾種顯示方式,并在數碼管上顯示實時時鐘。軟件部分根據各芯片的時序圖進行相
19、應的模塊編程,從而消除競爭和冒險。第3章 基于FPGA的LED點陣硬件設計3.1 方案論證與比較3.1.1 FPGA芯片選擇當今FPGA芯片的主要設計和生產廠家有Altera、Atmel、Xilinx、Lattice等公司。其中以Xilinx、Altera公司規(guī)模最大,他們的市場占有率也是最高的。相對于Xilinx而言, Altera更適合于教學使用,因為對于初學者來說,他的入門門檻較低,學起來簡單。更重要的是,Altera公司還給學習者提供很好的后續(xù)服務和支持。而在工藝方面,Xilinx公司和Altera公司生產的FPGA都是基于SRAM的工藝的,需要在使用時外接一個片外存儲器用以保存程序。
20、上電時,FPGA將外部存儲器中的數據讀入片RAM,完成配置后,進入正常工作狀態(tài);掉電后,恢復為白片,部邏輯消失。這樣的好處在于不僅能夠反復使用,還不需要專門的FPGA編程器,只需通用的PROM、EPROM編程器即可。本設計采用較為普遍的Altera公司的EP2C8Q208C芯片。這塊芯片不僅部資源豐富,而且支持NIOS,無論在性價比還是將來進行功能拓展上都占據著絕對的優(yōu)勢。3.1.2 LED點陣屏與驅動電路本設計采用64*16LED點陣屏由16塊8*8LED點陣拼接而成,每一塊點陣都有8行8 列,因此總共有16根行控制線和64根列控制線。方案一:在LED點陣驅動電路中,采用1片4線/16線譯碼
21、器74HC154作為行驅動,選用4片74HC154占用15個FPGA的I/O口(包括兩個enable端)。方案二:使用四個移位寄存器74HC595(帶存儲器) 和兩個移位寄存器 74HC164 驅動16*16的點陣,74HC595 主要負責列掃描數據,而74HC164 主要負責行掃描數據。行掃描采用三極管放大電流,加大掃描強度,從而提高點陣屏亮度。最終只需要制作四塊同樣的板子拼湊成64*16LED點陣。方案比較與確定:首先,考慮I/O口數量的占用,方案一使用了15個I/O口,而方案二只使用了5個,相對而言方案二使用了更少的I/O口。其次,考慮軟件編程,采用譯碼方式(方案一)驅動可以使代碼簡化,
22、而采用移位方式(方案二)驅動的可使他的拓展性更強。再次,考慮到一個制作成本,一片74HC154芯片大約四元,而一片74HC595芯片和74HC164芯片只需0.7元。最后,考慮功率損耗,兩種方案使用的coms芯片功耗都非常小。所以,綜上所得,本設計宜采用方案二,不僅能夠大大的減少I/O資源的占用量,而且還能使制作成本縮減。3.1.3時鐘芯片DALLAS公司推出的DS1302芯片是一種涓流充電的時鐘芯片,部含有31字節(jié)靜態(tài)RAM和一個實時時鐘/日歷。同時,可以提供時分秒、日期、年月等信息,更重要的是,每月的天數和閏年的天數都可相應的自動調整。時鐘操作可通過AM/PM指示決定是采用24小時制式還是
23、采用12小時制式。3.1.4 串行通信模塊輸入接口模塊提供的是PC上位機到FPGA核心板傳輸數據的接口。輸入接口通過RS232以與JTAG下載線來實現從PC上位機傳輸數據到下位機。上位機使用相應的字模提取工具,將下一步需要顯示的數據發(fā)送至下位機,而PC和Nios系統間的通信是通過JTAG下載線來實現的。而RS232串口連接也實現了FPGA核心板與LED顯示模塊之間的通信。3.2 FPGA控制模塊FPGA控制模塊的電路是系統控制和數據處理的核心,該部分電路主要由電源接口、開關、相應的時鐘振蕩電路和復位電路組成。3.2.1 電源接口與開關電路圖 3.1 電源接口與開關電路如圖3.1所示,其中F1為
24、限流1.1A的F110保險管,主要目的在于保護電源。3.2.2 復位電路如圖3.2所示,該復位電路主要實現的是對系統進行初始化。在沒有按下按鍵的情況下,KEY讀取到的是高電平。而在按下鍵之后,KEY拉低。整個過程當中,一次復位后產生一脈沖信號,觸發(fā)芯片在下降沿時進行復位。 圖3.2 復位電路3.2.3 時鐘振蕩電路 如圖3.3所示,X1為20MHz的有源晶振。圖3.3 時鐘振蕩電路3.3 LED點陣與驅動電路3.3.1 LED點陣點陣屏可分為共陽式點陣屏和共陰式點陣屏兩種,本次畢業(yè)設計采用的是共陽型的點陣屏,如圖3.4所示。8*8點陣屏顯示的原理是利用其行列導通其中的LED進而控制64個LED
25、的亮滅。使用4塊8*8LED點陣屏就可以組成一個16*16的點陣屏,它能夠顯示一個漢字或者是兩個字母。圖3.4 8*8點陣原理圖3.3.2 LED點陣驅動電路驅動部分使用四個帶存儲器的移位寄存器 74HC595和兩個移位寄存器 74HC164 組成,74HC595負責列掃描數據,74HC164負責行掃描數據。列掃描采用三極管放大電流,加大掃描強度,提高點陣屏亮度。3.4 時鐘模塊時鐘模塊包括時鐘芯片和時鐘顯示模塊。3.4.1時鐘芯片電路DS1302實時時鐘可提供秒、分、時、日、星期、月和年等時間,如果一個月的天數小于31天時還可以進行自動調整,同時還具有閏年補償功能。工作電壓寬度為2.55.5
26、V。采用的是雙電源供電,在有主電源的情況下還配備一個備用電源,用戶可設置備用電源充電方式,以便提供對后背電源進行涓細電流充電。DS1302的外部引腳分配如圖3.5所示,部結構如圖3.6所示。DS1302主要用于數據記錄,特別是在對某些具有特殊意義的數據點的記錄上,能夠實現同步計時,因此測量系統中應用非常廣泛。圖3.5 DS1302的外部引腳分配圖3.6 DS1302的內部結構 3.4.2時鐘顯示電路本設計主要采用六位獨立的數碼管分別顯示時鐘。電路如圖3.7所示。數碼管可分為共陽極數碼管和共陰極數碼管。本次設計采用的是共陽極數碼管。每一個
27、數碼管通過一個9012三極管進行電流放大。9012為PNP型三極管,當SEL端出現低電平時,數碼管被選通。反之,當SEL拉高時,數碼管不顯示。圖3.7 數碼管顯示3.5 串行通信電路串行通信電路由RS232串口電路和JTAG接口電路共同組成。RS232串口用于上位機與下位機的數據傳輸,而JTAG接口用于程序下載與調試。3.5.1 RS232串口電路FPGA的電平為TTL電平(即:高電平 +3.3V,低電平 0V),而計算機串口電平為RS232電平(即:高電平 -12V,低電平 +12V),所以,計算機與FPGA芯片之間進行通訊時需要加電平轉換芯片。RS232串口電路如圖3.8所示:圖3.8 R
28、S232串口電路圖3.8中,RS232串口電路中使用MAX232CPE作為電平轉換芯片,通過串口線連接到計算機的COM口(9針D形口),用于FPGA與上位機通信以與和其他串口設備的數據交互。3.5.2 JTAG下載接口JTAG下載接口電路如下圖3.9所示,用于調試FPGA。JTAG下載不僅下載速度快,而且支持SignalTAP,但是,不能編程EPCS芯片,掉電后會造成數據丟失。使用JTAG時需要配合USB Blaster進行下載調試。 圖3.9 JTAG下載接口電路 圖3-5 JTAG下載接口電路第4章基于FPGA的LED點陣顯示的軟件設計4.1 Verilog HDL編程語言與編譯器概述4.
29、1.1 Verilog HDL語言綜述常用的硬件描述語言有VHDL、Verilog DHL和ABEL語言。常用的FPGA的編程語言有二種,一種是Verilog HDL,一種是VHDL。將Verilog HDL語言和VHDL語言進行對比,我們能夠看到,Verilog HDL語言是一種非常容易掌握的硬件描述語言,較之而論VHDL語言則是一個規(guī)模龐大的語言,在使用它之前完全學會它是非常難的。Verilog是專門為復雜數字系統的設計仿真而開發(fā)的,本身就非常適合復雜數字邏輯電路和系統的仿真和綜合。由于Verilog在其門級描述的底層,也就是在晶體管開關的描述方面比VHDL有更強的功能,所以,即使是VHD
30、L的設計環(huán)境,在底層實質上也是由Verilog HDL描述的器件庫所支持的1。Verilog適合系統級(system)、算法級(alogrithem)、寄存器傳輸級(RTL)、邏輯級(logic)、門級(gata)、電路開關級(switch)設計,而SystemVerilog 是Verilog語言的擴展和延伸,更適用于可重用的可綜合IP和可重用的驗證用IP設計,以與特大型(千萬門級以上)基于IP的系統級設計和驗證。Verilog HDL作為一種高級的硬件描述編程語言,與C語言的風格有很多類似之處。其中有許多語句,如if語句、case語句和C語言中的相應語句都很相似。4.1.2 Quartus
31、II 軟件綜述Altera公司的Quartus II設計軟件提供了完整的多平臺設計環(huán)境,能夠直接滿足特定的設計需要,為可編程芯片系統(SOPC)提供全面的設計環(huán)境。Quartus II軟件含有FPGA和CPLD設計所有階段的解決方案,如圖4.1所示。圖4.1 Quartus II設計流程圖Quartus II設計工具支持基于Verilog HDL、VHDL和圖形的設計,其部嵌有VHDL、Verilog HDL邏輯綜合器。Quartus II 可以利用第三方的綜合工具進行邏輯綜合,當然也可以利用第三方的仿真工具(如Modelsim)進行仿真。此外Quartus II與MATLAB和DSP Bui
32、lder 結合,可以進行基于FPGA的DSP系統開發(fā)。使用Quartus II嵌的SOPC Builder,配合Nios II IDE集成開發(fā)環(huán)境,可以開發(fā)Nios II嵌入式軟核處理器。4.1.3 ModelSim 仿真軟件綜述ModelSim由Mentor Graphics 公司的子公司Model Tech公司開發(fā),是業(yè)界最優(yōu)秀的Verilog HDL語言仿真器。它提供一個非常友好的調試環(huán)境,是唯一的單核支持VHDL和Verilog混合仿真的仿真器,是進行FPGA/SOPC設計的RTL級和門級電路仿真的最佳首選。ModelSim最大的特點是其強大的調試功能,先進的數據流窗口,可以迅速地追蹤
33、到產生不定或者錯誤狀態(tài)的原因;性能分析工具幫助分析性能瓶頸,加速仿真;代碼覆蓋率檢查確保測試的完備;多種模式的波形比較功能;可以實現與Matlab的Simulink的聯合仿真。4.2 LED點陣顯示模塊4.2.1 LED點陣顯示驅動LED點陣顯示模塊完成對列選擇和行掃描。將16位的行數據移位進入74HC164的寄存器中,將64位的列數據移位進入74HC595中。當完成一行的掃描輸出一個脈沖信號isdone。由于人眼的暫留時間,只有當畫面刷新頻率大于50Hz時才不會出現閃爍現象。更新行數據最大周期Tmax=1/50/16=1.25ms。程序中利用計數器cnt作為行移位標志,當計數器計數到1999
34、9時移位一次,T=(19999+1)/20000000=1ms,(系統使用20MHz晶振),所以本設計刷新周期為1ms。以下代碼為LED顯示驅動模塊的源程序: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;reg risdone;reg 14:0t;re
35、g 3:0 C;always (posedge clk or negedge rst)if(!rst)begint<=15'd0; C<=4'd0; end else if(cnt=15'd19_999) begin C<=C+1'b1;cnt<=15'd0; endelse cnt<=cnt+1'b1;reg 5:0 i;always (posedge clk or negedge rst)if(!rst) begin rAB<=1'b1;rs_clk<=1'b0; rrclk<=
36、1'b0;rsclk<=1'b0; rser<=1'b0;i<=6'd0;risdone<=1'b0; endelse case(i)0:begin risdone<=1'b0; rAB<=row_dataC; rs_clk<=1'b0; rrclk<=1'b0; rsclk<=1'b0; i<=i+1'b1;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,2
37、7,28,29,30,31,32: if(cnt2:0=3'd5)beginrsclk<=1'b1; i<=i+1'b1;endelsebegin rser<=datai-1;rsclk<=1'b0;end33: beginrrclk<=1'b1;rs_clk<=1'b1; i<=i+1'b1; end34:begin if(cnt=15'd0) begin risdone<=1'b1; i<=6'd0;end else begin rrclk<=1
38、9;b0; rsclk<=1'b0; rs_clk<=1'b0; end endendcaseassign rclk=rrclk;assign sclk=rsclk;assign ser=rser;assign AB=rAB;assign s_clk=rs_clk;assign isdone=risdone;endmodule 圖4.2 點陣顯示驅動仿真波形 AB,s_clk用于驅動74HC164;ser,sclk,rclk用于驅動74HC595。當輸入 data=32'h55_55_F0_0A、row_data=16'b1111_1111_1111
39、_1110時功能仿真波形如圖4.2所示,相隔8個時鐘周期ser更新一次數據,并且sclk產生一脈沖將列數據移位一次。移完所有64位數據時,rclk產生一脈沖信號將列數據鎖存。同時isdone產生一脈沖用于與其他模塊進行交互。4.2.2 行數據控制模塊行數據控制模塊主要實現控制顯示的上下移位功能。以下程序為此模塊的源程序:module row_control(input clk,input rst,input key_up, input key_down,input key_stop,/input 15:0 rdata,output 15:0 row_data);reg up_en; reg d
40、own_en;reg 15:0 rrow; always (posedge clk or negedge rst)if(!rst)beginup_en<=1'b0;down_en<=1'b0;endelse if(key_up)beginup_en<=1'b1; down_en<=1'b0;end else if(key_down) begin down_en<=1'b1; up_en<=1'b0; endelse if(key_stop)begin up_en<=1'b0; down_en<
41、;=1'b0;endreg 23:0t0;reg 3:0 k;always (posedge clk or negedge rst)if(!rst) begin t0<=24'd0;k<=4'd0;rrow<=16'b1111_1111_1111_1110; endelse if(down_en) begin if(cnt0=24'd9_999_999)begin k<=k+1'b1; t0<=24'd0; end else begin t0<=cnt0+1'b1;case(k) 0:rrow&
42、lt;=16'b1111_1111_1111_1110; 1: rrow<=16'b1111_1111_1111_1101;2:rrow<=16'b1111_1111_1111_1011;3: rrow<=16'b1111_1111_1111_0111;4: rrow<=16'b1111_1111_1110_1111;5:rrow<=16'b1111_1111_1101_1111;6:rrow<=16'b1111_1111_1011_1111;7:rrow<=16'b1111_1111_0
43、111_1111;8:rrow<=16'b1111_1110_1111_1111;9:rrow<=16'b1111_1101_1111_1111;10:rrow<=16'b1111_1011_1111_1111;11:rrow<=16'b1111_0111_1111_1111;12:rrow<=16'b1110_1111_1111_1111;13:rrow<=16'b1101_1111_1111_1111;14:rrow<=16'b1011_1111_1111_1111;15:rrow<=1
44、6'b0111_1111_1111_1111; endcase end endelse if(up_en) begin if(cnt0=24'd9_999_999) begin k<=k+1'b1; t0<=24'd0; end else begincnt0<=cnt0+1'b1;case(k)0:rrow<=16'b1111_1111_1111_1110;1:rrow<=16'b0111_1111_1111_1111;2:rrow<=16'b1011_1111_1111_1111;3:rrow
45、<=16'b1101_1111_1111_1111;4:rrow<=16'b1110_1111_1111_1111;5:rrow<=16'b1111_0111_1111_1111;6:rrow<=16'b1111_1011_1111_1111;7:rrow<=16'b1111_1101_1111_1111;8:rrow<=16'b1111_1110_1111_1111;9:rrow<=16'b1111_1111_0111_1111;10:rrow<=16'b1111_1111_101
46、1_1111;11:rrow<=16'b1111_1111_1101_1111;12:rrow<=16'b1111_1111_1110_1111;13:rrow<=16'b1111_1111_1111_0111;14:rrow<=16'b1111_1111_1111_1011;15:rrow<=16'b1111_1111_1111_1101;endcaseend endelse rrow<=16'b1111_1111_1111_1110;assign row_data=rrow;endmodule其中,key_
47、up表示上鍵標志信號,key_down表示下鍵標志信號,key_stop為停止移位標志信號,row_data為行數據輸出。靜態(tài)顯示時,只要進行逐行掃描,第i位出現0時,則選通第i行。所以當按下停止鍵時,則直接輸出16'b1111_1111_1111_1110。當有其他鍵按下時則觸發(fā)移位。移位時,首先啟動計數器,當每計滿9,999,999(即0.5s)時,行數據移位一次。如圖4.3所示,仿真key_up鍵按下時,row_data每0.5s循環(huán)右移一次。圖4.3 行數據控制仿真波形4.2.3 列數據控制模塊列數據控制模塊主要實現合攏、上下左右移動、開簾四種顯示方式的控制。以下為模塊的例化程
48、序:module column_control(input clk,input rst,input key_left,input key_right,input key_stop,input 63:0 rdata,Output 63:0 data);其中,key_left表示左鍵標志信號,key_right表示右鍵標志信號,key_stop為停止移位標志信號,在沒有讀取到按鍵時顯示方式為循環(huán)開簾和合攏。rdata為原列數據,data為移動后的列數據。移位速度為1/20s,如圖4.4所示:圖4.4列數據左移仿真波形4.3 時鐘模塊 時鐘模塊主要實現讀寫時鐘芯片DS1302和驅動數碼管顯示時鐘。如
49、圖4.5所示,inter_face完成對時鐘初始化和讀取時鐘以與作為smg模塊與ds1302的接口。圖4.5 時鐘模塊RTL圖4.3.1 讀寫時鐘芯片 如圖4.6所示,該模塊由命令控制模塊和函數模塊組成。 圖4.6 時鐘芯片讀寫模塊_function模塊端口實例化程序: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); 其中,兩位的s
50、tart為讀寫選擇信號,當start1為1的時候進行寫操作,當start0為1的時候進行讀操作;addr為操作碼;write_data為待寫數據;read_data保存了讀取到的時鐘數據;rst驅動DS1302復位引腳;sclk為DS1302的提供時鐘信號;SIO為輸入輸出口,驅動DS1302數據端口。 編程思路:(1)根據start判斷進行讀操作還是寫操作;(2)讀操作或寫操作都需要先發(fā)送一個字節(jié)操作碼;(3) 讀操作時,使SIO作為輸入,依次讀取DS1302輸入的8位數據保存于read_data;(4)寫操作時,使SIO作為輸出口,依次發(fā)送write_data的八位數據;(5)操作完畢時向外界發(fā)送一脈沖信號done。contro
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人居間協議范文(2篇)
- 2025年個人貨運汽車租賃合同模板(2篇)
- 2025年產品經銷協議標準范文(2篇)
- 2025年五年級班主任期末個人工作總結模版(2篇)
- 2025年產品供貨合同格式范文(2篇)
- 智慧小鎮(zhèn)用地中介合同范本
- 辦公大樓石材運送合同模板
- 2025年度安防設備展覽會現場展位安保合同
- 婚慶服務居間合同
- 教育設施改造貸款居間合同
- RB/T 101-2013能源管理體系電子信息企業(yè)認證要求
- GB/T 4513.7-2017不定形耐火材料第7部分:預制件的測定
- GB/T 10205-2009磷酸一銨、磷酸二銨
- 公司財務制度及流程
- 高支模專項施工方案(專家論證)
- 深圳版初中英語單詞匯總
- 健康養(yǎng)生,快樂生活課件
- 《物流與供應鏈管理-新商業(yè)、新鏈接、新物流》配套教學課件
- MDD指令附錄一 基本要求檢查表2013版
- 駱駝祥子1一24章批注
- 新部編人教版四年級下冊道德與法治全冊教案(教學設計)
評論
0/150
提交評論