基于SPCE3200系統(tǒng)的視頻采集系統(tǒng)的設計與實現(xiàn)_第1頁
基于SPCE3200系統(tǒng)的視頻采集系統(tǒng)的設計與實現(xiàn)_第2頁
基于SPCE3200系統(tǒng)的視頻采集系統(tǒng)的設計與實現(xiàn)_第3頁
基于SPCE3200系統(tǒng)的視頻采集系統(tǒng)的設計與實現(xiàn)_第4頁
基于SPCE3200系統(tǒng)的視頻采集系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本科生畢業(yè)論文 基于spce3200系統(tǒng)的視頻采集系統(tǒng)的設計與實現(xiàn)系 別 計算機與信息工程學院 班 級 電科 姓 名 學 號 答辯時間 目 錄摘要:1關鍵詞:1前言21 緒論21.1視頻采集系統(tǒng)研究背景及意義21.2研究現(xiàn)狀41.2.1 視頻圖像采集系統(tǒng)發(fā)展現(xiàn)狀41.2.2 視頻圖像編碼發(fā)展現(xiàn)狀42 基于spce3200的視頻采集存儲系統(tǒng)方案43 spce200視頻采集系統(tǒng)硬件平臺分析設計73.1 spce3200處理器硬件結構73.2 視頻采集系統(tǒng)模塊的選取83.2.1 圖像采集模塊的選取83.2.2 顯示模塊的選取103.2.3 存儲模塊及文件系統(tǒng)選取103.2.4 按鍵接口設計114 視

2、頻采集系統(tǒng)的系統(tǒng)結構及軟件平臺的分析和設計114.1 編視頻采集系統(tǒng)的系統(tǒng)結構:114.2 編譯仿真調試環(huán)境124.3 嵌入式操作系統(tǒng)簡介134.3.1 ecos簡介144.4 ecos在spce3200上的移植144.4.1 redboot在spce3200上的移植144.4.2 應用程序在spce3200上的移植154.4.3 設置腳本實現(xiàn)應用程序脫機工作164.5 視頻采集存儲程序分析和設計174.5.1 系統(tǒng)初始化設置174.5.2 視頻采集編碼和文件存儲的實現(xiàn)194.5.3 軟件系統(tǒng)整體設計215 系統(tǒng)測試225.1 系統(tǒng)的功能測試225.2 系統(tǒng)性能分析246 結論24參考文獻:2

3、5謝 辭26附錄:27基于spce3200系統(tǒng)的視頻采集系統(tǒng)的設計與實現(xiàn)武耀 指導教師:張婧婧摘要:本文以分析嵌入式視頻采集系統(tǒng)的性能為目的,在介紹數(shù)字視頻采集和視頻壓縮研究現(xiàn)狀的基礎上,研究了視頻信號采集、編碼壓縮、存儲系統(tǒng),并利用spce3200嵌入式處理器,優(yōu)選了cmos圖像傳感器模塊、tft-lcd顯示模塊和sd卡,構建了數(shù)字視頻開發(fā)平臺。通過分析spce3200的開發(fā)環(huán)境,移植了ecos嵌入式操作系統(tǒng)最小系統(tǒng)redboot到spce3200芯片中,并采用模塊化設計思路,按照功能依次編寫了各軟件功能模塊。所設計的系統(tǒng)在保證原有圖像質量的前提下實現(xiàn)了視頻數(shù)據(jù)的實時壓縮。關鍵詞:視頻采集;

4、spce3200;編碼壓縮the design and implementation of video capture system based on spce3200wu yao tutor: zhang jingjingabstract:to analyze the performance of embedded video capture system for the purpose in the introduction of digital video capture and video compression research on the basis of the video s

5、ignal acquisition, encoding, storage systems, and using spce3200 embedded processors optimized cmosthe image sensor module, tft-lcd display module and sd card, built digital video development platform. by analyze spce3200 development environment, transplantation ecos embedded operating system minimu

6、m system redboot to spce3200 of the chip, and uses a modular design concept, according to the function, followed by the preparation of various software modules. the design of the system under the premise of ensuring the original image quality of real-time video data compression.key words: video acqu

7、isition;spce3200;compression coding前言視頻信號從采集、存儲到傳輸都以模擬信號為主,個人計算機的普及使計算機成為視頻信號的處理主體。由于個人計算機具有高速通用擴展總線,通過擴展視頻采集卡可以實現(xiàn)視頻模擬信號到數(shù)字信號的轉變。數(shù)字化后的視頻文件在存儲和傳輸過程中,尤其在視頻的后期處理中可以采用數(shù)字信號處理算法在計算機上實現(xiàn)各種復雜的處理變換。新的嵌入式系統(tǒng)的出現(xiàn)對于視頻的處理提出了新的需求。最初的嵌入式系統(tǒng)以可編程控制器的形式出現(xiàn),只有監(jiān)測、伺服、設備指示等功能,無法滿足視頻處理的需求。隨著微電子工藝水平的提高,大量高可靠、低功耗的面向i/o設計的微控制器一舉成

