可調(diào)光柵投影控制儀設(shè)計(jì)_第1頁(yè)
可調(diào)光柵投影控制儀設(shè)計(jì)_第2頁(yè)
可調(diào)光柵投影控制儀設(shè)計(jì)_第3頁(yè)
可調(diào)光柵投影控制儀設(shè)計(jì)_第4頁(yè)
可調(diào)光柵投影控制儀設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(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、重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文)可調(diào)光柵投影控制儀設(shè)計(jì) 學(xué)生:畢偉鎮(zhèn)學(xué)號(hào):20117395指導(dǎo)教師:汪濤專(zhuān)業(yè):電子信息科學(xué)與技術(shù)重慶大學(xué)物理學(xué)院二O一五年六月Graduation Thesis of Chongqing UniversityAdjustable grating projection controller designUndergraduate: BI WEIZ HENSupervisor: Wang TaoMajor: Electronic Information Science and TechnologyCollege of Physics of Chongqing Uni

2、versityChongqing UniversityJune 2014重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文) 中文摘要摘 要 在三維形貌測(cè)量過(guò)程中,有時(shí)候需要根據(jù)實(shí)際的需求,產(chǎn)生各種頻率,相位,方位的光柵,傳統(tǒng)的投影柵線(xiàn)條紋的制作方式是將制作好的光柵放于光源前面而形成,這種方法雖然設(shè)備簡(jiǎn)單,但局限性很多,不能實(shí)現(xiàn)依照被測(cè)物體得幾何形狀、尺寸以及測(cè)量的角度、方位、以及間距來(lái)自動(dòng)調(diào)節(jié)實(shí)驗(yàn)裝置的投影和接收系統(tǒng),使得靈活性比較差,同時(shí)不能根據(jù)實(shí)驗(yàn)額需要來(lái)改變光柵的相位和周期。 單片機(jī)具有非常靈活的控制機(jī)制以及強(qiáng)大的數(shù)據(jù)處理能力,并且其編程采用C語(yǔ)言,使用起來(lái)既能達(dá)到實(shí)驗(yàn)的要求,又非常的方便。FPGA的VG

3、A接口提供多種分辨率的顯示方式,能夠根據(jù)實(shí)驗(yàn)的要求進(jìn)行編程,顯示出所需要的光柵。 結(jié)合目前光柵測(cè)量的不夠機(jī)動(dòng)性和單片機(jī)的智能性進(jìn)行深入的研究,通過(guò)單片的的多種控制機(jī)制,來(lái)實(shí)現(xiàn)對(duì)光柵不同的測(cè)量的位置,光柵周期,頻率等不同參數(shù)下的測(cè)量效果,來(lái)增加光柵測(cè)量形貌的靈活性和可持續(xù)性。然后通過(guò)FPGA的VGA接口投影出來(lái)。實(shí)驗(yàn)最終投影出了幾種簡(jiǎn)單的光柵,達(dá)到了最初的實(shí)驗(yàn)設(shè)想。 關(guān)鍵詞:可調(diào)光柵,單片機(jī),F(xiàn)PGA, VGAIII重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文) ABSTRACTABSTRACTIn the three-dimensional shape measurement process, someti

4、mes according to the actual needs, resulting in a variety of frequency, phase, orientation of the grating, the traditional production methods fringe projection gate line is to make a good grating placed in front of the light source is formed, which Although the device is simple method, but many limi

5、tations, can not be achieved in accordance with the geometry of the object was, and measuring the size of the angle, orientation, and spacing of the experimental apparatus to automatically adjust the projection and reception system, so that relatively poor flexibility, while not According to the exp

6、erimental phase and the amount required to change the period of the grating.  SCM has a very flexible control mechanism and powerful data processing capabilities, and its programming using C language, using them can achieve the requirements of the experiment, but also very convenient. FPGA

7、 VGA port offers a variety of display resolutions, it can be programmed to test the claim, showing the required grating.  Combined with the current lack of mobility and grating measurements SCM intelligence-depth study, through a variety of monolithic control mechanisms to implement measur

8、e the effect of different parameters on different measurement grating position, the grating period and frequency under to increase the flexibility of the grating measuring topography and sustainability. Then be projected through FPGA VGA port. By experiments projected a few simple grating, reaching

9、the initial experiments envisaged.Keywords: Adjustable grating, The microcontroller, FPGA, VGA重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文) 目錄目錄摘 要IABSTRACTII1 緒論11.1 課題的研究意義11.2 課題的主要研究工作21.3 重點(diǎn)研究?jī)?nèi)容21.4 本章小結(jié)22 可調(diào)光柵投影儀控制硬件系統(tǒng)簡(jiǎn)介32.1單片機(jī)32.1.1運(yùn)算器32.1.2 控制器32.1.3 UART42.1.4 LCD52.2 FPGA52.2.1 工作原理52.2.2 可編程輸入輸出單元(IOB)52.2.3 嵌入式塊RAM(

10、BRAM)52.2.4 VGA原理62.3 串口通信72.3.1 通信原理72.3.2 結(jié)構(gòu)82.4 本章小結(jié)93 光柵介紹103.1 光柵的定義103.2 光柵的原理103.3 光柵的分類(lèi)103.4 幾種常見(jiàn)的光柵103.4.1 線(xiàn)光柵113.4.2 余弦型振幅光柵113.4.3 正弦型位相光柵113.4.4 矩形位相光柵113.5 本章小結(jié)124 系統(tǒng)總體框架圖以及整體工作原理134.1系統(tǒng)總體框架圖134.2 整體工作原理134.3系統(tǒng)流程圖134.3本章小結(jié)145 系統(tǒng)各部分功能實(shí)現(xiàn)程序155.1 單片機(jī)LCDL12864模塊控制程序155.2 按鍵控制模塊215.3 UART發(fā)送模塊

11、225.4 FPGA UART接收模塊235.5 FPGA RAM模塊245.6 FPGA VGA模塊245.7 本章小結(jié)276 系統(tǒng)調(diào)試287 結(jié)論與總結(jié)318 致謝33參 考 文 獻(xiàn)34重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文) 緒論 1 緒論1.1 課題的研究意義 產(chǎn)品的復(fù)雜程度在不斷的提高,同時(shí)人的審美觀(guān)也在不斷的提高,但是如何才能快速并且能夠非常準(zhǔn)確獲取物體的三維形貌的同時(shí),又能進(jìn)行優(yōu)化創(chuàng)新是產(chǎn)品設(shè)計(jì)與制造研究熱點(diǎn)。 一般來(lái)說(shuō),我們將三維形貌測(cè)量可以稱(chēng)之為三維面形測(cè)量,也有的稱(chēng)三維形貌測(cè)量為三維輪廓術(shù)。它的技術(shù)手段包括很多種,比如運(yùn)用微波的手段來(lái)獲得物體表面三維空間形狀。通常來(lái)說(shuō),我們可以把它

