Chinaunix首页 | 论坛 | 博客
  • 博客访问: 623701
  • 博文数量: 262
  • 博客积分: 8433
  • 博客等级: 中将
  • 技术积分: 2141
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 09:37
文章分类

全部博文(262)

文章存档

2012年(1)

2011年(168)

2010年(92)

2009年(1)

分类: 嵌入式

2011-01-19 14:55:34

PELCO (派尔高)的监控器材在我国有很广泛的应用。 PELCO有自己的传输控制协议,当它的产品配套使用时,可以互相兼容。但在某些情况下,由于工程的需要,要求用其它设备(比如电脑)来控制PELCO的矩阵或镜头,这就要求充分了解PELCO的传输协议。 
    本文为你详细解析PELCO常用的两种协议:PELCO-D协议和PELCO-P协议。
-  PELCO-D协议
    PELCO-D协议一般用于矩阵和其它设备之间的通信。它的格式如下:
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
同步字 地址码 命令字1 命令字2 数据1 数据2 校验码

    所有的值都是用的 16进制表示。
    同步字通常都是 $FF。
    地址码是指与矩阵通信的那台设备的逻辑地址,可以在设备中设置。
    命令字 1和命令字2设置如下:

  Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
命令字1 Sence码 为0 为0 自动/手动扫描 摄像机打开/关闭 光圈关闭 光圈打开 焦距拉近
命令字2 焦距拉远 视角变宽 视角变窄 为0

    Sence码与Bit4和Bit3有关。在Bit4和Bit3为1的情况下,如果Sence码为1,则命令就是自动扫描和和摄像机打开;如果Sence码为0,则命令就是手动扫描和摄像机关闭。当然如果Bit4或Bit3为0的话那命令就无效了。
    数据1表示镜头左右平移的速度,数值从$00(停止)到$3F(高速),另外还有一个值是$FF,表示最高速。
    数据2表示镜头上下移动的速度,数值从$00(停止)到$3F(最高速)。
    校验码是指Byte2到Byte6这5个数的和(若超过255则除以256然后取余数)。
-  PELCO-P协议
    PELCO-P协议一般采用RS-485传输,波特率为4800,1位起始位和停止位,8位数据位,无校验。其格式如下:

Byte Value Function
1 $A0 起始码
2 $00 to $1F 地址码
3 Data byte 1 数据位1
4 Data byte 2 数据位2
5 Data byte 3 数据位3
6 Data byte 4 数据位4
7 $AF 停止码
8 $00-$FF 校验码

    起始码是固定值$A0。
    地址码是设备的逻辑地址,可由接收设备上的DIP开关来设定。
    数据位1到4的意义如下:

  Bit number
7 6 5 4 3 2 1 0
数据位1 0 摄像机打开 自动扫描 摄像机打开/关闭 光圈关闭 光圈打开 焦距拉近 焦距拉远
数据位2 0 视角变宽 视角变窄 0
数据位3   平移速度 $00(停止)到 $3F(高速)以及$40(最高速)
数据位4   上下移动速度$00(停止)到 $3F(最高速)

    停止码是固定值 $AF 。
    校验码是 Byte2 到 Byte6 这 5 个数的异或值(XOR)。
    地址码是从 0编起的,所以地址码$00表示第一台设备。
    PELCO-D和PELCO-P协议另有一些特殊命令,可对设备进行一些高级控制,但这些应用并不常见。

阅读(851) | 评论(0) | 转发(0) |
0

上一篇:CBR VBR

下一篇:面向对象和面向过程的区别

给主人留下些什么吧!~~