8、為嵌入式系統(tǒng)領域中的新秀,各種嵌入式操作系統(tǒng)開始得到迅速發(fā)展,數(shù)字信號處理技術的應用研究也開始在嵌入式系統(tǒng)上展開。嵌入式圖像及視頻處理成為信號處理研究中一個重要的分支,大量在計算機上實現(xiàn)的數(shù)字信號處理算法通過與嵌入式系統(tǒng)的結合產(chǎn)生了大量優(yōu)秀的應用平臺和案例。1 緒論1.1視頻采集系統(tǒng)研究背景及意義視頻和圖像是多媒體的重要部分,它可以生動和直觀的形式表現(xiàn)信息。隨著信息技術的發(fā)展,網(wǎng)絡技術和信息技術已經(jīng)廣泛地應用在國民生產(chǎn)的各個領域,特別是大規(guī)模集成電路的廣泛使用和數(shù)字視頻處理理論研究的發(fā)展,數(shù)字化的視頻處理產(chǎn)品層出不窮,早期大量采用的模擬視頻采集存儲系統(tǒng)正在被數(shù)字技術所代替,從視頻采集、視頻編碼

9、到海量視頻文件的存儲等,數(shù)字技術幾乎涵蓋了視頻采集存儲系統(tǒng)的所有組成部分,設計高性能的視頻處理系統(tǒng)平臺和研究視頻處理算法已經(jīng)成為現(xiàn)階段視頻處理系統(tǒng)的熱點問題1。在各種數(shù)字化視頻處理系統(tǒng)方案中,個人計算機以其高速運算和易擴展的特性,結合優(yōu)秀的數(shù)字視頻處理算法,使得個人計算機在視頻處理領域得到一定的發(fā)展和應用。隨著嵌入式系統(tǒng)性能的提高,大量以前只能夠在計算機上完成的任務可以在嵌入式系統(tǒng)中完成,加之嵌入式系統(tǒng)在價格上的優(yōu)勢,出現(xiàn)了大量基于嵌入式系統(tǒng)的視頻處理系統(tǒng)。具體比較見表1-1:表1-1 常用芯片比較優(yōu)勢劣勢dspdsp的主要優(yōu)勢是速度,它可以在一個指令周期中同時完成一次乘法和一次加法,這非常符

10、合快速傅立葉變換的需求。dsp有專門的指令集,主要是專門針對通訊和多媒體處理的2。dsp為提高數(shù)字計算效率,犧牲了存儲器管理的方便性,對多任務的支持要差的多,所以dsp不適合于作多任務控制作用。armarm最大的優(yōu)勢在于速度快、低功耗、芯片集成度高,多數(shù)arm芯片都可以算作soc,基本上外圍加上電源和驅動接口就可以做成一個小系統(tǒng)了,具有比較強的事務管理功能,可以用來跑界面以及應用程序等,其優(yōu)勢主要體現(xiàn)在控制方面。速度和數(shù)據(jù)處理能力一般。spce3200內置mpeg4硬件編解碼模塊,并外擴其它用于多媒體、機器人領域的功能模塊。它專長于圖像、視頻處理,可以輸出圖像、聲音到電視機以及l(fā)cd上顯示,具

11、備強大的音頻、視頻、圖像數(shù)據(jù)的處理能力??刂颇芰蛿?shù)據(jù)處理能力一般。沒有前兩者專項突出。通過對資料的分析,本設計選擇了凌陽科技公司推出的spce3200處理器作為視頻采集系統(tǒng)的核心,由于其內部集成了一個mpeg4編碼解碼模塊,所以在實現(xiàn)視頻編碼過程中可以減少對于處理器計算資源的需求,再通過其他外部設備性能的分析,最終確定了新的設計方案。本文在設計實現(xiàn)硬件系統(tǒng)平臺時,首先研究和分析spce3200處理器的結構和接口特點,在完成了spce3200最小系統(tǒng)后,擴展了cmos圖像傳感器模塊、tft-lcd模塊和sd卡。選擇并移植了ecos嵌入式操作系統(tǒng)的最小系統(tǒng),并使用mpeg4模塊最終設計實現(xiàn)了嵌入

12、式視頻采集存儲系統(tǒng)。系統(tǒng)測試結果顯示,在320像素240像素分辨率下可以實現(xiàn)15幀/秒的實時視頻采集和壓縮編碼,編碼后的視頻文件采用fat文件格式存放在sd卡上。1.2研究現(xiàn)狀 1.2.1 視頻圖像采集系統(tǒng)發(fā)展現(xiàn)狀嵌入式系統(tǒng)與個人計算機在體系結構上有差異,原有的視頻圖像處理技術需要根據(jù)嵌入式系統(tǒng)的特點進行改進,運算性能上,嵌入式系統(tǒng)無法與計算機相比,因此減小視頻壓縮編碼算法的時間和空間復雜度是嵌入式視頻采集存儲系統(tǒng)實現(xiàn)的前提。目前嵌入式的視頻處理系統(tǒng)平臺大都采用多媒體處理器、dsp處理器、fpga或專用視頻處理芯片實現(xiàn)。1.2.2 視頻圖像編碼發(fā)展現(xiàn)狀視頻圖像編碼技術廣泛應用于通信、廣播電視和

13、等眾多領域,促成了許多視頻編碼標準的產(chǎn)生。國際上兩大視頻編碼標準化組織itut與iso/iec分別制定了h26x和mpegx兩大系列視頻編碼國際標準,主要應用于實時視頻存儲和因特網(wǎng)等相關系統(tǒng)。最早提出的一種編碼協(xié)議是h261視頻編碼國際標準。h263視頻編碼國際標準是低碼率圖像壓縮標準,支持全碼率應用,對運動補償使用半像素精度,采用無限制的運動向量以及基于語法的算術編碼, h263標準能夠在低碼率下實現(xiàn)比h261標準更好的圖像效果。mpeg4視頻編碼國際標準引入了基于視聽對象的編碼方式,采用了形狀編碼、自適應dct、任意形狀視頻對象編碼等一些新的技術,大大提高了視頻通信的交互能力和編碼效率?,F(xiàn)

