當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]設(shè)計一種嵌入式系統(tǒng),以WinCE操作系統(tǒng)和ARM硬件平臺為核心實現(xiàn)對現(xiàn)場的實時監(jiān)控;通過無線網(wǎng)絡(luò)把視頻圖像傳輸?shù)街鳈C端,以實現(xiàn)分析、存儲及顯示等功能。數(shù)字視頻監(jiān)控系統(tǒng)是以

設(shè)計一種嵌入式系統(tǒng),以WinCE操作系統(tǒng)和ARM硬件平臺為核心實現(xiàn)對現(xiàn)場的實時監(jiān)控;通過無線網(wǎng)絡(luò)把視頻圖像傳輸?shù)街鳈C端,以實現(xiàn)分析、存儲及顯示等功能。

數(shù)字視頻監(jiān)控系統(tǒng)是以計算機或嵌入式系統(tǒng)為中心、視頻處理技術(shù)為基礎(chǔ)組建的的一種新型監(jiān)控系統(tǒng),系統(tǒng)采用符合圖像數(shù)據(jù)壓縮的國際標準,綜合利用圖像傳感器、計算機網(wǎng)絡(luò)、自動控制和人工智能等技術(shù)。由于數(shù)字視頻監(jiān)控系統(tǒng)對視頻圖像進行了數(shù)字化,所以與傳統(tǒng)的模擬監(jiān)控系統(tǒng)相比,數(shù)字監(jiān)控具有許多優(yōu)點。數(shù)字化的視頻系統(tǒng)可以充分利用計算機的快速處理能力,對其進行壓縮、分析、存儲和顯示。

數(shù)字化視頻處理技術(shù)提高了圖像的質(zhì)量與監(jiān)控效率,使系統(tǒng)易于管理和維護。整個系統(tǒng)是模塊化結(jié)構(gòu),體積小,易于安裝、使用和維護。正是由于數(shù)字視頻監(jiān)控技術(shù)具有傳統(tǒng)模擬監(jiān)控技術(shù)無法比擬的優(yōu)點,而且符合當前信息社會中數(shù)字化、網(wǎng)絡(luò)化和智能化的發(fā)展趨勢,所以數(shù)字視頻監(jiān)控技術(shù)正在逐步取代模擬監(jiān)控技術(shù),廣泛應(yīng)用于各行各業(yè)。嵌入式系統(tǒng)以體積小、實時性強、性價比高、穩(wěn)定性好等特點在社會的各個領(lǐng)域中得到了廣泛應(yīng)用。筆者設(shè)計的一種嵌入式系統(tǒng),以WinCE操作系統(tǒng)和ARM硬件平臺為核心實現(xiàn)了對

現(xiàn)場的實時監(jiān)控,并通過無線網(wǎng)絡(luò)把視頻圖像傳輸?shù)街鳈C端,以實現(xiàn)分析、存儲和顯示等功能。

1 系統(tǒng)設(shè)計

本系統(tǒng)主要由操作系統(tǒng)定制、視頻圖像采集、視頻圖像無線傳輸三部分組成。系統(tǒng)的核心芯片選用基于ARM920T內(nèi)核的S3C2410嵌入式微處理器,軟件環(huán)境選用Microsoft Windows CE操作系統(tǒng)。系統(tǒng)首先通過USB攝像頭采集現(xiàn)場實時視頻信息,并對其進行壓縮。然后,使用兩塊無線網(wǎng)卡在ARM開發(fā)板與上位機之間構(gòu)建一個無線局域網(wǎng)絡(luò),從而將壓縮的視頻數(shù)據(jù)傳輸?shù)街鳈C端,終端用戶即可在主機端通過流媒體播放程序查看遠程視頻影像。視頻監(jiān)控系統(tǒng)總體結(jié)構(gòu)框圖如圖l所示。

 

2 操作系統(tǒng)的定制

系統(tǒng)硬件平臺的核心芯片選用了S3C2410處理器,最高頻率可達203 MHz。S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,采用O.18μm制造工藝的32位微控制器。該處理器具有較高的集成度,簡化了應(yīng)用系統(tǒng)的硬件設(shè)計,提高了系統(tǒng)的可靠性。開發(fā)扳上還擴展了4MB的NOR Flash、64 MB的NAND Flash和64 MB的DRAM。

系統(tǒng)選用了Microsoft Willdows CE(簡稱“WinCE”)操作系統(tǒng)。WinCE是一個緊湊的、高效且可擴展的32位操作系統(tǒng),適用于各種嵌入式系統(tǒng)和產(chǎn)品。它擁有多線程、多任務(wù)和確定性的實時、完全搶占式優(yōu)先級的操作系統(tǒng)環(huán)境,專門面向只有有限資源的硬件系統(tǒng);同時,它的模塊化設(shè)計方式使得系統(tǒng)開發(fā)人員和應(yīng)用開發(fā)人員能夠為多種多樣的產(chǎn)品來定制它,可以選擇、組合和配置WinCE的模塊和組件來創(chuàng)建用戶版的操作系統(tǒng)。