12、分為兩種形式:有接觸式以及非接觸式的測(cè)量,他們有各自的優(yōu)缺點(diǎn),其中,非接觸式擁有測(cè)量速度快、對(duì)被測(cè)物無(wú)破壞、測(cè)量分辨率高、能夠全場(chǎng)測(cè)量、擁有非常強(qiáng)的適應(yīng)性。 在非接觸測(cè)量的發(fā)展過(guò)程中,投影光柵法越來(lái)越得到學(xué)者們的認(rèn)可和好評(píng),很明顯它是屬于光學(xué)的非接觸式測(cè)量中的一種,而且是很重要的一種。在不斷發(fā)展的過(guò)程中,光柵投影技術(shù)也分為了不同的技術(shù)手段,比如剛開(kāi)始時(shí)的莫爾條紋技術(shù)以及到后面發(fā)展較為快速的傅里葉變換輪廓術(shù)。當(dāng)然,還有其他的不同的測(cè)量方法,其中調(diào)制測(cè)量形貌測(cè)量法和相位測(cè)量輪廓術(shù)也是比較常見(jiàn)的測(cè)量方法,最后還包括空間相位檢測(cè)法已經(jīng)鎖相環(huán)法等等。 在過(guò)去要使用光柵測(cè)量的時(shí)候,我們是將制作好的光柵固定

13、的放于光源前面來(lái)形成,通過(guò)這個(gè)方法有個(gè)很大的優(yōu)點(diǎn)就是設(shè)備簡(jiǎn)單,同時(shí),也就是產(chǎn)生很多不足的地方,比如說(shuō)一個(gè)非常明顯的不足就是投射區(qū)域的亮度不均勻,有時(shí)候也會(huì)產(chǎn)生柵線(xiàn)不夠清晰的問(wèn)題,導(dǎo)致系統(tǒng)調(diào)節(jié)起來(lái)非常的不方面,就沒(méi)有辦法實(shí)時(shí)的獲得我們希望的光柵的周期等參數(shù)。 單片機(jī)首先來(lái)說(shuō)是一個(gè)芯片,但是這個(gè)芯片集合了很多的其他器件,能夠完成非常強(qiáng)大的功能,通俗的來(lái)講的話(huà),我們也可以把它稱(chēng)為微控制器,通過(guò)利用單片機(jī)超大規(guī)模的集成電路,我們能夠用單片機(jī)完成非常多的設(shè)計(jì),并且現(xiàn)在的單片機(jī)也擁有了其核心的CPU,使其功能得到更大的擴(kuò)展。單片機(jī)的發(fā)展是非常迅速的,在80時(shí)代的時(shí)候,還只能使用4或者8位的控制器,但是現(xiàn)在

14、,高速的單片機(jī),其容量能夠達(dá)到300M。 VGA它之所以在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用是因?yàn)槠鋼碛蟹浅8叩姆直媛室约胺浅XS富的顏色還有高的顯示速率等等優(yōu)點(diǎn)。FPGA提供強(qiáng)大的VGA接口的顯示技術(shù),其中也包含其他像素分辨率的接口。 本課題的研究方向就是結(jié)合目前光柵測(cè)量的不夠機(jī)動(dòng)性和單片機(jī)的智能性進(jìn)行深入的研究,通過(guò)單片的的多種控制機(jī)制,來(lái)實(shí)現(xiàn)對(duì)光柵不同的測(cè)量的位置,光柵周期,頻率等不同參數(shù)下的測(cè)量效果,通過(guò)這種方式,能夠使測(cè)量更加靈活,更重要的是,能夠使測(cè)量節(jié)約大量的時(shí)間成本。1.2 課題的主要研究工作 本論文的課題是基于單片機(jī)和FPGA的基礎(chǔ)之上進(jìn)行可調(diào)光柵投影控制儀的設(shè)計(jì),主要進(jìn)行的研究任

15、務(wù)有: 1)了解投影法測(cè)量物體三維形貌的原理,包括目前比較成熟已經(jīng)比較先進(jìn)的測(cè)量還原方法。 2)光柵對(duì)測(cè)量的影響,包括光柵的位置,周期,頻率的影響等,進(jìn)而能夠最大限度的優(yōu)化系統(tǒng)。 3)單片機(jī)的原理,控制機(jī)制,包括一些具體的程序設(shè)計(jì),模型的設(shè)計(jì)以及后續(xù)的擴(kuò)展實(shí)驗(yàn)等。 4)進(jìn)一步修改程序使生成的光柵頻率、相位、方位可調(diào); 5)在實(shí)驗(yàn)的最后,應(yīng)該可以使用VGA端口把我們?cè)O(shè)計(jì)的圖像投影出來(lái)。1.3 重點(diǎn)研究?jī)?nèi)容 本課題重點(diǎn)研究的是在利用單片機(jī)的智能性的基礎(chǔ)上,把單片機(jī)和光柵測(cè)量結(jié)合在一起,能夠使光柵測(cè)量更加的靈活,方便,精確。研究光柵測(cè)量和單片機(jī)結(jié)合的基礎(chǔ)上,改善光柵測(cè)量現(xiàn)有的一些不便之處,并且通過(guò)F

16、PGA板子的VGA投影出來(lái),使光柵測(cè)量能夠更加被廣泛的使用和開(kāi)發(fā)。1.4 本章小結(jié) 本章主要介紹了該課題的主要研究背景,簡(jiǎn)述了在可調(diào)光柵控制儀技術(shù)的發(fā)展現(xiàn)狀,簡(jiǎn)單介紹了本課題需要的單片機(jī)板子以及FPGA板子,說(shuō)明了本課題的研究意義,介紹了在測(cè)量情況下的光柵的作用,并且在最后概述了本課題的主要研究目的,明確了本課題的主要研究?jī)?nèi)容。32重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文) 可調(diào)光柵投影儀控制硬件系統(tǒng)簡(jiǎn)介 2 可調(diào)光柵投影儀控制硬件系統(tǒng)簡(jiǎn)介2.1單片機(jī) 單片機(jī)首先來(lái)說(shuō)是一個(gè)芯片,但是這個(gè)芯片集合了很多的其他器件,能夠完成非常強(qiáng)大的功能,通俗的來(lái)講的話(huà),我們也可以把它稱(chēng)為微控制器,通過(guò)利用單片機(jī)超大規(guī)模的

