手勢電視機遙控器_第1頁
手勢電視機遙控器_第2頁
手勢電視機遙控器_第3頁
手勢電視機遙控器_第4頁
手勢電視機遙控器_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-.z手勢電視機遙控器.摘要本報告詳細介紹了一款基于手勢識別算法及DSP2812平臺實現(xiàn)的手勢電視機紅外遙控系統(tǒng)。該系統(tǒng)可以將用戶手勢的運動信息轉(zhuǎn)換成相應的紅外信號從而到達手勢遙控電視機更換頻道和調(diào)節(jié)音量的目的。該系統(tǒng)主要由基于雙端口RAM通信的雙DSP并行處理平臺、CMOS數(shù)字攝像頭、萬能紅外遙控模塊、上位機調(diào)試軟件和以太網(wǎng)通信模塊組成。實驗測試說明,該系統(tǒng)能成功實現(xiàn)用戶手勢圖像的采集,手勢動作的識別、紅外遙控功能及以太網(wǎng)通信功能。關(guān)鍵詞:手勢識別、DSP2812、紅外遙控、UDP協(xié)議AbstractThispaperintroducedasystemcalledhandgesture-basedIRRemoteController,whichbasedonthegesturerecognitionalgorithmandwasrealizedonDSPplatform.TheControllercanconvertthemotioninformationoftheuser’shandgestureintocorrespondinginfraredsignalsoastoachievethepurposeofchangingchannelsandadjustingvolumesofTVwithhandgesture.TheControllerconsistsofadual-DSPparallelprocessingplatformwhichbasedondual-portRAMmunicatingtechnology,CMOSdigitalcamera,universalinfraredremotecontrolmodule,PCdebuggingsoftwareandEthernetmunicationmodule.Thee*perimentaltestsshowthatthesystemcansuccessfullyrealizecollectingtheimagesofuser’shandgestures,recognizinggesturesandEthernetmunicationfunction.Keywords:gesturerecognition,

DSP

2812,infraredremotecontroller,

