可調(diào)光柵投影控制儀設(shè)計_第1頁
可調(diào)光柵投影控制儀設(shè)計_第2頁
可調(diào)光柵投影控制儀設(shè)計_第3頁
可調(diào)光柵投影控制儀設(shè)計_第4頁
可調(diào)光柵投影控制儀設(shè)計_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文)可調(diào)光柵投影控制儀設(shè)計 學(xué)生:畢偉鎮(zhèn)學(xué)號:20117395指導(dǎo)教師:汪濤專業(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ù)實(shí)際的需求,產(chǎn)生各種頻率,相位,方位的光柵,傳統(tǒng)的投影柵線條紋的制作方式是將制作好的光柵放于光源前面而形成,這種方法雖然設(shè)備簡單,但局限性很多,不能實(shí)現(xiàn)依照被測物體得幾何形狀、尺寸以及測量的角度、方位、以及間距來自動調(diào)節(jié)實(shí)驗(yàn)裝置的投影和接收系統(tǒng),使得靈活性比較差,同時不能根據(jù)實(shí)驗(yàn)額需要來改變光柵的相位和周期。 單片機(jī)具有非常靈活的控制機(jī)制以及強(qiáng)大的數(shù)據(jù)處理能力,并且其編程采用C語言,使用起來既能達(dá)到實(shí)驗(yàn)的要求,又非常的方便。FPGA的VG

3、A接口提供多種分辨率的顯示方式,能夠根據(jù)實(shí)驗(yàn)的要求進(jìn)行編程,顯示出所需要的光柵。 結(jié)合目前光柵測量的不夠機(jī)動性和單片機(jī)的智能性進(jìn)行深入的研究,通過單片的的多種控制機(jī)制,來實(shí)現(xiàn)對光柵不同的測量的位置,光柵周期,頻率等不同參數(shù)下的測量效果,來增加光柵測量形貌的靈活性和可持續(xù)性。然后通過FPGA的VGA接口投影出來。實(shí)驗(yàn)最終投影出了幾種簡單的光柵,達(dá)到了最初的實(shí)驗(yàn)設(shè)想。 關(guān)鍵詞:可調(diào)光柵,單片機(jī),F(xiàn)PGA, VGAIII重慶大學(xué)本科學(xué)生畢業(yè)設(shè)計(論文) 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è)計(論文) 目錄目錄摘 要IABSTRACTII1 緒論11.1 課題的研究意義11.2 課題的主要研究工作21.3 重點(diǎn)研究內(nèi)容21.4 本章小結(jié)22 可調(diào)光柵投影儀控制硬件系統(tǒng)簡介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 光柵的分類103.4 幾種常見的光柵103.4.1 線光柵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è)計(論文) 緒論 1 緒論1.1 課題的研究意義 產(chǎn)品的復(fù)雜程度在不斷的提高,同時人的審美觀也在不斷的提高,但是如何才能快速并且能夠非常準(zhǔn)確獲取物體的三維形貌的同時,又能進(jìn)行優(yōu)化創(chuàng)新是產(chǎn)品設(shè)計與制造研究熱點(diǎn)。 一般來說,我們將三維形貌測量可以稱之為三維面形測量,也有的稱三維形貌測量為三維輪廓術(shù)。它的技術(shù)手段包括很多種,比如運(yùn)用微波的手段來獲得物體表面三維空間形狀。通常來說,我們可以把它

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

13、的放于光源前面來形成,通過這個方法有個很大的優(yōu)點(diǎn)就是設(shè)備簡單,同時,也就是產(chǎn)生很多不足的地方,比如說一個非常明顯的不足就是投射區(qū)域的亮度不均勻,有時候也會產(chǎn)生柵線不夠清晰的問題,導(dǎo)致系統(tǒng)調(diào)節(jié)起來非常的不方面,就沒有辦法實(shí)時的獲得我們希望的光柵的周期等參數(shù)。 單片機(jī)首先來說是一個芯片,但是這個芯片集合了很多的其他器件,能夠完成非常強(qiáng)大的功能,通俗的來講的話,我們也可以把它稱為微控制器,通過利用單片機(jī)超大規(guī)模的集成電路,我們能夠用單片機(jī)完成非常多的設(shè)計,并且現(xiàn)在的單片機(jī)也擁有了其核心的CPU,使其功能得到更大的擴(kuò)展。單片機(jī)的發(fā)展是非常迅速的,在80時代的時候,還只能使用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é)合目前光柵測量的不夠機(jī)動性和單片機(jī)的智能性進(jìn)行深入的研究,通過單片的的多種控制機(jī)制,來實(shí)現(xiàn)對光柵不同的測量的位置,光柵周期,頻率等不同參數(shù)下的測量效果,通過這種方式,能夠使測量更加靈活,更重要的是,能夠使測量節(jié)約大量的時間成本。1.2 課題的主要研究工作 本論文的課題是基于單片機(jī)和FPGA的基礎(chǔ)之上進(jìn)行可調(diào)光柵投影控制儀的設(shè)計,主要進(jìn)行的研究任

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

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

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

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

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

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

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

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

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

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