17、集成電路,我們能夠用單片機(jī)完成非常多的設(shè)計(jì),并且現(xiàn)在的單片機(jī)也擁有了其核心的CPU,使其功能得到更大的擴(kuò)展。單片機(jī)的發(fā)展是非常迅速的,在80時(shí)代的時(shí)候,還只能使用4或者8位的控制器,但是現(xiàn)在,高速的單片機(jī),其容量能夠達(dá)到300M。2.1.1運(yùn)算器 運(yùn)算器雖然說(shuō)不上是單片機(jī)的核心部件,但是其對(duì)單片機(jī)而言,相當(dāng)于單片機(jī)的右腦,因?yàn)樗强梢酝瓿上到y(tǒng)的運(yùn)算部門(mén),包括了存儲(chǔ)的寄存器以及用于計(jì)算的累加器。其英文為Arithmetic & Logical Unit,簡(jiǎn)稱(chēng)ALU。ALU的功能就好像我們的大腦一樣,能夠完成一定的邏輯以及算術(shù)運(yùn)算比如說(shuō):加、減或者邏輯運(yùn)算比如:與、或、比較大小等等操作,在

18、運(yùn)算的最后可以系統(tǒng)程序會(huì)將算術(shù)或者邏輯運(yùn)算的結(jié)果存入在累加器。運(yùn)算器擁有兩個(gè)基本的功能: (1)能夠進(jìn)行邏輯測(cè)試,并且也要能夠來(lái)執(zhí)行基本的各種邏輯運(yùn)算,如兩個(gè)值的真值比較。 (2) 來(lái)執(zhí)行基本的各種算術(shù)運(yùn)算。2.1.2 控制器 控制器是一個(gè)數(shù)量級(jí)“決策機(jī)構(gòu)”,是用于產(chǎn)生譯碼指令以及定時(shí)指令并且能夠存儲(chǔ)起來(lái)。能夠?qū)崿F(xiàn)如下功能: (1) 控制器相當(dāng)于我們做題時(shí)的序號(hào),能夠明白我們現(xiàn)在正在解決的問(wèn)題,以及我們要解決的下一個(gè)問(wèn)題,控制器就是控制程序執(zhí)行的順序,以便于能夠執(zhí)行下一步的操作。 (2) 另一個(gè)很重要的功能是產(chǎn)生信號(hào),比如說(shuō)用于譯碼或者測(cè)試,并且在程序執(zhí)行完全后,可以控制程序產(chǎn)生用于控制系統(tǒng)執(zhí)

19、行順序的指令等等。 其主要寄存器有 1)累加器A 在系統(tǒng)程序整個(gè)的執(zhí)行的時(shí)候,我們可以理解為,累加器A要不停的進(jìn)行計(jì)算,包括算術(shù)和邏輯計(jì)算。 2)數(shù)據(jù)寄存器DR 3)單片機(jī)的指令寄存器IR 指令寄存器是一個(gè)復(fù)合的概念,因?yàn)樗粌H包括操作碼,還包括了能夠用于寄存的指令寄存器。 指令寄存器是用于單片機(jī)中完成這兩個(gè)功能的寄存器:指令寄存器能夠在系統(tǒng)程序完成執(zhí)行一條指令的過(guò)程中,可以它在內(nèi)存中的要使用的數(shù)據(jù)先進(jìn)行寄存到寄存器里,通過(guò)對(duì)操作碼能夠進(jìn)行譯碼,然后可以確定結(jié)下了所要求的操作,為這項(xiàng)工作主要負(fù)責(zé)的一般來(lái)說(shuō)就是指令譯碼器。 4)程序計(jì)數(shù)器PC和指令譯碼器ID 5)地址寄存器AR 單片機(jī)為了能夠在

20、程序執(zhí)行過(guò)程中,確保單片機(jī)CPU能夠保存當(dāng)前的程序執(zhí)行所要訪(fǎng)問(wèn)的內(nèi)存單元以及程序執(zhí)行過(guò)程中的I/O設(shè)備的地址。眾所周知,程序執(zhí)行的過(guò)程中由于內(nèi)存不同于CPU,他們兩者之間讀取數(shù)據(jù)時(shí),存在速度上的差異,因此為例保證地址信息能夠及時(shí)的被讀取。 顯然的,單片機(jī)要保證程序順利執(zhí)行的話(huà),只有通過(guò)地址寄存器協(xié)同數(shù)據(jù)寄存器,才能夠完成執(zhí)行CPU的程序時(shí)能夠向存儲(chǔ)器存數(shù)據(jù)的功能。2.1.3 UART 參數(shù)有: 1)波特率產(chǎn)生 2)發(fā)送接收 在檢測(cè)的一種有效的啟動(dòng)脈沖,接收邏輯實(shí)現(xiàn)接收的位流”串并”字符轉(zhuǎn)換。溢出錯(cuò)誤,奇偶校驗(yàn)錯(cuò)誤,框架的錯(cuò)誤,和行停止(換行符)錯(cuò)誤檢測(cè)和檢測(cè)條件附加到被寫(xiě)入接收FIFO數(shù)據(jù)。然

21、后就可以完成數(shù)據(jù)的接收。 3)數(shù)據(jù)收發(fā) 與此同時(shí),UART如果被啟用,它會(huì)按照預(yù)先設(shè)定的參數(shù)包括了波特率以及數(shù)據(jù)位和停止位有些可能還包括校驗(yàn)等,開(kāi)始發(fā)送數(shù)據(jù)到發(fā)送FIFO沒(méi)有任何數(shù)據(jù)。UART沒(méi)有啟用,它也可能預(yù)示繁忙狀態(tài)。相關(guān)庫(kù)BUSY位UARTBusy() 在UART接收器處于閑置狀態(tài),如果RX在程序執(zhí)行到Baud168周期仍然較低,起始位被程序認(rèn)定為是有效的。 系統(tǒng)程序執(zhí)行在Baud16連續(xù)的數(shù)據(jù)位(即后1位周期)程序會(huì)進(jìn)行間斷的采樣的每16個(gè)周期。 4)中斷控制 控制系統(tǒng)會(huì)使UART 產(chǎn)生中斷以保證系統(tǒng)程序的運(yùn)行。其中包括:FIFO 溢出錯(cuò)誤(賦值超出目標(biāo)的限制)、線(xiàn)中止錯(cuò)誤(line

22、-break,即整個(gè)系統(tǒng)程序執(zhí)行的過(guò)程中包括校驗(yàn)位和停止位在內(nèi)的Rx 信號(hào)一直沒(méi)有檢測(cè)到被拉高或者一直為0 的狀態(tài))、奇偶校驗(yàn)錯(cuò)誤、幀錯(cuò)誤(程序在執(zhí)行程序中有如果有停止位,但是停止位卻沒(méi)有被設(shè)置為1)、程序執(zhí)行接收超時(shí)(系統(tǒng)程序執(zhí)行的過(guò)程中后續(xù)數(shù)據(jù)長(zhǎng)時(shí)間不來(lái)而接收FIFO已有數(shù)據(jù)但未滿(mǎn))。 為了保證實(shí)現(xiàn)這一功能,系統(tǒng)會(huì)通過(guò)系統(tǒng)函數(shù)來(lái)查詢(xún)中斷狀態(tài)函數(shù)UARTIntStatus( ),通過(guò)其狀態(tài)來(lái)控制使用多個(gè)并列的if 語(yǔ)句使用軟件編程的方式可以在同一個(gè)中斷服務(wù)函數(shù)里處理多個(gè)中斷事件的功能。以上就是UART傳輸數(shù)據(jù)的過(guò)程。2.1.4 LCD LCD具有很強(qiáng)大的功能,是一種128X64像素的顯示屏,