14、階段,此標準為數(shù)字視頻通信及其相關應用提供了標準的算法及工具,建立了能被多媒體傳輸、存儲、檢索的統(tǒng)一數(shù)據(jù)格式,作為優(yōu)秀的視頻編碼標準,在數(shù)字視頻的編碼和存儲中得到了廣泛的應用。h264視頻編碼國際標準是兩大國際標準化組織在h263和mpeg4兩種標準基礎上共同制定的,它克服了兩種編碼標準的弱點,在混合編碼的框架下引入了新的編碼方式,在相同的視頻質量下帶寬僅為mpeg-4標準的1/3,能夠在較低的帶寬上實現(xiàn)高質量的圖像傳輸,可以作為未來寬帶交互式新媒體的標準之一,將會具有更廣闊的應用前景3。2 基于spce3200的視頻采集存儲系統(tǒng)方案實現(xiàn)基于spce3200的視頻采集系統(tǒng),需要硬件資源、嵌入式

15、操作系統(tǒng)和應用軟件開發(fā)平臺,按照功能模塊依次確定系統(tǒng)的實現(xiàn)方案。具體方案如表2-1:表2-1 各模塊參考方案視頻采集模塊外部存儲模塊視頻輸出接口方案一usb接口nandflash控制器lcd接口方案二cmos傳感器接口sd卡控制器tv編碼接口方案三無usb控制器無視頻采集模塊大都采用usb接口或cmos傳感器接口兩種方式。usb接口是支持即插即用的通用串行總線接口,包括了usb控制器、控制器驅動程序、usb芯片驅動程序、usb設備以及usb設備驅動程序五部分。spce3200處理器內部集成了usbl1協(xié)議標準的usb控制器,可以選用usb接口攝像頭作為視頻采集的輸入設備;cmos傳感器接口是一

16、種并行的cmos圖像傳感器接口,spce3200處理器集成了cmos傳感器接口控制器,采用這種接口標準的cmos圖像傳感器都可以通過該接口連接到spce3200處理器。通過對兩種接口地比較,由于usbl1接口的傳輸速度最高為12mbps,如果要實現(xiàn)320像素x 240像素rgb圖像15幀/秒的傳輸則需要27648mbps以上的接口速度才能夠實現(xiàn),使用usb接口的攝像頭不可行,本設計中視頻采集模塊采用了cmos圖像傳感器模塊實現(xiàn)。視頻文件的存儲需要一個大容量的外部存儲設備。spce3200處理器集成了nandflash控制器、sd卡控制器和usb控制器,外部存儲設備可以從以上三種中選擇,考慮到采

17、集的數(shù)據(jù)需要與計算機進行交換,所以sd卡和u盤可以用于本設計中視頻數(shù)據(jù)存儲。sd卡接口采用9針接口,使用命令方式完成數(shù)據(jù)的存儲和讀取,與usb接口相比較,驅動程序設計難度較低,本設計中數(shù)據(jù)存儲設備采用sd卡實現(xiàn)。在視頻壓縮編碼設計中,spce3200處理器在計算機性能上與s3c2410處理器相比還具有一定的差距,用處理器集成的mpeg4編碼解碼模塊可以實現(xiàn)cif模式下最高30幀/秒的編碼速度,從性能上達到了視頻實時壓縮的要求。本設計中視頻壓縮編碼采用spce3200處理器內部集成的mpeg4編碼解碼模塊。mb:macroblock,搜索塊dc:direct current,直流mv:mean

18、variation,平均差值dct:discrete cosine transform,離散余弦變換idct:inverse discrete cosine transform,離散余弦逆變換vlc:variable length coding,可變長編碼圖2-1 spce3200 mpeg4的結構框圖在視頻輸出接口上,spce3200處理器提供了lcd接口和tv編碼接口,開發(fā)系統(tǒng)已經(jīng)提供了一塊320像素x240像素的lcd顯示模塊,因此顯示輸出可以首選lcd顯示模塊。通過對以上系統(tǒng)實現(xiàn)方案地分析,基于spce3200的視頻采集存儲系統(tǒng)可以從硬件和軟件上確定設計方案,其中,系統(tǒng)硬件部分以spc

19、e3200處理器為核心,前端視頻數(shù)據(jù)采集采用視頻模塊實現(xiàn),采集到的視頻數(shù)據(jù)使用處理器集成的mpeg4編碼器壓縮后以avi文件格式存儲在sd卡上。圖2-2 硬件結構圖系統(tǒng)軟件按照嵌入式操作系統(tǒng)、驅動程序、圖形化用戶界面和用戶應用程序四個層次依次自下向上設計,軟件結構如圖2-3所示:圖2-3 軟件結構圖3 spce200視頻采集系統(tǒng)硬件平臺分析設計3.1 spce3200處理器硬件結構spce3200處理器是由臺灣凌陽科技公司推出的一款基于s+oare7內核的32位處理器,該處理器片內集成了mpeg4編碼解碼器、cmos圖像傳感器控制器、sd卡控制器、lcd控制器、usb控制器、tv編碼控制器等用

