新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于H.264的嵌入式無線視頻監控系統

        基于H.264的嵌入式無線視頻監控系統

        作者: 時間:2012-04-11 來源:網絡 收藏

        Hi3510使用ARM926EJ-S內核,哈佛結構的32位RISC處理器,其內內置MMU,主頻可達到 240MHz,可以很好得運行嵌人式Linux2.6,不但保持了嵌人式系統小型化、低功耗、易攜帶的特點,又充分利用了Linux系統完整的內存、文件、線程管理功能,大大方便了程序的開發和程序中多任務功能的實現。

        是面向網絡和因特網的圖像編碼與傳輸技術.與其相關的各種研究已成為當今信息科學與技術的前沿課題。 具有高壓縮比,良好的網絡適應性,一定的魯棒性等優異性能,但其計算量過高,編碼時間過長,限制了它的廣泛應用。Hi3510芯片是具有 硬件編碼SOC芯片DD Hi3510采用ARM9+DSP+硬件引擎方式,方便地提供了H.264壓縮流,而且可以獲得很好壓縮比。

        碼分多址通訊模塊采用深圳倚天科技公司的ETPro-309 AI CDMA Modem,其內置SIM卡,其內部核心芯片是Qualcomm MSM6025。該模塊包含碼分多址業務標準IS95和IS2000的調制解調系統,而且帶內置TCP/IP協議棧,可利用AT命令直接與其通信。碼分多址模塊與核心處理器之間使用UART進行連接。

        Hi3510支持ITU-R BT.656/601輸入接口,攝像機接口接受ITU標準的圖像數據,不能直接接收CCD攝像機輸出的模擬視頻信號,因此我們只需要再加一片SAA7114視頻解碼芯片,就可以完成硬件系統的搭建。

        3.2 監控終端軟件設計

        控制終端軟件的核心是Linux操作系統,所有功能的實現都Linux操作系統來完成。主要包括三個層次,最底層是BootLoader服務程序和基本外設驅動,它主要完成系統加載和ARM核心處理器的初始化配置,第二層主要是攝像頭模塊和碼分多址模塊的驅動程序,最后一層是系統的應用程序。

        由于Linux內核采用模塊化的設計。很多模塊可以獨立地加載或卸載,所以小型化就是對Linux內核重新編譯,在編譯時仔細地選擇設備所需要的功能模塊,同時刪除不需要的功能。這里只需要串口驅動、SAA7114視頻解碼芯片驅動,還有撥號網絡應用,還要支持 PPP、TCP/IP網絡協議,其他都可以刪除掉,使系統運行所需要的內核顯著減小至l Mb以內。碼分多址撥號通過運行PPP程序進行。在Linux下的PPP包是專門為解決Modem撥號上網問題而編寫的,并且是公開源代碼的。PPP撥號腳本程序主要通過調用pppd和chat這兩個應用程序,并通過AT指令實現對Modem的操作。

        應用程序主要是監聽用戶命令,收到命令后調用攝像頭模塊采集圖像,然后再使用碼分多址模塊來發送圖像數據。終端一旦初始化后,就與中心服務器建立TCP連接,在運行過程中終端跟中心服務器保持TCP連接,中心服務器可隨時主動地請求圖像數據,因此,對于對交互性和實時性有較高要求的應用系統可實現較好的響應。監控終端軟件流程如圖3所示。

        22.jpg
        圖3. 監控終端軟件流程圖

        4 RTP的H.264視頻流傳輸控制

        由于H.264具有前面所指出的多種優點,本系統設計了基于RTP的H.264視頻流傳輸控制。RTP協議對實時數據傳輸的支持包括時間戳、序列號、荷載類型標識和源標識等,時間戳反映了RTP數據幀中第一字節數據的采樣時間,采樣時間是線性單調增長的。接收方根據收到數據幀的時間戳來重建接收數據的時序關系,以便正確回放媒體流。序列號用于數據傳送的丟失檢測和幀序重構;荷載類型標識則指明RTP幀數據荷載的編碼格式;源標識用于指示接收方式所接收數據的來源。以上功能均通過RTP的幀頭來實現。

        RTP 數據協議運行在面向數據報的UDP 之上,它只能提供無連接的不可靠服務,幀丟失或出錯都會降低圖像或聲音的質量。RTCP控制協議需要與RTP數據協議一起配合使用,RTP本身并不能為按序傳輸數據包提供可靠的保證,也不提供流量控制和擁塞控制,這些都由RTCP來負責完成。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 买车| 安福县| 呈贡县| 科技| 密云县| 阿拉善盟| 麟游县| 红安县| 略阳县| 五常市| 罗甸县| 深州市| 云霄县| 佛山市| 潞西市| 苗栗县| 岢岚县| 徐州市| 扎赉特旗| 汪清县| 西青区| 昌黎县| 两当县| 肇东市| 新河县| 观塘区| 雷波县| 屏山县| 松原市| 山阴县| 镇康县| 漳平市| 正宁县| 扶绥县| 泊头市| 肇庆市| 乌鲁木齐市| 西吉县| 淳安县| 栖霞市| 宁明县|