23、LCD12864包括帶有中文字庫(kù),LCD12864比其他LCD中其他顯著特點(diǎn)是低電壓低功耗。實(shí)用該模塊構(gòu)成的液晶顯示方案如果和其他功能相似的圖形點(diǎn)陣液晶顯示模塊來(lái)進(jìn)行比較的時(shí)候,我們可以發(fā)現(xiàn),其不論實(shí)硬件電路結(jié)構(gòu)暴扣我們要編寫(xiě)的顯示程序都要簡(jiǎn)潔得多,并且在市場(chǎng)上對(duì)比的話(huà),也會(huì)發(fā)現(xiàn)該模塊的價(jià)格比能夠顯示相同效果的其他模塊較為便宜。2.2 FPGA FPGA有很多獨(dú)特的功能,使用FPGA編程采用自頂而下的方式,非常符合人的邏輯思維,因此,得到了越來(lái)越多的應(yīng)用。2.2.1 工作原理 它是一種可編程的器件,并且編程方法非常的簡(jiǎn)單實(shí)用,能夠通過(guò)小的查表法實(shí)現(xiàn)編程中的邏輯組合,因?yàn)槠鋬?nèi)部也包含了驅(qū)動(dòng)器,所

24、以,也能實(shí)現(xiàn)組合邏輯的基本功能。通過(guò)內(nèi)部的連線(xiàn),能夠?qū)/O模塊和配置模塊組合起來(lái)實(shí)用,實(shí)現(xiàn)更強(qiáng)的功能。2.2.2 可編程輸入輸出單元(IOB) 可編程輸入輸出單元首先能夠進(jìn)行編程,在FPGA的功能當(dāng)中,它可以和外部電路進(jìn)行連接,用于和外部的通信。其次,I/O端口的執(zhí)行速率非常的高,目前也存在比較高端的FPGA,它的速度能夠超過(guò)DDR技術(shù)。2.2.3 嵌入式塊RAM(BRAM) 通常來(lái)說(shuō),我們使用的FPGA包含很實(shí)用的RAM塊。當(dāng)電源被切斷它這樣一個(gè)存儲(chǔ)器將失去它的內(nèi)容,因此它主要用于實(shí)時(shí)程序存儲(chǔ)。CAM在其內(nèi)部在擁有一個(gè)更合乎邏輯的功能,具有很寬范圍的路由地址器應(yīng)用程序。如果我們使用單芯片的

25、RAM塊的話(huà),要清楚的知道它的容量為18K比特,但是,能夠?qū)⑵涓臑樾枰谋忍貙挾然蛏疃龋牡臅r(shí)候要滿(mǎn)足兩個(gè)基本原則:第一,修改后的RAM雖然理論上能夠有無(wú)限的位寬,但是實(shí)際上,由于器件的限制,容量是不能大于18K;其次,最大位寬度是不能修改超過(guò)36位。當(dāng)然,如果在實(shí)際的使用過(guò)程中,必須使用很大的位寬,這時(shí),我們可以采用另外的一種方法,就是用多片RAM塊級(jí)聯(lián)起來(lái),通過(guò)這種方法,可以形成更大的RAM,所以在這方面的還是具有很強(qiáng)大的功能,只取決于芯片RAM的塊數(shù)的限制。2.2.4 VGA原理 其之所以在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用是因?yàn)槠鋼碛蟹浅8叩姆直媛室约胺浅XS富的顏色還有高的顯示速率等

26、等優(yōu)點(diǎn)。FPGA提供強(qiáng)大的VGA接口的顯示技術(shù),其中也包含其他像素分辨率的接口。 通常我們所了解的VGA顯示系統(tǒng),包括了兩部分組成:控制電路緩存和視頻BIOS程序。如圖所示的控制電路,它控制的主電路是能夠完成產(chǎn)生定時(shí)和數(shù)據(jù)處理和主時(shí)鐘選擇和D / A的顯示緩沖器(數(shù)字到模擬即數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào))轉(zhuǎn)換等功能。 VGA時(shí)序分析 如圖為VGA顯示屏的基本工作原理,從中可以看出,如果要實(shí)現(xiàn)VGA顯示必須解決它的數(shù)據(jù)源和數(shù)據(jù)存儲(chǔ),以及達(dá)到所需的時(shí)間等,所以關(guān)鍵在于如何實(shí)現(xiàn)對(duì)應(yīng)的VGA時(shí)種。其VGA標(biāo)準(zhǔn)可以參考圖2所示。數(shù)據(jù)總線(xiàn)接口CKT控制器圖形控制器監(jiān)視器定時(shí)器屬性控制器視頻DAC顯示緩沖區(qū)RGB

27、信號(hào)水平、垂直時(shí)序信號(hào)圖1 通用VGA顯示卡控制電路框圖 VGA時(shí)序?qū)崿F(xiàn) 首先,我們應(yīng)該根據(jù)由主時(shí)鐘頻率的主時(shí)鐘頻率或者由最終圖像的分辨率從循環(huán)行總數(shù)計(jì)算的所需刷新率,其次是圖中的a,b,c來(lái)測(cè)定中,每個(gè)定時(shí)周期d在按照主要要求到其最終轉(zhuǎn)化為時(shí)鐘周期的數(shù)目的重新計(jì)數(shù)脈沖源頻率的時(shí)間。然后取計(jì)數(shù)器或CPLD中RS觸發(fā)器,時(shí)鐘周期然后會(huì)為每個(gè)段產(chǎn)生不同寬度的周期,最后,在使用它們的邏輯組合時(shí)由圖的a,b,c,d產(chǎn)生行時(shí)序。圖2 VGA時(shí)序圖2.3 串口通信 在本次的系統(tǒng)中,由于要用到單片機(jī)和FPGA之間的通信,因此,有必要對(duì)串口通信基本原理做一個(gè)介紹。2.3.1 通信原理 其串行通信如果沒(méi)有接觸過(guò)