在WinCE產(chǎn)品開發(fā)中,主要有內(nèi)核定制和應(yīng)用程序開發(fā)兩項非常重要的工作。微軟在兩方面都提供了良好的開發(fā)工具,即內(nèi)核定制工具Platform Builder(簡稱“PB”)和應(yīng)用程序開發(fā)工具Embedded Visual C++(簡稱“EVC”)。

在系統(tǒng)定制過程中,各部分的關(guān)系如圖2所示。

3 視頻圖像采集

3.1 攝像頭驅(qū)動

圖像采集模塊的硬件資源選用了當前市面上應(yīng)用最廣泛的USB接口的中星微攝像頭。該款攝像頭造價低廉,成像效果好,用于本系統(tǒng)中體現(xiàn)出了較高的性價比。系統(tǒng)在進行視頻采集前,首先要檢測設(shè)定視頻源。系統(tǒng)啟動后,WinCE操作系統(tǒng)會自動檢測攝像頭是否連接好。本系統(tǒng)在定制WinCE操作系統(tǒng)時,通過修改操作系統(tǒng)配置和注冊表??梢允瓜到y(tǒng)自動加載攝像頭在WinCE下的驅(qū)動程序ZC030x.dll。

系統(tǒng)自動加載驅(qū)動程序時,首先要將驅(qū)動程序復(fù)制到\WINDOWS文件夾下,然后向注冊表中寫入攝像頭的驅(qū)動信息:

 

其中,prefix為設(shè)備文件名,D11為驅(qū)動的文件名,Order為設(shè)備文件名索引。硬件配置完成后啟動操作系統(tǒng),就可以自動加載驅(qū)動,運行應(yīng)用程序進行圖像采集了。

3.2 圖像采集程序

中星微攝像頭采用了中星微301PLUS快速主控芯片。該芯片是一款高性能圖像壓縮芯片,輸出MIPEG視頻流數(shù)據(jù)。MIPEG(Motion JPEG)主要是基于靜態(tài)視頻壓縮發(fā)展起來的技術(shù),特點是基本不考慮視頻流中不同幀之間的變化,只單獨對某一幀進行壓縮,通常可達到6:1的壓縮率。它的誤差穩(wěn)定性非常好,可以獲取清晰度很高的視頻圖像,而且還可以靈活設(shè)置各路視頻清晰度,壓縮幀數(shù)。

本系統(tǒng)直接從攝像頭驅(qū)動中獲取MJPEG視頻流數(shù)據(jù)。

圖像采集模塊用到的主要函數(shù)有:

capInitCamera()用來初始化視頻設(shè)備,并獲取當前可用的視頻設(shè)備數(shù)目;

capSetVideoFormat()設(shè)置視頻格式和分辨率。本系統(tǒng)使用的視頻格式為RGB24,分辨率為320×240像素;

capGrabFrsme()從驅(qū)動中抓取1幀圖像,并存儲在緩存lpFrameBuffer中;

capGetLastJpeg() 將抓取的MJPEG格式的圖像轉(zhuǎn)換成JPEG格式,送到無線發(fā)送模塊。

capCloseCamera() 關(guān)閉視頻設(shè)備;

視頻采集部分還有查詢視頻采集格式、設(shè)置明暗度、設(shè)置對比度等相關(guān)函數(shù),不再詳述。

4 視頻傳輸部分

4.1 配置無線網(wǎng)卡

圖像傳輸模塊主要是通過USB接口的無線網(wǎng)卡來實現(xiàn)的。該無線網(wǎng)卡可與S3C2410集成的USB主機接口直接相連,工作在2.4 GHz的ISM頻段,采用直接序列擴頻通信方式,遵從802.11g協(xié)議,傳輸速度可達54Mbps,室內(nèi)有效距離為100 m,能夠滿足局域網(wǎng)內(nèi)視頻傳輸?shù)囊蟆1鞠到y(tǒng)通過開發(fā)板和主機之間的無線網(wǎng)卡構(gòu)建無線局域網(wǎng)絡(luò),能夠?qū)崿F(xiàn)點對點的無縫連接,用戶通過此無線網(wǎng)絡(luò)可以實現(xiàn)文件傳輸、視頻通信等應(yīng)用。

