資料介紹
隨著網(wǎng)絡(luò)技術(shù)和嵌入式技術(shù)的迅猛發(fā)展,通過網(wǎng)絡(luò)來實(shí)現(xiàn)視頻監(jiān)控已經(jīng)得到了廣泛的應(yīng)用,3G網(wǎng)絡(luò)以其高帶寬使得傳輸流暢的視頻信息成為可能,本文在采用3G技術(shù)的基礎(chǔ)上設(shè)計(jì)了一款基于嵌入式Linux的無(wú)線終端,在數(shù)據(jù)處理部分采用了Linux的Netfilter架構(gòu),通過掛載鉤子函數(shù)來實(shí)現(xiàn)數(shù)據(jù)包在內(nèi)核態(tài)的獲取及高效轉(zhuǎn)發(fā),并且通過在Linux內(nèi)核開辟一片緩沖區(qū),解決了視頻服務(wù)器與3G模塊撥號(hào)延時(shí)而造成的速率不匹配的問題,減少了數(shù)據(jù)丟包。配合Netfilter用戶態(tài)管理工具iptables的使用,可實(shí)現(xiàn)包過濾防火墻,及NAT等功能,從而便于本系統(tǒng)對(duì)流經(jīng)其數(shù)據(jù)包的管理。
另一方面對(duì)嵌入式Linux的視頻采集程序的設(shè)計(jì)進(jìn)行了詳細(xì)的介紹,并將其實(shí)際應(yīng)用到了本系統(tǒng)的數(shù)據(jù)采集模塊中去,完成了數(shù)據(jù)的采集工作,同時(shí)針對(duì)目前市場(chǎng)上對(duì)與3G模塊通常只提供Windows CE下的驅(qū)動(dòng)這一情況,開發(fā)了嵌入式Linux系統(tǒng)下的3G模塊驅(qū)動(dòng)程序,在軟件設(shè)計(jì)上充分發(fā)揮了開源軟件的優(yōu)勢(shì),采用高效的Xvidcore編解碼庫(kù),來完成視頻的編碼,以及使用PPP源碼來編譯撥號(hào)上網(wǎng)工具,成本低廉并且縮短了系統(tǒng)的開發(fā)周期,使得本系統(tǒng)具有較強(qiáng)的工程實(shí)用價(jià)值。
1 系統(tǒng)硬件結(jié)構(gòu)
硬件上采用“ARM 3G模塊”系統(tǒng)架構(gòu)。ARM與3G模塊采用分離模塊的設(shè)計(jì)方法,通過USB線相連,較整體設(shè)計(jì)而言具有更好的靈活性,使得一些現(xiàn)有的以ARM為主處理器的系統(tǒng)能夠很好地?cái)U(kuò)展3G功能,便于產(chǎn)品的過渡。本系統(tǒng)的核心處理器是S3C2440A,S3C2440A是一款由SamSu-ng半導(dǎo)體公司推出的基于ARM920T內(nèi)核的16/32位RISC微處理器。內(nèi)部帶有全性能的MMU(內(nèi)存處理單元),主頻為400MHz最大可達(dá)到533MHz,提供了一個(gè)數(shù)字?jǐn)z像頭接口(Camera Interface)。具有高性能、低功耗、接口豐富和體積小等優(yōu)良特性。而3G模塊核心部件采用的是MC8630模塊,該模塊具有語(yǔ)音、短信和高速數(shù)據(jù)業(yè)務(wù)等功能,可以廣泛應(yīng)用于高速數(shù)據(jù)傳輸、安防、無(wú)線媒體、直放站監(jiān)控、鐵路終端和車載監(jiān)控等領(lǐng)域。
系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)主要由視頻采集模塊、數(shù)據(jù)處理模塊、網(wǎng)絡(luò)轉(zhuǎn)發(fā)模塊組成。
2.1 視頻采集模塊設(shè)計(jì)
根據(jù)項(xiàng)目的實(shí)際需要,在本系統(tǒng)中視頻數(shù)據(jù)來源主要有兩個(gè)方面:
1)系統(tǒng)與可提供主動(dòng)上傳功能的視頻服務(wù)器通過RJ45網(wǎng)線直接相接 主要用于完成多路視頻圖像采集。視頻服務(wù)器的主要功能是將攝像頭采集的數(shù)據(jù)完成編碼壓縮,并且將壓縮的數(shù)據(jù)以IP包的形式發(fā)送給接收端,由于該類視頻服務(wù)器通常是在局域網(wǎng)內(nèi)使用,目前還很少有對(duì)于3G網(wǎng)絡(luò)的支持,隨著3G技術(shù)在國(guó)內(nèi)發(fā)展的不斷深入,將在很大程度上取代有線網(wǎng)絡(luò)。所以本系統(tǒng)可作為現(xiàn)有視頻服務(wù)器的3G功能擴(kuò)展。針對(duì)在外接視頻服務(wù)器時(shí)只需對(duì)收到的數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)而無(wú)需對(duì)IP數(shù)據(jù)本身做分析處理的問題,并且在系統(tǒng)啟動(dòng)到3G模塊撥號(hào)成功獲得IP地址之間會(huì)有一定的延遲,在本系統(tǒng)中提出了采用Linux的Netfilter架構(gòu)的方法以及緩沖機(jī)制,通過在數(shù)據(jù)流經(jīng)TCP/IP協(xié)議棧時(shí)掛載鉤子函數(shù),實(shí)現(xiàn)IP數(shù)據(jù)在內(nèi)核態(tài)的獲取,并且通過在內(nèi)核開辟一塊足夠大的環(huán)形緩沖區(qū)來存儲(chǔ)數(shù)據(jù)。由于系統(tǒng)需要頻繁對(duì)緩沖區(qū)進(jìn)行讀寫,為避免產(chǎn)生內(nèi)存碎片,在本系統(tǒng)中采用了環(huán)形隊(duì)列的數(shù)據(jù)結(jié)構(gòu)。在3G模塊獲得IP地址后,再通過驅(qū)動(dòng)讀取緩沖區(qū)中的數(shù)據(jù),由3G網(wǎng)絡(luò)完成轉(zhuǎn)發(fā),從而降低丟包率并且提高數(shù)據(jù)包的轉(zhuǎn)發(fā)效率。因?yàn)閭鹘y(tǒng)的方法是采用socket API來進(jìn)行網(wǎng)絡(luò)編程,其對(duì)數(shù)據(jù)的訪問通常發(fā)生在用戶態(tài),對(duì)于Linux操作系統(tǒng)來說,用戶進(jìn)程的優(yōu)先級(jí)和所占用的CPU時(shí)間要遠(yuǎn)遠(yuǎn)小于內(nèi)核線程,同時(shí)內(nèi)核進(jìn)程擁有較高的執(zhí)行優(yōu)先度,故在網(wǎng)絡(luò)布局允許獲得IP數(shù)據(jù)包的條件下,將用戶態(tài)的數(shù)據(jù)包獲取功能載入內(nèi)核態(tài),可進(jìn)一步提高系統(tǒng)的處理能力,增加系統(tǒng)的有效帶寬,本方法還可用于其他對(duì)IP數(shù)據(jù)本身進(jìn)行處理并且對(duì)處理效率有苛刻要求的系統(tǒng)中,例如:本方法在本實(shí)驗(yàn)室與某航空院合作開發(fā)的IP-TS協(xié)議轉(zhuǎn)換器上也得到了成功的應(yīng)用,具有一定的通用性。Netfilter是Linux 2.6.x系列內(nèi)核提供的一套數(shù)據(jù)包過濾框架,基于該框架的軟件能夠?qū)崿F(xiàn)如數(shù)據(jù)包過濾、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等功能。要使用Netfilter,在內(nèi)核編譯時(shí)設(shè)置“Network Packet Fihering”選項(xiàng)。Netfilter提供了一個(gè)抽象、通用化的框架,作為中間件,為每種網(wǎng)絡(luò)協(xié)議(IPv4、IPv6等)定義一套鉤子函數(shù)。對(duì)于Ipv4協(xié)議定義了5個(gè)鉤子函數(shù),這些鉤子函數(shù)在數(shù)據(jù)報(bào)流過協(xié)議棧的5個(gè)關(guān)鍵點(diǎn)被調(diào)用,Netfilter可以在通過TCP/IP協(xié)議棧的路徑中的幾個(gè)定義良好的點(diǎn)上捕獲數(shù)據(jù)包,IPv4中的一個(gè)數(shù)據(jù)包通過netfilter系統(tǒng)的過程如圖2所示。
NF_IP_PRE_ROUTING
在對(duì)數(shù)據(jù)包進(jìn)行初始正確性檢查(校驗(yàn)和等)后,截獲該數(shù)據(jù)包。
NF_IP_LOCAL_IN
如果數(shù)據(jù)包將要到達(dá)本地主機(jī),則捕獲該數(shù)據(jù)包。
NF_IP_FORWARD
如果數(shù)據(jù)包將要到達(dá)某些其他主機(jī),則捕獲該數(shù)據(jù)包。
NF_IP_LOCAL_OUT
在本地捕獲其目的地是外部的已創(chuàng)建的數(shù)據(jù)包。
NF_IP_POST_ROUTING
這是最后的鉤子,在此之后將傳輸數(shù)據(jù)包。
另一方面對(duì)嵌入式Linux的視頻采集程序的設(shè)計(jì)進(jìn)行了詳細(xì)的介紹,并將其實(shí)際應(yīng)用到了本系統(tǒng)的數(shù)據(jù)采集模塊中去,完成了數(shù)據(jù)的采集工作,同時(shí)針對(duì)目前市場(chǎng)上對(duì)與3G模塊通常只提供Windows CE下的驅(qū)動(dòng)這一情況,開發(fā)了嵌入式Linux系統(tǒng)下的3G模塊驅(qū)動(dòng)程序,在軟件設(shè)計(jì)上充分發(fā)揮了開源軟件的優(yōu)勢(shì),采用高效的Xvidcore編解碼庫(kù),來完成視頻的編碼,以及使用PPP源碼來編譯撥號(hào)上網(wǎng)工具,成本低廉并且縮短了系統(tǒng)的開發(fā)周期,使得本系統(tǒng)具有較強(qiáng)的工程實(shí)用價(jià)值。
1 系統(tǒng)硬件結(jié)構(gòu)
硬件上采用“ARM 3G模塊”系統(tǒng)架構(gòu)。ARM與3G模塊采用分離模塊的設(shè)計(jì)方法,通過USB線相連,較整體設(shè)計(jì)而言具有更好的靈活性,使得一些現(xiàn)有的以ARM為主處理器的系統(tǒng)能夠很好地?cái)U(kuò)展3G功能,便于產(chǎn)品的過渡。本系統(tǒng)的核心處理器是S3C2440A,S3C2440A是一款由SamSu-ng半導(dǎo)體公司推出的基于ARM920T內(nèi)核的16/32位RISC微處理器。內(nèi)部帶有全性能的MMU(內(nèi)存處理單元),主頻為400MHz最大可達(dá)到533MHz,提供了一個(gè)數(shù)字?jǐn)z像頭接口(Camera Interface)。具有高性能、低功耗、接口豐富和體積小等優(yōu)良特性。而3G模塊核心部件采用的是MC8630模塊,該模塊具有語(yǔ)音、短信和高速數(shù)據(jù)業(yè)務(wù)等功能,可以廣泛應(yīng)用于高速數(shù)據(jù)傳輸、安防、無(wú)線媒體、直放站監(jiān)控、鐵路終端和車載監(jiān)控等領(lǐng)域。
系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)主要由視頻采集模塊、數(shù)據(jù)處理模塊、網(wǎng)絡(luò)轉(zhuǎn)發(fā)模塊組成。
2.1 視頻采集模塊設(shè)計(jì)
根據(jù)項(xiàng)目的實(shí)際需要,在本系統(tǒng)中視頻數(shù)據(jù)來源主要有兩個(gè)方面:
1)系統(tǒng)與可提供主動(dòng)上傳功能的視頻服務(wù)器通過RJ45網(wǎng)線直接相接 主要用于完成多路視頻圖像采集。視頻服務(wù)器的主要功能是將攝像頭采集的數(shù)據(jù)完成編碼壓縮,并且將壓縮的數(shù)據(jù)以IP包的形式發(fā)送給接收端,由于該類視頻服務(wù)器通常是在局域網(wǎng)內(nèi)使用,目前還很少有對(duì)于3G網(wǎng)絡(luò)的支持,隨著3G技術(shù)在國(guó)內(nèi)發(fā)展的不斷深入,將在很大程度上取代有線網(wǎng)絡(luò)。所以本系統(tǒng)可作為現(xiàn)有視頻服務(wù)器的3G功能擴(kuò)展。針對(duì)在外接視頻服務(wù)器時(shí)只需對(duì)收到的數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)而無(wú)需對(duì)IP數(shù)據(jù)本身做分析處理的問題,并且在系統(tǒng)啟動(dòng)到3G模塊撥號(hào)成功獲得IP地址之間會(huì)有一定的延遲,在本系統(tǒng)中提出了采用Linux的Netfilter架構(gòu)的方法以及緩沖機(jī)制,通過在數(shù)據(jù)流經(jīng)TCP/IP協(xié)議棧時(shí)掛載鉤子函數(shù),實(shí)現(xiàn)IP數(shù)據(jù)在內(nèi)核態(tài)的獲取,并且通過在內(nèi)核開辟一塊足夠大的環(huán)形緩沖區(qū)來存儲(chǔ)數(shù)據(jù)。由于系統(tǒng)需要頻繁對(duì)緩沖區(qū)進(jìn)行讀寫,為避免產(chǎn)生內(nèi)存碎片,在本系統(tǒng)中采用了環(huán)形隊(duì)列的數(shù)據(jù)結(jié)構(gòu)。在3G模塊獲得IP地址后,再通過驅(qū)動(dòng)讀取緩沖區(qū)中的數(shù)據(jù),由3G網(wǎng)絡(luò)完成轉(zhuǎn)發(fā),從而降低丟包率并且提高數(shù)據(jù)包的轉(zhuǎn)發(fā)效率。因?yàn)閭鹘y(tǒng)的方法是采用socket API來進(jìn)行網(wǎng)絡(luò)編程,其對(duì)數(shù)據(jù)的訪問通常發(fā)生在用戶態(tài),對(duì)于Linux操作系統(tǒng)來說,用戶進(jìn)程的優(yōu)先級(jí)和所占用的CPU時(shí)間要遠(yuǎn)遠(yuǎn)小于內(nèi)核線程,同時(shí)內(nèi)核進(jìn)程擁有較高的執(zhí)行優(yōu)先度,故在網(wǎng)絡(luò)布局允許獲得IP數(shù)據(jù)包的條件下,將用戶態(tài)的數(shù)據(jù)包獲取功能載入內(nèi)核態(tài),可進(jìn)一步提高系統(tǒng)的處理能力,增加系統(tǒng)的有效帶寬,本方法還可用于其他對(duì)IP數(shù)據(jù)本身進(jìn)行處理并且對(duì)處理效率有苛刻要求的系統(tǒng)中,例如:本方法在本實(shí)驗(yàn)室與某航空院合作開發(fā)的IP-TS協(xié)議轉(zhuǎn)換器上也得到了成功的應(yīng)用,具有一定的通用性。Netfilter是Linux 2.6.x系列內(nèi)核提供的一套數(shù)據(jù)包過濾框架,基于該框架的軟件能夠?qū)崿F(xiàn)如數(shù)據(jù)包過濾、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等功能。要使用Netfilter,在內(nèi)核編譯時(shí)設(shè)置“Network Packet Fihering”選項(xiàng)。Netfilter提供了一個(gè)抽象、通用化的框架,作為中間件,為每種網(wǎng)絡(luò)協(xié)議(IPv4、IPv6等)定義一套鉤子函數(shù)。對(duì)于Ipv4協(xié)議定義了5個(gè)鉤子函數(shù),這些鉤子函數(shù)在數(shù)據(jù)報(bào)流過協(xié)議棧的5個(gè)關(guān)鍵點(diǎn)被調(diào)用,Netfilter可以在通過TCP/IP協(xié)議棧的路徑中的幾個(gè)定義良好的點(diǎn)上捕獲數(shù)據(jù)包,IPv4中的一個(gè)數(shù)據(jù)包通過netfilter系統(tǒng)的過程如圖2所示。
NF_IP_PRE_ROUTING
在對(duì)數(shù)據(jù)包進(jìn)行初始正確性檢查(校驗(yàn)和等)后,截獲該數(shù)據(jù)包。
NF_IP_LOCAL_IN
如果數(shù)據(jù)包將要到達(dá)本地主機(jī),則捕獲該數(shù)據(jù)包。
NF_IP_FORWARD
如果數(shù)據(jù)包將要到達(dá)某些其他主機(jī),則捕獲該數(shù)據(jù)包。
NF_IP_LOCAL_OUT
在本地捕獲其目的地是外部的已創(chuàng)建的數(shù)據(jù)包。
NF_IP_POST_ROUTING
這是最后的鉤子,在此之后將傳輸數(shù)據(jù)包。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于嵌入式Linux的無(wú)線路由器設(shè)計(jì)——Bridged Adapter網(wǎng)橋模式
- 基于ARM與嵌入式Linux的GPRS無(wú)線通訊系統(tǒng)
- 《嵌入式LINUX基礎(chǔ)教程》中文 第2版 (1 of 3) 0次下載
- 《嵌入式LINUX基礎(chǔ)教程》中文 第2版 (2 of 3) 0次下載
- 基于嵌入式Linux視頻監(jiān)控系統(tǒng)畢業(yè)論文
- 基于ARM和Linux的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)
- 嵌入式Linux與物聯(lián)網(wǎng)軟件開發(fā)C語(yǔ)言內(nèi)核深度解析書籍的介紹
- 如何使用GPS和3G進(jìn)行智能公交終端的設(shè)計(jì)資料說明 1次下載
- 基于Hi3515的嵌入式視頻監(jiān)控終端設(shè)計(jì) 118次下載
- 基于GPS和3G的智能公交終端設(shè)計(jì) 42次下載
- 基于嵌入式Linux的3G無(wú)線視頻終端設(shè)計(jì) 76次下載
- 3G手機(jī)視頻監(jiān)控及管理后臺(tái)設(shè)計(jì)方案 465次下載
- 嵌入式Linux下基于ARM9的媒體播放的設(shè)計(jì)
- 基于嵌入式Linux的車載終端的設(shè)計(jì)與實(shí)現(xiàn)
- Linux嵌入式視頻直播監(jiān)控系統(tǒng)
- 基于S3C2410處理器實(shí)現(xiàn)3G無(wú)線網(wǎng)卡接入無(wú)線網(wǎng)絡(luò)功能的設(shè)計(jì) 2434次閱讀
- 采用S3C2410處理器和嵌入式Linux實(shí)現(xiàn)手持終端系統(tǒng)的應(yīng)用方案 3487次閱讀
- 嵌入式系統(tǒng)的全面解析 3146次閱讀
- 基于S3C2440A處理器和3G模塊實(shí)現(xiàn)視頻采集程序的設(shè)計(jì) 771次閱讀
- 基于Yocto Project的定制嵌入式Linux產(chǎn)品設(shè)計(jì)淺析 1w次閱讀
- 基于ARM嵌入式開發(fā)平臺(tái)和GPRS無(wú)線傳輸網(wǎng)絡(luò)的遠(yuǎn)程圖像監(jiān)控設(shè)計(jì)方案 1837次閱讀
- 基于嵌入式Linux平臺(tái)構(gòu)建視頻監(jiān)控系統(tǒng)的設(shè)計(jì)過程詳解 1578次閱讀
- 基于嵌入式環(huán)境的WiFi通信設(shè)計(jì)方案詳解 5593次閱讀
- 基于嵌入式Linux的無(wú)線視頻監(jiān)控系統(tǒng)設(shè)計(jì) 3004次閱讀
- 嵌入式Linux的學(xué)習(xí)方法解析 3091次閱讀
- 基于FPGA的嵌入式Linux操作系統(tǒng)解決方案 6026次閱讀
- 基于嵌入式Linux系統(tǒng)的3G/4G路由器設(shè)計(jì) 4865次閱讀
- 一種嵌入式Web服務(wù)器的設(shè)計(jì)方案 4151次閱讀
- MobileHelp醫(yī)療警報(bào)系統(tǒng)采用u-blox GPS和2G/3G方案GPS和無(wú)線技術(shù) 1246次閱讀
- 基于ARM的嵌入式無(wú)線視頻采集系統(tǒng)設(shè)計(jì) 1809次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多