28、會(huì)覺(jué)得非常的復(fù)雜,但實(shí)際上并不是這樣,其概念非常簡(jiǎn)單,就是發(fā)送和接受數(shù)據(jù),一個(gè)端口發(fā)一位數(shù)據(jù),然后在另一個(gè)端口進(jìn)行接收。串行的通信是比較慢的,因?yàn)楹筒⑿邢啾龋且晃灰晃坏陌l(fā)送,而并行是同時(shí)可以發(fā)送很多位,其速度是存在明顯的差別的,但是串行通信也有自己獨(dú)特的優(yōu)點(diǎn),那就是同一時(shí)間能夠使用串行電纜來(lái)傳輸數(shù)據(jù)的同時(shí),并與其它線(xiàn)路接收數(shù)據(jù)。這是非常簡(jiǎn)單,并且可以實(shí)現(xiàn)更遙遠(yuǎn)的通信。串行通信是異步的,該端口可以同時(shí)在同一行向的同時(shí)發(fā)送數(shù)據(jù)能夠接收在其他行的數(shù)據(jù)。而其它線(xiàn)路也可以用于握手。發(fā) 1送 0端 0011011 接0 收0 端01101并/串轉(zhuǎn)換串/并轉(zhuǎn)換11001101圖2.1 串行通信 a,波特率

29、:這實(shí)際上是測(cè)量符號(hào)傳輸速率的重要參數(shù)。它指的是信號(hào)的變化被調(diào)制在單位時(shí)間后的總數(shù)。 b,數(shù)據(jù)位:此參數(shù)是發(fā)送的比特的實(shí)際通信數(shù)據(jù)的量度。但是,如何設(shè)置這取決于你想要傳達(dá)的信息是什么。 c,停止位:這是用來(lái)指示上次單個(gè)數(shù)據(jù)分組。我們所指的典型值是1.5和2。在進(jìn)行通信的過(guò)程中,有可能發(fā)生兩端的通信的時(shí)鐘不同步,導(dǎo)致數(shù)據(jù)發(fā)送失敗。因此,我們要讓系統(tǒng)知道我們什么時(shí)候停止發(fā)送數(shù)據(jù),同時(shí),告訴計(jì)算機(jī)停止接收數(shù)據(jù),但也提供了同步的計(jì)算機(jī)時(shí)鐘校正的能力。如果適用的停止位更多不同的時(shí)鐘同步通信水平我們更大的寬容,但是會(huì)緩慢的數(shù)據(jù)傳輸。 d,奇偶校驗(yàn)位:它是一個(gè)非常簡(jiǎn)單的串行通信錯(cuò)誤檢測(cè)模式。四種錯(cuò)誤檢測(cè)方法

30、是偶數(shù)或奇數(shù),或高或低。但是,沒(méi)有校驗(yàn)位也是允許的。在偶數(shù)或奇數(shù)奇偶校驗(yàn)的情況下,串行端口設(shè)置奇偶校驗(yàn)位(之后的數(shù)據(jù)比特A)中,具有一個(gè)值,以確保數(shù)據(jù)傳輸具有偶數(shù)或奇數(shù)邏輯高。例如,如果數(shù)據(jù)是101,則指定的奇偶校驗(yàn),校驗(yàn)位被設(shè)置為0,所以保證邏輯高比特是偶數(shù)。所以只要有機(jī)會(huì),以確定是否存在噪聲的通信或傳送或接收的數(shù)據(jù)是否不同步。2.3.2 結(jié)構(gòu) 周邊與通常的串行通信是指通過(guò)地面計(jì)算機(jī)和數(shù)據(jù)信號(hào)線(xiàn)和控制線(xiàn),位用于通信的數(shù)據(jù)傳輸。該通信方法使用較少的數(shù)據(jù)線(xiàn),并且在長(zhǎng)距離通信,同時(shí)也節(jié)省通信成本,但比并行傳輸?shù)膫鬏斔俣鹊汀?很多GPIB兼容的設(shè)備還配備了RS-232端口。同時(shí),串口通信協(xié)議也能夠得

31、到數(shù)據(jù)采集設(shè)備的遙控器。 它可用于很多用途,例如可用于連接鼠標(biāo),調(diào)制解調(diào)器或打印機(jī),它也能連接工業(yè)儀表。它可以被用來(lái)驅(qū)動(dòng)和改善的連接,但在實(shí)際應(yīng)用中的RS-232傳輸長(zhǎng)度和速度往往比標(biāo)準(zhǔn)值以下。數(shù)據(jù)處理與顯示關(guān)閉串口Y串口初始化打開(kāi)串口發(fā)送讀取數(shù)據(jù)命令等待接收數(shù)據(jù)Inbuffrecount=21?N圖2.2 串口通信流程圖2.4 本章小結(jié) 本章系統(tǒng)的介紹了有關(guān)單片機(jī)、FPGA、串口通信等硬件的有關(guān)本課題設(shè)計(jì)的內(nèi)容,能夠了解通過(guò)單片機(jī)和FPGA以及他們之間的通信來(lái)進(jìn)行課題的研究,利用單片機(jī)的強(qiáng)大的處理計(jì)算的功能和FPGA的成熟的VGA接口技術(shù)來(lái)進(jìn)行本課題最終的實(shí)驗(yàn)方案的設(shè)計(jì)。重慶大學(xué)本科學(xué)生畢業(yè)

32、設(shè)計(jì)(論文) 光柵介紹 3 光柵介紹3.1 光柵的定義 光學(xué)由大量相等的寬度等距平行狹縫的被稱(chēng)為光柵(光柵)。光柵是在玻璃雕刻大規(guī)模并行得分取得的得分作為不透明部分常用,兩者的平滑部分可使光通過(guò),一個(gè)縫隙的等效。1厘米寬度刻有成千上萬(wàn)的超過(guò)10000裂口內(nèi)的光柵細(xì)口。此時(shí)使用的一種傳輸衍射光柵稱(chēng)為透射光柵,以及兩個(gè)光反射衍射之間使用透光的光柵,如多個(gè)刻涂覆有兩個(gè)凹口之間的金屬層,光滑的金屬表面上的平行槽口表面能反射光線(xiàn),這種光柵是反射光柵。 光柵是數(shù)字技術(shù)與傳統(tǒng)的印刷技術(shù)的組合,以顯示在一個(gè)特殊的膜中的不同的特殊效果。光柵是一種薄帶制成的,當(dāng)我們看從鏡頭側(cè)過(guò)去,你會(huì)看到圖像的另一側(cè)上一個(gè)很細(xì)的

33、線(xiàn)片鏡片,以及此行的觀(guān)察角度決定的位置。3.2 光柵的原理 光柵,也被稱(chēng)為衍射光柵。是利用光的多縫衍射成光譜(光譜分解)光學(xué)器件。 衍射光柵上的屏幕生成譜線(xiàn)的位置,可使用的式(a + b)的(sin±SIN)=K圖。當(dāng)槽寬的代表,B代表狹縫間隔的,是衍射角,是入射法線(xiàn)方向的光之間的光柵的平面之間的角度,k是亮條紋頻譜系列(K = 0,±1,±2 .),是波長(zhǎng),A + B就是所謂的光柵常數(shù)。使用這個(gè)公式來(lái)計(jì)算光的波長(zhǎng)。光柵條紋的特點(diǎn)就是:非常明亮,鮮艷的條紋窄,相鄰條紋之間的暗區(qū)寬,衍射圖案非常清晰。因此,使用衍射光柵波長(zhǎng)的可準(zhǔn)確地測(cè)量。衍射光柵R =D/ L =分