20、于多媒體處理的功能模塊,具有強大的音頻、視頻、圖像處理能力,適用于pda、便攜式播放器、監(jiān)控設備、機器人等設備開發(fā)。spce3200處理器采用低電壓、低功耗設計,核心工作電壓為3v36v,核心頻率為最高為162mhz,可以使用32768hz實時時鐘、具有12位adc、16位dac、uart、spi、12c等通用接口,支持dram擴展,支持65536色(rgb565格式)隔行/逐行掃描視頻輸出,mpeg4編碼器在cif模式下可實現(xiàn)最高30幀/秒的視頻編碼。spce3200芯片的外觀如圖3-1所示。圖3-1 spce3200芯片全貌3.2 視頻采集系統(tǒng)模塊的選取使用spce3200芯片進行系統(tǒng)開發(fā)

21、時,需要一套基本的spce3200最小系統(tǒng)開發(fā)平臺。spce3200芯片本身集成了部分外設控制器,因此最小系統(tǒng)中僅僅需要擴展sdram、flash作為spce3200片外存儲設備即可實現(xiàn)spce3200最小系統(tǒng)核心。本設計中需要使用到的cmos圖像傳感器模塊、lcd顯示屏、sd卡接口、手柄等就是在最小系統(tǒng)的基礎上擴展后實現(xiàn)的。3.2.1 圖像采集模塊的選取視頻采集系統(tǒng)的圖像采集模塊采用cmos圖像傳感器來實現(xiàn), cmos圖像傳感器體積小,功耗低、集成度高。傳感器的每個像素旁就直接連著adc,信號直接放大并轉換成數(shù)字信號。cmos傳感器通常集成專用的dsp芯片進行圖像處理,并將圖像數(shù)據(jù)轉換為標準

22、格式后才再進行進一步的編碼處理4。本設計選用的是omnivision公司的ov7720圖像傳感器,如圖3-2:圖3-2 csi 模 組該傳感器集成了640像素x480像素的傳感器陣列、圖像處理器,具有rawrgb、rgb、ycbcr多種圖像格式輸出,支持vga、qvga和cif模式,具有自動增益控制、自動曝光控制、自動白平衡控制、自動空白填充、自動背光補償功能,vga模式下最大圖像傳輸速度可達60幀/秒,性能上可以達到實時視頻采集的要求。spce3200內置的cmos傳感器接口csi(cmos sensor interface),csi提供了與cmos傳感器的時鐘、數(shù)據(jù)以及同步信號接口,相關引

23、腳有csi_cko(提供給cmos圖像傳感器工作頻率)、csi_cki(接收cmos圖像傳感器的像素時鐘輸出)、csi_hs (cmos圖像傳感器的水平同步時鐘)、csi_vs(cmos圖像傳感器的垂直同步時鐘)、csi(cmos圖像傳感器的數(shù)據(jù)輸出總線)。csi共有31個寄存器,通過對這31個寄存器的設置可以實現(xiàn)對coms傳感器的控制和視頻數(shù)據(jù)讀取。cmos攝像頭工作原理如圖3-3:圖3-3 攝像頭工作原理在初始化設備時需要對cmos圖像傳感器的接口格式、時鐘、像素時鐘、輸出圖像格式進行初始化,并且設定圖像緩沖區(qū)的地址,在啟動csi模塊后,視頻數(shù)據(jù)將按照設計的圖像格式寫入設定緩存中。csi模

24、組和實驗設備可以直接插接在一起,或通過排線連接在一起。3.2.2 顯示模塊的選取視頻采集系統(tǒng)的圖像顯示模塊采用lcd顯示器來實現(xiàn),lcd作為新一代的主流顯示器以其具有低功耗、體積小、顯示穩(wěn)定等優(yōu)點,在便攜系統(tǒng)中得到廣泛應用。本設計中使用的tft-lcd顯示模塊是giantplus公司的gpg3224012qs4液晶顯示模塊,該模塊集成了ll9322驅動模塊,采用24位并行rgb數(shù)據(jù)格式,320像素240像素分辨率。spce3200的tft-lcd接口可以支持多種輸入格式的tft-lcd,支持的分辨率為320像素240像素。tft-lcd控制器相關引腳有:lcd_clk(時鐘信號)、lcd_ac

25、t(數(shù)據(jù)使能信號)、lcd_vs(垂直同步信號)、lcd_hs(水平同步信號)、lcd_data15:0(16位數(shù)據(jù)總線)。tft-lcd控制器包含有32個寄存器,通過對這32個寄存器的操作,是以實現(xiàn)tft-lcd顯示方式的控制。在初始化控制器時需要對lcd的時鐘、數(shù)據(jù)格式、行信號和場信號以及顯存的地址進行設置,啟動控制器后,顯存中的圖像數(shù)據(jù)將按照設定的格式輸出到tft-lcd模塊4。3.2.3 存儲模塊及文件系統(tǒng)選取數(shù)字安全(sd,secure digital)閃存卡,專門為滿足安全使用、大容量、高性能音視頻電子產(chǎn)品的存儲配件而設計的。sd存儲卡的通訊通過一種新式9針串行接口實現(xiàn),可工作在一

