新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式和碼分多址實現遠程視頻監控系統

        嵌入式和碼分多址實現遠程視頻監控系統

        作者: 時間:2011-08-26 來源:網絡 收藏
        4 軟件系統設計

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

          4.1 控制終端程序設計

          控制終端軟件的核心是Linux操作系統,一切功能的都基于 Linux操作系統完成,Linux本身作為一個桌面系統,進入操作系統領域時,需要解決的問題主要包括硬件支持、提供二次開發的環境以及小型化(裁減內核)等,小型化的目的是在滿足操作系統基本功能和用戶特定需要的情況下,使內核盡可能小,作為一個操作系統,Linux內核主要負責程序的管理與調度、內存的管理及對外設的驅動和管理等,由于Linux內核采用模塊化的設計,很多模塊可以獨立地加載或卸載,所以小型化就是對Linux內核重新編譯,在編譯時仔細地選擇設備所需要的功能模塊,同時刪除不需要的功能,這里只需要串口驅動、USB攝像頭接口驅動(包含USB Host,USB Core和USB Device)還有撥號網絡應用,還要支持PPP、TCP/IP網絡協議,其他都可以刪除掉,使系統運行所需要的內核顯著減小至1Mb以內。

          具體程序設計包括Bootloader啟動代碼、設備驅動程序(USB攝像頭接口驅動程序、串口驅動程序)、撥號、PPP及TCP/IP協議處理,監控接收轉發控制程序等。控制流程如圖3所示。

          

        視頻控制終端程序圖

          a)系統加電后復位。

          b)Bootloader初始化CPU、SDRAM、分配地址空間等。

          c) Bootloader把Linux內核的壓縮文件解壓到SDRAM中,同時把控制權從Bootloader移交到Linux。Linux的內核有兩種運行方式可供選擇。可以在Flash存儲器上直接運行,也可以加載到內存中運行。Flash存儲器運行方式就是把內核的可執行映像燒寫到Flash存儲器上,系統啟動時從Flash存儲器的某個地址開始運行內核,進入SDRAM繼續運行,這種做法能減少內存需要,實際上很多嵌入式系統都采用這種方法,內存加載方式把內核的壓縮文件存放在Flash存儲器上,系統啟動時自動讀取壓縮文件并在內存中解壓,然后開始執行,這種方式相對較復雜,但運行速度更快,我們采用的就是這種方式。

          d)開始執行SDRAM中的代碼,Linux內核初始化,完成堆棧,中斷的分配等。

          e)加載串口驅動模塊和USB攝像頭驅動模塊,完成串口和USB口的初始化。

          f)運行PPP撥號程序,通過CDMA網絡與Internet進行連接,在Linux下的PPP包是專門為解決Modem撥號上網問題而編寫的,并且是公開源代碼的,PPP撥號腳本程序主要是通過調用pppd和chat這兩個應用程序,并通過AT指令對Modem的操作。

          至此,已經建立了從圖像采集到圖像傳輸的完整的嵌入式,但是,作為一個嵌入式操作系統,他是為某一專門的用途而設計的。運行不同的用戶應用程序,就可以用戶要求的不同功能,生動地體現了嵌入式系統的靈活性。

          我們運行的用戶程序是一個無限循環的過程,控制終端在不斷等待拍照請求,通過比較識別認為有請求后,CPU通過USB攝像頭驅動控制攝像頭拍照,同時接收圖片并發送控制中心,或通過SMTP協議,發送到指定的Email地址,完成一次請求。

          4.2 控制中心服務器程序設計

          服務器端軟件實現的主要功能是接收、保存和重顯由嵌入式終端發送過來的監控圖片,控制中心主機通過撥號、帶寬上網等方式登錄到Internet上,注意必須申請一個靜態IP地址,使主機每次登錄到Internet所獲得的IP地址(互聯網IP地址)不變,主機登錄Internet后,即可運行服務器端軟件,服務器端程序設計主要包括網絡通信、接收圖片、保存圖片、即時重顯圖片和察看圖片,用戶通過此軟件可以方便地瀏覽由控制終端發來的圖片。

          另一種方案是不設置控制中心服務器,控制終端抓怕到的圖片直接發送到指定的Email地址,這種方案容易管理,只需定期查收Email,清除Email存儲空間即可,運行成本很低,但可靠性差。

          5 結束語

          利用無線網絡與IT技術對傳統監控領域進行革新,是市場的需要,在這個過程中,嵌入式系統因其體積小、處理能力強、支持網絡服務等功能,無疑扮演了重要角色。

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新绛县| 泉州市| 库尔勒市| 博客| 沅江市| 丁青县| 专栏| 牡丹江市| 襄樊市| 鄢陵县| 体育| 城市| 河北省| 临潭县| 泸定县| 栾川县| 施秉县| 永新县| 石楼县| 裕民县| 永川市| 蒙山县| 涿鹿县| 正安县| 乡宁县| 醴陵市| 邯郸县| 肥城市| 青铜峡市| 祁东县| 涿州市| 邵阳县| 日喀则市| 闽清县| 黄冈市| 宜都市| 潜江市| 云龙县| 仁怀市| 独山县| 隆子县|