0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用单片机实现嵌入式摄像机二进制命令配置系统的设计

电子设计 来源:郭婷 作者:电子设计 2019-07-29 08:16 次阅读

本文以BASLER A202k面阵CCD摄像机的配置为目标设计嵌入式摄像机配置系统。BASLER公司提供了2种摄像机配置方案:一是利用该公司提供的摄像机配置软件CCT+(Camera Configuration Tool Plus),二是利用该公司提供的二进制配置命令,由用户编程实现。本文采用二进制配置命令,通过设计的嵌入式系统配置摄像机。该摄像机的二进制配置命令帧格式如下:

利用单片机实现嵌入式摄像机二进制命令配置系统的设计

利用单片机实现嵌入式摄像机二进制命令配置系统的设计

起始字 描述字 数据段 BCC 结束字

BCC是块检查字(Block Check Character),需要由用户计算。

此外还有测试图像命令、选择启动点,视频输出格式选择、水平Binning和竖直Binning等命令。摄像机配置和摄像机特性的关系为:AOI(area of interesting)用于局部扫描的控制,Binning用于分辨率的控制,定时器用于曝光时间的控制等。

1 系统结构与原理

设计的摄像机配置系统所在的图像处理系统框架。

利用单片机实现嵌入式摄像机二进制命令配置系统的设计

其中RS232RS644是控制通道所用的协议,即摄像机配置系统的通道;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摄像机的配置为对象设计了基于单片机的嵌入式数字摄像机配置系统。该系统可作为嵌入式图像采集和处理系统的子系统,通过少量软件修改可应用于其他摄像机的配置。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43947

    浏览量

    620538
  • 嵌入式
    +关注

    关注

    4975

    文章

    18235

    浏览量

    287846
  • 寄存器
    +关注

    关注

    30

    文章

    5020

    浏览量

    117619
收藏 人收藏

    评论

    相关推荐

    单片机应用技术:二进制语言#单片机

    单片机二进制
    学习硬声知识
    发布于 :2022年11月08日 12:30:26

    网络摄像机是什么意思

    Netscape)即可监视其影像。网络摄像机内置一个嵌入式芯片,采用嵌入式实时操作系统摄像机传送来的视频信号数字化后由高效压缩芯片压缩,通
    发表于 12-29 14:11

    二进制格雷码与自然二进制码的互换

    。而绝对编码器是直接输出数字量的传感器,它是利用自然二进制或循环二进制(格雷码)方式进行光电转换的,编码的设计一般是采用自然二进制码、循环
    发表于 03-08 14:16

    单片机嵌入式Internet技术的Web应用实现

    ,与MCS 8051系列单片机相比在性能上有很大的提高,在目前单片机开发中用得较多。因此利用AT90S8515单片机作为嵌入式
    发表于 11-24 18:10

    请问怎么把单片机端口二进制状态转换为十进制

    请问怎么把单片机端口二进制状态转换为十进制
    发表于 11-27 19:44

    让keil编辑器支持二进制数据

    让keil编辑器支持二进制数据大家在用Keil编辑c语言单片机程序时,经常要对单片机或者单片机外围模块中的寄存器进行功能的配置,这些寄存器大
    发表于 05-02 19:10

    请问什么是单片机单片机系统的组成有哪些?

    停在12点,可正拨3点,也可倒拨9点。即是说-9的操作可用+3来实现,在12点里:3、-9互为补码。运用补码可使减法变成加法。规定:正数的补码等于原码。 深圳/郑州信盈达嵌入式单片机、ARM、MIPS、FPGA、Android
    发表于 06-28 02:26

    怎么用单片机通过串口发送一串二进制数?

    我想用单片机通过串口发送一串二进制数(例如:0100101,不是8位也不是16位的数),我只会C语言,但是c语言好像不能发二进制的,求高手指点。类似这种:#include#define uchar
    发表于 10-11 06:00

    单片机开发为什么要用二进制

    找出一种具有十个不同稳定状态的电子元件则是相当困难的。在二进制中,只有个数0和1,这正好和电子元件的两个不同稳定状态相对应。例如,以1代表高电平,则0代表低电平,这样,采用二进制后,就可以
    发表于 12-10 10:55

    如何利用单片机实现嵌入式WebServer?

    如何利用单片机实现嵌入式WebServer?利用单片机实现
    发表于 05-27 06:13

    如何去实现一种嵌入式网络摄像机的设计?

    如何去实现一种嵌入式网络摄像机的设计?
    发表于 05-31 07:10

    怎样去设计一种基于Linux的嵌入式网络摄像机

    嵌入式网络摄像机采用高性能ARM9芯片微处理器,内置嵌入式Web服务器。 通过嵌入式多任务操作系统采集
    发表于 11-08 08:04

    嵌入式cc2530单片机介绍

    嵌入式cc2530单片机ZigBee单片机是一种集成电路芯片,包含中央处理器CPU、随机存储器RAM、只读存储器ROM、输入输出I/O接口、中断控制系统、定时/计数器和通信等多种功能部
    发表于 01-24 07:12

    如何判断接收到的数据是二进制的0还是二进制的1?

    。如何判断接收到的数据是二进制的0还是二进制的1?电路原理图:源码下载链接:工程项目结构如下图所示:其中画红色方框部分为重要函数来进行讲解DHT11.c#include "DHT11/DHT11.h"#include "DELAY/Delay.h"/**
    发表于 02-22 06:24

    为什么程序要变为HEX文件导入单片机而不是二进制文件?

    为什么程序要变为HEX文件导入单片机,而不是二进制文件?​
    发表于 10-23 08:12