26、個低電壓范圍內,接口中除了電源和地外還包括clk(時鐘信號)、cmd(雙向的命令/響應信號線)和dat0-dat3(4位雙向數(shù)據(jù)總線)。sd卡內部的存儲區(qū)域是以扇區(qū)為單位管理,在對存儲區(qū)域的數(shù)據(jù)進行擦除、寫和讀操作時,必須以扇區(qū)為單位進行,通常sd卡的每個扇區(qū)為512字節(jié)。在spce3200芯片中sd卡控制器共有10個寄存器,通過對這10個寄存器的操作,可使用sd卡控制器擴展sd卡存儲設備。文件的存儲需要文件系統(tǒng)的支持,為了保證sd卡中存儲的視頻文件可以在計算機上讀取,必須要在sd卡上建立一個兼容的文件系統(tǒng)5。fat(file allocation table)文件系統(tǒng)作為一種通用的文件系統(tǒng)常

27、用于嵌入式系統(tǒng)的應用程序,它是一種遵循posix規(guī)范的文件系統(tǒng),在spce3200開發(fā)環(huán)境中提供了一個通用fat文件系統(tǒng)。通過api函數(shù)的調用,能夠完成文件系統(tǒng)初始化、存儲設備的掛載與卸載、打開文件、關閉文件等豐富的文件操作,可以在嵌入式系統(tǒng)下實現(xiàn)與windows操作系統(tǒng)相同的文件操作和管理。本設計中存儲模塊選取了sd卡,使用fat文件系統(tǒng),視頻文件使用open()函數(shù)創(chuàng)建并打開一個視頻文件,在視頻數(shù)據(jù)讀取并實現(xiàn)壓縮編碼后,將輸出的幀數(shù)據(jù)直接寫入打開的視頻文件中,在采集完成后,使用close()函數(shù)關閉文件,完成一次視頻采集和存儲。ufat的層次結構如圖3-4所示:圖3-4 文件系統(tǒng)層次結構3

28、.2.4 按鍵接口設計按鍵是用戶與系統(tǒng)交互的重要方式,通過與gpio(general purpose i/o ports)連接,可以實現(xiàn)高低電平的輸入。spce3200擁有79個i/o,其中有8個專門用作gpio端口,其余i/o與模塊復用。8個專用gpio可以分為ioa和iob二組,共有6個相關寄存器。可以實現(xiàn)gpio的輸入、輸出、中斷等功能的設置和數(shù)據(jù)的讀寫。4個按鍵分別與ioa0、ioal和iob0、iobl相連,當有按鍵按下后,與之相連的gpio的輸入電平將發(fā)生改變,通過讀取寄存器的值就可以知道具體的按鍵位置。4 視頻采集系統(tǒng)的系統(tǒng)結構及軟件平臺的分析和設計4.1 編視頻采集系統(tǒng)的系統(tǒng)結

29、構:圖4-1 系統(tǒng)結構圖4.2 編譯仿真調試環(huán)境spce3200處理器開發(fā)環(huán)境采用s+corelde。s+coreide提供了菜單欄、工具欄、workspace窗口、編輯區(qū)、output窗口。其中菜單欄里提供了編輯調試工程常用的功能選項;工具欄里提供了常用的工具和一些調試工具;workspace窗口顯示當前工程;編輯區(qū)用于編寫程序;output窗口用于看到工程的編譯、鏈接、查詢變量或者函數(shù)等信息。該集成開發(fā)環(huán)境可以安裝在windows xp操作系統(tǒng)上,支持gdb調試。為用戶提供了強大支持,工作界面如圖4-2所示:圖4-2 s+core ide工作界面4.3 嵌入式操作系統(tǒng)簡介目前,國際上用于信

30、息電器的嵌入式操作系統(tǒng)有40種左右,常見的一類嵌入式操作系統(tǒng)如palm os、windows ce和linux等為集成內存管理單元mmu的處理器設計;另外的一類嵌入式操作系統(tǒng)如u clinux、u c/os-ii、ecos等為沒有集成內存管理單元mmu的處理器設計。因為spce3200處理器沒有集成內存管理單元mmu,因此可運行在spce3200處理器的常用嵌入式操作系統(tǒng)主要包括以下幾種如表4-1:表4-1 沒有集成mmu嵌入式操作系統(tǒng)對比clinuxc/osiiecos概述clinux是一種開放源碼的嵌入式linux操作系統(tǒng), uclinux已經(jīng)被成功地移植到了很多平臺上,編譯后的目標文件只

31、有幾百kb,有優(yōu)秀的網(wǎng)絡功能,支持各種文件系統(tǒng)并提供了豐富的api函數(shù)。c/osii是一種結構小巧,開源代碼的實時操作系統(tǒng)。u c/osii專門為嵌入式應用而設計,大部分代碼是用c語言編寫的,可以使用標準的c交叉編譯器、匯編器、連接器等軟件工具實現(xiàn)移植。ecos即嵌入式可配置操作系統(tǒng),是實時嵌入式操作系統(tǒng),代碼量很小,適合于深度嵌入式應用,ecos源碼開放、可配置、可移植、并提供了一個公共軟件基礎結構,使得嵌入式軟件開發(fā)更加容易。特點u clinux的文檔十分欠缺,對于設計人員來說,往往需要通過分析源代碼的方法解決移植中出現(xiàn)的問題,如果沒有一定的開發(fā)經(jīng)驗,實現(xiàn)移植困難較大。u c/osii在性

