• 首页 |  
  • 查询 |  
  • 供应 |  
  • 求购
  • 资讯 |  
  • 产品中心 |  
  • 技术应用 |  
  • 商务中心 |  
  • IC供货商 |  
  • 下载中心 |  
  • 求职招聘 |  
  • 论坛 |  
  • 博客
  • 您所在的位置: 首页 > 技术应用 > 消费类电子 > 正文
    文章搜索:
    Rabbit3000与HElOlO 图像传感器构成的网络相机

    http://www.ic36.com 2006年8月24日9:10 刘轶 李文胜
      在家用报警系统、工业监控、智能小区中,由于原有的系统一般只能采集相关数据,然后按专有的或特定的网络传送。在应用中,用户常常反映有两大缺点。其一,不能看到现场图像。其二,监视限于特定专网,比如通过局域网、电话网、视频线监控网等。因而通过Internet进行网络摄像的需求十分迫切。 

    1 系统构成

     
    清华微电子推出高频管分立器件裸片,已做到9G截止频率


        网络相机系统结构如图l所示,MEl010是10万像素的CMOS图像传感器芯片,Rabbit3000模块基于Rab-bit3000单片机。该单片机基于Z80内核,最高时钟频率可达54MHz,有6个高速串行口和56个I/O口,直接驱动512KB SRAM、512KB Flash,通过以太网接口进行网络传输时.TCP传输速率可达到6Mb/s。美国Z-World公司提供的Dynamic C开发工具提供了TCP协议栈函数支持, 以及C、汇编混合编程的功能, 非常适合网络应用。
        网络相机实现以下功能: 直接驱动MEl010 CMOS摄像芯片摄像,并进行图像处理,同时内置一个微型WEB服务器,用户可以在因特网上访问WEB页。通过CGI接口进行静态图像拍摄, 如增加SOCKET接口,也可通过Activex控件拍摄动态图像。可选择160×120彩色、320×240黑白两种图像格式。

    2 CMOS摄像芯片的控制
    2.1 MElO1O的结构及拍摄
        南京微盟电子的MElOlO CMOS图像传感芯片最大可拍摄352×288的彩色及黑白图像,内部功能框图如图2所示。

        该芯片的工作原理:通过Samp、SampG脚进行采样控制,即拍摄图像。拍摄后该芯片把图像各点的模拟电压存入缓冲区中,形成一个最大352×288的像素数据阵列,单片机可以通过改变行列地址ADR(8..O)逐点访问图像缓冲区。该图像缓冲实际上是把每个像素的光感应电压存入一个小电容中,通过在ADC Clk脚输入时钟脉冲,MElO1O在ADCclk的低电平期间进行模数转换,上升沿输出。然后单片机即可以从数据口ADCount(7~0)中读出对应行、列地址的像素数据。其中行与列地址共用9条地址线,由XYSEL脚产生的脉冲切换。
        具有图像缓冲区是MElO1O最大的特点,一般的CMOS传感器都必须用CPLD将图像数据以很快的速度送人RAM存储,通常为13MB/s左右,再由单片机来读取,因而接口比较复杂。MElO1O的这一特点使得Rab-bit3OOO可以直接读取,结合Rab_bit3OOO强大的网络功能,从而构成了具有特色的网络相机。
        拍摄时序如图3所示。

    2.2图像的读取
        使Rabbit3OOO单片机的PEl,PF(7~O)与MEIOIO的地址线ADR(8~O)、PA(7~O)与数据线ADcount(7~O)相连,PB7与模数转换时钟ADCclk相连。现在以读取16O×1 2O彩色图像的一行为例,介绍读取过程,程序用汇编实现,以加快图像读取速度。读取图像时序如图4所示。

        #asm debug
        readoneline:: ;读入一行数据
        ;读取到linbuf中
        1d hl,linebuf ;指针hl指向linebuf
        ld de,16O ;一行16O像素
        ld C,
        rp _read:
        :ADC clk
        ioi lda,(PBDR);产生ADC时钟
        res O,a
        ioi ld(PBDRl,a
        set O,a
        iOi ld(PBDR),a
        ioi lda,(PADR)
        ;从PA读入数据
        ld (hl),a
        ;读入数据到linbuf,指针hl指向llnbuf的对应位
        inc hl ;指针下移
        inc c ;计数器加1
        ld a,c
        ioi ld(PFDR),a;地址加1
        dec de ;读完160像素
        jr nz,rp_read :否则读下一个
        ret
        #endasm

    3 图像处理
    3.1 FPN的消除 
        由于CMOS图像传感器会产生固有噪声FPN(Fixed Pattern Noise),MElO1O要求用软件来完成噪声消除处理,否则拍出的图像表面将叠加许多细碎的色点,这些噪声点的位置大小颜色是固定的,由CMOS图像芯片及电路本身所决定。 
        FPN消除的方法是在正式拍摄前,先拍摄一张曝光时间接近于O的图像,由于FPN的存在,虽然感光接近于O,但该图像并非是均匀的全黑照片,而是会出现些彩色噪声点。将此图像存在内存中,作为参照,照一张图像,都与这张参照图像相减,从而消除FPN.
    3.2彩色插值
        读出并经FPN消除后的数据实际上是RGB阵列,MN1O1O通过在感光面上蒙一层RGB彩色滤镜(可选择,若无滤镜即为黑白芯片)实现彩色功能,滤镜排列如图5所示,这是一般图像传感器使用的Mosaic Bayer滤镜,从O行算起,偶数行排列为RGRGRG…… 奇数行排列为GBGBGB……
        因此每一点的数据只代表该点的一种颜色光强度值(灰度值),还需根据相应算法进行彩色化插值处理。利用周边像素的信息,“猜测”算出该点“应该”具有的另外两种颜色光强度,从而得到完整的RGB值,构成24位真彩色图像。这种以彩色插值的方法来达到“趋近”真彩色的处理方式,其图像质量虽然不如使用真正(R、G、B)三组像素型的彩色摄像技术,但已经可以满足通常的图像检测需要。

        算法示例如下:
        设i,j分别为行数和列数,当Ri,j有i%2==O&&j%2==0时,算法为
        R=Ri,j
        G=(Gri,j-1+Gri,j+l十Gbi-1,j+Gbi+l,j)/4
        B=(Bi-i,j-1+Bi—I,j+1+Bi+l,j-1+Bi+l,j+1)/4
        对应的Rabbit3OOO的C程序为form_rfgb(){
        …
    }
    3.3嵌入图像到HTTP服务器
        经过RGB插值合成后已经可以得到真彩色图像,但完整的图像处理还需要进行曝光控制,γ较正,白平衡调整等。曝光控制算法主要是计算各像素亮度的平均量。自平衡调整则是由于CMOS传感器、人眼对RGB三颜色光的灵敏度不同,所以需对R、G、B三种像素的值乘以比例因子加以较正。Υ较正则主要是调整对比度。
        获得完整的图像数据后,加入BMP文件头,形成newfile,C程序代码如下:
        void makefile(){
        char newfilesize[4];
        newfilesize[0]=0x3a;文件大小
        newfilesize[1]=Oxe5;
        newfilesize[2]=O;
        newfilesize[3]=O;
        root2xmem(newfile,newfilesize,4);设置文件大小
        sspec_addxmemfile(”/databmp”,newfile,SERVE_RHTTP);嵌入HTTP服务器

    4 HTTP服务器的实现
        通过基于Rabbit3OOO的模块实现HTTP服务器并不难,只需使用网页设计软件如Dreamwave、Frontpage等,设计一个网页,然后导出到Rabbit3OOO模块的HTTP服务器中即可。设网页文件名为index.html,网页中含有图片ledon.gif,存放的目录是samples/RCM32OO/pages,使用以下指令将文件导出到HTTP服务器中。
    #Ximport”samples/RCM32OO/pages/index.shtml" index html
    #Ximport”samples/RCM32OO,pages/ledon.gif"ledon_gif
        此外还需声明HTTP服务器中的文件类型HttpType http_types[]及设置HTTP服务器可访问文件、变量、函数的结构类型HttpSpec http_flashspec[]。
        主程序中运行HTTP服务器的相关代码如下:
    main(){
        sock__init();
        while(1){
        HTTP_server();
    }

    5 通过CGl接口控制拍摄
        在HttpSpec http_flashspec[]中加入以下定义:
        { HTTPSPEC_FUNCTION, ”/get_photocgi”,O,get_hototoggle,O,NULL,NULL}。
        在网页中嵌入按钮图标,假设为button.gif,使其链接到”/get_photocgi”,点击网页上的button按钮时,程序将跳转执行以下函数:
        int get_hototoggle(HTTPState*state){
        get_hoto() ;拍摄图像
        cgi_redirectto(state,’data html’);跳转到data.html网页中,
        ;(该网页含所拍摄的图像文件)
        returnO:
    }
    即可看到所拍摄的图像。
        本文以拍摄160×120分辨率的彩色图像为例介绍。由于Rabbit3000单片机直接驱动的内存有限, 当分辨率更高,如320×240时, 一般建议存储黑白图像, 可以减少文件大小。

    结 语
        结合基于互联网络的图像技术是报警系统、工业控制、智能家居发展的一个热点,主要有基于8位单片机、DSP及ARM的图像处理方案。 其底层的图像处理及CMOS图像芯片的控制有诸多相通之处。尽管基于DSP及ARM具有运算速度上的优势,但由于Rabbit3000单片机具有强大的网络支持、加密及I/0控制、串行通信、数据采集功能,结合MEl0l0的简单单片机接口,仍然具有鲜明的特点,适用于对实时图像传输要求不高的场合;并且,如果结合高性能的图像芯片,如具有MPEG4压缩功能的伟思GO7007也可以做到实时图像传输。本文所介绍的内容基于作者目前从事的智能小区项目, 已成功研制出样机。

    (关键词):Rabbit3000 HElOlO 图像传感器 网络相机

    IC型号速查
    [0]  [1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [A]  [B]  [C]  [D]  [E]  [F]  [G]  [H]
    [I]  [J]  [K]  [L]  [M]  [N]  [O]  [P]  [Q]  [R]  [S]  [T]  [U]  [V]  [W]  [X]  [Y]  [Z]
    相关链接
    暂时无相关文章
     我来评两句
    查看最新评论〗 

    昵称:  匿名
    请您注意:
    ·遵守中华人民共和国的各项有关法律法规
    ·承担一切因您的行为而导致的法律责任
    ·本网留言板管理人员有权删除其管辖留言内容
    ·您在本网的留言,本网有权在网站内转载或引用
    ·参与本留言即表明您已经阅读并接受上述条款

    芯片之家  电子之家  电子元器件之家  半导体之家  微电子之家 
    ·免费发布紧急IC求购 ·到哪里找工厂求购 ·全球最好十个IC网站 ·我为什么选择IC36
    ·IC是怎样炼成的 ·想知道所有的IC封装吗 ·如何鉴别旧货刷新货 ·芯片的前缀代表什么
    ·IC行业的网站体验 ·元器件常见问题解答 ·这里居然可以实时洽谈 ·有问必有答
    ·IC行业之25颗钻石 ·IC代理商查询 ·十家最牛的公司 ·中国IC公司200强
    元器件之家  晶圆之家  集成电路之家  电子元件之家  模块之家  电子管之家
    ·舍我其谁的高级会员 ·IC36是怎样收费的 ·网站广告是如何占领的 ·IC之家的增值服务
    ·我该到哪里去找工作 ·到哪里去招人呢 ·今日芯片需求排行 ·还有我们没有的型号吗
    ·中国IC行业的害群之马 ·中国最优秀的IC供应商 ·国外的IC骗子公司 ·信誉良好的IC供货商
    ·谁是IC之家的明星 ·做我们的代理吧 ·免费注册 机不可失 ·广告热线 010-51653935
    热 点 专 题
    热 点 论 坛
    关于我们 | 增值服务 | 免责条款 | 收费标准 | 付款方式 | 广告服务 | 网站地图 | 联系我们 | 友情链接 | 网站代理
    MSN:ic36@hotmail.com  QQ:IC之家 在线咨询  联系电话:(010)51653935 传真:(010)51653936 客户服务:service@ic36.com
    Copyright © 2003-2006 IC36.COM IC之家 本网站中文域名:IC之家 芯片之家
    京ICP证060068号