分类: 嵌入式
2011-01-19 14:55:34
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协议另有一些特殊命令,可对设备进行一些高级控制,但这些应用并不常见。