32、能上稍顯不足,由于沒有文件系統(tǒng)和驅動程序的支持,后續(xù)的程序開發(fā)將不得不直接面向硬件本身,程序設計難度較高ecos有一套配置系統(tǒng)工具,移植容易,ecos的系統(tǒng)層次清晰,配置方法簡單,增加驅動模塊容易。凌陽公司也提供了大量的驅動程序和應用程序支持。凌陽公司也針對本設計中所使用的開發(fā)平臺提供了大量的驅動程序和應用程序支持,為系統(tǒng)開發(fā)提供了必要的技術支撐,在系統(tǒng)設計時,不需要花費大量的時間去移植操作系統(tǒng)和驅動程序,因此在本方案中選用ecos嵌入式操作系統(tǒng)。4.3.1 ecos簡介ecos的高度可配置性是它的關鍵特性之一,開發(fā)人員可以通過使用ecos配置工具配置系統(tǒng)構件來滿足應用的需求,從而實現(xiàn)源碼行級

33、別的配置,即實現(xiàn)源代碼中某一行或者是某幾行的選擇配置,除去所有不必要的功能模塊,達到ecos的資源負載小,ecos配置工具如圖4-3所示:圖4-3 ecos配置工具界面4.4 ecos在spce3200上的移植ecos在spce3200上的移植主要包括了redboot的移植、應用程序的移植兩部分。凌陽公司為開發(fā)者提供了一套基本的內核和組件,能夠簡單的完成體系結構抽象層和變體抽象層的移植,并且提供了部分主要硬件設備的驅動程序。4.4.1 redboot在spce3200上的移植spce3200在加電復位后,首先由redboot初始化硬件系統(tǒng),然后將應用程序加載到ram中完成應用程序的啟動。red

34、boot下載通過s+core ide開發(fā)環(huán)境。打開s+core ide開發(fā)環(huán)境,選擇tools菜單下的“easy writer”,如圖4-4所示:圖4-4 easy writer菜單在彈出的ezwriter對話框中,選擇body為“spce3200”,如圖4-5所示:圖4-5 easy writer對話框點擊“download”按鈕,等待下載成功,出現(xiàn)“succeeded!”提示,就完成了redboot的移植。4.4.2 應用程序在spce3200上的移植首先需要在pc端建立一個tftp server,選擇tftpd32這款小軟件來建立tftp server,設置redboot的ip地址和pc

35、的ip地址為同一網(wǎng)段,保證網(wǎng)絡連通。其次在pc端配置tftp sever的目錄為工程目錄下的debug文件夾下。ip地址設置為本機ip地址。最后用超級終端連接redboot系統(tǒng),使用命令ip_addr,load,fis create這3個命令將應用程序燒錄到nor flash中。過程如圖4-6:圖4-6 下載程序4.4.3 設置腳本實現(xiàn)應用程序脫機工作通過超級終端輸入 “fconfig” 命令:將第一項的“run script at boot: false”中的“false”改為“true”。然后輸入“fis load dv,go”兩條命令就可以實現(xiàn)脫機運行。過程如圖4-7:圖4-7 配置re

36、dboot啟動腳本這樣重啟系統(tǒng),在2s內沒有按“ctrl+c”組合鍵,系統(tǒng)便會自動執(zhí)行dv應用程序了。4.5 視頻采集存儲程序分析和設計系統(tǒng)軟件可以根據(jù)實現(xiàn)功能的不同劃分為若干子模塊。第一個子模塊是視頻采集編碼模塊,該模塊使用ov7720圖像傳感器將圖像信息進行采集,采集后的視頻數(shù)據(jù)使用mpeg4編碼器壓縮后寫入avi文件中,存入sd卡中。同時tft-lcd顯示屏可以根據(jù)視頻數(shù)據(jù)顯示出視頻。4.5.1 系統(tǒng)初始化設置硬件系統(tǒng)在上電復位后,各設備需要進行初始化,所有設備的初始化都是通過與其相關的控制器和寄存器的設置來實現(xiàn)的,具體初始化過程如下:1、lcd控制器需要初始化時鐘配置寄存器、時鐘選擇寄

37、存器、接口選擇寄存器、tft控制寄存器、tft幀數(shù)據(jù)格式選擇寄存器、tft輸出數(shù)據(jù)順序寄存器、tft行掃描和場掃描寄存器、tft起始位置寄存器等,相關的初始化代碼如下:/設置接口選擇寄存器,選擇tft auo模式*p_lcd_interface_sel=tft_interface;/lcd模式時鐘使能*p_lcd_clk_conf=c_lcd_rst_dis|c_lcd_clk_en;/設置tft-lcd數(shù)據(jù)模式*p_tft_data_fmt=tft_hor_act;/tft-lcd管腳輸出數(shù)據(jù)格式*p_tft_data_seq=tft_data_seq;/設置tft-lcd的行信號*p_tf

38、t_hor_act=tft_hor_act;*p_tft_hor_front=tft_for_front;*p_tft_hor_back=tft_hor_back;p_tft_hor_sync=tft_hor_sync;/設置tft-lcd的場信號*p_tft_ver_act=tft_ver_act;*p_tft_ver_front=tft_ver_front;*p_tft_ver_back=tft_tft_ver_back;*p_tft_ver_sync=tft_ver_sync;/設置tft-lcd顯示的起始位置*p_tft_col_width=tft_width;以上代碼包含于void

39、tft_init()函數(shù)中,完成以上寄存器初始化后lcd控制器將實現(xiàn)對tft顯示屏的控制,指定顯示區(qū)域中的圖像數(shù)據(jù)將會顯示在lcd屏幕上。2、csi控制器是ov7720的接口控制器,其初始化包括了csi接口的選擇、使能模塊時鐘、選擇ov7720圖像傳感器傳感器的時鐘、設置csi模塊功能及輸入輸出詩句格式、設置csi緩沖區(qū),相關的初始化代碼如下:/選擇csi的接口格式為:ccir656*p_csi_interface_sel|=c_csi_port_ccir656;/使能時鐘、時鐘不復位*p_csi_csi_clk_conf=c_csi_clk_en|c_csi_rst_dis;/選擇ov772

