新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于GM8180的嵌入式視頻服務器設計

        基于GM8180的嵌入式視頻服務器設計

        作者: 時間:2010-04-01 來源:網絡 收藏

        1.3 其他模塊
        網絡方面,集成了以太網接口控制器,支持RMII接口,可直接連接以太網物理接口芯片DM9161A。DM9161A是Davicom公司生產的一款低功耗、高性能的以太網物理層芯片,它完全兼容IEEE 802.3u 10Base-T/100:Base-TX標準,同時兼容ANSI TP-P(如1995)標準;支持MII和RMII兩種接口模式,可完成對網絡數據的接收解碼和對數據幀的編碼發送。
        此外,實時時鐘芯片S35390A通過I2C總線連接主芯片為系統提供準確、不間斷的時間信息以及定時報警服務。

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

        2 系統軟件
        在軟件的上,采用ARM-Linux 2.6操作系統作為服務器軟件的承載平臺。ARM-Linux的源代碼完全免費開放,內核可任意裁剪,應用程序和驅動都非常豐富。在ARM-Linux操作系統的基礎上,通過Vide04Linux(V4L)接口采集的視頻圖像交由片內的H.264編碼引擎進行壓縮編碼;音頻上,通過OSS接口采集PCM數據進行自適應多速率窄帶語音(AdaptiveMulti-Rate NarrOWband,AMRNB)編碼。通過RTSP流媒體服務器為用戶提供實時的音視頻訪問服務。
        2.1 視頻采集驅動
        V4L是Linux下用于獲取視頻數據的通用API接口。將GM8180的視頻采集封裝成V4L接口,以便位于應用層的RTSP服務器開發使用。V4L驅動程序需向操作系統內核注冊video_device設備,用于指定文件操作接口,使得用戶層可以通過標準文件操作來采集視頻。
        視頻采集的流程如圖4所示,用戶設置采集參數(例如圖像分辨率)時,驅動需要完成SAA7113H和GM8180片上視頻采集控制器的寄存器設置,以及驅動內核態下圖像數據緩沖區的分配等工作。此后,應用層以VIDIOCMCAPTURE標志和VIDEOSYNC標志為參數循環調用ioctl()函數來獲得視頻圖像數據。


        當應用程序以VIDIOCMCAPTURE標志調用ioctl()函數時,驅動檢查采集控制器和DMA狀態,如果當前是正常的采集狀態,則ioctl()系統調用返回;如果當前不是正常的采集狀態,則重新觸發采集控制器和DMA。當應
        用程序以VIDEOSYNC標志調用ioctl()函數時,驅動先判斷采集緩沖區內是否有圖像數據,沒有則將調用者掛起在采集等待隊列中。直到采集完1幀完整的數據,在DMA中斷響應函數中調用wake_up()函數將采集等待隊列中的進程喚醒,返回圖像數據給應用層調用者。
        2.2 H.264編碼引擎
        GM8180片上集成支持基線檔次的H.264編碼引擎,該編碼引擎遵循AMBA 2.0總線規范。H.264編碼引擎通過AHB總線與主CPU和其他片上模塊相連。編碼引擎同時具有AHB主、從模塊功能:
        ◆當主CPU訪問編碼引擎內部寄存器時,編碼引擎為從模塊,主CPU作為主模塊;
        ◆當編碼引擎通過內建DMA讀寫系統內存時,編碼引擎為主模塊,DDR控制器為從模塊。

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永康市| 乐业县| 江源县| 阿拉善盟| 阳城县| 永城市| 霍州市| 恩施市| 静安区| 民县| 芒康县| 苏尼特左旗| 工布江达县| 海城市| 莱阳市| 郴州市| 邛崃市| 永兴县| 比如县| 筠连县| 荣成市| 汉源县| 镇江市| 耿马| 涿鹿县| 通江县| 衢州市| 正定县| 青海省| 九龙县| 普兰店市| 多伦县| 涟源市| 沽源县| 淅川县| 锦屏县| 武强县| 肥西县| 通江县| 红河县| 教育|