IP视频监控系统中云台控制模块的设计与实现.doc_第1页
IP视频监控系统中云台控制模块的设计与实现.doc_第2页
IP视频监控系统中云台控制模块的设计与实现.doc_第3页
IP视频监控系统中云台控制模块的设计与实现.doc_第4页
IP视频监控系统中云台控制模块的设计与实现.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IP视频监控系统中云台控制模块的设计与实现日期:2008-6-26来源:电子技术应用 作者:权立伟 石江宏 薛财锋字体:大 中 小 随着多媒体技术和网络通信技术的迅速发展,视频监控技术在电力系统、电信机房、工厂、城市交通、水利系统、小区治安等领域得到越来越广泛的应用。而DSP技术的迅速发展,尤其是视频专用处理DSP芯片的发展,大大推动了多媒体技术的应用。Equator公司在这一领域始终走在最前沿,其推出的MAP-CA、BSP-15等专用视频处理DSP芯片,以其强大的处理能力和针对视频处理的优化性能,在业界取得了很大的成功。同时,Equator公司推出的Dolphin、Tetra、Shark等以其专用视频处理DSP为核心的嵌入式开发平台,也成为诸多视频处理设备的核心。 1 系统总体框架Tetra开发板系统总体框架如图1所示,BSP-15的数据总线和地址总线与SDRAM、Flash以及视频输入输出芯片SAA7113和SAA7121相连,进行数据交换。另外,BSP-15作为PCI总线的主设备,控制南桥芯片VT82C686B和网络芯片RTL8139C,通过南桥芯片扩展IDE接口、RS-232串口、USB接口、ISA总线等外扩接口。音频输入输出芯片通过I2S总线控制。由于I/O口有限,因此其他控制接口和数据交互都使用I2C总线来完成,包括EEPROM、SAA7113和SAA7112和87LPC764的控制。2 系统实现2.1 云台控制硬件结构框图及工作原理云台控制硬件框图如图2所示。BSP-15首先将云台控制信息通过I2C总线发送给87LPC764,87LPC764将控制码解释后,通过串行口转发到RS485接口芯片MAX487,从而将控制码通过RS485接口发送给云台摄像机。云台摄像机接收到控制码时,根据要求进行相应的云台操作。另外,87LPC764连接了PCI总线上的一条中断线,可向BSP-15申请中断来通知BSP-15云台控制状态,以及向BSP-15申请发送其他数据。2.1.1 87LPC76487LPC764是PHILIPS公司生产的、以加速的80C51为内核的高性能、高可靠性和低价格的工业级通用型嵌入式微处理器。内含4KB OPT程序代码控制器,128字节的用户RAM存储器,32字节用户代码存储器。具有全双工UART,内带I2C总线控制。还具有可由外部晶振或内部振荡源驱动的内部看门狗定时器,其溢出时间具有8级时间选择。2.1.2 云台摄像机云台摄像机的云台是一种安装在摄像机支撑物上的工作台,用于摄像机与支撑物的联结,云台具有水平和垂直运动的功能。一般云台摄像机内置解码器,遵循云台控制标准协议,根据外部控制信号,可以完成指定速度的水平、垂直运动,光圈、焦距调节,摄像机关闭、开启等功能。2.1.3 云台控制协议当前比较通用的云台控制协议有派尔高公司推出的PELCO-D、PELCO-P协议,另外还有三星公司、Sony公司等公司针对其专用云台制定的云台协议。在开发过程中,考虑到对不同协议的云台摄像头的兼容,将云台控制设计为可兼容各类协议的通用控制模块。可根据不同云台摄像机更新监控系统的云台协议,实现对各类云台的支持。在实际应用中,PELCO-P协议是当前业内最为流行的云台控制协议,PELCO-P协议一般采用RS-485接口进行传输,波特率一般在12009 600bps之间,1位起始位,1位停止位,8位数据位,无校验位。其数据传输格式如表1所示。其中地址码用于区分不同的云台摄像机,而四个数据字节则包含了本条云台控制命令的全部信息,具体数据含义如表2所示。2.2 87LPC764控制程序设计87LPC764所完成的功能很多,包括全局上电复位和电源控制、底板LED控制、看门狗定时控制、外部报警。另外在需要的情况下,可以扩展I/O口,其内部自带的EEPROM也可记录各类信息。在实际设计中,由于原版87LPC764的程序使用汇编编写,很多功能和实际要求不相符,因此在本项目中,将87LPC764的全部代码用C语言重新改写,修改和加入了针对本项目所需的功能。主程序部分判断与BSP-15交互的信息,程序流程图如图3所示。图中接收和发送都是相对BSP-15而言的。87LPC764等待BSP-15的指令,一旦收到指令则执行,如果收到外部信号,则申请中断,等待BSP-15读取相应信息。其中I2C读写、串口读写、内部定时器均采用中断方式。这里给出的流程图仅为部分流程,与云台控制无关的部分程序,不做详细描述。2.3 VxWorks中87LPC764驱动程序设计驱动程序部分主要是在VxWorks操作系统下,完成通过I2C与87LPC764交互,作为中介解释并传递由上层应用程序发送给87LPC764的命令,以及将87LPC764反馈的各种信息告知上层应用程序。驱动程序流程如图4所示。首先随系统启动初始化驱动程序中各部分的变量,将中断函数与指定的PCI中断连接,创建一个消息队列,然后开始进入阻塞式的等待状态。当87LPC764向BSP-15申请中断时,跳入中断函数入口,通过I2C总线从87LPC764读取一个字节的数据,并判断是否需要继续读取。读取完成后,中断函数将数据发送到消息队列中,然后跳出。驱动接收到消息队列中的数据时,将向上层应用程序报告,并转由上层应用程序处理。另外,驱动程序中同样提供了所有有关87LPC764的操作的独立函数,可直接由上层程序调用,由驱动程序通过I2C给87LPC764发送操作命令。2.4 云台协议部分程序设计云台协议程序主要完成四个部分的内容:云台协议文件解析、Flash烧写、云台模块初始化、提供Web服务端控制接口。图5给出了协议文件解析和模块初始化的简单流程,下面对这四个部分进行具体说明:(1)云台协议文件的解析。这一部分主要是完成将上层Web服务端通过网络接收的云台协议文件进行转换。由于云台协议文件是文本文件,按照一定格式书写,因此文件解析主要是将文本中有效部分的ASCII码转换为十六进制的云台控制码。并且考虑到协议兼容性问题,解析过程中要标识很多特征位,如地址码、旋转速度码在码片中的位置、校验字节的位置及计算方法以及控制码的码长等。(2)Flash烧写功能。在云台协议文件解析后,将已解析后的云台协议调用底层Flash烧写驱动烧入Flash存储器,并且在需要的时候将协议从Flash存储器中读出。(3)程序初始化。在每次开机后,初始化并设置好所需变量,将云台协议数据按照一定格式存放在内存中。考虑到可能要同时控制多个不同协议的云台摄像机,因此实际项目中最多可同时支持四种不同的云台协议。相应地,在初始化时要调用Flash读取函数,从Flash中将需要的一个或多个协议读出,并存放在内存中供模块使用;(4)云台接口函数。根据Web服务端要求,当Web服务层调用时,将指定的云台标准协议进行解释,包括设置要控制的云台地址码、转动速度,计算出校验码,然后调用底层驱动程序将控制码发送给87LPC764,并在需要的情况下告知87LPC764应使用何种波特率。本文从总体上介绍了基于Tetra硬件开发平台的网络视频监控系统中云台摄像机控制模块的设计与实现。项目中云台模块对各种类型云台的兼容能力,以及可同时监控多种不同类型云台摄像机,是本产品的一个亮点。本项目所开发的视频监控系统已经投入市场,以其完善的功能得到用户的认可。云台是通过云台解码器与计算机串口或并口相连的,程序是通过向云台解码器发送指令来实现云台控制的。这里的指令是由云台控制协议确定的。不同的厂家,云台控制协议也不尽相同。以Pelco-D2400为例,其命令格式由7个字节构成。第一个字节为同步字节,始终为FFH,第2个字节为地址码,也就是摄像头的逻辑地址号,范围在00HFFH之间,是在安装摄像头时手动设置的,该值一定要正确,否则命令不会执行。第3、4个字节表示指令码,即执行哪项操作,例如,向上、下、左、右移动摄像头等。第5、6个字节表示数据码,用于指定摄像头的水平、垂直方向移动速度。第7个字节为校验码,它是由第2、3、4、5、6个字节数据之和与100H取模获得的。此外,在执行某一命令后,应执行停止命令,否则命令执行的动作会一直执行。例如,将摄像头向上移动。如果不发送停止命令,摄像头就会一直向上移动。在Pelco-D2400协议的停止命令中,第一个字节为FFH,第2个字节为地址码,第3、4、5、6个字节为00F,第7个字节为第2个字节数据与100H的模。只要知道了控制命令,就可以通过向串口发送这些命令来控制云台了。例如,下面的代码实现了云台的向下移动。class PelcoD private static readonly byte STX = 0xFF;/同步字节 private const byte TiltUp = 0x08;/上private const byte TiltDown = 0x10;/下#region 镜头上下移动的速度private const byte TiltSpeedMin = 0x00;/停止private const byte TiltSpeedMax = 0x3F;/最高速#endregionpublic enum Tilt Up = TiltUp, Down = TiltDown /上下控制/上下控制public byte CameraTilt(uint deviceAddress, Tilt action, uint speed)if (speed TiltSpeedMin)speed = TiltSpeedMin;if (speed TiltSpeedMax)speed = TiltSpeedMax;return Message.GetMessage(deviceAddress, 0x00, (byte)action, 0x00, (byte)speed);public struct Messagepublic static byte Address;public static byte CheckSum;public static byte Command1, Command2, Data1, Data2;public static byte GetMessage(uint address, byte command1, byte command2, byte data1, byte data2)if (address 256)throw new Exception(Pelco D协议只支持设备);Address = Byte.Parse(address).ToString();Data1 = data1;Data2 = data2;Command1 = command1;Command2 = command2;CheckSum = (byte)( STX Address Command1 Command2 Data1 Data2);return new byte STX, Address, Command1, Command2, Data1, Data2, CheckSum ;public partial class frmMain : FormPelcoD pelcod = new PelcoD();SerialPort serialPort = new SerialPort(COM1, 2400, Parity.None, 8);byte addressin = Byte.Parse(Convert.ToString(0x01);byte speedin = Byte.Parse(Convert.ToString(0xff);byte messagesend;/方向控制下private void btnDown_MouseDown(object sender, MouseEventArgs e)messagesend = pelcod.CameraTilt(addressin, PelcoD.Tilt.Down, speedin);serialPort.Open();serialPort.Write(messagesend, 0, 7);serialPort.Close();云台镜头控制 MSP430微控制器 电视监控系统是一种典型的分布式计算机信号采集系统。每个摄像机由中央控制室控制,为简化布线,中央控制器与各摄像机间由RS485总线连接,镜头和云台的控制由前端的解码器实现。解码器将主控系统送来的串行码控制信号转换成不同功能电压以驱动前端设备,其原理图如图1所示。 为了降低系统成本,传统的解码器一般用简单逻辑去控制电磁电器或固体继电器而输出控制电压。本文设计的控制电路采用分立元件如MOSFET、TRIAC等,具有体积小、重量轻、低功耗、可靠性高、价格低廉等优点。 1 单片机接口设计 本设计采用的MSP430F149单片机属于德州仪器公司MSP430FLASH系列。MSP430系列是一组超低功耗的微控制器,针对不同应用目标、以不同模块组成,微控制器的设计可使电池长期工作,电源电压范围1.83.6V。由于具有16位RISC结构、16位寄存器和常数寄存器,MSP430达到了最大的代码效率。数字控制的振荡器提供所有低功耗模式从快速苏醒到活动模式的能力时间少于6s。MSP430F149带有两个16位定时器(带看门狗功能)、速率很高的8通道12位A/D转换器(带内部参考电压、采样保持和自动扫描功能)、一个内部比较器和两个通用同步/异步发射接收器、48个I/O口的微处理器结构。MSP430F149擦写次数高达10万次,强力抗干扰,具有工业级的品质。 MSP430F149有60KB的FLASH ROM和2KB的RAM。其中FLASH又分为120段,每段512字节的主存储器和两段信息存储器,每段128B.FLASH可以整个擦除也可以分段擦除,这给系统的软硬件设计都带来了极大的便利和灵活性。鉴于单片机存储器的容量和特点,外部不用扩展存储器和I/O口,外围设备得到了简化。 MSP430F149的工作电压是3.3V,因此其I/O电平也是3.3V逻辑电平,并且与5V TTL电平兼容。但与5V CMOS的标准电平是不一样的,所以不能直接与5V的CMOS标准器件相接。在这种情况下,可以采用双电压(一边是3V供电,一边是5V供电)供电的驱动器,如TI的SN74ALVC164245、SN74LVC4245,或选用74HCT、74ACT系列的CMOS器件。 本设计为了降低成本和简化设计,由单片机发出的控制信号均由MC1413来驱动放大,输出直接驱动光耦和继电器。MC1413输入低电平时断路,输入高电平时为达林顿输出,电流较大,而电平为低,相当于反向隔离驱动放大器。RS485通讯电路则采用74HCT244(+5V供电)驱动I/O口输出。 2 云台控制电路设计 电动云台有俯仰、旋转两个单相交流电机,每个电机有两个绕组,两个绕组有一个公共端,两个非公共端接移相电容。当交流电压从一个绕组接入时,电机正向旋转;当交流电压从另一个绕组接入时,电机反向旋转。单片机发出的云台左右、上下运动的控制信号实际上是对云台的交流电机的正以向控制。 图2是用双向可控硅的云台控制单路电路图。图中的光耦MOC3041是用来隔离可控硅上的交流高压和直流低压控制信号的。其输出用来触发双向可控硅,选用ST Microelectronics公司的T4系列,内部集成有缓冲续流电路,不用在双向可控硅两端并联RC吸收电路,可以直接触发,电路设计比较简单。 3 镜头控制电路设计 变焦镜头有光圈、聚焦、变倍三个直流电机,三个电机有一个公共接地端,在非公共端加正、负电压时电机正、反向旋转。单片机发出的镜头控制信号实现上是对镜头的直流电机的正向电压控制。 直流伺服电机的正反向控制电路一般有H型(桥式)互补对称式和T型互补对称式两种。其中,H型(桥式)互补对称式两路的集成芯片很多,例如UDN2952B,MB3863,L298等。考虑到这类芯片一般较贵,而且镜头的控制路数较多,为了降低成本,采用T型互补对称式驱动电路。 图3为对针对单个电机的镜头控制电路。为了防止上下两个FET功率管同时导通,采用4555双四选一构成硬件互锁,值得注意的是4555由3.3V供电。镜头的电机电源与数字电路之间通过光耦隔离,以避免电机接通和断开时所造成的毛刺影响数字电路的工作。光耦隔离器驱动两个FET功率管,后者直接用来驱动直流电机。两个FET管一个是P型沟道,另一个是N型沟道,形成互补结构。为了避免FET管因电压尖峰而损坏,电路中采用了金属氧化物压敏电阻8作为瞬时吸收保护器。 4 通讯解码电路软硬件设计 4.1 硬件电路 解码器与主控系统之间的数据传送经过RS485收发器MAX485,由单片机的TXD和RXD串行口发送和接收。解码器的单片机有一个规定的地址码,CPU不断查寻RXD口数据,当判别地址数据为本解码对应地址时,读入操作数据,再判别是何种控制功能,发出对应的控制信号。 图4为RS485通讯接口电路。为了提高数据传输的抗干扰性,MAX485为+5V单独供电,采用高速光耦6N137与其他的电源完全隔离,不共地。由于传输线较长且现场可能有电磁干扰,所以在传输线上并联瞬变电压抑制器TVSC,串联熔断器,传输线有屏蔽层的电缆。 4.2 通讯协议与指令结构 监控指令可以简单地分:视频切换、音频切换、电话会议、报警输入、报警布撤防、紧急报警输入、模拟采集、采集设置、请求读入采集量、行动输出、遥控等11种指令类型。这里仅介绍与云台镜头控制有关的指令。 指令类型5:(解码器使用) 说明:遥控指令,有2个字节参数 前1个字节表示状态字;第99状态表示遥控云台、镜头。 其它状态用户自定义。 后一个字节,当第99状态(前1字节为99)时,高4位代表云台动作,低4位代表镜头动作。 具体描述如下: 云台动作: 0不动作 1向上运动 2向下运动 3向左运动 4向右运动 5左上方向 6左下运动 7右上方向 8右下方向 9自动扫描 镜头状态: 0镜头不动 3光圈变大 6光圈变小 3景深不动 2景深远 5景深变近 6焦距不变 1焦距变远 4焦距变近 发送中指令格式如下:aa,参数长度,源,宿,类型,参数,校验和 除参数一部分可以是0n个字节外,其它都为1个字节。aa为指令头。参数长度为参数部分的字节数(099),源为信源的地址编号,宿为信宿的地址编号。类型为1个字节,分高4位与低4位两部分,高4位表示传递双方方式。 定义为:高4位为0是下行指令(计算机发给解码器),高4位不为0是上行6指令(解码器发给计算机),低4位就是前面介绍的指令类型号。校验和为除帧头以外的其余各字节之和与256的余数。 例:如主机发送控制命令给3#解码器,命令格式如下: 云台上 aa 02 00 03 05 99 10 xx 镜头焦距远 aa 02 00 03 05 99 01 xx 其余类推。 要解决总线上的冲突,保证指令的正确传输,需要一个好的通信协议。通信协议分两个部分:一是发送前解决冲突问题,二是发送时要保证发送的正确性。 (1)当一方需要发送指令时,判断信道上有没有人在发指令。如果有,直到指令发送完再等待10ms; (2)发一随机数(一般为自己的帐号),再接收这个数,判断是否正确。正确则表示无冲突发生,进行下一步操作;不正确表示冲突发生,等待一随机时间,转到(1)。 (3)当发送指令时为保证指令的正确性,须遵从以下协议; 发送方:发送后须等到确认指令后才能把此指令从发送队列里删除。如果未收到确认,则隔一段时间重发一次(时间间隔设定为10ms);重发三次后,仍未收到确认,则把此指令从队列里删除;同时,给出出错信息,当发送方收到重发指令后,应立即重发。但重发次数不能超过三次,超过三次后,也把指令删除,同时给出信息。 接收方:当收到正确指令时,应马上发回确认指令;若接收错误,应马上发回重发指令。 注意:凡是应答指令,不应放在发送队列中,而是即时产生马上发送出去,且不用遵循发送前的信道争用协议,因为协议本身保证此时马上发回会有任何冲突。 在设计无触点云台镜头通讯控制电路的过程中,充分考虑了电路的简易实用性,力求达到较高的性价比。目前该设计已经应用到电视监控系统中,取得自动光圈电动变焦镜头 此种镜头与前述的自动光圈定焦镜头相比另外增加了两个微型电动机,其中一个电动机与镜头的变焦环啮合,当其受控而转动时可改变镜头的焦距(Zoom);另一个电动机与镜头的对焦环啮合,当其受控而转动时可完成镜头的对焦(Focus)。由于该镜头增加了两个可遥控调整的功能,因而此种镜头也称作电动两可变镜头。 自动光圈电动变焦镜头一般引出两组多芯线,其中一组为自动光圈控制线,其原理和接法与前述的自动光圈定焦镜头的控制线完全相同;另一组为控制镜头变焦及对焦的控制线,一般与云台镜头控制器及解码器相连。当操作远程控制室内云台镜头控制器及解码器的变焦或对焦按钮时,将会在此变焦或对焦的控制线上施加一个或正或负的直流电压,该电压加在相应的微型电动机上,使镜头完成变焦及对焦调整功能。3.云台与防护罩 云台是承载摄像机进行水平和垂直两个方向转动的装置。云台内装两个电动机。这两个电动机一个负责水平方向的转动,另一个负责垂直方向的转动。水平转动的角度一般为350,垂直转动则有45、35、75等等。水平及垂直转动的角度大小可通过限位开关进行调整。云台的分类大致如下: 3.1 室内用云台及室外用云台 室内用云台承重小,没有防雨装置。室外用云台承重大,有防雨装置。有些高档的室外云台除有防雨装置 外,还有防冻加温装置。 3.2 承重 为适应安装不同的摄像机及防护罩,云台的承重应是不同的。应根据选用的摄像机及防护罩的总重量来选用合适承重的云台。室内云台的承重量较小,云台的体积和自重也较小。室外用云台因为肯定要在它的上面安装带有防护罩(往往还是全天候防护罩)的摄像机,所以承重量都较大。它的体积和自重也较大。 目前出厂的室内云台承重量大约1.5kg7kg左右,室外用云台承重量大约为7kg50kg左右。还有些云台是微型云台,比如与摄像机一起安装在半球型防护罩内或全天候防护罩内的云台。 3.3 控制方式 一般的云台均属于有线控制的电动云台。控制线的输入端有五个,其中一个为电源的公共端,另外四个分为上、下、左、右控制端。如果将电源的一端接在公共端上,电源的另一端接在“上”时,则云台带动摄像机头向上转,其余类推。 还有的云台内装继电器等控制电路,这样的云台往往有六个控制输入端。一个是电源的公共端,另四个是上、下、左、右端,还有一个则是自动转动端。当电源的一端接在公共端,电源另一端接在“自动”端,云台将带摄像机头按一定的转动速度进行上、下、左、右的自动转动。在电源供电电压方面,目前常见的有交流24V和220V两种。云台的耗电功率,一般是承重量小的功耗小,承重量大的功耗大。 目前,还有直流6V供电的室内用小型云台,可在其内部安装电池,并用红外遥控器进行遥控。目前大多数云台仍采用有线摇控方式。云台的安装位置距控制中心较近,且数量不多时,一般从控制台直接输出控制信号进行控制。而当云台的安装位置距离控制中心较远且数量较多时,往往采用总线方式传送编码的控制信号并通过终端解码器解出控制信号再去控制云台的转动。在选用云台时,最好选用在云台固定不动的位置上安装有控制输入端及视频输入输出端接口的云台,并且在固定部位与转动部位之间(即与摄像机之间)有用软螺旋线形成的摄像机及镜头的控制输入线和视频输出线的连线。这样的云台安装使用后不会因长期使用导致转动部分的连线损坏。特别是室外用的云台更应如此。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论