40、0的時鐘作為象素時鐘*p_csi_clk_sel=c_csi_pixelclk_src;/設置csi的緩沖區(qū)地址*p_csi_buffer_sa1=fb1_addr;*p_csi_buffer_sa2=fb2_addr;*p_csi_buffer_sa3=fb3_addr;/設置csi的模式*p_csi_tg_ctrl=cr_set;以上代碼包含于void csi_init0函數(shù)中,完成以上寄存器初始化后ov7720圖像傳感器即可開始視頻數(shù)據(jù)采集,采集后的數(shù)據(jù)將存入指定的緩沖區(qū)中。3、sd卡控制器控制器的初始化包括sd卡接口設置、時鐘設置、sd卡總線傳輸模式設置、中斷設置,相關的初始化代碼如下

41、:/選擇sd卡使用的端口*p_nand_gpio_pull=c_sd_port_sel;/選擇復用端口為sd接口*p_sd_interface_sel=c_sd_port_sel;/使能sd模塊時鐘*p_sd_clk_conf=c_sd_clk_en|c_sd_rst_dis;/設置sd卡扇區(qū)為512字節(jié)*p_sc_mode_ctrl=(51216)/設置sd數(shù)據(jù)總線為4bit*p_sd_mode_ctrl=*p_sd_mode_ctrl|c_sd_bus_4bit;/使能sd控制器*p_sd_mode_ctrl=*p_sd_mode_ctrl|c_sd_port_en;/使能sd卡卡插入檢測

42、中斷*p_sd_int_ctrl=c_sd_carddetect_inten;/初始化*p_sd_command_setup=c_sd_74clk_start;4、mpeg編碼解碼是spce3200所特有的一個模塊,使用該模塊可以在cif模式下實現(xiàn)最高30幀/秒的編碼,極大地提高了該處理器在視頻處理方面的性能。用于控制編碼器中所有模塊的共有106個控制寄存器,所有寄存器的初始化操作包含于void mp4 _reset()函數(shù)中。4.5.2 視頻采集編碼和文件存儲的實現(xiàn)csi控制器初始化完成后圖像傳感器便立即開始視頻采集,采集后的數(shù)據(jù)分別存放到原始圖像的3個緩沖區(qū)中,將緩存中圖像進行編碼前,首先

43、需要設置p_mpeg4_sram en寄存器,以開啟mpeg模塊內部sram,并設置p_mpeg4_mode_ctrl1寄存器,選擇mpeg4工作在編碼模式,然后通過p_mpeg4_horoffset_low 、p_mpeg4_horoffset_high 、p_mpeg4_veroffset_low和p_mpeg4_veroffset_high四個寄存器設定源圖像緩沖區(qū)和p_mpeg4_vlcbuffer sax(x:1,2,3)寄存器vlc編碼數(shù)據(jù)緩沖區(qū)的起始地址。進行p幀編碼時需要參考前一幀的圖像,第一幀參考圖像的緩沖區(qū)起始地址可以通過p_mpeg4_writebuffer sax(x=

44、l,2,3)寄存器進行設置,之后的每一幀圖像都以上一幀圖像作為參考圖像,兩個參考圖像緩沖區(qū)p_mpeg4_writebuffer_sel和p_mpeg4_refbuffer_sel分別用于讀取上一幀圖像的數(shù)據(jù)和寫入當前幀的圖像數(shù)據(jù),兩個寄存器的設定值需要在每完成一幀圖像的編碼時交換二者的數(shù)值。接下來設置p_mpeg4_width_low和p_mpeg4_width high兩個寄存器以確定視頻圖像的大小。同時,還需要設置p_framebuffer_hsize寄存器的值,用以設定保存源圖像的緩沖區(qū)寬度。一個i幀中的p幀數(shù)量可以通過設置p_mpeg4_pframe_number寄存器的內容自動在編

45、碼固定個數(shù)的p幀后完成編碼一個i幀的編碼。量化的幅度可以通過設置p_mpeg4_iframe_qscale 和p mpeg4_pframe_qscale寄存器來調節(jié),量化幅度越大,產(chǎn)生的壓縮代碼就會越小,圖像的質量也就越差,因此這兩個寄存器的設置需要平衡壓縮代碼的大小和圖像質量。完成上述設置之后,設置p_mpeg4_compress_ctrl寄存器的mjpgenc位啟動編碼操作。編碼是否完成可以通過讀取p_mpeg4_compress_ctrl寄存器的eofstatus位或讀取中斷信號來判斷。編碼完成后,讀取編碼數(shù)據(jù)長度寄存器p_mpeg4_vlcsize_low、p_mpeg4_vlcsiz

46、e_mid和p_mpeg4_vlcsize_high即可得到此次編碼的長度。視頻文件在編碼前先創(chuàng)建,并將文件頭信息預先寫入文件頭部,在編碼的同時,每完成一個p幀的編碼即向文件中寫入一幀數(shù)據(jù),當編碼完成后,將此次編碼的長度加入文件,然后關閉文件,即完成文件存儲。以上功能由int mp4_encode_withavi_tofromfile()函數(shù)實現(xiàn),在其上層是void avi_encode()函數(shù),主程序首先創(chuàng)建一個文件名,然后將文件名以參數(shù)的形式傳遞給avi_encode()函數(shù),然后由int mp4_encode_withavi_tofromfileoi函數(shù)完成編碼和文件寫入工作。avi_e

