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


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

    关注

    6036

    文章

    44557

    浏览量

    635125
  • 嵌入式
    +关注

    关注

    5082

    文章

    19118

    浏览量

    305089
  • 寄存器
    +关注

    关注

    31

    文章

    5342

    浏览量

    120327
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    二进制编码和二进制数据

    二进制编码和二进制数据   二进制编码是计算机内使用最多的码制,它只使用两个基本符号"0"和"1",并且通过由这两个符号组成的
    发表于 10-13 16:22 4790次阅读

    二进制电平,什么是二进制电平

    二进制电平,什么是二进制电平 在二进制数字通信系统中,每个码元或每个符号只能是“1”和“0”两个状态之一。若将每个码元可能取的状态增
    发表于 03-17 16:51 2357次阅读

    二进制数及其他

    0题记 在学习计算机基础或者是数字电子技术、微机原理、单片机、C 语言等课程的时候,都会讲到一个概 念:二进制数。就是这个二进制数难倒了很多的英雄汉,上面罗列的这些课程
    发表于 08-31 09:52 8675次阅读
    <b class='flag-5'>二进制</b>数及其他

    什么是嵌入式单片机?嵌入式单片机详情汇总

    嵌入式单片机,即嵌入式微控制器,指以微控制器为核心控制单元的嵌入到对象体系中的专用计算机系统,是应用十分广泛的一种
    发表于 11-13 09:39 6098次阅读

    51单片机中汇编多字节24位二进制转BCD码的实例说明

    本文档的主要内容详细介绍的是51单片机中汇编多字节24位二进制转bcd码的实例说明。
    发表于 07-10 17:40 10次下载
    51<b class='flag-5'>单片机</b>中汇编多字节24位<b class='flag-5'>二进制</b>转BCD码的实例说明

    单片机TIMER0控制LED二进制计数的C语言程序和仿真资料免费下载

    本文档的主要内容详细介绍的是单片机TIMER0控制LED二进制计数的C语言程序和仿真资料免费下载。
    发表于 06-05 16:52 5次下载
    <b class='flag-5'>单片机</b>TIMER0控制LED<b class='flag-5'>二进制</b>计数的C语言程序和仿真资料免费下载

    51单片机 Proteus仿真定时器0计数由LED组成的二进制显示

    51单片机 Proteus仿真定时器0计数由LED组成的二进制显示
    发表于 11-22 17:06 18次下载
    51<b class='flag-5'>单片机</b> Proteus仿真定时器0计数由LED组成的<b class='flag-5'>二进制</b>显示

    基于AT89C51单片机TIMER0控制LED二进制计数仿真及代码

    基于AT89C51单片机TIMER0控制LED二进制计数仿真及代码
    发表于 05-04 14:36 1次下载

    二进制最佳接收原理 二进制最佳接收实现形式有哪两种?

    过来的数据。二进制最佳接收原理的实现形式主要分为两种,分别是非相干接收和相干接收。接下来,我将详细介绍这两种实现形式以及它们的工作原理。 非相干接收是一种简单且易实现的接收方式,它
    的头像 发表于 11-27 16:19 1035次阅读

    MSP430嵌入式应用程序二进制接口

    电子发烧友网站提供《MSP430嵌入式应用程序二进制接口.pdf》资料免费下载
    发表于 08-30 11:43 0次下载
    MSP430<b class='flag-5'>嵌入式</b>应用程序<b class='flag-5'>二进制</b>接口

    C28x嵌入式应用程序二进制接口

    电子发烧友网站提供《C28x嵌入式应用程序二进制接口.pdf》资料免费下载
    发表于 08-31 09:39 0次下载
    C28x<b class='flag-5'>嵌入式</b>应用程序<b class='flag-5'>二进制</b>接口

    C6000嵌入式应用程序二进制接口

    电子发烧友网站提供《C6000嵌入式应用程序二进制接口.pdf》资料免费下载
    发表于 08-29 14:52 0次下载
    C6000<b class='flag-5'>嵌入式</b>应用程序<b class='flag-5'>二进制</b>接口

    hex格式和二进制的区别

    HEX格式和二进制在多个方面存在显著的区别。以下是对这两者的对比: 一、定义与表示方式 HEX格式 : HEX,全称为Intel HEX,是一种用于存储和传输数据到嵌入式系统(如单片机
    的头像 发表于 11-18 15:24 502次阅读