• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    最新廣告
    關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    工業(yè)智能邊緣計算2025年會
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的設(shè)計與實現(xiàn)
    • 企業(yè):     領(lǐng)域:運動控制與伺服系統(tǒng)     行業(yè):電子制造    
    • 點擊數(shù):2280     發(fā)布時間:2005-08-19 12:24:10
    • 分享到:
    具有圖像采集、傳輸和處理等功能的嵌入式視頻監(jiān)控設(shè)備可以在Internet上傳輸圖像數(shù)據(jù),基本上不受距離限制,無須重新布線;性能穩(wěn)定,且便于安裝,維護。文中討論了以CMOS圖像采集芯片,ARM微處理器和嵌入式操作系統(tǒng)為核心的監(jiān)控設(shè)備的軟硬件設(shè)計。重點介紹了ARM單片機子系統(tǒng)、圖像采集模塊、圖像存儲控制模塊等硬件部分的設(shè)計原理與實現(xiàn)。介紹了在uClinux下驅(qū)動程序、圖像采集、圖像壓縮算法、網(wǎng)絡(luò)通訊程序的實現(xiàn)原理與過程,以及圖像合成、處理的方法。



    1 引言

        隨著計算機技術(shù)及網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,視頻監(jiān)控系統(tǒng)的發(fā)展趨勢必然是全面數(shù)字化、網(wǎng)絡(luò)化,即采用嵌入式網(wǎng)絡(luò)攝像機,利用網(wǎng)絡(luò)進行傳輸,并充分利用大規(guī)模集成電路和網(wǎng)絡(luò)的科技成果,及體積小巧、性能穩(wěn)定、通訊便利等特點,將使監(jiān)控無處不在成為現(xiàn)實。而目前,我國基于嵌入式技術(shù)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)剛剛起步,所以研究并開發(fā)一種基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)具有很大的工程實際意義。
        本文針對網(wǎng)絡(luò)視頻監(jiān)控設(shè)備的實際應(yīng)用需求,有機的結(jié)合圖像采集和嵌入式系統(tǒng)兩方面的新技術(shù),設(shè)計了基于ARM 32位單片機系統(tǒng)和圖像采集存儲系統(tǒng)的嵌入式網(wǎng)絡(luò)視頻監(jiān)控設(shè)備,并實現(xiàn)了視頻數(shù)據(jù)的采集、壓縮與網(wǎng)絡(luò)傳輸。

    2 ARM與嵌入式網(wǎng)絡(luò)視頻監(jiān)控設(shè)備

        32位嵌入式處理器中有MIPS、ARM、M-CORE等等。ARM(Advanced RISC Machines)處理器本身是32位系統(tǒng),其內(nèi)核具有性能高、成本低和能耗省的特點。
        支持ARM的嵌入式操作系統(tǒng)主要有:Windows CE、Vxworks、uClinux等[1]。uClinux是“Micro-Control-Linux”縮寫,意即“針對微控制領(lǐng)域而設(shè)計的Linux系統(tǒng)”[2]主要是面對沒有MMU并且資源很少的嵌入式系統(tǒng)。高性能、高集成度將是嵌入式系統(tǒng)的發(fā)展方向[4]。“嵌入式網(wǎng)絡(luò)視頻監(jiān)控設(shè)備”是第三代數(shù)字監(jiān)控設(shè)備,系統(tǒng)結(jié)構(gòu)如圖1。


        嵌入式網(wǎng)絡(luò)視頻監(jiān)控設(shè)備體積小巧,具有圖像采集、圖像處理功能,帶有以太網(wǎng)接口,TCP/IP協(xié)議棧,性能比較穩(wěn)定,可直接與Internet互連,系統(tǒng)的擴展性很好,監(jiān)控區(qū)域幾乎無限,并且由于設(shè)備傳輸?shù)骄W(wǎng)絡(luò)上是數(shù)字化視頻信號,可直接利用軟硬件進行處理。同時因為設(shè)備本身帶有操作系統(tǒng),因此可以方便的進行后續(xù)開發(fā),增加用戶所需功能,提高設(shè)備的智能程度。

    3 嵌入式監(jiān)控系統(tǒng)硬件模塊的設(shè)計

    3.1系統(tǒng)總體設(shè)計

        硬件系統(tǒng)可以分為三個模塊:ARM集成開發(fā)模塊、圖像采集模塊、圖像存儲控制模塊。其中ARM集成開發(fā)模塊模塊的CPU采用三星的S3C4510B;圖像采集模塊中的CMOS圖像采集芯片采用Ommvision公司的OV7620,鏡頭采用桑來斯公司生產(chǎn)的DSL103鏡頭;圖像存儲模塊主要包括74LS244(八進制3狀態(tài)線緩沖器),4040(12位二進制串行計數(shù)器),512K 的SRAM  CY7C1049。功能原理框圖如圖2所示:


       
    系統(tǒng)工作過程可分為主要兩個步驟:圖像數(shù)據(jù)存儲和圖像數(shù)據(jù)讀出過程。系統(tǒng)上電之后,單片機將通過I2C總線對CMOS圖像傳感器的工作寄存器進行初始化設(shè)置,以便使圖像傳感器進入正常的工作狀態(tài),如開窗口位置、逐行掃描方式、自動曝光、自動平衡等。如果上位機需要調(diào)整CMOS圖像傳感器的工作參數(shù),則可以通過地址端口寫入;隨后,CMOS圖像傳感器輸出的8位圖像數(shù)據(jù)在邏輯控制電路的協(xié)調(diào)控制下,順序存入靜態(tài)RAM構(gòu)成的圖像數(shù)據(jù)緩沖器。如果上位機沒有發(fā)出讀數(shù)據(jù)的命令,則此過程一直進行下去,新的圖像數(shù)據(jù)不斷地覆蓋原有的數(shù)據(jù);如果上位機發(fā)出讀取圖像數(shù)據(jù)的命令,則等待一幀完整的圖像寫入后,單片機將CMOS圖像傳感器的圖像輸出通道關(guān)閉,然后將SRAM中的數(shù)據(jù)順序從IO讀入。讀完一幀圖像后,再將CMOS圖像傳感器的圖像輸出通道打開重新開始新的一幀圖像的采集。

    3.2 ARM集成開發(fā)模塊模塊的設(shè)計

    系統(tǒng)硬件結(jié)構(gòu)框圖如下:


       
    本系統(tǒng)CPU S3C4510B是基于以太網(wǎng)應(yīng)用系統(tǒng)的高性價比16/32位RISC微控制器,內(nèi)含一個由ARM公司設(shè)計的16/32位ARM7TDMI RISC處理器,ARM7TDMI為低功耗高性能的16/32位核。該CPU最適合用于對價格及功耗敏感的應(yīng)用場合[3]。
        系統(tǒng)中采用的Flash存儲器MBM29F016在本系統(tǒng)中用來存放uClinux操作系統(tǒng)程序代碼。SDRAM是高速的動態(tài)隨機存取存儲器,在系統(tǒng)中主要用作程序的運行空間、數(shù)據(jù)及堆棧區(qū)。RTL8201是一種全雙工以太網(wǎng)控制器,當系統(tǒng)中主處理器要向網(wǎng)上發(fā)送數(shù)據(jù)時,先將一幀數(shù)據(jù)通過遠程DMA通道送到RTL8201中的發(fā)送緩存區(qū),然后發(fā)出傳送數(shù)據(jù)命令。RTL8201在完成了上一幀的發(fā)送后,再完成此幀的發(fā)送。RTL8201接收到的數(shù)據(jù)通過MAC比較,CRC校驗后,由FIFO存到接收緩沖區(qū),收滿一幀后,以中斷的方式通知主處理器。

    3.3 OV7620攝像頭模塊電路設(shè)計

        由于OV7620集成度高,外圍電路設(shè)計非常簡單,僅由石英晶體和一些電阻、電容等元件組成。

    3.4圖像存儲模塊的硬件設(shè)計

        圖像存儲模塊采用兩個計數(shù)器4040作為RAM的地址信號,分別采集和讀取利用PCLK或ARM的IO脈沖信號作為計數(shù)器的時鐘信號。本模塊利用MAX+plusⅡ 軟件仿真了硬件時序,分析組合邏輯電路及時序邏輯電路,驗證了數(shù)字系統(tǒng)設(shè)計的準確性。

    4嵌入式系統(tǒng)控制軟件的設(shè)計與實現(xiàn)

    4.1系統(tǒng)控制流程

        系統(tǒng)軟件模塊主要在嵌入式操作系統(tǒng)uClinux下用C語言實現(xiàn)。其主要作用在于控制硬件設(shè)備,完成預(yù)定的圖像采集、壓縮、傳輸功能。按控制時序方向依次為I2C驅(qū)動程序、圖像數(shù)據(jù)采集程序、圖像壓縮程序、網(wǎng)絡(luò)傳輸程序四部分組成。系統(tǒng)控制流程圖5如下:



       
    如上圖所示,當將要采集圖像數(shù)據(jù)時,嵌入式系統(tǒng)通過I2C驅(qū)動程序設(shè)置OV7620內(nèi)部寄存器的值,配置合適的圖像格式。當一幀圖像完全存儲到SRAM后,啟動圖像采集程序,將SRAM中的數(shù)據(jù)讀取到嵌入式系統(tǒng)內(nèi)存中,并進行壓縮,最后打包發(fā)送到網(wǎng)絡(luò)上。

    4.2 I2C驅(qū)動程序的原理與實現(xiàn)

        系統(tǒng)上電之后,單片機將通過I2C總線對CMOS圖像傳感器的工作寄存器進行初始化設(shè)置,以便使圖像傳感器進入正常的工作狀態(tài),如開窗口位置、逐行掃描方式、自動曝光、自動白平衡等。如果上位機需要調(diào)整CMOS圖像傳感器的工作參數(shù),則可以通過地址端口寫入,雖然S3C4510B提供了I2C BUS。但是目前市面上的uClinux則沒有針對S3C4510B的I2C BUS的驅(qū)動。

    uClinux下I2C驅(qū)動程序主要數(shù)據(jù)結(jié)構(gòu)及函數(shù)描述如下:
    #define DEVICE_NAME "i2c"  /* 定義設(shè)備的名稱 */
    #define I2C_MAJOR 89   /* 定義主設(shè)備號  */
    static volatile U8 priv_buf[128];
    static struct semaphore i2c_samsung_sem;
    static struct file_operations i2c_ops ;
    /* IIC 參數(shù)設(shè)置  */
    typedef struct
    { int i2c_speed;
      U8  i2c_slave;
      U8  i2c_addrlen;
      U8  i2c_operate;
      int i2c_pagesize;
      spinlock_t lock;
      U8 *buf;
    } I2C_PRIVATE_T;
    int __init i2c_samsung_init( void );/*  初始化函數(shù) */
    static ssize_t i2c_read (struct file * file ,char * buf, size_t count, loff_t * f_ops);  /* 讀數(shù)據(jù)函數(shù) */
    static ssize_t i2c_write (struct file * file ,const char * buf, size_t count, loff_t * f_ops);
     /* 寫數(shù)據(jù)函數(shù) */
    static ssize_t i2c_ioctl (struct inode * inode ,struct file * file,
    unsigned int cmd, U32 data); /* 控制函數(shù) */
    static ssize_t i2c_open (struct inode * inode ,struct file * file);
    /* 打開設(shè)備函數(shù) */
    static ssize_t i2c_release(struct inode * inode ,struct file * file);
    /* 釋放設(shè)備函數(shù) */
    static void s3c4510_i2c(int irq, void *dev_id, struct pt_regs *regs);
       /* i2C 中斷句柄函數(shù) */
    int  init_module(void) /* 安裝驅(qū)動程序模塊函數(shù) */
    void cleanup_module( void ) /*卸載驅(qū)動程序模塊函數(shù) */
        同時通過在uClinux操作系統(tǒng)下編制調(diào)試IO數(shù)據(jù)讀取控制程序、圖像壓縮程序、網(wǎng)絡(luò)通信程序后,I2C驅(qū)動可以方便的修改OV7620寄存器數(shù)據(jù),CPU可以通過IO高速的把數(shù)據(jù)讀到內(nèi)存,圖像壓縮后體積明顯減小,通過網(wǎng)絡(luò)可以流暢的把圖像數(shù)據(jù)發(fā)送到客戶端。其中也有一些不足之處比如I2C驅(qū)動有時會由于干擾不能成功的修改OV7620的寄存器,還有待深入分析修改。

    4.4 圖像的合成與處理

        圖像的合成主要根據(jù)位圖文件的的數(shù)據(jù)結(jié)構(gòu)、顏色空間模型概念,并結(jié)合彩色圖像合成原理對圖像進行合成。
        由于采集圖像時,不僅要受鏡頭的光學系統(tǒng)、照明的光強分布等因素影響,還要考慮CMOS圖像傳感器的分辨率等。因而采集的圖像經(jīng)常具有噪聲和不明因素的干擾,為了能更好地進行圖像處理分析,可利用圖像的預(yù)處理,根據(jù)得到的實際圖像的信息進行修復(fù)。
        消除圖像噪聲的方法在圖像處理中稱為圖像平滑處理。圖像平滑處理主要有移動平均法和中值濾波法兩種。在移動平均法中,把噪聲成分也放到了平均計算之中,因此其輸出也受到噪聲的影響。而在中值濾波中,噪聲成分很難被選到,對輸出圖像不會有什么影響。因此,對同一塊圖像進行比較,中值濾波法在去除噪聲的能力上略勝一籌。本設(shè)備中利用中值濾波的程序?qū)崿F(xiàn)了算法,測試結(jié)果表明圖像上的斑點基本被消除,處理后的圖像很清晰。

    5 結(jié)束語

        基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻監(jiān)控設(shè)備通過構(gòu)筑一個基于S3C4510B和uClinux的嵌入式平臺,可便利的通過Internet與外界通信,較好的實現(xiàn)了視頻數(shù)據(jù)的采集、壓縮與網(wǎng)絡(luò)傳輸,達到實時監(jiān)控的目的。經(jīng)過壓縮編碼后圖像數(shù)據(jù)體積有了明顯的減小,圖像數(shù)據(jù)可以存儲到數(shù)據(jù)庫中,為數(shù)據(jù)的分析帶來很大的便利。我們深信,這樣一種基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)具有很大的工程實際意義。

    熱點新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: