版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 學(xué) 士 學(xué) 位 論 文</p><p> THESIS OF BACHELOR</p><p> ?。?011 — 2012 年)</p><p> 題 目 </p><
2、p> 學(xué) 科 部: 信息 </p><p> 專 業(yè): 自動(dòng)化 </p><p> 班 級(jí): 081班 </p><p> 學(xué)
3、 號(hào): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 起訖日期: 2011/
4、12/5~2012/5/10 </p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 第一章 緒論1</b></p>
5、<p> 1.1 本課題的研究意義及背景1</p><p> 1.2 嵌入式系統(tǒng)的發(fā)展概況1</p><p> 1.3 視頻監(jiān)控的發(fā)展概況2</p><p> 1.4 課題主要研究?jī)?nèi)容3</p><p> 第二章 視頻監(jiān)控系統(tǒng)設(shè)計(jì)4</p><p> 2.1監(jiān)控系統(tǒng)的結(jié)構(gòu)和原理4<
6、;/p><p> 2.2 嵌入式視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)4</p><p> 第三章 監(jiān)控系統(tǒng)硬件設(shè)計(jì)6</p><p> 3.1 硬件組成6</p><p> 3.2 S3C2410處理器6</p><p> 3.3 SDRAM存儲(chǔ)器8</p><p> 3.4 Flash存儲(chǔ)
7、器8</p><p><b> 3.5 攝像頭8</b></p><p> 第四章 嵌入式視頻服務(wù)器系統(tǒng)中操作系統(tǒng)的建立10</p><p> 4.1 交叉編譯環(huán)境的建立10</p><p> 4.2 BootLoader 移植10</p><p> 4.3 Linux2.6.
8、12 內(nèi)核的移植11</p><p> 4.4 移植cramfs 根文件系統(tǒng)13</p><p> 第五章 監(jiān)控軟件設(shè)計(jì)14</p><p> 5.1 攝像頭驅(qū)動(dòng)程序模塊15</p><p> 5.2 圖像采集模塊設(shè)計(jì)15</p><p> 5.3 JPEG 圖像壓縮模塊設(shè)計(jì)17</p>
9、;<p> 5.4 嵌入式WEB 服務(wù)器設(shè)計(jì)18</p><p> 5.5 網(wǎng)絡(luò)傳輸模塊18</p><p> 第六章 性能測(cè)試與分析20</p><p><b> 總結(jié)22</b></p><p> 參考文獻(xiàn)(References)23</p><p><
10、b> 致謝24</b></p><p> 基于ARM的視頻采集系統(tǒng)的設(shè)計(jì)</p><p> 專業(yè):08自動(dòng)化 學(xué)號(hào):7021308009 姓名:華志剛 指導(dǎo)教師:汪燦華</p><p> 摘要:本文介紹了一種基于ARM9 高速嵌入式處理器和JPEG 高效壓縮算法的嵌入式實(shí)時(shí)視頻監(jiān)控系統(tǒng)。介紹了系統(tǒng)的總體結(jié)構(gòu)、硬件結(jié)構(gòu),并詳細(xì)闡述了系統(tǒng)軟
11、件的設(shè)計(jì)與實(shí)現(xiàn)。硬件系統(tǒng)主要是采用ARM9 為核心的嵌入式開發(fā)系統(tǒng),包括微處理器芯片S3C2410,以太網(wǎng)控制芯片DM9000A,SDRAM 等芯片組成,采用USB 數(shù)字?jǐn)z像頭OV511 做為采集終端。軟件部分采用嵌入式ARM-Linux 作為硬件的操作系統(tǒng),通過(guò)移植改進(jìn)的嵌入式BOA服務(wù)器作為嵌入式服務(wù)器,并采用Video4linux 接口編程實(shí)現(xiàn)視頻的采集與處理,視頻壓縮采用JPEG 壓縮算法,視頻的傳輸采用RTP/RTCP 協(xié)議進(jìn)
12、行傳輸,并通過(guò)Activex控件顯示動(dòng)態(tài)視頻。本文成功利用了USB 攝像頭作為視頻監(jiān)控系統(tǒng)的終端,USB 攝像頭和嵌入式開發(fā)板的組合更加可以方便的實(shí)現(xiàn)中間數(shù)據(jù)的處理、保存和查詢等功能。同時(shí)動(dòng)態(tài)Web技術(shù)應(yīng)用到嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)中,利用Web 瀏覽器實(shí)現(xiàn)了用戶和嵌入式系統(tǒng)的交互。本系統(tǒng)經(jīng)測(cè)試在實(shí)驗(yàn)室條件下比較穩(wěn)定,圖像清晰流暢。達(dá)到了預(yù)期的設(shè)計(jì)要求。</p><p> 關(guān)鍵詞:視頻服務(wù)器;遠(yuǎn)程監(jiān)控 ;ARM9&l
13、t;/p><p> ARM based video capture system design</p><p> Abstract: This paper describes a high speed based on ARM9embedded processor and embedded JPEG compression algorithm and efficient real-time
14、 video monitoring system. Describes the overall system structure hardware and software described in detail the design and implementation. Hardware system is mainly used as the core ARM9 embedded development system ,inclu
15、ding microprocessor chip S3C2410, Ethernet control chip DM9000A, SDRAM and other chips, the use of USB digital camera OV511 as a collection t</p><p> Key words: Video Server;Remote monitoring;ARM9</p>
16、<p><b> 第一章 緒論</b></p><p> 1.1 本課題的研究意義及背景</p><p> 隨著計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,視頻監(jiān)控系統(tǒng)的發(fā)展趨勢(shì)必然是全面數(shù)字化、網(wǎng)絡(luò)化,即采用嵌入式網(wǎng)絡(luò)攝像機(jī),利用網(wǎng)絡(luò)進(jìn)行傳輸,利用嵌入式監(jiān)控設(shè)備體積小巧、性能穩(wěn)定、通訊便利等特點(diǎn),將使視頻監(jiān)控?zé)o處不在。目前,我國(guó)基于嵌入式技術(shù)的網(wǎng)絡(luò)視頻監(jiān)控系
17、統(tǒng)剛剛起步,因此,研究并開發(fā)基入式系統(tǒng)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)具有很大的工程實(shí)際意義。</p><p> 隨著計(jì)算機(jī)技術(shù)的發(fā)展,嵌入式系統(tǒng)已逐漸成為后PC時(shí)代的主導(dǎo),特別是32位嵌入式處理器的出現(xiàn),使得一些基于PC的應(yīng)用也得以在嵌入式系統(tǒng)上實(shí)現(xiàn)。圖像采集系統(tǒng)正從模擬采集向數(shù)字采集發(fā)展,其中的嵌入式圖像采集系統(tǒng)由于其優(yōu)越的性能越來(lái)越受到人們的關(guān)注。對(duì)于像家庭、停車場(chǎng)視頻監(jiān)控這樣的應(yīng)用,不需要那么多的功能,只要簡(jiǎn)單的視頻
18、采集、傳輸和顯示就夠了,體積也要盡可能的小?;谝蕴W(wǎng)的嵌入式視頻監(jiān)控系統(tǒng),具有視頻圖像采集、壓縮、傳輸和存儲(chǔ)等功能,非常適宜圖像的監(jiān)控。</p><p> 傳統(tǒng)的監(jiān)控系統(tǒng)是將其前端設(shè)備與中心端設(shè)備用電纜簡(jiǎn)單地進(jìn)行連接或者利用傳統(tǒng)無(wú)線通道傳輸?;ヂ?lián)網(wǎng)為用戶網(wǎng)絡(luò)環(huán)境帶來(lái)了前所未有的發(fā)展,不管是采用無(wú)線網(wǎng)絡(luò)技術(shù)、光纖還是ADSL等專線的網(wǎng)絡(luò)連接,也不管是局域網(wǎng)、城域網(wǎng)還是廣域網(wǎng),網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的建立將不受到影響。
19、傳統(tǒng)的視頻監(jiān)控系統(tǒng)是應(yīng)用現(xiàn)有的計(jì)算機(jī)技術(shù),系統(tǒng)龐大,軟硬件資源得不到充分利用。而ARM嵌入技術(shù)的應(yīng)用能使監(jiān)控系統(tǒng)小型化,更能集中各種所需功能。因此,利用ARM9 Linux系統(tǒng)組成的遠(yuǎn)程嵌入式計(jì)算機(jī)監(jiān)控網(wǎng)絡(luò)具有現(xiàn)實(shí)意義和實(shí)用價(jià)值。</p><p> 1.2 嵌入式系統(tǒng)的發(fā)展概況</p><p> 嵌入式系統(tǒng)的出現(xiàn)至今已經(jīng)有30多年的歷史,近幾年來(lái),計(jì)算機(jī)、通信、消費(fèi)電子的一體化趨勢(shì)日益
20、明顯,嵌入式技術(shù)已成為一個(gè)研究熱點(diǎn)??v觀嵌入式技術(shù)的發(fā)展過(guò)程,大致經(jīng)歷四個(gè)階段。</p><p> 第一階段是以單芯片為核心的可編程控制器形式的系統(tǒng),具有與監(jiān)測(cè)、伺服、指示設(shè)備相配合的功能。這類系統(tǒng)大部分應(yīng)用于一些專業(yè)性強(qiáng)的工業(yè)控制系統(tǒng)中,一般沒(méi)有操作系統(tǒng)的支持,通過(guò)匯編語(yǔ)言編程對(duì)系統(tǒng)進(jìn)行直接控制。這一階段系統(tǒng)的主要特點(diǎn)是:系統(tǒng)結(jié)構(gòu)和功能相對(duì)單一,處理效率較低,存儲(chǔ)容量較小,幾乎沒(méi)有用戶接口。由于這種嵌入式系統(tǒng)
21、使用簡(jiǎn)單、價(jià)格低,以前在國(guó)內(nèi)工業(yè)領(lǐng)域應(yīng)用較為普遍,但是已經(jīng)遠(yuǎn)不能適應(yīng)高效的、需要大容量存儲(chǔ)的現(xiàn)代工業(yè)控制和新興信息家電等領(lǐng)域的需求。</p><p> 第二階段是以嵌入式CPU為基礎(chǔ)、以簡(jiǎn)單操作系統(tǒng)為核心的嵌入式系統(tǒng)。主要特點(diǎn)是:CPU種類繁多,通用性比較弱;系統(tǒng)開銷小,效率高;操作系統(tǒng)達(dá)到一定的兼容性和擴(kuò)展性;應(yīng)用軟件較專業(yè)化,用戶界面不夠友好。</p><p> 第三階段是以嵌入式
22、操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng)。主要特點(diǎn)是:嵌入式操作系統(tǒng)能運(yùn)行于各種不同類型的微處理器上,兼容性好;操作系統(tǒng)內(nèi)核小、效率高,并且具有高度的模塊化和擴(kuò)展性;具備文件和目錄管理、多任務(wù)、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有大量的應(yīng)用程序接口API,開發(fā)應(yīng)用程序較簡(jiǎn)單;嵌入式應(yīng)用軟件豐富。</p><p> 第四階段是以Internet為標(biāo)志的嵌入式系統(tǒng)。這是一個(gè)正在迅速發(fā)展的階段。目前大多數(shù)嵌入式系統(tǒng)還孤立于I
23、nternet之外,但隨著Internet的發(fā)展以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)結(jié)合日益密切,嵌入式設(shè)備與Internet的結(jié)合將代表嵌入式系統(tǒng)的未來(lái)。</p><p> 綜上所述,嵌入式系統(tǒng)技術(shù)日益完善,32位微處理器在該系統(tǒng)中占主導(dǎo)地位,嵌入式操作系統(tǒng)已經(jīng)從簡(jiǎn)單走向成熟而且種類豐富。據(jù)統(tǒng)計(jì),僅用于信息電器的嵌入式操作系統(tǒng)就有40種左右,其中較為流行的主要有:Windows CE、Palm O
24、S、Real-Time Linux、VxWorks、pesos、Power TV以及Microware公司的0S-9。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固態(tài)化以及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。隨著與網(wǎng)絡(luò)、Internet結(jié)合日益密切,嵌入式系統(tǒng)應(yīng)用將日益廣泛。</p><p> 1.3 視頻監(jiān)控的發(fā)展概況</p><p> 在國(guó)內(nèi)外市場(chǎng)
25、上,主要推出的是數(shù)字控制的模擬視頻監(jiān)控和數(shù)字視頻監(jiān)控兩類產(chǎn)品。前者技術(shù)發(fā)展已經(jīng)非常成熟、性能穩(wěn)定,并在實(shí)際工程應(yīng)用中得到廣泛應(yīng)用,特別是在大、中型視頻監(jiān)控工程中的應(yīng)用尤為廣泛;后者是新近崛起的以計(jì)算機(jī)技術(shù)及圖像視頻壓縮為核心的新型視頻監(jiān)控系統(tǒng),該系統(tǒng)解決了模擬系統(tǒng)部分弊端而迅速崛起,但仍需進(jìn)一步完善和發(fā)展。目前,視頻監(jiān)控系統(tǒng)正處在數(shù)控模擬系統(tǒng)與數(shù)字系統(tǒng)混合應(yīng)用并將逐漸向數(shù)字系統(tǒng)過(guò)渡的階段。</p><p> 圖
26、像監(jiān)控技術(shù)的發(fā)展經(jīng)歷了三個(gè)主要階段:模擬圖像監(jiān)控技術(shù),基于PC的數(shù)字圖像監(jiān)控技術(shù)和基于嵌入式系統(tǒng)的數(shù)字圖像監(jiān)控技術(shù)。目前國(guó)內(nèi)還較多地使用本地模擬圖像監(jiān)控系統(tǒng),即采用由攝像機(jī)、視頻矩陣、監(jiān)視器和錄像機(jī)組成的監(jiān)控系統(tǒng),使用視頻線、控制線等電纜連接。雖然本地模擬圖像監(jiān)控系統(tǒng)能夠保證采集得到的圖像清晰、不失幀,但在許多方面都存在著明顯的局限。數(shù)字圖像監(jiān)控系統(tǒng)不僅可以克服模擬圖像監(jiān)控系統(tǒng)的局限性,而且能夠很好地滿足客觀現(xiàn)狀對(duì)圖像監(jiān)控系統(tǒng)的高要求。
27、第一代數(shù)字圖像監(jiān)控系統(tǒng)是以PC機(jī)為核心,以大容量硬盤作為存儲(chǔ)介質(zhì),使用PC機(jī)處理圖像信號(hào),利用計(jì)算機(jī)的數(shù)據(jù)處理能力與顯示器的高清晰度,將視頻信號(hào)通過(guò)視頻采集卡采集到計(jì)算機(jī)中、并由顯示器顯示,大大提高了圖像的質(zhì)量,利用通信接口卡,可以通過(guò)通信網(wǎng)絡(luò)實(shí)現(xiàn)信息在一個(gè)多個(gè)監(jiān)控中心的共享,很好地體現(xiàn)了數(shù)字圖像監(jiān)控系統(tǒng)的優(yōu)勢(shì)。但同時(shí)也存在缺點(diǎn):一是無(wú)法實(shí)現(xiàn)“無(wú)人值守”,系統(tǒng)需要專人看護(hù);二是穩(wěn)定性較差,整個(gè)系統(tǒng)的穩(wěn)定性依賴于PC機(jī)的性能,而且功耗相對(duì)
28、較大。新一代的數(shù)字圖像監(jiān)控系統(tǒng)以嵌入式處理器為核心,開發(fā)以太網(wǎng)接口直接實(shí)現(xiàn)圖像數(shù)據(jù)經(jīng)現(xiàn)有網(wǎng)絡(luò)傳輸,授權(quán)用戶在任何地方都</p><p> 1.4 課題主要研究?jī)?nèi)容</p><p> 本論文主要研究的是基于 ARM9 的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要工作包括如下內(nèi)容:嵌入式系統(tǒng)的硬件設(shè)計(jì),主要工作是擴(kuò)展板的設(shè)計(jì)與制作,外圍電路主要包括網(wǎng)絡(luò)接口電路,USB 接口電路,串口接口電路,電源,復(fù)
29、位,JTAG 等電路部分的設(shè)計(jì)。建立ARM Linux 系統(tǒng)軟件開發(fā)平臺(tái),主要包括Boot loader 的移植、內(nèi)核的裁剪、驅(qū)動(dòng)的移植、根文件系統(tǒng)的裁剪、以及交叉編譯環(huán)境的建立等。構(gòu)建嵌入式WEB 服務(wù)器,本系統(tǒng)采用嵌入式BOA 服務(wù)器作為嵌入式服務(wù)器。圖像采集模塊設(shè)計(jì),采用Video4linux 的編程方法,通過(guò)USB 采集到的視頻信息經(jīng)過(guò)JPEG 壓縮后,通過(guò)內(nèi)部總線送到嵌入式WEB 服務(wù)器。Web 頁(yè)面設(shè)計(jì),遠(yuǎn)程PC 機(jī)通過(guò)網(wǎng)絡(luò)
30、連接嵌入式Web 服務(wù)器,獲取視頻信息,并利用在網(wǎng)頁(yè)中嵌入的圖像播放器,通過(guò)瀏覽器直接觀看Web 服務(wù)器上的攝像機(jī)圖像。</p><p> 第二章 視頻監(jiān)控系統(tǒng)設(shè)計(jì)</p><p> 2.1監(jiān)控系統(tǒng)的結(jié)構(gòu)和原理</p><p> 本系統(tǒng)由監(jiān)控現(xiàn)場(chǎng)攝像頭、嵌入式視頻服務(wù)器、客戶端三部分組成。監(jiān)控現(xiàn)場(chǎng)的攝像頭實(shí)現(xiàn)圖像的采集,并把采集的圖像信息通過(guò)內(nèi)部總線傳送給嵌入
31、式視頻服務(wù)器。嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)是一個(gè)基于S3C2410 處理器、JPEG 壓縮、WEB 服務(wù)器和Linux 操作系統(tǒng)的嵌入式系統(tǒng),它的主要功能是對(duì)攝像頭采集到的圖像進(jìn)行JPEG 壓縮編碼,并對(duì)編碼后的圖像通過(guò)Internet 進(jìn)行傳輸??蛻舳酥饕瓿蓤D像的接收和解壓縮,用戶可以通過(guò)WEB 瀏覽器訪問(wèn)嵌入式視頻服務(wù)器來(lái)觀看攝像頭采集到的圖像,從而實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控。嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)總體結(jié)構(gòu)如圖 2-1。</p>&
32、lt;p> 圖 2-1 嵌入式視頻監(jiān)控系統(tǒng)的總體結(jié)構(gòu)</p><p> 2.2 嵌入式視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)</p><p> 嵌入式視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)主要包括:硬件電路設(shè)計(jì),嵌入式操作系統(tǒng)經(jīng)裁剪移植到硬件開發(fā)平臺(tái),嵌入式Boa服務(wù)器的建立;視頻采集模塊的編寫,利用JPEG壓縮算法進(jìn)行視頻編碼;最后編寫客戶端程序。系統(tǒng)的總體設(shè)計(jì)流程如圖 2-2 所示。</p>
33、<p> 圖 2-2 嵌入式視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)流程圖</p><p> 第三章 監(jiān)控系統(tǒng)硬件設(shè)計(jì)</p><p><b> 3.1 硬件組成</b></p><p> 嵌入式系統(tǒng)是軟硬件可以裁剪的,功能專一,功耗低的專用計(jì)算機(jī)系統(tǒng),由于嵌入式系統(tǒng)價(jià)格低廉,功能強(qiáng)大,攜帶方便等優(yōu)點(diǎn),目前已經(jīng)在生活,工業(yè)領(lǐng)域應(yīng)用比較廣泛。嵌
34、入式系統(tǒng)的開發(fā)中分為硬件開發(fā)和軟件開發(fā)兩部分,其中硬件是軟件的載體,沒(méi)有硬件的支持軟件沒(méi)辦法運(yùn)行,只有搭建好了硬件系統(tǒng),才能進(jìn)行軟件系統(tǒng)的開發(fā)。因此硬件是嵌入式系統(tǒng)的基石,軟件是嵌入式系統(tǒng)的靈魂。</p><p> 嵌入式系統(tǒng)采用模塊化設(shè)計(jì)方案,主要包括以下幾個(gè)模塊:主控制器模塊、儲(chǔ)存電路模塊、外圍接口電路模塊、電源和復(fù)位電路,如圖3-1所示</p><p> 圖3-1系統(tǒng)硬件結(jié)構(gòu)圖&
35、lt;/p><p> 3.2 S3C2410處理器</p><p> Samsung公司推出的16/32位RISC處理器S3C2410,為手持設(shè)備和一般類型應(yīng)用提供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。為降低整個(gè)系統(tǒng)的成本,S3C2410提供了以下豐富的內(nèi)部設(shè)備:分開的16KB的指令Cache和16KB數(shù)據(jù)Cache,MMU虛擬存儲(chǔ)器管理,LCD控制器(支持STN&TFT
36、),支持NAND Flash系統(tǒng)引導(dǎo),系統(tǒng)管理器(片選邏輯和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定時(shí)器,T/O端口,RTC,8通道10位ADC和觸摸屏接口,IIC-BUS接口,USB主機(jī),USB設(shè)備,2通道的SPI以及內(nèi)部PLL時(shí)鐘倍頻器。S3C2410采用了ARM920T內(nèi)核,0.18um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。</p><p> 它的低功耗、精簡(jiǎn)和出色的全靜態(tài)設(shè)計(jì)特別
37、適用于對(duì)成本和功耗敏感的應(yīng)用。同樣它還采用了一種叫做Advanced Microcontroller Bus Architecture(AMBA)新型總線結(jié)構(gòu)。S3C2410的顯著特性是它的CPU核心,是一個(gè)由Advanced RISC Machines(ARM)有限公司設(shè)計(jì)的16/32位ARM920T RISC處理器。ARM920T實(shí)現(xiàn)了MMU,AMBA BUS和Harvard高速緩沖體系結(jié)構(gòu)。這一結(jié)構(gòu)具有獨(dú)立的16KB指令Cache
38、和16KB數(shù)據(jù)Cache, 每個(gè)都是由8字長(zhǎng)的行(1ine)構(gòu)成。通過(guò)提供一系列完整的系統(tǒng)外圍設(shè)備,S3C2410大大減少了整個(gè)系統(tǒng)的成本,消除了為系統(tǒng)配置額外器件的需要。如圖 3-2</p><p> 圖 3-2 S3C2410結(jié)構(gòu)框圖</p><p> 3.3 SDRAM存儲(chǔ)器</p><p> 隨機(jī)存取存儲(chǔ)器 RAM(Random Access Memo
39、ry)是易失性的存儲(chǔ)器,在掉電以后數(shù)據(jù)即消失, 不能夠長(zhǎng)久保存。但與 ROM 器件不同的是,它的隨機(jī)讀寫速度非??欤瑢懭霐?shù)據(jù)之前也不需 要進(jìn)行擦除,這些特性使它成為嵌入式系統(tǒng)中必不可少的存儲(chǔ)設(shè)備之一。在嵌入式系統(tǒng)中,通 常都將數(shù)據(jù)區(qū)和堆棧區(qū)放在 RAM 中,供快速的讀寫。 常用的 RAM 分為 SRAM(靜態(tài) RAM)的 DRAM(動(dòng)態(tài) RAM)兩種類型,以下將介紹這兩種 RAM 的區(qū)別, 并著重介紹“同步動(dòng)態(tài) RAM (SDRAM)
40、”器件。 Black fin 芯片本身提供了與 DRAM 和 SDRAM 進(jìn)行直接接口的解決方案,因此不需要通過(guò)編程來(lái)實(shí)現(xiàn)它們所需的接口時(shí)序,而只 需對(duì)存儲(chǔ)器控制器相關(guān)的寄存器進(jìn)行適當(dāng)配置。這個(gè)配置工作一般在初始化代碼中完成。 如何將系統(tǒng)運(yùn)行的數(shù)據(jù)區(qū)定位在 SDRAM 的地址范圍內(nèi)呢?這個(gè)工作通過(guò)修改連接器描述文件 (.LDF)完成,有關(guān)詳細(xì)內(nèi)容請(qǐng)參考《Black fin 處理器 LDF 文件指南》 。在 Black fin 開發(fā)系統(tǒng)
41、上,SDRAM 的地址范圍為 0x0000,0000~0x0</p><p> 3.4 Flash存儲(chǔ)器</p><p> 本系統(tǒng)中,F(xiàn)lash存儲(chǔ)器主要用于存儲(chǔ)U-boot、Linux內(nèi)核及文件系統(tǒng)。常見的Flash存儲(chǔ)器有NOR Flash和NAND Flash,兩種Flash各有優(yōu)缺點(diǎn)。本系統(tǒng)選用了采用SAMSUNG K9F1208芯片構(gòu)成64M NAND FLASH。K9F12
42、08UOM的數(shù)據(jù)總線與S3C2410的數(shù)據(jù)口DATA相連;WP為寫保護(hù),進(jìn)行調(diào)試時(shí)通過(guò)上拉電阻接高電平,不使它寫保護(hù);調(diào)試完成,通過(guò)接地進(jìn)行寫保護(hù)。其余控制引腳在S3C2410中有相應(yīng)的引腳和控制寄存器,所以連接比較簡(jiǎn)單。</p><p><b> 3.5 攝像頭</b></p><p> 攝像頭(CAMERA)又稱為電腦相機(jī),電腦眼等,是一種視頻輸入設(shè)備,被廣泛
43、的運(yùn)用于視頻會(huì)議,遠(yuǎn)程醫(yī)療及實(shí)時(shí)監(jiān)控等方面。普通的人也可以彼此通過(guò)攝像頭在網(wǎng)絡(luò)進(jìn)行有影像、有聲音的交談和溝通。另外,人們還可以將其用于當(dāng)前各種流行的數(shù)碼影像,影音處理。攝像頭分為數(shù)字?jǐn)z像頭和模擬攝像頭兩大類。數(shù)字?jǐn)z像頭可以將視頻采集設(shè)備產(chǎn)生的模擬視頻信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),進(jìn)而將其儲(chǔ)存在計(jì)算機(jī)里。模擬攝像頭捕捉到的視頻信號(hào)必須經(jīng)過(guò)。 </p><p> 特定的視頻捕捉卡將模擬信號(hào)轉(zhuǎn)換成數(shù)字模式,并加以壓縮后才可以轉(zhuǎn)
44、換到計(jì)算機(jī)上運(yùn)用。數(shù)字?jǐn)z像頭可以直接捕捉影像,然后通過(guò)串、并口或者USB接口傳到計(jì)算機(jī)里?,F(xiàn)在電腦市場(chǎng)上的攝像頭基本以數(shù)字?jǐn)z像頭為主,而數(shù)字?jǐn)z像頭中又以使用新型數(shù)據(jù)傳輸接口的USB數(shù)字?jǐn)z像頭為主,目前市場(chǎng)上可見的大部分都是這種產(chǎn)品。除此之外還有一種與視頻采集卡配合使用的產(chǎn)品,但目前還不是主流。由于個(gè)人電腦的迅速普及,模擬攝像頭的整體成本較高等原因,USB接口的傳輸速度遠(yuǎn)遠(yuǎn)高于串口、并口的速度,因此現(xiàn)在市場(chǎng)熱點(diǎn)主要是USB接口的數(shù)字?jǐn)z像頭
45、。以下主要是指USB接口的數(shù)字?jǐn)z像頭。如圖3-3</p><p> 1、圖像解析度/分辨率(Resolution) </p><p><b> 圖3-3 攝像頭</b></p><p> 2、自動(dòng)白平衡調(diào)整(AWB) </p><p> 定義:要求在不同色溫環(huán)境下,照白色的物體,屏幕中的圖像應(yīng)也是白色的。色溫表示
46、光譜成份,光的顏色。色溫低表示長(zhǎng)波光成分多。當(dāng)色溫改變時(shí),光源中三基色(紅、綠、藍(lán))的比例會(huì)發(fā)生變化,需要調(diào)節(jié)三基色的比例來(lái)達(dá)到彩色的平衡,這就是白平衡調(diào)節(jié)的實(shí)際。 </p><p><b> 3、圖像壓縮方式 </b></p><p> JPEG:靜態(tài)圖像壓縮方式。一種有損圖像的壓縮方式。壓縮比越大,圖像質(zhì)量也就越差。當(dāng)圖像精度要求不高存儲(chǔ)空間有限時(shí),可以選擇這
47、種格式。目前大部分?jǐn)?shù)碼相機(jī)都使用JPEG格式。 </p><p> 4、彩色深度(色彩位數(shù)) </p><p> 反映對(duì)色彩的識(shí)別能力和成像的色彩表現(xiàn)能力,實(shí)際就是A/D轉(zhuǎn)換器的量化精度,是指將信號(hào)分成多少個(gè)等級(jí)。常用色彩位數(shù)(bit)表示。彩色深度越高,獲得的影像色彩就越艷麗動(dòng)人?,F(xiàn)在市場(chǎng)上的攝像頭均已達(dá)到24位,有的甚至是32位 </p><p><b
48、> 5、圖像噪音 </b></p><p> 指的是圖像中的雜點(diǎn)干擾。表現(xiàn)為圖像中有固定的彩色雜點(diǎn)。 </p><p><b> 6、視角 </b></p><p> 與人的眼睛成像是相同原理,簡(jiǎn)單說(shuō)就是成像范圍。 </p><p> 7、輸出/輸入接口 </p><p&g
49、t; 串行接口(RS232/422):傳輸速率慢,為115kbit/s </p><p> 并行接口(PP):速率可以達(dá)到1Mbit/s </p><p> 紅外接口(IrDA):速率也是115kbit/s,一般筆記本電腦有此接口 </p><p> 通用串行總線USB:即插即用的接口標(biāo)準(zhǔn),支持熱插拔。USB1.1速率可達(dá)12Mbit/s,USB2.0可達(dá)4
50、80Mbit/s </p><p> IEEE1394(火線)接口:其傳輸速率可達(dá)100M~400Mbit/s</p><p> 第四章 嵌入式視頻服務(wù)器系統(tǒng)中操作系統(tǒng)的建立</p><p> 4.1 交叉編譯環(huán)境的建立</p><p> 由于嵌入式系統(tǒng)的資源有限,無(wú)法運(yùn)行一些大型的開發(fā)程序,通常嵌入式程序的開發(fā)都是在宿主機(jī)PC機(jī)上開
51、發(fā),在PC機(jī)上安裝交叉編譯器,寫好程序之后,經(jīng)過(guò)交叉編譯器編譯成嵌入式系統(tǒng)可以運(yùn)行的軟件,然后通過(guò)串口或者網(wǎng)絡(luò)接口下載到嵌入式系統(tǒng)目標(biāo)板。</p><p> 本設(shè)計(jì)在宿主 PC 機(jī)上裝有RedHat9.0 操作系統(tǒng),需要在這個(gè)系統(tǒng)中建立新的交叉編譯工具。首先從Handhelds.org 的FTP 上下載交叉編譯工具的源代碼包</p><p> arm-linux-gcc-3.3.1.t
52、ar.bz2。把開發(fā)包放到虛擬光驅(qū),執(zhí)行如下命令:</p><p> mount /dev/cdrom /mnt</p><p> 若系統(tǒng)不識(shí)別/dev/cdrom 的話,可以用如下命令,假設(shè)CDROM 為從盤,即為/dev/hdb,則:</p><p> mount –t iso9660 /dev/hdb /mnt(首先把軟件包掛在到目標(biāo)系統(tǒng)目錄下面)<
53、;/p><p> cd /mnt (跳轉(zhuǎn)到系統(tǒng)目錄mnt 目錄下面)</p><p> 此時(shí)在系統(tǒng) mnt 目錄下已經(jīng)存在軟件包并且已經(jīng)有安裝腳本文件install.sh</p><p> 執(zhí)行如下命令進(jìn)行安裝</p><p> ./install.sh (運(yùn)行安裝腳本)</p><p> 安裝腳本程序?qū)⒆詣?dòng)建立
54、/arm2410s 目錄,并將所有開發(fā)軟件包安裝/arm2410s</p><p> 目錄下,同時(shí)自動(dòng)配置編譯環(huán)境,建立合適的符號(hào)連接。</p><p> 在 PC 機(jī)linux 系統(tǒng)終端上輸入armv , 按一下Tab 鍵,會(huì)自動(dòng)顯示arm-linux-gcc-3.3.1 這時(shí)表明交叉編譯環(huán)境已經(jīng)建立,交叉編譯器已經(jīng)安裝完畢。</p><p> 4.2 Bo
55、otLoader 移植</p><p> BootLoader 的作用是引導(dǎo)系統(tǒng)程序的運(yùn)行,此程序的功能是建立系統(tǒng)的映射表,初始化系統(tǒng)的硬件資源,為運(yùn)行內(nèi)核資源做好準(zhǔn)備。系統(tǒng)在上電后,ARM處理器開始復(fù)位時(shí)從0x00000000 位置獲取第1 條指令代碼,因此需要把系統(tǒng)中的Nand Flash映射到這個(gè)地址。因此必須要把Bootloader的程序代碼存儲(chǔ)在Nand Flash之中,等系統(tǒng)加電以后,CPU一開始執(zhí)
56、行的就是它。</p><p> uboot 整個(gè)移植過(guò)程我們可以分為三個(gè)階段:</p><p> 1) 移植可以從Nor flash 啟動(dòng)的uboot,這個(gè)階段是移植一個(gè)最簡(jiǎn)單的uboot,可以燒在Nor flash 內(nèi)運(yùn)行.</p><p> 2) 移植支持Nand flash 驅(qū)動(dòng)的uboot,加入Nand flash 驅(qū)動(dòng)的支持,可以在uboot命令行下
57、操作Nand flash.但還未能從Nand flash 啟動(dòng),只能在Nor flash 內(nèi)運(yùn)行.</p><p> 3) 移植可以從Nor flash 啟動(dòng)的uboot,可以燒錄在Nand flash,并設(shè)置從Nand flash啟動(dòng)運(yùn)行uboot.</p><p> 分三個(gè)階段進(jìn)行移植,可以對(duì)整個(gè)uboot 的移植過(guò)程及原理更加清晰明了,同時(shí)降低了發(fā)現(xiàn)問(wèn)題時(shí)解決問(wèn)題的困難度和解決范
58、圍。</p><p> 4.3 Linux2.6.12 內(nèi)核的移植</p><p> Linux內(nèi)核采用模塊話的設(shè)計(jì),對(duì)于內(nèi)核的裁剪比較方便,內(nèi)核的配置采用界面化設(shè)計(jì),在界面中選擇和自己定制的系統(tǒng)相關(guān)的硬件資源進(jìn)行配置,配置的目的是為了和系統(tǒng)的硬件資源相匹配達(dá)到系統(tǒng)穩(wěn)定、高效運(yùn)行的目的。因此剪裁內(nèi)核一般考慮一下三個(gè)方面因素。</p><p> 1)為了使運(yùn)行速
59、度加快,盡量的減小系統(tǒng)的內(nèi)核,把一些不相關(guān)的沒(méi)有用到的資源剔除。</p><p> 2)合理裁剪內(nèi)核,保留和系統(tǒng)硬件相關(guān)的資源進(jìn)行配置。</p><p> 3)為了節(jié)省內(nèi)存,可以采用動(dòng)態(tài)配置內(nèi)核的方法,一些硬件資源不是很常用,但是如果沒(méi)有也不行的一些資源采用動(dòng)態(tài)內(nèi)核配置。</p><p> 下面根據(jù)以上三條原則開始配置內(nèi)核。</p><p&
60、gt; ?。?) 下載內(nèi)核軟件包</p><p> 下載內(nèi)核軟件包 linux-2.6.12.tar.gz,下載完成后進(jìn)行解壓,解壓后保存在src 目錄下面。</p><p><b> ?。?) 配置內(nèi)核</b></p><p> 進(jìn)入 linux_2.6.12 目錄,Linux 內(nèi)核的配置編譯都是由最外層的Make file 文件對(duì)內(nèi)核的
61、整體進(jìn)行管理,它制定了配置和編譯的規(guī)則,針對(duì)ARM 系統(tǒng)的內(nèi)核配置,首先要</p><p> 修改的是最頂層的Make file 文件。</p><p> 修改 Make file 文件</p><p> 修改內(nèi)核根目錄下的 Make file 文件,指出所用的交叉編譯器</p><p> 找到 ARCH 和CROSS_COMPILE
62、,修改為:</p><p> ARCH ?=arm</p><p> CROSS_COMPILE ?=/opt/eldk/usr/bin/arm-linux-</p><p> 設(shè)置flash 分區(qū)</p><p> 修改 arch/arm/mach-s3c2410/devs.c 文件</p><p> /*
63、--------------for NAND Flash---------------*/</p><p> #include <linux/mtd/partitions.h></p><p> #include <linux/mtd/nand.h></p><p> #include <asm/arch/nand.h>&l
64、t;/p><p> /*NAND Controller*/</p><p> /*建立flash 分區(qū)表*/</p><p> static struct mtd_partition partition_info[]={</p><p><b> {/*128k*/</b></p><p>
65、 name:"u-boot",</p><p> size:0x00020000,</p><p> offset:0x00000000</p><p> },{/*64k*/</p><p> name:"param",</p><p> size:0x0001000
66、0,</p><p> offset:0x00020000</p><p> },{/*2m+832k*/</p><p> name:"kernel",</p><p> size:0x002d0000,</p><p> offset:0x00030000</p><
67、;p><b> },{/*3m*/</b></p><p> name:"root",</p><p> size:0x0030000,</p><p> offset:0x00300000</p><p><b> },{/*48*/</b></p>
68、<p> name:"user",</p><p> size:0x03000000,</p><p> offset:0x00600000</p><p><b> }</b></p><p><b> };</b></p><p&g
69、t; /*加入NAND FLASH 分區(qū)*/</p><p> static struct s3c2410_nand_set nandset = {</p><p> nr_partitions:5, /*the number of partition*/</p><p> partitions:partition_info,</p><
70、p><b> };</b></p><p><b> 配置內(nèi)核</b></p><p> 修改 fs/Kconfig,支持啟動(dòng)時(shí)掛載devfs</p><p> $vim fs/ Kconfig</p><p> 找到menu “Pseudo filesystem”</p>
71、;<p><b> 在其中添加:</b></p><p> config DEVFS_FS</p><p> bool “/dev file system support (OBSOLETE)”</p><p><b> default y</b></p><p> conf
72、ig DEVFS_MOUNT</p><p> bool “Automatically mount at boot”</p><p><b> default y</b></p><p> depends on DEVFS_FS</p><p> [root@localhost linux_2.6.12]# ma
73、ke menuconfig 執(zhí)行內(nèi)核配置命令</p><p> 然后再執(zhí)行make uIamge,生成內(nèi)核鏡像文件。</p><p> 4.4 移植cramfs 根文件系統(tǒng)</p><p> 根文件系統(tǒng)是構(gòu)成Linux 嵌入式系統(tǒng)的重要組成部分,目前嵌入式系統(tǒng)可以應(yīng)用的根文件系統(tǒng)有:Romfs、Cramfs、Ramfs、Jffs2、Ext2 等。Cramfs系
74、統(tǒng)一般是只讀的系統(tǒng),在系統(tǒng)操作過(guò)程中如果對(duì)文件系統(tǒng)進(jìn)行寫操作,將會(huì)產(chǎn)生系統(tǒng)錯(cuò)誤,本文提出的配置根文件系統(tǒng)的方法經(jīng)多次試驗(yàn)驗(yàn)證可以進(jìn)行寫操作,系統(tǒng)比較穩(wěn)定,可以節(jié)省系統(tǒng)的內(nèi)存空間,Linux的根文件系統(tǒng)必須包括的部分有支持系統(tǒng)運(yùn)行的基本組件,一些為應(yīng)用程序調(diào)用的系統(tǒng)函數(shù)和接口函數(shù),包括一些用戶的應(yīng)用程序所必須的組件。在根文件系統(tǒng)中一般包括如下文件夾:</p><p> 1)linuxrc 系統(tǒng)啟動(dòng)所需要的命令文件
75、。</p><p> 2)/bin 系統(tǒng)在啟動(dòng)階段所需要的系統(tǒng)命令文件和用戶命令文件。</p><p> 3)/sbin 包含一些命令工具集為高級(jí)用戶所使用。</p><p> 4)/etc 存放的系統(tǒng)的命令文件和系統(tǒng)的數(shù)據(jù)文件。</p><p> 5)/lib 存放的是一些動(dòng)態(tài)庫(kù)為根文件上的命令文件所使用。</p>&
76、lt;p> 6)/dev 用戶所編寫的驅(qū)動(dòng)文件。</p><p> 7)/usr 用來(lái)存放用戶編寫的程序。</p><p> 8)/mnt 用來(lái)掛載設(shè)備的文件加。</p><p> 9)/proc 用來(lái)存放系統(tǒng)狀態(tài)的文件加。</p><p> 10)/var 包含有數(shù)據(jù)變化的文件。</p><p>
77、最后將生成的根文件系統(tǒng)燒寫到Nand flash中,這樣嵌入式系統(tǒng)平臺(tái)搭建完成。</p><p> 第五章 監(jiān)控軟件設(shè)計(jì)</p><p> 本嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)軟件由攝像頭驅(qū)動(dòng)模塊,圖像采集模塊,JPEG 圖像壓縮模塊,網(wǎng)絡(luò)傳輸模塊,嵌入式WEB 服務(wù)器組成。攝像頭驅(qū)動(dòng)模塊的作用是使得攝像頭在Linux 操作系統(tǒng)下可以正常工作,為應(yīng)用程序的編寫提供底層系統(tǒng)的編程接口。圖像采集程序使
78、用驅(qū)動(dòng)程序提供的編程接口獲取攝像頭采集來(lái)的圖像信息并進(jìn)行暫時(shí)存儲(chǔ)。JPEG 壓縮模塊的功能是完成對(duì)采集到的原始圖像信息進(jìn)行編碼處理,使得圖像達(dá)到最小化,清晰化,為網(wǎng)絡(luò)傳輸解決帶寬不足的問(wèn)題。WEB 服務(wù)器通過(guò)HTTP 協(xié)議與遠(yuǎn)程監(jiān)控計(jì)算機(jī)端的瀏覽器進(jìn)行信息交流,它提供了應(yīng)用程序模塊的編程接口以及視頻監(jiān)控的界面。嵌入式視頻監(jiān)控系統(tǒng)的總體結(jié)構(gòu)如圖 5-1 所示。</p><p> 圖 5-1 嵌入式視頻監(jiān)控系統(tǒng)軟件
79、體系結(jié)構(gòu)</p><p> 5.1 攝像頭驅(qū)動(dòng)程序模塊</p><p> 圖像的采集是利用 OV511 數(shù)字?jǐn)z像頭實(shí)現(xiàn)的,OV511 通過(guò)USB 串行總線S3C2410相連,因此驅(qū)動(dòng)程序的開發(fā)主要是對(duì)Linux 系統(tǒng)下USB 驅(qū)動(dòng)程序的開發(fā),OV511 的驅(qū)動(dòng)獨(dú)立開發(fā)難度比較大,主要是既要涉及圖像采集芯片的驅(qū)動(dòng)開發(fā),還要涉及USB 的驅(qū)動(dòng)的開發(fā)。在Linux2.6 內(nèi)核中有OV511
80、的驅(qū)動(dòng)程序的開源代碼,根據(jù)自己的系統(tǒng)的開發(fā)平臺(tái)進(jìn)行相應(yīng),移植,重新配置編譯內(nèi)核等操作可以實(shí)現(xiàn)OV511 的驅(qū)動(dòng)程序集成到Linux內(nèi)核之中。</p><p> 5.2 圖像采集模塊設(shè)計(jì)</p><p> Video4linux的簡(jiǎn)稱是V4L,是Linux系統(tǒng)中的影像串流系統(tǒng)與嵌入式影像系統(tǒng)的基礎(chǔ),它是Linux 內(nèi)核里免支持影像設(shè)備的一組應(yīng)用程序的接口,配合恰當(dāng)?shù)囊曨l采集工具與視頻采集
81、工具的驅(qū)動(dòng)程序, V4L可以實(shí)現(xiàn)視頻圖像的采集的功能[23]。V4L為二層式結(jié)構(gòu),上層為V4L的驅(qū)動(dòng)程序,下層構(gòu)成則是影音設(shè)備的驅(qū)動(dòng)程序。這里我們用到的是V4L的上層驅(qū)動(dòng)程序,即V4L本身所提供給程序開發(fā)人員的一組應(yīng)用程序開發(fā)接口。</p><p> Video4linux 視頻圖像采集流程如圖 5-2 所示。</p><p> 圖 5-2 Video4linux 視頻圖像采集流程圖&
82、lt;/p><p><b> (1)視頻設(shè)備打開</b></p><p> struct vdIn*vf;</p><p> if((vF->fd=open(vf->videodevice,O_RDWR))==-1)</p><p> exit_fatal("ERROR open v4l&quo
83、t;);</p><p> (2)獲取圖像信息和視頻信息</p><p> struct vdIn*vf;//獲取設(shè)備相關(guān)信息</p><p> if(ioctl(vf->fd,VIDIOCGCAP,&(vf->videocap))==-1)</p><p> exit_fatal("Couldn'
84、;t get videodevice capability");</p><p> //獲取圖像相關(guān)信息</p><p> if(ioctl(vf->fd,VIDIOCGPICT,&vf->videopict)<0)</p><p> exit_fatal(“can not get h VIDIOCGPICT");
85、</p><p> (3)初始化采集窗口、顏色模式、幀狀態(tài)</p><p> vf->hdrwidthl=320;</p><p> vf->hdrheightl=240;</p><p> vf->formatInl=format;</p><p> //設(shè)置圖像格式位為JPEG 格式,大
86、小為320×240。</p><p> (4)捕捉視頻幀數(shù)據(jù)</p><p> read(videoIn.fd,videoIn.pFramebuffer,size);</p><p><b> (5)關(guān)閉視頻設(shè)備</b></p><p> close(vf->fd);</p><
87、;p> 5.3 JPEG 圖像壓縮模塊設(shè)計(jì)</p><p> JPEG 是目前網(wǎng)絡(luò)最流行的壓縮格式,可以把圖像壓縮到最小的圖像格式,經(jīng)常用Photoshop 的人會(huì)知道,在存圖像格式時(shí)有個(gè)分級(jí)壓縮,共分為11 級(jí)壓縮,就是最小壓縮比的10 級(jí)壓縮,壓縮比例也可以到5:1,在壓縮比例最大的0 級(jí)壓縮可以達(dá)到40:1。通常我們選用的8 級(jí)壓縮壓縮比達(dá)到24:1,這個(gè)比例壓縮出來(lái)的圖片我們?nèi)庋蹘缀醴直娌怀龊驮?/p>
88、圖的差距,雖然數(shù)據(jù)量大大的減少,但是圖像我們看不出有任何的變化。</p><p> 接收到圖像數(shù)據(jù)后進(jìn)行JPEG壓縮,其主要處理過(guò)程包括:色彩模型轉(zhuǎn)換、離散余弦—DCT變換、重排DCT結(jié)果、量化、編碼等[25]。編碼流程如 5-3 所示。</p><p> 圖 5-3 JPEG 編碼流程</p><p> 5.4 嵌入式WEB 服務(wù)器設(shè)計(jì)</p>
89、<p> 嵌入式WEB服務(wù)器一般由五個(gè)主要模塊組成:嵌入式HTTP引擎,安全模塊,應(yīng)用程序接口,文件系統(tǒng)和配置模塊。由于本嵌入式視頻監(jiān)控系統(tǒng)的操作系統(tǒng)選用ARM Linux嵌入式操作系統(tǒng),它的文件系統(tǒng)比較成熟,提供了可以使文件訪問(wèn)的接口,可以直接使用文件系統(tǒng)提供的讀寫接口訪問(wèn)嵌入式WEB資源文件,解決了專門設(shè)計(jì)文件系統(tǒng)的麻煩。本系統(tǒng)中嵌入式服務(wù)器選用適合嵌入式系統(tǒng)的Boa服務(wù)器,它是單任務(wù)的嵌入式HTTP服務(wù)器,它占用內(nèi)存
90、小,另外支持動(dòng)態(tài)CGI技術(shù),源代碼開放,功能強(qiáng)大。</p><p> 5.5 網(wǎng)絡(luò)傳輸模塊</p><p> 對(duì)于現(xiàn)在網(wǎng)絡(luò)帶寬有限的情況,要想實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)中視頻傳輸流暢的最好方法是采用流媒體傳輸技術(shù)。流媒體是一種可以使音頻數(shù)據(jù)、視頻數(shù)據(jù)和其它多媒體數(shù)據(jù)能在Internet 上以實(shí)時(shí)的、不需要下載等待的方式便可以播放的技術(shù)?,F(xiàn)在我們?cè)诰W(wǎng)上看的視頻的技術(shù)都是流媒體技術(shù)。因?yàn)槟壳暗木W(wǎng)絡(luò)帶
91、寬還不足以承擔(dān)相對(duì)比較龐大的網(wǎng)絡(luò)多媒體,音視頻等多媒體信息必須要經(jīng)過(guò)預(yù)先的處理才能進(jìn)行網(wǎng)絡(luò)的傳輸。傳輸之前的預(yù)處理工作主要包括兩個(gè)方面:一是需要降低數(shù)據(jù)的流量;二是采用目前比較先進(jìn)的高效的壓縮算法進(jìn)行數(shù)據(jù)的壓縮。流媒體是在目前來(lái)說(shuō)是一種比較新的媒體格式,應(yīng)用前景非常廣泛。視頻監(jiān)控系統(tǒng)對(duì)傳輸?shù)膶?shí)時(shí)性要求比較高,因此流媒體技術(shù)在網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中的應(yīng)用也會(huì)越來(lái)越廣泛。本文用到的流媒體傳輸?shù)木W(wǎng)絡(luò)協(xié)議是實(shí)時(shí)傳輸協(xié)議(RTP),實(shí)時(shí)傳輸控制協(xié)議(
92、RTCP)。</p><p> RTP是用于針對(duì)多媒體數(shù)據(jù)流的一種傳輸協(xié)議。RTP被一般用在一對(duì)一或一對(duì)多進(jìn)行傳輸情況下工作,它目的是提供數(shù)據(jù)流的時(shí)間信息和實(shí)現(xiàn)數(shù)據(jù)流的同步[28]。RTP一般采用UDP來(lái)傳輸數(shù)據(jù),不過(guò)RTP也可以試用TCP或ATM等其他協(xié)議來(lái)傳輸數(shù)據(jù)。當(dāng)RTP工作在一對(duì)多進(jìn)行傳輸?shù)那闆r下時(shí),這時(shí)需要依靠底層網(wǎng)絡(luò)實(shí)現(xiàn)組播。RTP的優(yōu)點(diǎn)是協(xié)議靈活,可以使數(shù)據(jù)流和控制流分離,并且協(xié)議的可擴(kuò)展性和適用
93、性非常好。因?yàn)镽TP協(xié)議具有以上特點(diǎn),所以使用RTP來(lái)傳輸JPEG數(shù)據(jù)流有以下幾個(gè)優(yōu)點(diǎn):</p><p> (1)可以使JPEG 格式的數(shù)據(jù)流與其它的RTP 負(fù)載數(shù)據(jù)保持同步;</p><p> (2)傳輸過(guò)程中使用RTCP 傳輸控制協(xié)議對(duì)JPEG 格式的數(shù)據(jù)流的傳輸性能進(jìn)行進(jìn)行控制;</p><p> (3)可以利用RTP 的合成器將JPEG 數(shù)據(jù)流和其它來(lái)
94、自多傳輸終端的實(shí)時(shí)數(shù)據(jù)流合成一個(gè)塊數(shù)據(jù)流來(lái)進(jìn)行傳輸;</p><p> (4)用RTP 的解釋器可以用來(lái)轉(zhuǎn)換數(shù)據(jù)流的數(shù)據(jù)類型。</p><p> RTP協(xié)議本身包括兩部分:RTP數(shù)據(jù)傳輸協(xié)議和RTCP傳輸控制協(xié)議。為了使數(shù)據(jù)可以可靠、高效地實(shí)時(shí)傳送,RTP和RTCP必須配合使用才能完成,通常RTCP包的數(shù)量占所有傳輸量的百分之五。RTP傳輸協(xié)議的主要作用是負(fù)載多媒體數(shù)據(jù),并通過(guò)包頭時(shí)間
95、參數(shù)的配置使其具有實(shí)時(shí)的特征。RTP本身并不能為按順序傳送數(shù)據(jù)包提供可靠的傳送機(jī)制,也不提供流量控制或擁塞控制,它依靠RTCP傳輸控制協(xié)議提供這些服務(wù)。RTCP傳輸控制協(xié)議主要用于周期的傳送RTP包,監(jiān)視RTP傳輸?shù)姆?wù)質(zhì)量。服務(wù)器端RTP 協(xié)議的實(shí)現(xiàn)如圖 5-4</p><p> 圖 5-4 服務(wù)器端RTP協(xié)議的實(shí)現(xiàn)</p><p> 第六章 性能測(cè)試與分析</p>&
96、lt;p> 首先將網(wǎng)線插入嵌入式視頻服務(wù)器的網(wǎng)口插槽,然后插上攝像頭,開啟電源啟動(dòng)系統(tǒng),本系統(tǒng)已經(jīng)設(shè)置了程序自啟動(dòng),開機(jī)后自動(dòng)運(yùn)行視頻服務(wù)器軟件程序,運(yùn)行結(jié)果如圖 6-1 所示</p><p> 圖 6-1 系統(tǒng)開機(jī)運(yùn)行界面</p><p> 在本圖中可以看到的是攝像頭驅(qū)動(dòng)已經(jīng)工作,boa 服務(wù)器開啟,準(zhǔn)備外部程序的訪問(wèn)。</p><p> 采集的圖像
97、如下圖 6-2</p><p> 圖 6-2 采集的圖像</p><p><b> 總結(jié)</b></p><p> 嵌入式系統(tǒng)的低功耗,高計(jì)算性能等特點(diǎn)滿足了本文監(jiān)控系統(tǒng)的設(shè)計(jì)要求,本文以嵌入式Linux為開發(fā)平臺(tái),在ARM9嵌入式處理器S3C2410的基礎(chǔ)上,利用Linux圖像接口技術(shù)、圖像處理技術(shù)、網(wǎng)絡(luò)技術(shù),建立并實(shí)現(xiàn)了嵌入式網(wǎng)絡(luò)監(jiān)控
98、系統(tǒng)。所設(shè)計(jì)和實(shí)現(xiàn)的系統(tǒng)以Linux環(huán)境下圖像采集接口V4L進(jìn)行圖像原始數(shù)據(jù)的采集,并將圖像數(shù)據(jù)進(jìn)行JPEG形式的壓縮處理。文中給出了在嵌入式Linux環(huán)境下,利用V4L對(duì)圖像數(shù)據(jù)源的采集處理過(guò)程,對(duì)原始圖像數(shù)據(jù)進(jìn)行JPEG壓縮處理,以及在嵌入式Linux環(huán)境下搭建RTP協(xié)議以支持網(wǎng)絡(luò)傳輸?shù)倪^(guò)程。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)可以通過(guò)局域網(wǎng)與用戶進(jìn)行交互,并把采集的圖像信息發(fā)送到用戶手中,并且能夠采集實(shí)時(shí)的流媒體視頻流。本文主要的工作有:<
99、/p><p> 1、嵌入式視頻服務(wù)器硬件電路的設(shè)計(jì):系統(tǒng)硬件由圖像傳感器 MI360,圖像壓縮芯片 ZC0301,微處理器芯片 S3C2410,以太網(wǎng)控制芯片 DM9000AEP,SDRAM 等芯片組成。S3C2410 具有低功耗、精簡(jiǎn)而出色的全靜態(tài)設(shè)計(jì)等特點(diǎn),具備 MMU 存儲(chǔ)器管理,擁有獨(dú)立的 16KB 指令和 16KB 數(shù)據(jù)緩存,在高性能和低功耗特性方面提供了可靠的性能。</p><p&g
100、t; 2、建立嵌入式開發(fā)操作系統(tǒng),首先移植了 Bootloader,Bootloader 是操作系統(tǒng)啟動(dòng)的引用程序,其次移植嵌入式 Linux 操作系統(tǒng),本文選用嵌入式 ARMLinux2.6 操作系統(tǒng),然后制作了根文件系統(tǒng),由于 cramfs 作為一種壓縮式的文件系統(tǒng)極大節(jié)省了嵌入式系統(tǒng)的內(nèi)外存資源,這對(duì)資源相對(duì)緊張的嵌入式系統(tǒng)來(lái)說(shuō)是至關(guān)重要的,故本系統(tǒng)選擇 cramfs 作為根文件系統(tǒng)。最后移植交叉編譯工具,由于網(wǎng)站下載的已經(jīng)編譯
101、的工具鏈對(duì)實(shí)際平臺(tái)兼容性不是很好,所以自己下載 goc 編譯器,glibe 庫(kù)文件,內(nèi)核頭文件等,網(wǎng)上和軟件版本號(hào)很多需要反復(fù)的修改與測(cè)試。 </p><p> 3、驅(qū)動(dòng)程序的開發(fā):驅(qū)動(dòng)程序網(wǎng)上也有 相關(guān)資料,但是對(duì)本系統(tǒng)的兼容性不好,在經(jīng)過(guò)多次修改后順利加載到操作系統(tǒng)的內(nèi)核,另外完成了攝像頭驅(qū)動(dòng)程序的靜態(tài)加載。</p><p> 4,嵌入式服務(wù)器軟件程序的開發(fā),本部分內(nèi)容涉及到的知識(shí)
102、較多,包括嵌入式 WEB服務(wù)器的移植,本文選用的是 BOA 服務(wù)器,另外包括 CGI 程序的開發(fā),壓縮程序的編寫等相關(guān)內(nèi)容。</p><p> 參考文獻(xiàn)(References)</p><p> [1] 黃霞.嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D],華東交通大學(xué)碩士論文,2008</p><p> [2] 王天輝. 基于ARM嵌入式網(wǎng)關(guān)的設(shè)計(jì)[D],河北大學(xué)
103、碩士論文,2009</p><p> [3] 肖蒙等.基于B/S結(jié)構(gòu)的遠(yuǎn)程監(jiān)控技術(shù)研究與應(yīng)用[J].蘭州鐵道學(xué)院學(xué)報(bào)(自然科學(xué)版),2003.12</p><p> [4] 林艷,陳新.基于TCP八P的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)[J].福建電腦,2005,4:43-45</p><p> [5] 吳永航.嵌入式Internet方案的設(shè)計(jì)與實(shí)現(xiàn)[M].大連:大連理工
104、大學(xué),2003.</p><p> [6] 陳耀武,伍鵬,汪樂(lè)宇.基于流媒體技術(shù)的網(wǎng)絡(luò)化嵌入式視頻監(jiān)控系統(tǒng)[J].工程設(shè)計(jì)學(xué)</p><p> 報(bào).2004,11:57一61</p><p> [7] 劉崢嶸,張智超,許振山等.嵌入式Linux應(yīng)用開發(fā)詳解[M].北京:機(jī)械工業(yè)出版社,2004.</p><p> [8] 黃賢武.數(shù)字
105、圖像處理與壓縮解碼技術(shù)[M」.成都:;電子科技大學(xué)出版社,2000年</p><p> [9] 白偉平等.基于ARM的嵌入式Boot Loader淺析[J].微計(jì)算機(jī)信息,2006,4-2:99-100</p><p> [10] 湯碧玉,曾楠,鄭靈翔等.嵌入式系統(tǒng)中基于Web的遠(yuǎn)程監(jiān)控設(shè)計(jì)與實(shí)現(xiàn)[J].廈門大學(xué)學(xué)報(bào)(自然科學(xué)版 ).2004,43(5):633一634</p&g
106、t;<p> [1l] 鄭旭東,張培仁,高修峰等.嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[M].儀表技術(shù)與傳感器,2006.8</p><p> [12] 林冰,基于H.264的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].北京郵電大學(xué),2006</p><p> [13] 田鶴,網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].碩士論文.上海:上海交通大學(xué),2002.</p><p>
107、 [14] 任延珍,喻占武,胡瑞敏.基于RTP/RTCP協(xié)議的實(shí)時(shí)數(shù)據(jù)傳輸與同步控制策略[J].計(jì)算機(jī)工程與應(yīng)用,2003</p><p><b> 致謝</b></p><p> 本次畢業(yè)設(shè)計(jì)是在xx老師的悉心指導(dǎo)下完成的。從論文的選題、關(guān)鍵問(wèn)題的解決、論文的撰寫乃至修改,xx老師都給予了我細(xì)心的指導(dǎo)和幫助。xx老師嚴(yán)格的要求,淵博的學(xué)識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和對(duì)科學(xué)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于arm的視頻采集系統(tǒng)設(shè)計(jì)
- 基于arm的網(wǎng)絡(luò)視頻傳輸系統(tǒng)【畢業(yè)論文】
- 基于arm視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于ARM視頻采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于arm的手持點(diǎn)菜系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文外文翻譯-基于arm與線性ccd的高速數(shù)據(jù)采集系統(tǒng)
- 基于wsn的無(wú)線溫度采集系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文 基于labview的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)
- 基于labview的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)設(shè)計(jì) 畢業(yè)論文
- 基于arm的數(shù)碼相框設(shè)計(jì)【畢業(yè)論文】
- 基于arm的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 基于fpga的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于fpga的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文----基于fpga通用數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
- 基于ARM的視頻采集與顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于zigbee技術(shù)的溫度采集系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 基于ARM的嵌入式視頻采集處理系統(tǒng)的設(shè)計(jì).pdf
- 畢業(yè)論文-基于fpga通用數(shù)據(jù)采集測(cè)試系統(tǒng)的設(shè)計(jì)
- 基于藍(lán)牙的無(wú)線溫度采集系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文-基于fpga通用數(shù)據(jù)采集測(cè)試系統(tǒng)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論