25、RAM塊的話,要清楚的知道它的容量為18K比特,但是,能夠?qū)⑵涓臑樾枰谋忍貙挾然蛏疃龋牡臅r候要滿足兩個基本原則:第一,修改后的RAM雖然理論上能夠有無限的位寬,但是實(shí)際上,由于器件的限制,容量是不能大于18K;其次,最大位寬度是不能修改超過36位。當(dāng)然,如果在實(shí)際的使用過程中,必須使用很大的位寬,這時,我們可以采用另外的一種方法,就是用多片RAM塊級聯(lián)起來,通過這種方法,可以形成更大的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ù)據(jù)處理和主時鐘選擇和D / A的顯示緩沖器(數(shù)字到模擬即數(shù)字信號轉(zhuǎn)換成模擬信號)轉(zhuǎn)換等功能。 VGA時序分析 如圖為VGA顯示屏的基本工作原理,從中可以看出,如果要實(shí)現(xiàn)VGA顯示必須解決它的數(shù)據(jù)源和數(shù)據(jù)存儲,以及達(dá)到所需的時間等,所以關(guān)鍵在于如何實(shí)現(xiàn)對應(yīng)的VGA時種。其VGA標(biāo)準(zhǔn)可以參考圖2所示。數(shù)據(jù)總線接口CKT控制器圖形控制器監(jiān)視器定時器屬性控制器視頻DAC顯示緩沖區(qū)RGB

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

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

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

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

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

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

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

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

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

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

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

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

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

40、幾個字符組,即 bwzStr1 = "當(dāng)前光柵"bwzStr2 = "當(dāng)前頻率" bwzStr3 = "當(dāng)前相位"bwzStr4 = "11級重大畢業(yè)設(shè)計"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級畢業(yè)設(shè)計 " bwzStrBlock = " " 定義字符組的目的是在LCD顯示屏上顯示光柵的

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

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

44、64_WriteInfomation(unsigned char bwzData,bit bComOrData);在LCD顯示的過程中,有可能我們寫入字符的時候,LCD正忙,沒辦法寫入,這個時候我們就要定義忙檢測信號即LCDL12864_CheckBusy(void);不管是哪種的顯示屏,其顯示都需要一定的時間,也就是說,我們要定義延時程序,使系統(tǒng)在顯示的過程中能夠完全的顯示即Delay(unsigned int uiCount); 定義上面的程序之后,我們就可以系統(tǒng)各個子程序的函數(shù),首先是系統(tǒng)的初始化顯示程序,要能夠顯示我上面所說的有關(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);通過這幾天語句,就能把我們定義的字符按照我們的要求設(shè)想顯示在LCD上。上面介紹了,系統(tǒng)在執(zhí)行的過程中,是有可能發(fā)生沖突的,這個時候,我們就要定義中斷函數(shù),即Init_Timer0(void);要對中斷程序進(jìn)行賦值:TMOD |= 0x01;/定義定時的使用模式為1;TH0=0x00;

46、/給定時間賦予定時初值;TL0=0x00;EA=1;/定義定時器總開關(guān)為1;ET0=1; /定義定時器中斷開關(guān)為1;TR0=1;/定義定時器定時開關(guān)為1;為了控制系統(tǒng)能夠顯示我們希望得到的內(nèi)容,也就是通過按鍵能夠改變系統(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ù)程序,我用到了兩個變量i和j,在使用的時候要對他們進(jìn)行賦值以及定義bwzhar i=0; bwzhar k=1;系統(tǒng)LCD顯示的時候是有一定的順序的,所以我們要按照LCD的時序要求編程有關(guān)的程序。其中要先進(jìn)行初始化,即

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

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

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

50、,即voidCHUAN_UART_Init(void);要發(fā)送數(shù)據(jù),因?yàn)榇惺且晃灰晃坏陌l(fā)送,所以我們定義的時候,也要定義為一位一位的發(fā)送,即void CHUAN_UART_Send_Byte(unsigned char bwzData); 雖然說數(shù)據(jù)是一位一位的發(fā)送,但是如果我們把我們要發(fā)送的數(shù)據(jù)都寫成二進(jìn)制的話,會顯得非常的不方便,因此,我們可以定義字節(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ù)呢,這就需要我們定義專門的控制的函數(shù),也就是void voluation ();首先,我們要定義一個數(shù)組,用來暫時保存通過單片機(jī)計算出來光柵公式的灰度值,即unsigned char bwzStr12;為了方便的使用有關(guān)的常量,我們定義了這個比較常用的,即float pai=3.14;系統(tǒng)的主程序?yàn)関oid main(void) 我們要獲得光柵光強(qiáng)的灰度值的話,是在X/Y方向上同時獲取的,因此需要定義兩個變量i和j并賦予初值為0。我們上面提到過,發(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ā)送一個字節(jié)的灰度值 while(1);光柵光強(qiáng)都有自己不同的光柵公式,我在上面已經(jīng)介紹過有關(guān)的光強(qiáng)的公式,在程序中,如果我們希望得到光柵的灰度值,自然的就要定義各個光柵的光強(qiáng)公式,就正弦振幅光柵而言,其光柵光強(qiáng)公式為:因此,我們可以通過下面的程序來實(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中,以便能夠通過VGA投影在顯示屏上。如圖所示圖5.2 接收框圖 當(dāng)rx_control_module.v 拉高 Count_Sig,

溫馨提示

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

評論

0/150

提交評論