加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

详解PELCO-P\D协议(软件编程篇)(二)

(2012-09-04 11:26:17)
标签:

高速球

协议

云台

预置

杂谈

分类: 嵌入式系统设计之软件
四、PELCO-D协议内容介绍:
     D协议字节数:7个 

Word 1

Word 2

Word 3

Word 4

Word 5

Word 6

Word 7

Synch Byte

Address

Command 1

Command 2

Data 1

Data 2

Check Sum

1字节:头字节  永远是FF  ;2字节:地址字节,01-256,从1开始; 3、4字节:云台和摄像机控制字节,5、6字节:云台水平和垂直速度级字节;7字节:校验字节,是第2到第6字节的或OR。速度级D协议是从00-63个级。

    云台和摄像机字节控制位命令如下表:
     


Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Command 1  第3字节

Sense

Reserved

Reserved

Auto / Manual Scan

Camera On / Off

Iris Close

Iris Open

Focus Near

Command 2  第4字节

Focus Far

Zoom Wide

Zoom Tele

Down

Up

Left

Right

Always 0

    举例:关闭摄像机光圈命令,地址01,D协议命令是:FF 01 04 00 00 00 05;看上表,光圈关闭在第3字节的第2位,则为00000100二进制,16进制则是04H。第4字节的控制命令如上。
    关于云台自动功能如何实现,云台的自动功能是做到解码板电路,有多种硬件电路方法,也有软件检测限位开关或者光耦中断来控制左和右自动扫描。但上面协议表是没有自动命令,在P协议里AUTO PAN命令是CALL 99号预置位。在D协议里是没有定义,编程者可以定义CALL #NO来实现。

   D协议特殊命令控制表:
                           第3字节                第4字节                  第5字节               第6字节

Command

Word 3

Word 4

Word 5

Word 6

Set Preset

00

03

00 常用

01 to 20

Clear Preset

00

05

00 常用

01 to 20

Go To Preset

00

07

00 常用

01 to 20

Flip (180° about)

00

07

00 常用

21

Go To Zero Pan

00

07

00 常用

22

Set Auxiliary

00

09

00 常用

01 to 08

Clear Auxiliary

00

0B

00 常用

01 to 08

Remote Reset

00

0F

00 常用

00

Set Zone Start

00

11

00 不常用

01 to 08

Set Zone End

00

13

00 不常用

01 to 08

Write Char. To Screen

00

15

X Position 00 to 28 不常用

ASCII Value

Clear Screen

00

17

00不常用

00

Alarm Acknowledge

00

19

00不常用

Alarm No.

Zone Scan On

00

1B

00不常用

00

Zone Scan Off

00

1D

00不常用

00

Set Pattern Start

00

1F

00不常用

00

Set Pattern Stop

00

21

00不常用

00

Run Pattern

00

23

00不常用

00

Set Zoom Speed

00

25

00不常用

00 to 03

Set Focus Speed

00

27

00不常用

00 to 03


   上表第6字节的数值范围编程者可以随便定义范围。

   
D协议,地址1,命令串如下:

close:  FF 01 04 00 00 00 05  停止:FF 01 00 00 00 00 01
open:  FF 01 02 00 00 00 03  停止:FF 01 00 00 00 00 01
near:   FF 01 01 00 00 00 02  停止:FF 01 00 00 00 00 01
far:     FF 01 00 80 00 00 81  停止:FF 01 00 00 00 00 01
tele:    FF 01 00 20 00 00 21  停止:FF 01 00 00 00 00 01
wide:   FF 01 00 40 00 00 41  停止:FF 01 00 00 00 00 01
up:     FF 01 00 08 00 20 29  停止:FF 01 00 00 00 00 01
down: FF 01 00 10 00 20 31  停止:FF 01 00 00 00 00 01
left:    FF 01 00 04 20 00 25  停止:FF 01 00 00 00 00 01
right:  FF 01 00 02 20 00 23  停止:FF 01 00 00 00 00 01

preset #1: FF 01 00 03 00 01 05
call #1   FF 01 00 07 00 01 09
menu    FF 01 00 03 00 5F 63
tour:        FF 01 00 07 00 4C 54  停止:FF 01 00 07 00 60 68
scan:       FF 01 00 07 00 63 6B  停止:FF 01 00 07 00 60 68
pgm:       FF 01 00 25 00 00 26 自定义的

   建议编程者在做控制串口软件时,没帧命令输出时间间隔最好定义200ms/ 帧。


   以上P\D两种协议介绍完毕。下面介绍一下异类协议,这些协议很少见的。设计的一些别的因素,不全部贴出。把常用的协议讲完,此贴最后再讲各种协议之间的软件编程。
  
   国内一些厂家的协议都比较简单,就不谈了!下面谈谈台湾利凌、深圳三立、成都科力、松下这四家的通信协议,举1、2个命令来解释。

1、利凌高速球协议
    
地址1命令:
变倍缩小:01 20  FF,变倍停止:01 00 FF
变倍变大:01 10  FF,变倍停止:01 00 FF

云台向右:01 01 83 ( 80-87为速度级)    停止:01 00 FF

调1号预置位: 41 00 00
调2号预置位: 41 01 00
调3号预置位: 41 02 00   (地址要加40H)
设置2号预置位:82 03 64
  以上为利凌高速球一些命令,其协议为3个字节,为我见过的协议命令最简单的,固定波特率9600bit/s。第1字节:地址,第2字节:动作命令,第3字节:也是动作命令。 停止命令统一为:地址 00 FF
  利凌协议的特殊点在预置位设置和调用这个地址的区别,另外一个就是发码的连续性。
  如摄像机控制和云台控制地址都是和主控一一对应,而调用预置位的命令,地址要加40H,在软件里用1条add       a,#40h;a为变量,即可。而在设置预置位时,地址变量要加80H才可以。
  另外一个利凌高速球接收命令是为连续接收,也就是说主控端要连续发命令过来,高速球才连续转。通过测试,每帧命令间隔30ms最理想。此时间可用定时器中断计算出来。


2、深圳三立视讯,其矩阵协议型号有450、550、650.其中450和550兼容,650增加了一些特殊命令。
   三立视讯据说是一家中日合资企业,其协议为小日本定义,字节比较多,协议之啰嗦。2004年经过研究,已经破解。现在列几条命令出来讲讲。
   其协议命令为ASCII,如云台水平向右命令用STX ADXX;GCF:202136C:2022XY0 ETX来表示,转换成16进制命令即得是:02 41 44 30 31 3B 47 43 46 3A 32 30 32 31 33 36 43 3a 32 30 32 32 30 30 30 03,这里一共26个字节。02是头字节,41 44是标志字节,30 31表示01地址,第17个字节是43表示右命令。假如做三立协议和P\D协议之间的转换,这里讲30 31表示01地址,用软件怎么转换,请看:
subb a,#30h ;先把第4字节的高位地址变量减30H
mov b,#10   ;赋寄存器B常数10,
mul ab         ;两数相乘得出高位地址的十位
mov buf0,a  ;把十位保存在buf0
subb a,#30h ;此时第5字节地位地址变量已在a内,低位减30h得出个位.
add a,buf0   ;十位和个位相加得出01地址。
此时30  31两个地址变成了01地址。

ZOOM TELE:   STX ADXX;GC7:2021228 ETX   
ZOOM WIDE:  STX ADXX;GC7:202122C ETX

SET PRESET:  STX ADXXSPXY ETX

三立协议之烦是高速球协议里有3种字节长度的命令,26、18、10这三种。做软件时要注意。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有