资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
CCD 图像采集解决方案 ( 转) 近几天看到论坛里有很多网友遇到CCD 图像采集的麻烦,我在最开始的时候也为这个 烦恼过,由 于本人比较菜,在度过大概半个月的绝望日夜后,在刚准备放弃时突然发 现 我已经采集到正确的图像了。特 再次分享,希望能解决大家当前遇到的麻烦。 在采集图像之前,我们首先要知道摄像头输出信号的特 性。目前的模拟摄像头一般 都是PA L制式的,输出的信号由 复合同步信号,复合消隐信号和视频信号。其中的视频 信号才是真正的图像信号,对于黑白摄像头,图像越黑,电 压越低,图像越白,电 压 越高。而复合同步信号是控制电 视机的电 子枪对电 子的偏转的,复合消隐信号是在图 像换行和换场时电 子枪回扫时不发射电 子。由 于人眼看到的图像大于等于2 4H z 时人才 不会觉得图像闪烁,所以PA L制式输出的图像是2 5H z ,即每秒钟有2 5幅画 面,说的专业 点就是每秒2 5帧,其中每一帧有6 2 5行。但由 于在早期电 子技术还不发达时,电 源不稳 定,容易对电 视信号进行干扰,而交流电 源是50 H z 所以,为了和电 网兼容,同时由 于 2 5H z 时图像不稳定,所以后来工程师们把一副图像分成两场显示,对于一幅画 面,一 共有6 2 5行,但是电 子枪先扫描奇数场1,3,5. . . . . ,然后再扫描2 , 4, 6 . . . . . ,所以这样的 话,一副图像就变成了隔行扫描,每秒钟就有50 场了。其中具体的细节请参考这个网站 电 视原理 与系统 h t t p : / / c o u r s e w a r e . e c n u d e c . c o m / z s b / z j x / z j x 0 9/ z j x 0 90 0 0 0 . h t m 只用 看前面的黑白全电 视信号和PA L制式就可以了(当然如果感兴趣可以全部看完)。 通过上面的内容如果你对PA L制式信号了然于心,那么就可以开始图像的采集 了,PA L输出的信号有复合同步信号,复合消隐信号和视频信号。那么我们首先就是要 从这三种信号中分理 出复合同步信号,复合消隐信号和视频信号,以便我们对A D 采样 到的值进行存储,从而形成一幅画 面。具体如何分离,我们使用 的是LM 18 8 1视频同步 分离器件,具体的硬件连接请参看论坛内相关文章(论坛里有介绍LM 18 8 1的文章,自 己搜吧,我不重复了)。 分离出行场同步,奇偶场信号后,就把他们接到单片 机的外部中断口,产生 中断,在 中断服务程序中对A D 采集到的数据进行图像存储,从而形成一个二维数组的数字图 像。 下面就说说图像采集方案,方法有多种,但我使用 的方案是在行终端中读取A D 采样 的灰度值,在场同步中交换图像采集和处理 缓存指针,并对图像进行处理 ,然后控制 小车,在主函数中只有初始化和键盘扫描和串口输出函数。这样做效率 比较高,而且 可以把调试和图像采集处理 分开,变成起来比较方便。 大家遇到的还有一个很棘手的问题可能是A D 采样频率 该设置多大呢?建议大家先通 过PLLL超频,然后把A D 时钟频率 设置的高点才行。 下面就把我的代码贴给大家看看吧。 / / * / / * *锁相环 初始化* * / / * v o i d v PLLI n i t ( v o i d ) / / BU S-CLO CK = PLL-CLO CK / 2 = 32 M REFD V = 1; / / s e t t h e REFD V r e g i s t e r 16 M *2 *( 3+ 1) / ( 1+ 1) = 6 4M SYNR = 3; / / s e t t h e SYNR r e g i s t e r t o g i v e u s a 6 4 M H z PLL-c l o c k . a s m n o p / / n o p s r e q u i r e d f o r PLL s t a b i l i t y . a s m n o p a s m n o p a s m n o p w h i l e ( ( CRG FLG / / w a i t h e r e t i l l t h e PLL i s l o c k e d . CLK SEL| = 0 x 8 0 ; / / s w i t c h t h e b u s c l o c k t o t h e PLL. 设置总线时钟为32 M / / * / / * *定时器初始化* * / / * v o i d v ECT I n i t ( v o i d ) T I O S = 0 x 0 0 ; / / 设为输入捕捉 T SCR1= 0 x 8 0 ; / / 定时器使能 T SCR2 = 0 x 8 3; / / 允许定时器溢出中断,定时器时钟32 M / ( 2 3) = 4M T CT L4= 0 x A A ; / / 触发电 平: 下降沿 T I E = 0 x 0 7 ; / / 开中断 T FLG 1= 0 x FF; / / 清除中断标志 输入捕捉的1,2 通道接行场中断。 / / * / / * *A D 转换初始化程序* * / / * v o i d v A D I n i t ( v o i d ) / / *A T D 1设置* / / / / 上电 ,标志位快速清零,忽略 外部触发,执行一次停止,中断禁止。 A T D 1CT L2 = ( A T D 1CT L2 _A FFC_M A SK | A T D 1CT L2 _A D PU _M A SK ) ; / / / / 转换序列长度为1,FI FO 模式,Fr e e z e 模式下继续转换。| A T D 0 CT L3_FI FO _M A SK A T D 1CT L3 = ( A T D 1CT L3_S1C_M A SK ) ; / / / / 8 位精度,2 A D 采样周期,采样长度8 。 / / A T D Cl o c k = Bu s Cl o c k *0 . 5/ PRS+ 1 ; PRS= 15, d i v i d e r = 32 A T D 1CT L4 = ( A T D 1CT L4_SRES8 _M A SK | A T D 1CT L4_PRS0 _M A SK ) ; / / / / 右对齐无符号,扫描模式连续采样,单通道采样/ / 多通道采样| A T D 0 CT L5_M U LT _M A SK 。 A T D 1CT L5 = ( A T D 1CT L5_D JM _M A SK | A T D 1CT L5_SCA N_M A SK ) ; / / A T D 1D I EN= 0 x 0 0 ; A T D 1的0 通道用 于A D 转换 下面是真正的图像采集程序 / / / / 当前采样图像的行和列。 u n s i g n e d i n t u i _Sa m p l e Ro w = 0 , u i _Sa m p l e Co l u m n = 0 ; / / / / 图像数据缓存 u n s i g n e d c h a r u c a _Bu f f e r 1I M A G E_RO W I M A G E_CO LU M N; u n s i g n e d c h a r u c a _Bu f f e r 2 I M A G E_RO W I M A G E_CO LU M N; / / / / 指向当前采集数据采样缓存首地址的指针 u n s i g n e d c h a r *p u c a _Bu f f e r Sa m p l e = / / / / 指向当前处理 数据采样缓存首地址的指针 u n s i g n e d c h a r *p u c a _Bu f f e r Pr o c e s s = / / / / 用 于图像采集和处理 交换缓存。 / / (注意:在每次交换指针后保证p u c a _Bu f f e r T e m p 与p u c a _Bu f f e
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号