34、辨能力。3.3 光柵的分類(lèi) 第一光柵1821由德國(guó)科學(xué)家J.弗勞恩霍夫成本緊密間隔的細(xì)金屬絲纏繞在極細(xì)的兩個(gè)平行的螺釘。光柵攝譜儀是眾多同類(lèi)產(chǎn)品的核心組成部分。光被反射或透射光柵進(jìn)入反射光柵傳輸。得到比較廣泛的應(yīng)用的是反射光柵;我們可以吧它的形狀分為平面光柵和凹面光柵。還有一種全息光柵,正交光柵,相位光柵,閃耀光柵,階梯光柵。3.4 幾種常見(jiàn)的光柵 本課題重點(diǎn)是研究我們常用的光柵,比如最簡(jiǎn)單的線(xiàn)光柵、透過(guò)率發(fā)生余弦變化的余弦型振幅光柵、或者是透光率為正弦變動(dòng)的正弦型位相光柵、最為實(shí)用的矩形位相光柵,而本課題也是重點(diǎn)的實(shí)現(xiàn)這幾種光柵的產(chǎn)生,因此在此做個(gè)簡(jiǎn)單的介紹。3.4.1 線(xiàn)光柵 其強(qiáng)度分布為

35、3.4.2 余弦型振幅光柵 余弦型振幅光柵的透過(guò)率函數(shù)可以是0到1之間,或者其中的某一區(qū)間上的全部數(shù)值,它是以余弦波的形式對(duì)入射波產(chǎn)生振幅調(diào)制的。其復(fù)振幅透過(guò)率為 其光強(qiáng)分布函數(shù)為3.4.3 正弦型位相光柵 對(duì)于薄的正弦型位相光柵,其復(fù)振幅透過(guò)率可以表示為 式中是位相呈正弦變化的幅變;是變化頻率()。通過(guò)適當(dāng)選取位相參考點(diǎn),其光強(qiáng)分布為3.4.4 矩形位相光柵 設(shè)矩形位相光柵的光柵周期為d,矩形位相光柵的復(fù)振幅透過(guò)率可以表示為 忽略各衍射項(xiàng)的交疊,其強(qiáng)度分布為3.5 本章小結(jié) 本章介紹了有關(guān)光柵的定義,并重點(diǎn)介紹了線(xiàn)光柵、余弦型振幅光柵、正弦型位相光柵、矩形位相光柵這四種光柵,以便后續(xù)根據(jù)光柵

36、的光強(qiáng)分布函數(shù),能夠通過(guò)單片機(jī)計(jì)算出其圖像的灰度值,從而通過(guò)FPGA的VGA接口投影出來(lái)。重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)總體框架圖以及整體工作原理 4 系統(tǒng)總體框架圖以及整體工作原理4.1系統(tǒng)總體框架圖 本系統(tǒng)設(shè)計(jì)到了單片機(jī)和FPGA,其功能以及做了詳細(xì)的介紹,下面將說(shuō)明系統(tǒng)的總體框架圖,如圖所示單片機(jī)51STCLCD 12864STC12C5A60S2UARTKEY1/2/3/4FPGACyclome 2C8UARTVGA串口線(xiàn)投影儀圖4.1 系統(tǒng)框圖4.2 整體工作原理 本系統(tǒng)包含了我們常用的單片機(jī)STC51和具有強(qiáng)大的顯示功能的FPGA,單片機(jī)擁有強(qiáng)大的數(shù)據(jù)處理能力。首先,由單片

37、機(jī)的核心板控制LCD 12864的顯示,可以顯示當(dāng)前的光柵種類(lèi),光柵頻率,光柵的相位。KEY1/2/3/4按鍵,分別能夠控制調(diào)節(jié)光柵的有關(guān)數(shù)據(jù)。同時(shí),利用單片機(jī)的計(jì)算功能,能夠控制產(chǎn)生我們所需要光柵的灰度值,灰度值可以串口通信線(xiàn)和FPGA的UART端口將產(chǎn)生的數(shù)據(jù)灰度值發(fā)給FPGA,同時(shí)FPGA通過(guò)串口通信接收到灰度值以后,要先存儲(chǔ)起來(lái),通常是在RAM中存儲(chǔ)起來(lái),然后,F(xiàn)PGA的控制程序讀取RAM中的數(shù)據(jù)送給VGA端口,并最終通過(guò)VGA端口連接投影儀顯示出來(lái)。4.3系統(tǒng)流程圖為了方便的了解本系統(tǒng)的工作流程,可以參見(jiàn)如下的系統(tǒng)流程圖:退出系統(tǒng)系統(tǒng)初始化單片機(jī)、FPGA顯示初始界面按鍵KEYIN=

38、0?判斷按鍵類(lèi)型?頻率?種類(lèi)?相位?改變光柵參數(shù)控制顯示按鍵?單片機(jī),F(xiàn)PGA顯示改變參數(shù)后的光柵信息YYNN圖4.2 系統(tǒng)程序流程圖NY4.3本章小結(jié) 本章簡(jiǎn)單的介紹了系統(tǒng)的總體框架圖以及總體的工作原理和系統(tǒng)流程圖,通過(guò)系統(tǒng)的框架圖,我們可以很清楚的了解本系統(tǒng)涉及到的有關(guān)的模塊,通過(guò)系統(tǒng)總體的工作原理,我們能夠了解系統(tǒng)是如何進(jìn)行工作以及本系統(tǒng)如何實(shí)現(xiàn)的等有關(guān)內(nèi)容。重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)各部分功能實(shí)現(xiàn)程序 5 系統(tǒng)各部分功能實(shí)現(xiàn)程序 本系統(tǒng)設(shè)計(jì)到了單片機(jī)中的LCD 12864、URAT、部分按鍵以及FPGA中的UART、VGA模塊。5.1 單片機(jī)LCDL12864模塊控制程序圖