UDP1引言把新技術(shù)應用到日常生活當中,不僅能夠發(fā)揮新技術(shù)的優(yōu)勢,到達推廣新技術(shù)的目的,而且能夠提高群眾的生活水平,方便人們的日常生活。基于這樣的目的,本設計針對家庭電視機紅外遙控器進展了重新的思考和探索。傳統(tǒng)的電視機遙控器需要用戶按鍵進展更換頻道,調(diào)節(jié)音量等操作。雖然大局部人已經(jīng)習慣了這樣的一種的遙控方式,但是,當中的弊端相信不少人也能夠體會。比照最符合人的控制交互方式,按鍵操作始終不是最優(yōu)和最容易承受的選擇。則能否找到一種更加直觀,更加人性化的遙控方式,讓我們在不依賴于傳統(tǒng)遙控器的情況下也能隨心所欲遙控電術(shù)的一個創(chuàng)新應用,它一改傳統(tǒng)電視機遙控器的按鍵操控模式,采用直接判斷使用者的手部動作的新方法來遙控電視機。該設備只需要使用者的手部在攝像頭的拍攝*圍按照規(guī)定的擺放方式動作,就能夠遙控電視機進展音量增減或頻道變換等操作??紤]本錢和靈活性因素,我們把手勢電視機遙控器設計為自帶紅外萬能遙控的模式,使得該裝置具有更為強大的拓展功能。除了遙控電視機之外,該遙控器還可通過學習其他紅外控制指令對相應紅外遙控家用設備進展控制。因此,手勢電視機遙控器不僅把新技術(shù)應用到人們的日常生活中,使得人們對電視機的遙控操作更加便捷和人性化,而且還能給紅外遙控帶來一種新的樂趣,豐富群眾的日常生活。2系統(tǒng)方案手勢電視機遙控器是攝像頭采集圖像能力和DSP處理視頻流能力的測試,最終確定的系統(tǒng)構(gòu)造如圖1所示。圖1手勢電視機遙控器的系統(tǒng)構(gòu)造由圖1可知,本系統(tǒng)采用了雙DSP共同工作的雙核處理平臺,該平臺主要由六個模塊組成:〔1〕攝像頭模塊:由攝像頭OV7620及驅(qū)動電路組成,負責手勢圖像采集;〔2〕DSP1:TMS320F2812,負責采圖像、對圖像預處理及與上位機的網(wǎng)絡通信;〔3〕上位機軟件:顯示實時采集的圖像,圖像處理結(jié)果和調(diào)試參數(shù)等。上位機與DSP1之間通過以太網(wǎng)進展協(xié)議通信;〔4〕雙端口RAM模塊:為了實現(xiàn)兩個DSP之間的高效數(shù)據(jù)通信,本系統(tǒng)采用了雙端口RAM作為雙方的外拓數(shù)據(jù)存儲,根據(jù)雙端口RAM的讀寫原則,到達雙核有效通信;〔5〕DSP2:負責手勢圖像最終的識別和信息提取工作。它從雙端口RAM獲取圖像數(shù)據(jù),從圖像中提取有用的特征,并進展判斷,將判斷結(jié)果轉(zhuǎn)換成相應的紅外模塊控制信號;〔6〕紅外遙控模塊:負責學習電視機配套遙控器的紅外遙控指令,將其放入指定的存儲空間中。在DSP2給出發(fā)射指令時,查詢存儲空間,獲取對應的紅外指令,并發(fā)射。 本系統(tǒng)中運用的算法主要包括:噪聲消除算法,手勢定位算法和方向判斷算法。其中,噪聲消除算法是后續(xù)算法的前提和保證。手勢定位算法實現(xiàn)人手在攝像頭拍攝區(qū)域的準確定位,為獲取準確的手勢特征提供可能。方向判斷算法通過手勢特征來判斷手部運動的方向,為紅外發(fā)射指令提供參數(shù)。系統(tǒng)實現(xiàn)的原理如圖2所示。圖2手勢遙控系統(tǒng)實現(xiàn)原理框圖3系統(tǒng)硬件設計3.1雙DSP處理平臺及其內(nèi)存空間的設計圖3硬件構(gòu)造圖本設計使用DSP2812進展圖像采集、圖像處理并且實現(xiàn)紅外遙控和網(wǎng)絡通信等功能??紤]到對處理器的多任務能力和速度有較高要求,為了讓圖像采集模塊、網(wǎng)絡通信模塊、圖像處理模塊和紅外遙控模塊協(xié)同工作,實現(xiàn)DSP的快速響應,本系統(tǒng)為此定制了一個擁有雙DSP2812的最小系統(tǒng)。通過雙核分工處理,共同完成手勢遙控的各種功能。該雙DSP的系統(tǒng)硬件模塊總構(gòu)造圖如圖3所示。DSP1主要負責圖像采集,與上位機的網(wǎng)絡通信和用戶按鍵的輸入。按鈕用于紅外萬能遙控功能設定。DSP2主要負責手勢識別的相關(guān)圖像處理,紅外遙控和用戶界面。為了實現(xiàn)雙DSP之間的通信,該系統(tǒng)使用了Cypress公司的一款64k*16位的雙端口RAM芯片CY7C028搭建了一個雙DSP之間的數(shù)據(jù)通道,DSP1把采集到的圖像通過時間控制有規(guī)律寫入到數(shù)據(jù)通道中,DSP2從數(shù)據(jù)通道中取出圖像數(shù)據(jù)存放到自己的RAM中,然后進展相關(guān)的圖像處理,并把處理結(jié)果通過紅外模塊發(fā)射出去。在連接上位機的情況下,DSP1同時也把采集到的圖像根據(jù)上位機的要求,使用UDP網(wǎng)絡協(xié)議發(fā)送到上位機,從而可以在上位機觀察圖像采集與處理的情況。為了保證足夠的空間給DSP進展相關(guān)的圖像處理工作,除了通信用的雙端口RAM之外,本系統(tǒng)特別地分別為兩個DSP同時擴展了512k*16位的RAM空間,以滿足圖像處理的空間要求。該系統(tǒng)雙DSP的儲存器設計總框架如圖4所示。圖4雙DSP的儲存器設計框架圖3.2CY7C028工作原理及數(shù)據(jù)通道的設計圖5CY7C028內(nèi)部功能框圖CY7C028是Cypress公司研制的64k*16位低功耗CMOS型靜態(tài)雙端口RAM,最大時間為12ns,可以與大多數(shù)高速處理器配合使用,而無需插入等待狀態(tài)。它具有真正的雙端口,兩端口可以同時進展數(shù)據(jù)存儲,另外通過主/從選擇可以方便地擴大存儲容量和數(shù)據(jù)寬度。其內(nèi)部功能構(gòu)造如圖5所示。CY7C028是一種性能優(yōu)越的快速通信器件,對于大多數(shù)CPU的高速數(shù)字系統(tǒng)設計都非常適用。其主要特點有:提供兩套完全獨立的數(shù)據(jù)總線、地址總線、讀寫控制總線,允許兩個處理器對雙端口存儲器同時進展操作;具有兩套中斷邏輯,用于實現(xiàn)兩個處理器之間的握手信號;具備完全獨立的忙邏輯,可保護兩個處理器對同一地址單元進展正確的讀寫操作。當兩個處理器對CY7C028存取時,存在以下4種情況:〔1〕兩個處理器不同時對同一地址單元存取數(shù)據(jù);〔2〕兩都把雙端口RAM作為自己存儲器的一局部,當兩個CPU需要數(shù)據(jù)傳送時,假設左端CPUL向右端CPUR傳送,首先CPUL將需要傳送的數(shù)據(jù)存放到雙端口RAM*段約定的地址單元中,然后向雙端口RAM的最高奇地址單元0*FFFF即右端口的進展寫操作,用以向CPUR發(fā)出一個中斷,這樣CPUR就進入相應的中斷效勞子程序,將約定地址單元的數(shù)據(jù)讀出,然后對雙端口RAM的右端口的進展寫操作,用以去除該中斷。在本系統(tǒng)中,雙端口RAM是用來建立雙DSP通信之間的數(shù)據(jù)通道,傳遞數(shù)據(jù)。在設計工作狀態(tài)中,兩個DSP不會同時讀寫該雙口RAM,而數(shù)據(jù)的傳遞都是采用握手的通信模式,所以該系統(tǒng)使用的是雙端口的中斷判優(yōu)方式。當DSP1往雙端口RAM中寫完數(shù)據(jù)之后,通過中斷握手的形式,通知DSP2讀取數(shù)據(jù)。DSP2要求數(shù)據(jù)時,同樣的通知DSP1。如此,就可以高速有規(guī)律地實現(xiàn)雙DSP的交流。雙端口RAM與兩個DSP之間的硬件連接如圖6所示。圖6雙端口RAM與雙DSP的硬件連接圖雙口RAM在兩個DSP中都是使用CS6作為片選信號線。對于兩個DSP,雙端口RAM的起止地址都為0*100000。3.3基于OV7620圖像傳感器芯片的圖像采集方案OV7620是OmniVision公司生產(chǎn)的一款高集成度的高分辨率逐行,隔行掃描CMOS數(shù)字彩色/黑白視頻攝像芯片。其功能組成模塊包括一個664*492的高分辨率圖像數(shù)組,一個模擬信號處理器,雙10bitA/D轉(zhuǎn)換器,模擬視頻合成;數(shù)字數(shù)據(jù)格式化器和視頻輸出端口。其數(shù)字視頻端口支持60HzYCrCb4:2:2,16/8位等輸出格式。內(nèi)建的S用DSP1,通過外部中斷nmi和int2,分別同步攝像頭的vsn和href信號,同時通過綁定DSP的8根IO線同步讀取圖像到DSP內(nèi)存中,從而實現(xiàn)了系統(tǒng)的圖像采集工作。另外,由于,OV7620接27MHz的時鐘,pclk的輸出時鐘為12M左右,對于這個速度,縱然150MHz的DSP,其中斷的速度也是根不上的。為了讓DSP能夠順利地讀取到圖像,我們必須要把攝像頭的輸出時鐘降頻,OV7620可以通過使用sccb,對攝像頭內(nèi)部的存放器進展設置,從而到達減速的目的。OV7620模塊與DSP1的硬件連接和OV7620的同步讀取時序分別如圖7和圖8所示。圖7OV7620與DSP1的硬件連接圖圖8OV7620的同步讀取時序圖從時序圖中可以看出,DSP先捕獲攝像頭的場中斷信號,標志一幀的開場,準備好存儲一幀圖像的數(shù)組。然后,DSP等待href行中斷信號。最后,在行中斷中,判斷pclk信號,當pclk處于高的時候,此時,DSP讀取該像素的值。至于,采集圖像大小,可以通過讀取程序修改。在該系統(tǒng)的,只需要采集手勢動作的圖像信息。最大有效數(shù)據(jù)的情況,采集盡量小的圖像。于是,該系統(tǒng)的軟件設置,DSP每一幀圖像采集視野中間隔行的100*100大小的圖像,每次存放在100*100的數(shù)組中。如此就可以實現(xiàn)系統(tǒng)圖像采集功能。3.4RTL8019AS芯片及DSP網(wǎng)絡通信的實現(xiàn)RTL8019AS以太網(wǎng)控制器是由Realtek公司出的一款高集成度的以太網(wǎng)控制芯片,具有8/16位總A接口是把RTL8019AS與網(wǎng)線的連接通道,完成控制器與網(wǎng)線的數(shù)據(jù)交換。MAC〔介質(zhì)控制〕邏輯完成以下功能:當DSP向網(wǎng)上發(fā)送數(shù)據(jù)時,先將一幀數(shù)據(jù)通過遠程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令;當RTL8019AS完成了上幀的發(fā)送后,再開場此幀的發(fā)送。RTL819接收到的數(shù)據(jù)通過MAC比較、CRC校驗后,由FIFO存到接收緩沖區(qū);收滿一幀后,以中斷或存放器標志的方式通知主處理器。FIFO邏輯對收發(fā)數(shù)據(jù)作16字節(jié)的緩沖,以減少對本地DMA請求的頻率。RTL8019AS內(nèi)部有兩塊RAM區(qū)。一塊16K字節(jié),地址為0*4000~0*7fff;一塊32字節(jié),地址為0*0000~0*001f。RAM按頁存儲,每256字節(jié)為一頁。一般將RAM的前12頁〔即0*4000~0*4bff〕存儲區(qū)作為發(fā)送緩沖區(qū);后52頁〔即0*4c00~0*7fff〕存儲區(qū)作為接收緩沖區(qū)。第0頁叫Prom頁,只有32字節(jié),地址為0*0000~0*001f,用于存儲以太網(wǎng)物理地址。要接收和發(fā)送數(shù)據(jù)包就必須通過DMA讀寫RTL8019AS內(nèi)部的16KB