開發(fā)板端的無線網(wǎng)卡也需要加載驅(qū)動才能運行。本系統(tǒng)在定制WinCE操作系統(tǒng)時,首先將無線網(wǎng)卡的驅(qū)動程序復(fù)制到\WINDOWS文件夾下,然后向注冊表中寫入無線網(wǎng)卡的驅(qū)動信息。WinCE操作系統(tǒng)啟動后會自動檢測無線網(wǎng)卡是否連接好,并加載驅(qū)動程序,此時,就可以通過應(yīng)用程序調(diào)用此無線網(wǎng)卡了。在無線傳輸時,注意要把開發(fā)板和主機設(shè)置在同一IP網(wǎng)段。

4.2 傳輸視頻數(shù)據(jù)

實時傳輸協(xié)議RTP(Real time Transport Protocol)是一種實時流式傳輸協(xié)議,能夠保證媒體信號帶寬與當前網(wǎng)絡(luò)狀況相匹配,在一對一(umcast,單播)或者一對多 (multicast,多播)的網(wǎng)絡(luò)環(huán)境中實現(xiàn)流媒體數(shù)據(jù)的實時傳輸。RTP通常使用UDP來進行多媒體數(shù)據(jù)的傳輸。整個RTP協(xié)議由兩個密切相關(guān)的部分組成:RTP數(shù)據(jù)協(xié)議和RTCP控制協(xié)議。[!--empirenews.page--]

針對系統(tǒng)數(shù)據(jù)的收發(fā)要求,采用了開源代碼JRT-PLIB提供的RTP協(xié)議棧。JRTPLIB是一個面向?qū)ο蟮腞TP庫,完全遵循RFC1889設(shè)計。開發(fā)人員只要初步了解RTP協(xié)議就可以開發(fā)出高質(zhì)量的音/視頻傳輸程序。把它移植到EVC上,稍作修改就可以應(yīng)用在WinCE操作系統(tǒng)的ARM開發(fā)板上了。

4.2.1 建立RTP的數(shù)據(jù)發(fā)送和接收

JRTPLIB 提供的RTPSession類可以實現(xiàn)RTP的數(shù)據(jù)發(fā)送和接收。RTP數(shù)據(jù)發(fā)送和接收的初始化步驟基本相同。首先設(shè)置時間戳、最大的RTP包尺寸、數(shù)據(jù)超時等會話參數(shù),然后設(shè)置基端口(注意這個端口必須是偶數(shù),默認值為5000)。在設(shè)置好這些參數(shù)之后,就可以使用RTPSession的Create方法建立RTP數(shù)據(jù)接收和發(fā)送了。

數(shù)據(jù)發(fā)送端使用RTPIPv4Address(intIP,PORT_DATA)建立一個新的地址,再使用AddDestination將這個地址增加到發(fā)送的地址列表中。然后,調(diào)用SendPacket函數(shù)發(fā)送RTP數(shù)據(jù)。

在數(shù)據(jù)接收端建立RTP會話并且增加了目標地址后,就可以從目標地址接收數(shù)據(jù)了。此時將調(diào)用OnRtpPacket函數(shù)接收RTP數(shù)據(jù),在這個函數(shù)里取得裝載數(shù)據(jù)并使用。在OnRTPPacket函數(shù)中,調(diào)用函數(shù)zc030x_OutPicture(&m_pDlg->frame),對接收到的數(shù)據(jù)進行解碼。最后,調(diào)用函數(shù)StretchDIBits(),在當前窗口中顯示視頻圖像。

4.2.2 RTP的控制協(xié)議——RTCP

RTCP(Real-time Transport Control Protocol)和RTP一起提供流量控制和擁塞控制服務(wù)。在RTP會話期間,各參與者周期性地傳送RTCP包。RTCP包中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計資料,因此,服務(wù)器可以利用這砦信息動態(tài)地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,以有效的反饋和最小的開銷使傳輸效率達到最佳效果。

JRTPLIB是一個高度封裝的RTP庫,調(diào)用PollData()或者SendPacket()方法后,JRTPLIB能夠自動對到達的RTCP數(shù)據(jù)報進行處理,并在需要時發(fā)送RTCP數(shù)據(jù)報,從而確保整個RTP會話過程的正確性。在RTP數(shù)據(jù)收發(fā)中,也可以通過調(diào)用RTPSession類提供的方法選擇當前RTP會話需要發(fā)送的控制信息,并對控制信息進行設(shè)置。

結(jié)語

本系統(tǒng)基于S3C2410平臺和WinCE操作系統(tǒng),通過USB攝像頭采集現(xiàn)場實時視頻信息,并對其進行壓縮。然后,用兩塊無線網(wǎng)卡在開發(fā)板與上位機之間構(gòu)建無線局域網(wǎng)絡(luò),使用實時流式傳輸方式實現(xiàn)了視頻數(shù)據(jù)的無線傳輸。整個系統(tǒng)具有穩(wěn)定可靠、安裝簡便、成本低廉等特點,可以應(yīng)用在遠程監(jiān)控、工業(yè)控制、視頻會議、可視電活等諸多領(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