39、5.1 LCDL12864引腳圖明 本模塊主要用來(lái)顯示當(dāng)前投影光柵的有關(guān)參數(shù),我自己設(shè)計(jì)的是包括當(dāng)前顯示的光柵的種類(lèi),為了能夠方便的知道光柵的頻率,我也設(shè)計(jì)了頻率顯示,最后還包括光柵的相位。為了證實(shí)是自己做出來(lái)的程序,最后顯示了自己的有關(guān)信息。并且在通過(guò)按鍵對(duì)光柵的參數(shù)進(jìn)行調(diào)節(jié)的時(shí)候,LCD 12864能夠及時(shí)的顯示出來(lái)。其引腳如圖所示: 由引腳圖我們可以看出來(lái)指令寄存器(IR),數(shù)據(jù)寄存器(DR),忙標(biāo)志(BF)等等一些的主要寄存器,在使用的時(shí)候要合理的設(shè)置使用有關(guān)的寄存器。 通過(guò)控制這些信號(hào),能夠非常方便和有效的顯示出來(lái)我們希望得到的結(jié)果。 本系統(tǒng)程序要能夠顯示光柵的有關(guān)參數(shù),因?yàn)槲叶x了

40、幾個(gè)字符組,即 bwzStr1 = "當(dāng)前光柵"bwzStr2 = "當(dāng)前頻率" bwzStr3 = "當(dāng)前相位"bwzStr4 = "11級(jí)重大畢業(yè)設(shè)計(jì)"bwzStr11 = "振幅光柵" bwzStr12 = "余弦光柵" bwzStr13 = "波導(dǎo)光柵"code bwzStr14 = "達(dá)曼光柵" bwzStr211 = "6 " bwzStr212 = "6 " bwzStr213 =

41、"6 " bwzStr214 = "hz" bwzStr311 = "6 " bwzStr312 = "6 " bwzStr313 = "° " bwzStr5 = " 歡迎使用 " bwzStr6 = "重慶大學(xué)物理學(xué)院" bwzStr7 = " 畢偉鎮(zhèn) " bwzStr8 = " 2011級(jí)畢業(yè)設(shè)計(jì) " bwzStrBlock = " " 定義字符組的目的是在LCD顯示屏上顯示光柵的

42、有關(guān)參數(shù),并且也要進(jìn)行美觀(guān)的考慮,比如初始化的界面會(huì)顯示:“歡迎使用”、“畢偉鎮(zhèn)”、“重慶大學(xué)物理學(xué)院”、“2011級(jí)畢業(yè)設(shè)計(jì)”。這些主要是為了能夠區(qū)別這個(gè)程序是自己所寫(xiě),也能夠讓使用者對(duì)這個(gè)有一個(gè)清晰的認(rèn)識(shí)。為了比較美觀(guān)的顯示光柵的有關(guān)參數(shù),自己使用了有關(guān)的空格符。在顯示參數(shù)的過(guò)程中,會(huì)顯示光柵的種類(lèi),光柵的頻率,光柵的相位信息,其數(shù)字6是系統(tǒng)初始化的時(shí)候光柵的具體參數(shù)。其顯示的具體效果我們可以在后面的章節(jié)中看到。為了能夠控制顯示的狀態(tài),我定義了button_control = 0;display_control = 0;這兩個(gè)控制程序的狀態(tài)可以非常方便的顯示我們希望達(dá)到的效果。LCD有RS

43、/RW/EN/PSB這四個(gè)端口要進(jìn)行定義,在這里我定義的是LCDL12864_RS =P34;LCDL12864_RW=P35;LCDL12864_EN = P36;LCDL12864_PSB = P37;sbit KEYBUS=P00;系統(tǒng)運(yùn)行時(shí),我用到了4個(gè)控制按鍵,這里分別定義為KEYCONTROL=P01;其為總的控制鍵KEYSORT=P02;其控制光柵種類(lèi)改變的按鍵,KEYB=P03;其為控制數(shù)字閃爍位的數(shù)字按鍵,如果要LCD正常的運(yùn)行,就必須先對(duì)LCD進(jìn)行初始化程序,即為L(zhǎng)CDL12864_Init(void);LCD顯示字符的時(shí)候,要向LCD寫(xiě)入我們要顯示的字符,即LCDL128

44、64_WriteInfomation(unsigned char bwzData,bit bComOrData);在LCD顯示的過(guò)程中,有可能我們寫(xiě)入字符的時(shí)候,LCD正忙,沒(méi)辦法寫(xiě)入,這個(gè)時(shí)候我們就要定義忙檢測(cè)信號(hào)即LCDL12864_CheckBusy(void);不管是哪種的顯示屏,其顯示都需要一定的時(shí)間,也就是說(shuō),我們要定義延時(shí)程序,使系統(tǒng)在顯示的過(guò)程中能夠完全的顯示即Delay(unsigned int uiCount); 定義上面的程序之后,我們就可以系統(tǒng)各個(gè)子程序的函數(shù),首先是系統(tǒng)的初始化顯示程序,要能夠顯示我上面所說(shuō)的有關(guān)設(shè)想,因此就要把系統(tǒng)要顯示的具體內(nèi)容地址告訴我們的顯示程

45、序。其系統(tǒng)初始化的顯示內(nèi)容的地址為void Display2(void);void Display3(void);void Display4(void);void Display5(void);void Display6(void);void Display7(void);void Display8(void);通過(guò)這幾天語(yǔ)句,就能把我們定義的字符按照我們的要求設(shè)想顯示在LCD上。上面介紹了,系統(tǒng)在執(zhí)行的過(guò)程中,是有可能發(fā)生沖突的,這個(gè)時(shí)候,我們就要定義中斷函數(shù),即Init_Timer0(void);要對(duì)中斷程序進(jìn)行賦值:TMOD |= 0x01;/定義定時(shí)的使用模式為1;TH0=0x00;

46、/給定時(shí)間賦予定時(shí)初值;TL0=0x00;EA=1;/定義定時(shí)器總開(kāi)關(guān)為1;ET0=1; /定義定時(shí)器中斷開(kāi)關(guān)為1;TR0=1;/定義定時(shí)器定時(shí)開(kāi)關(guān)為1;為了控制系統(tǒng)能夠顯示我們希望得到的內(nèi)容,也就是通過(guò)按鍵能夠改變系統(tǒng)顯示的內(nèi)容,這其中必然要用到循環(huán)的狀態(tài),也要合理的控制這些狀態(tài)的轉(zhuǎn)變,我們要進(jìn)行定義系統(tǒng)的有關(guān)控制狀態(tài)的函數(shù):void main(void)/定義本次系統(tǒng)的主函數(shù)程序,我用到了兩個(gè)變量i和j,在使用的時(shí)候要對(duì)他們進(jìn)行賦值以及定義bwzhar i=0; bwzhar k=1;系統(tǒng)LCD顯示的時(shí)候是有一定的順序的,所以我們要按照LCD的時(shí)序要求編程有關(guān)的程序。其中要先進(jìn)行初始化,即