RAM。它實際上是雙端口的RAM,是指有兩套總線連接到該RAM,一套總線RTL8019AS讀或?qū)懺揜AM,即本地DMA;另一套總線是DSP讀或?qū)懺揜AM,即遠程DMA。圖98019AS與DSP的硬件連接圖本系統(tǒng)使用DSP1連接8019AS芯片,通過連接對應的地址數(shù)據(jù)總線,設置片選信號,實現(xiàn)DSP的以太網(wǎng)通信。8019AS與DSP的硬件連接如圖9所示。3.5紅外遙控模塊的電路設計圖10紅外遙控模塊原理框圖紅外遙控模塊包括三個局部:接收局部、發(fā)送局部和數(shù)據(jù)處理局部.接收局部包括光電轉(zhuǎn)換、解調(diào)、高速采樣以及數(shù)據(jù)分析等模塊,發(fā)送局部包括遙控發(fā)送、和電光轉(zhuǎn)換模塊,數(shù)據(jù)處理局部包括中央處理、以及存儲模塊。紅外遙控模塊構(gòu)造如圖10所示。紅外遙控模塊有兩種工作狀態(tài):學習狀態(tài)和發(fā)射狀態(tài)。在學習狀態(tài)下,接收子程序啟動。當光電轉(zhuǎn)換模塊接收到紅外信號后,將其轉(zhuǎn)換成電信號,電信號經(jīng)過解碼芯片后被送給高速采樣模塊.高速采樣模塊以200KHz的頻率定時對電信號采樣,生成二進制比特流,并送給數(shù)據(jù)分析模塊,數(shù)據(jù)分析模塊將比特流組成一個編碼單元,存放到存儲單元中,同時建立和預定義的紅外發(fā)射信號的綁定關(guān)系.當處于發(fā)射狀態(tài)下,發(fā)射子程序啟動,遙控發(fā)送模塊將紅外發(fā)射信號指向的存儲單元中讀取編碼單元,根據(jù)編碼單元中的二進制比特流,調(diào)制到38KHz的載波信號上,串行輸出(位和位之間的時間間隔等于采樣時的時間間隔)給紅外發(fā)射二極管,并通過電光轉(zhuǎn)換模塊,以光脈沖的形式發(fā)送出去,從而實現(xiàn)對電視機的控制。3.6液晶屏12864的工作原理 作為手勢紅外遙控器,系統(tǒng)只需要完成攝像頭輸入,紅外遙控輸出,根本功能就可以實現(xiàn)。但是,為了使得系統(tǒng)更加完整和人性化,并且因為系統(tǒng)涉及紅外信號的設置,為了方便操作和系統(tǒng)調(diào)試,我們在本系統(tǒng)添加了一個型號為12864的液晶顯示模塊。12864漢字圖形),視域尺寸為72×40(mil)。在本系統(tǒng)中,使用12864與DSP2連接,工作電壓為3.3v,背光電壓為5v。數(shù)據(jù)模式為并口模式。硬件連接圖如圖11所示。圖1112864液晶屏與DSP2的硬件連接圖4系統(tǒng)軟件設計4.1手勢圖像處理算法原理手勢圖像處理局部包括:手勢圖像預處理,特征特征和動作識別。在三局部中,如何將消除噪聲,只保存有用的手部圖像是DSP進展后續(xù)圖像處理的前提,也是手勢識別最困難的一步。如何將手部特征提取出來,將直接影響到后續(xù)識別的效果。4.1.1圖像預處理目前主流的將人手從復雜背景中別離出來的方法有以下幾種:〔1〕增加限制的方法:如使用與膚色反差較大的黑色墻壁、衣服等來簡化背景,或是要求使用者戴上特殊手套來強調(diào)前景,簡化手和背景的劃分,加深兩者之間的比照。但是這種人為的限制約束了使用者,不利于手與電視機的自由交流。〔2〕差影法及其改進算法:差影法就是將目標圖像和背景圖像相減,此種方法對消除背風光在顏色空間中的分布受到光照和人種的影響很大,并且背景中與膚色相近的物體也會對檢測結(jié)果產(chǎn)生很大的影響?;谝陨戏治?,我們希望能找到一種對背景限制較小并且簡單有效的圖像分割方法,可以大致檢測到手部*圍。又由于我們的主要目標是檢測手的運動方向,而不是準確獲取手部輪廓,為此,我們選擇基于幀間差分的方法來實現(xiàn)手部圖像分割。幀間差分法就是對視頻圖像序列中的相鄰的或一定時間間隔的兩幀進展逐個像素比較,來獲得前后2幀圖像亮度差的絕對值。利用間隔短暫時間的兩幀圖像比較,可以得到兩*圖像運動方向的邊緣圍成的一小段白色區(qū)域。用這段白色區(qū)域代手部位置。這樣做的優(yōu)點在于:〔1〕幀間差分法能夠消除大局部的背景,并且經(jīng)過幀間差分法處理之后圖像中的噪聲類型單一,容易用特定的濾波算法消除。〔2〕幀間差分法得到的手部邊緣圍成的小區(qū)域來代替手部位置的處理算法比計算八連通域的Freeman鏈算法直接獲取手部輪廓的處理算法簡單,有利于圖像的實時處理。得到一組圖像之后,采用閾值分割的方法對獲取的圖像二值化,消除噪聲,最后根據(jù)此圖像序列含有的白色像素點的多少來確定圖像序列中有無物體。下面對圖像預處理的算法進展描述:〔1〕從視頻圖像序列中選取相鄰n幀的兩幀圖像,其中前一幀圖像為,后一幀圖像為;圖12〔a〕前一幀圖像圖12〔b〕后一幀圖像〔2〕為了減少計算量,將480*640的圖像隔4行6列提取像素點,左右各忽略20列,上下各忽略40行,獲得兩幀100*100的圖像和;圖13(a)縮小后圖13(b)縮小后〔3〕計算后一幀與前一幀的差為,得到目標的變化量;圖14目標變化量〔4〕對幀間差分法得到的圖像按選定的閾值進展二值化,得到目標圖像序列的二值化圖像序列。其中,〔1〕上式中,T為閾值。對于給定視頻序列的圖像,假設像素點k處沒有運動,其幀差服從均值為0,,是幀差的統(tǒng)計方差,通常認為它等于攝像頭噪聲方差的兩倍。根據(jù)概率統(tǒng)計學假設檢驗“〞法則,并依據(jù)“正確的閾值T應該能消除大局部噪聲〞的原則。經(jīng)試驗測試得閾值T選擇在35~45之間是適宜的。二值化后的圖像如圖15所示。圖15二值化后的圖像觀察的圖像序列,我們可以看到,圖像中的噪聲很少,這是因為〔1〕幀間差分法到達了加大目標信息的權(quán)重,同時抑制了靜態(tài)背景的效果。〔2〕攝像頭采集*圍背景比較單一,光線均勻。目標圖像中主要存在兩大類的噪聲。一種是由于光線變化產(chǎn)生的噪聲,這種噪聲往往以孤立的黑色像素點的形式出現(xiàn),稱為椒鹽噪聲。第二種噪聲是一些面積較小的背景塊。為了能盡可能消除這兩種噪聲,可以求每個N*M小塊的灰度平均值,根據(jù)灰度平均值可估計出白色區(qū)域的大小。當灰度平均值小于*一閾值時,就認為其是噪聲,把對應的N*M個點賦值為0。算法實現(xiàn)如下:〔1〕建立一個大小是的1/25倍的矩陣來存20*20個5*5像素塊的平均灰度值;〔3〕和滿足如下關(guān)系:〔3〕通過這種處理方法,原圖像中的小塊噪聲和椒鹽噪聲根本被消除,手部圖像的邊緣的*些像素點也會被當做噪聲消除。但是這不影響后續(xù)處理。經(jīng)過噪聲消除后的圖像如圖16所示。圖16噪聲消除后的圖像使用同樣的處理算法,可以得到后一幀的圖像各處理階段的圖像如圖17(a)、(b)、(c)、(d)、(e)、(g)所示。圖17〔a〕前一幀圖像圖17〔b〕后一幀圖像圖17(c)縮小后的前一幀圖像圖17(d)縮小后的后一幀圖像圖17(e)幀間差分法之后的圖像圖17(f)二值化后的圖像圖17(g)噪聲消除后的圖像4.1.2特征提取及動作識別獲取只含手部運動區(qū)域的圖像后,尋找手部區(qū)域與背景區(qū)域的臨界點,臨界點之間的進展比較和數(shù)學運算,判斷出手的擺放位置和區(qū)域中心位置。手部擺放。圖像處理和特征提取、判斷方向局部的流程圖如圖18所示。圖18圖像處理局部算法流程圖〔1〕和是一樣的縱向擺放位置,手部在左右運動;〔2〕根據(jù)列坐標的大小來判斷手左右方向的移動如下:〔4〕 判斷上下運動的算法與判斷左右類似?!?〕和是一樣的橫向擺放位置,手部在上下運動; 〔2〕根據(jù)橫坐標的大小來判斷上下方向的移動如下:〔5〕 假設出現(xiàn)無法判斷的情況,則重新采集圖像,進展處理和判斷,直到能夠判斷方向。4.2紅外遙控算法原理4.2.1電視機萬能紅外遙控原理 萬能遙控器是將一般遙控系統(tǒng)的發(fā)射和接收局部做到了一起,這樣就可以既對其他遙控信號學習又可以用其控制受控設備.從而實現(xiàn)一器多用。紅外信號自學習的一般方法是用CPU對各個遙控器的紅外遙控信號進展采集并存儲,但由于紅外信號編碼格式種類較多,一般只能做到學習幾種特定的編碼格式。本系統(tǒng)中,選擇最常用的一種編碼方式uPD6121進展學習,解碼和發(fā)射。uPD6121編碼的一般一個設備動作,有效的防止多個設備之間的串擾。鍵碼反碼用來檢驗鍵碼接收的正確性,防止誤動作增強系統(tǒng)的可靠性?!?〞和“1〞均由毫秒量級的上下脈沖的組合代表,編碼圖如圖19所示。圖19紅外遙控“1〞、“0〞編碼圖4.2.2基于DSP2812的紅外遙控的實現(xiàn)一體化紅外接收頭接收紅外信號并放大,解調(diào)出TTL電平信號送至DSP,由DSP對紅外遙控編碼的脈沖寬度進展測量,并原封不動將發(fā)射信號中高、低電平的時間寬度記憶至存儲都是通過38—40KHz〔周期大約為26.3〕的載波進展調(diào)制而成。如果直接記錄載波信號的脈沖寬度,消耗的資源太多,因此必須先對接收到的紅外信號進展解調(diào),再記錄遙控編碼信號的脈沖寬度。學習子程序的流程圖如圖20所示。圖20學習子程序流程圖 本設計中采用計數(shù)器對信號上下電平計時的方法來采集數(shù)據(jù)并保存。遙控學習程序的流程圖如下所示。初始化定時器T0,學習指示燈亮,當系統(tǒng)識別到起始碼的低電平時,系統(tǒng)啟動對低電平進展采集,計數(shù)器開場計數(shù),當起始碼的低電平完畢時,保存計數(shù)器此時的值,延時一段時間之后再次判斷,如果采集到編碼信號位數(shù)大于32位時,就認為編碼采集已經(jīng)完畢,學習子程序完畢。發(fā)射模塊是根據(jù)DSP發(fā)送的指令找到其在存放器對應的存儲空間,將編碼調(diào)入內(nèi)存,然后通過編碼發(fā)送子程序?qū)⒕幋a調(diào)制在38KHz的載波上發(fā)送出去。用定時中斷0產(chǎn)生38KHz的載波信號,用學習到的遙控編碼信號的低電平去控制載波的輸出,此時定時器0定時長度由相應的遙控信號低電平寬度計數(shù)值確定,即如果需發(fā)射的遙控信號為高電平時,關(guān)定時中斷0;如果為低電平,則開定時中斷0。從而實現(xiàn)遙控信號的脈寬調(diào)制發(fā)射。本設計發(fā)射子程序流程圖如圖21所示,接收到DSP發(fā)送的指令后,先進展初始化,使系統(tǒng)處于待發(fā)射狀態(tài),然后根據(jù)指令傳送的地址在存儲區(qū)間找出對印的編碼,然后將調(diào)出的編碼去調(diào)制由定時器T0產(chǎn)的38KHz載波。圖21發(fā)射子程序流程圖4.3網(wǎng)卡驅(qū)動程序及基于UDP協(xié)議的上位機軟件方案4.3.1網(wǎng)卡驅(qū)動程序及UDP協(xié)議的原理及實現(xiàn)使用RTL8019AS芯片實現(xiàn)DSP平臺下的網(wǎng)絡通信,在硬件層8019AS已經(jīng)實現(xiàn)了以太網(wǎng)通信物理層的功能,在DSP下對8019AS驅(qū)動的編寫,相對來說,只需要初始化網(wǎng)絡芯片相應的存放器,并啟動就可以。為了通過網(wǎng)絡把DSP采集到的圖像網(wǎng)絡發(fā)送到上位機,還需要在DSP上實現(xiàn)相應的網(wǎng)絡通信協(xié)議。本系統(tǒng)采用了TCP/IP協(xié)議族中的UDP協(xié)議進展通信。UDP協(xié)議的全稱是用戶數(shù)據(jù)包協(xié)議,在網(wǎng)絡中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無連接的協(xié)議。在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層。UDP有不提供數(shù)據(jù)包分組、組裝和不能對數(shù)據(jù)包進展排序的缺點,也就是說,當報文發(fā)送之后另外一個原因是,UDP相對簡單,在DSP上這些嵌入式設備上實現(xiàn)能夠比TCP面向連接的協(xié)議大大簡化,從而降低代碼的復雜度,實現(xiàn)電腦與嵌入式DSP之間的快速通信。 在DSP上,驅(qū)動8019AS芯片工作之后,就是通過代碼實現(xiàn)UDP通信協(xié)議。用于UDP是面向無連接的,所以,在8019AS相應的緩沖區(qū)域中,將需要發(fā)送的數(shù)據(jù)以UDP協(xié)議的格式封裝好,發(fā)送到目標主機,就可以了。UDP的數(shù)據(jù)包封裝格式如圖22所示。圖22UDP的數(shù)據(jù)包封裝格式4.3.2上位機軟件的編寫圖23上位機軟件界面在下位機端DSP實現(xiàn)了UDP數(shù)據(jù)包的發(fā)送之后,需要在電腦端編寫響應的上位機軟件接收數(shù)據(jù),從而實現(xiàn)它們之間的數(shù)據(jù)通信。上位機軟件,我們使用的是C*語言編寫的圖形軟件。上位機軟件,主要是為了實現(xiàn)接收下位機的數(shù)據(jù),并且復原圖像數(shù)據(jù)并顯示。除此之外,上位機還可以向下位機發(fā)送命令,也是為方便系統(tǒng)調(diào)試。使用C*語言實現(xiàn)UDP通信協(xié)議直接就可以使用響應的套接字編寫程序,很簡易就可以實現(xiàn)UDP的通信。圖23是編寫的上位機軟件界面。4.3.3圖像數(shù)據(jù)發(fā)送及復原 下位機采用的是UDP發(fā)送數(shù)據(jù),由于UDP數(shù)據(jù)包有大小的限制,不可能一個數(shù)據(jù)包發(fā)送完一副圖像,所以,我們對一副圖像進展分包發(fā)送。攝像頭采集的圖像是100*100大小的二維數(shù)據(jù)。在發(fā)送中,我們作了這樣的一個規(guī)定:把數(shù)據(jù)的每一行作為一個UDP數(shù)據(jù)包,進展發(fā)送,一副圖像需要分為100個數(shù)據(jù)包。為了讓上位機完整接收一幅圖像,我們在每新的一幅圖像開場發(fā)送之前,先發(fā)送一個設定的幀開頭數(shù)據(jù)包,在每一副圖像發(fā)送完畢之后,再發(fā)送一個設定的幀結(jié)尾數(shù)據(jù)包。如此,在上位機就可以根據(jù)這些標示的數(shù)據(jù)包重組100*100的數(shù)組。上位拿到100*100的數(shù)據(jù)之后,利用C*語言的相關(guān)函

溫馨提示

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

最新文檔

評論

0/150

提交評論