本文以basler a202k面阵ccd摄像机的配置为目标设计嵌入式摄像机配置系统。basler公司提供了2种摄像机配置方案:一是利用该公司提供的摄像机配置软件cct+(camera configuration tool plus),二是利用该公司提供的二进制配置命令,由用户编程实现。本文采用二进制配置命令,通过设计的嵌入式系统配置摄像机。该摄像机的二进制配置命令帧格式如下:
起始字 描述字 数据段 bcc 结束字
bcc是块检查字(block check character),需要由用户计算。
此外还有测试图像命令、选择启动点,视频输出格式选择、水平binning和竖直binning等命令。摄像机配置和摄像机特性的关系为:aoi(area of interesting)用于局部扫描的控制,binning用于分辨率的控制,定时器用于曝光时间的控制等。
1 系统结构与原理
设计的摄像机配置系统所在的图像处理系统框架。
其中rs232和rs644是控制通道所用的协议,即摄像机配置系统的通道;lvds和camera link是数据通道用到的协议。
根据所在系统的通道协议和摄像机的配置命令,同时考虑到必要的人机交互,设计了摄像机配置系统3大模块:数据处理模块,对二进制配置命令进行必要的处理;通信模块,通过rs232串口收发摄像机配置命令;人机接口模块,用于对摄像机配置的调节更改以及配置参数的显示。此外还有支持处理器工作的时钟、电源等。
系统的工作原理为:处理器接收数据输入,根据接收到的输入执行相应的操作,通过串口读写配置命令,从而达到对摄像机的配置调节,并根据需要显示配置参数。
2 硬件设计
由于高的性价比,单片机广泛应用于信号检测、信号处理、数据采集和控制系统中。设计的系统以at89c51ac2单片机为处理器,以拨码开关、键盘阵列为调节输入,以数码管作为显示输出。同时利用了键盘/显示芯片intel 8279简化系统设计。串口芯片选用max232a。系统工作时钟为11.059 2 mhz,整个系统采用+5 v单电源供电。
以下介绍开关电路、键盘显示电路的设计和功能分配;串口电路和其他电路为单片机系统的常规电路,故此从略。
2.1 开关电路
利用单片机p1口的直接输入/输出功能,接开关和led,单片机复位时,p1口皆为高电平,常态为高电平,led不亮。当某一开关接通时,对应的p1.i口被拉成低电平,对应的led亮。
2.2 键盘/显示电路
intel 8279有键盘处理和自动显示功能。在8279内部有2个ram:一是键盘fifo堆栈/传感器ram,具有自动消抖动和双键互锁功能;另一个是显示ram,最多可为16个数码管提供ram。
设计的系统需要用到6个数码管,因此需要扩展8279的扫描输出线。选用3~8译码器74ls138来扩展,同时设8279的工作方式为外部译码方式。由于8279的驱动能力较弱,采用74ls06驱动。数码管编号为d0~d5。d0和d5分别表示显示数据的最低位和最高位,其余类推。
3 软件设计
软件系统的总体思想如下:首先对单片机和8279进行初始化,然后通过单片机,把不需要调整的命令送到摄像机对摄像机进行控制;再写进另一部分命令,先给一定的初值,送到摄像机,可以根据需要随时通过键盘进行调整,这部分命令一直存储于单片机的ram。然后单片机不断查询键盘和开关,一旦有动作,就调用与动作相对应的子程序进行相应的处理。
3.1 存储单元的分配
at89c51ac2内部有256 b的片内ram,其中有一半为特殊寄存器,剩下的另一半可供用户自由使用。128 b的ram不能存储所有的摄像机配置命令。为简化电路,硬件电路不外接ram,系统采用分时复用策略使用这128 b的ram。ram的分配如下:00h到07h是寄存器r0到r7。08h到0fh用以传送开关命令和暂存从摄像机读回的命令;10h到15h用以暂存经过调整要传送给8279的显示ram的数据;16h到18h用以暂存从命令帧中提取的数据;19h到1ch用以暂存命令数据的上下限。20h之后的ram,用以存放经常调整的摄像机配置命令。
3.2 数据处理
3.2.1 显示预处理
从摄像机读回的命令中提取的命令值在写进8279显示ram之前要做一定的调整。为简化程序,在显示子程序中,数据的显示代码(共阴极)只列了从00h到0fh的16个。而命令值的一个字可以是00fh到ffh中的任意一个,从10h到ffh的数值必须转换为00h到0fh的组合来显示,如ffh一个字变为两个字:0fh和0fh。
3.2.2 数据判限和计算
对于大部分的摄像机配置命令,数据段的值只有在一定的范围内或是一定值的组合时才是有效的。但是摄像机本身并不执行这些数据限制的检查。这项功能由软件编程实现。数据计算包括数据值的加一操作和数据值的减一操作。
3.2.3 bcc计算
bcc是命令帧中的描述字段和数据段的按位异或和(xor),需要在数据处理中计算。
3.3 人机接口
人机接口的软件设计主要是8279的3个基本程序:一是8279初始化程序,二是显示程序,三是键盘处理程序。初始化程序主要是送入各种命令字,给8279送键盘/显示方式命令、分频系数命令和清除命令等,在主程序的初始化部分被调用。显示程序和键盘处理程序在主程序的按键查询部分被调用。
3.4 串口通信
在ram中开辟发送数据存储区,首址为feedback(开关操作实现)和comdata(键盘操作实现),接收数据的首地址为feedback(与发送分时复用)。用r0存储数据发送的地址;用r1存储发送数据的字节数;用r2存储待发送数据的地址;用r3存储待发送数据的字节数。单片机把数据从接收缓冲器中读出和把数据写入发送缓冲器。通过检测是ri置位,还是ti置位来决定单片机是进行发送操作还是进行接收操作。发送和接收都是通过调用相应的子程序来完成。
4 实验结果
本文的设计在protel dxp(硬件设计)和伟福编译器上(软件设计)实现。利用本文设计的摄像机配置系统结合实验室研制的dsp图像采集处理器实现了对baslera202k面阵ccd摄像机的实时参数配置调节,为采集高质量的实时图像提供了有力的保证,满足了工程的应用需要。
5 结 论
利用介绍的数字摄像机二进制编程配置方法,以basler a202k面阵ccd摄像机的配置为对象设计了基于单片机的嵌入式数字摄像机配置系统。该系统可作为嵌入式图像采集和处理系统的子系统,通过少量软件修改可应用于其他摄像机的配置。
当使用传统计算架构时功耗仍是一个巨大挑战
物联网行业智能解决方案推荐
PCB设计中会遇到的八种阻抗计算模型盘点
小米5X发布会在即:雷总亲自曝光小米5X真机,你家凡凡已经上线,拍照样张、配置、价格一览
小米手机销量暴涨38%登顶国产第一
利用单片机实现嵌入式摄像机二进制命令配置系统的设计
小米积极拥抱人工智能:人工智能成核心战略
人工智能三起三落,60年登上围棋之巅
实例分享丨真双极性输入、全差分输出ADC驱动器设计
小米MIX再牛也是猴机?普通人买不到有什么用!
弹片微针模组在手机摄像头测试中的应用优势是什么
夜间驾驶的“第三只眼”,车载视觉的行人检测受到广泛关注
一种能让物体“躲避”红外摄像机的轻量柔性薄膜
ADF4350集成电压控制振荡器的性能与应用
关于脉冲电流源常见问题的详细解答
运营商抢攻物联网又一利器:eMTC
超声模拟电子入门
单片机的全双工的异步串行通信接口
基于密码学和区块链技术的ARPA介绍
今年NAND Flash仍将持续供不应求 半导体资本支出将再成长?