新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式Linux的3G無線視頻終端的設計與實現

        基于嵌入式Linux的3G無線視頻終端的設計與實現

        作者: 時間:2011-08-01 來源:網絡 收藏

        i.jpg
        壓縮模塊為例,其軟件流程如圖6所示。

        本文引用地址:http://www.104case.com/article/150415.htm

        k.jpg


        2.3 網絡轉發模塊
        在完成對采集圖像的壓縮或者接收完服務器后,需要將數據通過網進行轉發,完成網絡數據轉發通常采取的辦法是利用提供的socket API進行,socket給用戶提供了統一的編程接口,網絡傳輸協議通常有TCP和UDP兩種,對于TCP每次要通過3次握手建立連接,在等待亂序及重傳丟失數據時會產生較大延時,而UDP又缺乏流量控制,所以都不太適用于實時數據傳輸,在這種情況下運行于UDP之上的RTP則具有很大的優勢,目前對于有實時要求的數據傳輸RTP是最好的協議,故在本系統中使用了RTP協議作為數據傳輸協議,流程如圖7所示。

        l.jpg


        2.4 模塊驅動及聯網
        模塊與ARM是通過USB相連的。到3G網絡的連接是通過PPP協議的,PPP協議是一種點對點串行通信協議,為在點對點連接上傳輸多協議數據包提供了一個標準方法。由于目前市場上的3G模塊基本上都是提供Windows CE操作系統下的驅動程序,但對于下面的目前還沒有驅動支持,所以為本系統開發了3G模塊的驅動程序。要完成3G模塊的撥號上網功能,需要3個層面的支持:1)是內核層面;2)驅動層面;3)應用程序層面的支持。內核層面主要是通過對內核的重新配置來完成,由于3G模塊與ARM通過USB線連接,而上層的PPP通信采用的是串行協議,所以要在內核中加入USB轉串口的支持,通過makemenuconfig命令進入內核配置界面,依次選擇Device Drivers->USB support->USB Serial Converter Support選擇USB Generic Serial Driver按兩次空格鍵使項目前加[*]將其編譯入內核,其中加*為編譯成內核模塊,加M為編譯為模塊。由于采用的是PPP協議,故要在內核中加入PPP的支持。進入內核配置界面以后,依次選擇DeviceDrivers->Network device support->PPP(point-to-point)protocol support選中,將PPP編譯入內核,同時選擇PPP展開項,將其全部編譯入內核,保存退出。對于驅動層面,3G模塊的驅動開發主要是通過修改兩個文件generic.c以及usb-serial.c,其中generic.c為USB通用程序,usb-serial.c為USB轉串口程序。通過在其中加入一些網絡層的hook函數來達到對上層協議的支持。將修改過后的文件復制到/linux2.6.29/drivers/usb/serial,重新編譯內核,生成zImage鏡像,然后下載到板子上。完成3G模塊驅動的以及內核對PPP協議的支持,對于撥號上網應用程序的支持,主要是通過PPP提供的兩個工具pppd和chat來的,其中PPP提供了一種點對串行線路上傳輸數據流的方法,chat主要用于撥號并等待提示。可從網上下載PPP源碼,在本系統中采用的版本為PPP-2.4.0,下載后要解壓并且根據目標板的類型來進行交叉編譯得到撥號程序。

        3 結束語
        本文在一塊ARM開發板上了多種功能,包括數據,通過外接視頻服務器實現了現有視頻服務器的3G功能擴展,通過采用了Netfilter與socket結合的方法,將數據包獲取功能從用戶態載入內核態,避免了數據的內存拷貝,提高了處理效率,同時引入內核緩沖機制。解決了3G撥號延時而造成的視頻服務器丟包問題,配合Netfilter用戶工具iptables的使用,可以在本系統上實現NAT,包過濾防火墻等功能。方便對流經系統數據包的管理。
        針對目前市場上的3G模塊大多只提供Windows CE下驅動這一問題,開發了3G模塊驅動,使得現有3G模塊可使用與Linux系統下,用戶可直接在此基礎上通過socket進行編程,而無需考慮底層的硬件通信問題。在軟件設計上充分發揮開源軟件的優勢,采用Xvideore進行視頻編碼,以及PPP源碼編譯撥號軟件等,縮短了系統開發周期,系統在軟件的整體設計上提出了一套相對通用的軟件架構,可方便實現功能的擴展及升級。

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

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陵水| 武功县| 罗江县| 策勒县| 肃南| 宣威市| 孟村| 宣城市| 赤壁市| 章丘市| 汉川市| 金门县| 屏南县| 正镶白旗| 吕梁市| 乐亭县| 静安区| 鄂尔多斯市| 汝州市| 二手房| 略阳县| 东至县| 财经| 博兴县| 延寿县| 天全县| 元氏县| 桂平市| 龙胜| 钦州市| 新河县| 南康市| 苍梧县| 大厂| 岫岩| 铁岭市| 深州市| 朝阳县| 西藏| 吉木乃县| 尼勒克县|