47、LCDL12864_Init();然后是中斷程序,即Init_Timer0();接著就要顯示我們希望得到的有關(guān)的顯示內(nèi)容初始界面Display7();本次實(shí)驗(yàn)用到了按鍵,就要進(jìn)行有關(guān)的按鍵消抖,其具體程序會(huì)在下一節(jié)介紹。本次系統(tǒng)要改變光柵的頻率還有周期,按照常規(guī),需要5個(gè)按鍵,但是,因?yàn)閱纹瑱C(jī)的端口有限,因此本系統(tǒng)采用循環(huán)的方式來(lái)進(jìn)行改變不同參數(shù),比如我們要改變光柵的頻率的百位,我們就可以按位數(shù)控制鍵,將閃爍的數(shù)字按到頻率的百位,這個(gè)時(shí)候再按位數(shù)加鍵,就可以是其參數(shù)在09之間循環(huán)。其改變數(shù)據(jù)的程序?yàn)椋篵wzStr2110= (bwzStr2110 + 1) % 10 + 48;那么這五種狀態(tài)是

48、如何實(shí)現(xiàn)的呢,就要通過(guò)剛開(kāi)始定義的控制狀態(tài)參數(shù),使其狀態(tài)來(lái)回改變,以達(dá)到控制的效果。5.2 按鍵控制模塊 本次系統(tǒng)總共用到了4個(gè)按鍵,key1,key2,key3,key4。其中key1位系統(tǒng)的總控制按鍵,key2位系統(tǒng)控制調(diào)節(jié)光柵種類(lèi)的按鍵,key3為控制調(diào)節(jié)光柵參數(shù)的按鍵,key4為系統(tǒng)調(diào)節(jié)頻率和相位的按鍵。根據(jù)按鍵程序,這是非常重要的因素是關(guān)鍵去抖,通常在鍵開(kāi)關(guān)裝置中使用是機(jī)械彈性開(kāi)關(guān),我們知道,在使用單片機(jī)上的按鍵的時(shí)候,有的時(shí)候,按下去會(huì)抖動(dòng),也就是并不是完全的按下去,有可能是抖動(dòng)導(dǎo)致系統(tǒng)接收錯(cuò)誤的信息。因此,在該時(shí)刻,封閉所有伴隨著一系列的抖動(dòng),為了不產(chǎn)生這種現(xiàn)象的措施,是關(guān)鍵的去

49、抖。去抖是避免按鍵按下時(shí)水平劇烈抖動(dòng)的影響。去抖按鈕,在硬件或軟件方法可用。該系統(tǒng)采用軟件去抖。其具體的控制程序?yàn)椋簑hile(1) /定義系統(tǒng)無(wú)限循環(huán)工作狀態(tài) if(KEYBUS=0) /檢測(cè)系統(tǒng)是否有總的控制按鍵按下 Delay(12000); /為了防止按鍵抖動(dòng)的消抖程序 if(KEYBUS=0) /延時(shí)后KEYBUS仍為0,說(shuō)明有按鍵 Display1(); /顯示系統(tǒng)光柵參數(shù)初始界面display_control = 1; /使控制信號(hào)狀態(tài)為1 5.3 UART發(fā)送模塊 因?yàn)楸菊n題只需要發(fā)送灰度值給FPGA,因此沒(méi)有用到UART的接受模塊。數(shù)據(jù)如果要進(jìn)行發(fā)送,首先也要使用到初始化程序

50、,即voidCHUAN_UART_Init(void);要發(fā)送數(shù)據(jù),因?yàn)榇惺且晃灰晃坏陌l(fā)送,所以我們定義的時(shí)候,也要定義為一位一位的發(fā)送,即void CHUAN_UART_Send_Byte(unsigned char bwzData); 雖然說(shuō)數(shù)據(jù)是一位一位的發(fā)送,但是如果我們把我們要發(fā)送的數(shù)據(jù)都寫(xiě)成二進(jìn)制的話(huà),會(huì)顯得非常的不方便,因此,我們可以定義字節(jié)發(fā)送的函數(shù),然后在里面由系統(tǒng)進(jìn)行一位一位的發(fā)送,即void CHUAN_UART_Send();我們要把發(fā)送的數(shù)據(jù)的地主告訴單片機(jī),也就需要讀取數(shù)據(jù)地址的函數(shù),即void CHUAN_UART_Send_Str(char *pStr); 如

51、何控制我們要發(fā)送的數(shù)據(jù)呢,這就需要我們定義專(zhuān)門(mén)的控制的函數(shù),也就是void voluation ();首先,我們要定義一個(gè)數(shù)組,用來(lái)暫時(shí)保存通過(guò)單片機(jī)計(jì)算出來(lái)光柵公式的灰度值,即unsigned char bwzStr12;為了方便的使用有關(guān)的常量,我們定義了這個(gè)比較常用的,即float pai=3.14;系統(tǒng)的主程序?yàn)関oid main(void) 我們要獲得光柵光強(qiáng)的灰度值的話(huà),是在X/Y方向上同時(shí)獲取的,因此需要定義兩個(gè)變量i和j并賦予初值為0。我們上面提到過(guò),發(fā)送數(shù)據(jù)要有有效的停止位,所以我們要定義結(jié)束位:bwzStr11 = -1;產(chǎn)生256*256像素的灰度值的函數(shù)為:for(i=

52、0;i<256;i+) for(j=0;j<256;j+) bwzStr10=(unsigned char)fun(i,j); j+; CHUAN_UART_Send_Byte(11); / 發(fā)送數(shù)據(jù)的停止位,以便能夠有效發(fā)送 CHUAN_UART_Send_Str(bwzStr1);/發(fā)送一個(gè)字節(jié)的灰度值 while(1);光柵光強(qiáng)都有自己不同的光柵公式,我在上面已經(jīng)介紹過(guò)有關(guān)的光強(qiáng)的公式,在程序中,如果我們希望得到光柵的灰度值,自然的就要定義各個(gè)光柵的光強(qiáng)公式,就正弦振幅光柵而言,其光柵光強(qiáng)公式為:因此,我們可以通過(guò)下面的程序來(lái)實(shí)現(xiàn)正弦振幅光柵的光強(qiáng)公式:double fun(

53、int i,int j) /定義光強(qiáng)函數(shù)函數(shù)公式 float L=1.0,z=1.0,namida=5.0; float x,y; x=(float(i)/float(W)*2*10.0 - 10.0; y=(float(j)/float(H)*2*10.0 - 10.0; double result,A1,A2,A3; A1 = POW(POW(L)/(2*namida*z); A2 = POW(SINC(L*y/(namida*z); A3 = POW(SINC(L*x/(namida*z); result = A1*A2*A3; return result;5.4 FPGA UART接收模塊 FPGA接收單片機(jī)發(fā)送的灰度值,放入到RAM中,以便能夠通過(guò)VGA投影在顯示屏上。如圖所示圖5.2 接收框圖 當(dāng)rx_control_module.v 拉高 Count_Sig,

溫馨提示

  • 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)論