1 系统构成
网络相机系统结构如图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的结构及拍摄
&nb
sp; 南京微盟电子的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存储www.cechina.cn,通常为13MB/s左右,再由单片机来读取,因而接口比较复杂。MElO1O的这一特点使得Rab-bit3OOO可以直接读取,结合Rab_bit3OOO强大的网络功能CONTROL ENGINEERING China版权所有,从而构成了具有特色的网络相机。
拍摄时序如图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 hlwww.cechina.cn,linebuf ;指针hl指向linebuf
ld de,16O ;一行16O像素
ld CCONTROL ENGINEERING China版权所有,
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像素
&nbs