47、ncode()函數(shù)代碼如下:void avi_encode(char*filename)int ret;int gnfpl;gsdcardinsert=1;gsdcardpresent=1;gsdcardwfiteprotect=0;fs_init0; /初始化文件系統(tǒng)ret=fs_mount(0); /掛載sd卡mp4_reset0; /初始化mpeg4模塊g_nfpl=mp4_open_file_sdcard(filename,0_creat|o_wronly); /打開sd卡中文件mp4_encode_withavi_tofromfile(g_nfpl);/avi編碼并保存在sd卡已打開

48、的文件中mp4_close_file_sdcard(g_nfp1); /關閉打開的文件4.5.3 軟件系統(tǒng)整體設計視頻采集系統(tǒng)的主程序將無限的循環(huán)執(zhí)行,其軟件流程框圖如圖4-8所示:圖4-8軟件流程框圖框圖在系統(tǒng)硬件上電復位后,主程序首先啟動系統(tǒng)初始化程序用于完成tft-lcd控制器的初始化、csi控制器及ov7720圖像傳感器的初始化、sd卡控制器初始化、mpeg4模塊初始化,然后按照流程框圖的順序循環(huán)執(zhí)行。5 系統(tǒng)測試5.1 系統(tǒng)的功能測試1、視頻采集、編碼和存儲功能測試。系統(tǒng)啟動后,等待3秒,lcd顯示屏中顯示的圖像為實時的視頻數(shù)據(jù)。圖5-1 視頻采集過程當按下“開始”按鍵后,保存當前視

49、頻并且系統(tǒng)自動開始下一段視頻的采集。從開發(fā)板上取下sd卡,使用讀卡器在計算機中讀取sd卡的內容,可以找到剛剛錄制好的視頻文件,該文件名為“moviel avi”,分辨率為320像素240像素,幀率為15幀秒,計算機中顯示的視頻文件信息如圖5-2所示:圖5-2 視頻文件屬性該視頻文件可以使用“暴風影音”流暢地播放,其播放畫面如圖5-3所示。通過比較還可以發(fā)現(xiàn),圖5-3中l(wèi)cd顯示屏中顯示的圖像與采集的圖像內容相同,由此可以證明視頻采集功能已經(jīng)成功實現(xiàn)。圖5-3播放是視頻圖像5.2 系統(tǒng)性能分析使用十六進制文件編輯器打開采集的視頻文件“moviel avi”,顯示內容如圖5-4所示。文件中第一行1

50、6個字節(jié)分別為字符“riff”、視頻文件長度(共4個字節(jié))以及字符“avilist”,說明該文件為avi文件。圖5-4 視頻文件十六進制數(shù)據(jù)6 結論通過對于系統(tǒng)功能的測試和分析可以得出以下結論:系統(tǒng)在性能上可以達到15幀秒的采集、編碼和存儲速度,視頻分辨率達到320像素x240像素,壓縮后的文件可以在計算機和開發(fā)系統(tǒng)中流暢地播放,因而可以確定本設計實現(xiàn)了實時視頻采集、壓縮、存儲功能。參考文獻:1舒粵基于adsp-bf561的視頻采集與處理功能設計與實現(xiàn)d成都:西南交通大學,2008 2梁煒,劉文怡,楊慧基于dsp的視頻采集存儲系統(tǒng)設計j電子設計工程,2009,11(2):l-5 3張首軍,陳銀

51、杰,安孝寬,等數(shù)字視頻信號的壓縮編碼原理j西北大學學報,2007(6):379-383 4唐潔媛基于spce3200的彩色液晶顯示系統(tǒng)設計j國外電子元器件,2008(4):55-57 5:王玉葉,宋國富基于ecos系統(tǒng)的spce3200中sd卡驅動程序的開發(fā)j信息化縱橫,2009(6):8-10 6唐潔媛多媒體微處理器spce3200的應用研究j新特器件應用,2008,6(10):5-9 7嚴碧波,張正炳基于arm的視頻采集與傳輸系統(tǒng)j中國高新技術企業(yè),2009(4):52-54 8廖夢云,趙利,莫金旺基于cmos圖像傳感器的嵌入式視頻采集系統(tǒng)設計j計算機系統(tǒng)應用,2009(5):194-19

52、7 9林凡,吳孫桃,郭東輝cmos圖象傳感器技術及其研究進展j半導體技術,2001,26(12):40-44 10陳友榮,楊海波基于fpga技術視頻采集系統(tǒng)的設計與實現(xiàn)j中國有線電視,2008(04):383-387 11李曉光,吉榮廷,張立峰基于嵌入式linux和arm9的視頻采集系統(tǒng)j電子測量技術,2009,32(2):102-104 12戴晟暉,張良清嵌入式操作系統(tǒng)uclinux和ecos的比較j單片機與嵌入式系統(tǒng)應用,2006(8):15-22 13邱麗波,邵笑梅,蘇慧諱,等嵌入式系統(tǒng)ecos移植分析及應用j現(xiàn)代電子技術,2008(24):45-48 14redboot users guidecopyright1998,1999,2000,2001,200

溫馨提示

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

評論

0/150

提交評論