在线咨询
  • 售前咨询: 售前咨询1售前咨询
  • 售后服务: 售后服务售后服务
  • 技术支持: 技术支持技术支持
淘宝购买

扫一扫
淘宝企业店购买

点击这里

索尼工业摄像机服务热线

0755-83995265

18922812789

扫一扫

扫一扫
了解最新产品,获取产品参数协议

sdi摄像机服务热线

0755-83995265

18922812789

返回顶部

热销推荐

SONY FCB-EV7520&FCB-CV7520索尼...

213万,1/2.8" Exmor R CMOS,30倍,1080p@60fps,星光级;超宽...

SONY FCB-EV7500&FCB-CV7500索尼...

238万,1/2.8" Exmor CMOS,30倍,1080p@60fps,超宽动态,2D&3D...

SONY FCB-EV7320&FCB-CV7320索尼...

213万,1/2.8" Exmor R CMOS,20倍,1080p@60fps,星光级;2D&3D...

SONY FCB-EV7520A&FCB-CV7520A...

SONY FCB-EV7520A&FCB-CV7520A,213万,1/2.8" Exmor R C...

更多产品推荐 >>

站内搜索

您的位置 : 首页 > 技术资讯

索尼一体化机芯用的VISCA协议是什么?

时间:2018-04-03  10:58:17  来源: 轩展科技  浏览数: 5125

在使用索尼摄像机时我们经常会提到VISCA协议,那么到底这个协议是什么?有什么作用呢?今天深圳轩展科技就为您解读SONY VISCA协议。

SONY VISCA协议是什么?
VISCA是与PTZ摄像机一起使用的专业摄像机控制协议。它是由索尼设计的,是基于RS232在9600比特/秒。索尼是将VISCA用于闭路电视摄像机。Blackmagic Design拥有RS-422端口并由ATEM 1M / E或ATEM 2M / E控制面板控制的ATEM切换器可以控制VISCA协议兼容的摄像机。

  

我们接着来看以下几个特征:
一、命令格式
命令通信的基本单元称为包(Packet)。一个包的长度为3到16字节,由头部、消息体和结束符三部分组成。命令包的第一个字节称为命令头(Header)。高半字节由1 (最高位,固定为1)和发送方(控制者)地址(地址一般为0)组成,低半字节由0和设备(相机)地址(或称“编号”)组成,从组成格式看,可以外接的相机最多有7台,如向1号相机发送命令,则命令头为0x81。命令包最后一个字节为终结符号,固定为0xff。中间部分字节称为消息体。协议说明文档中将命令头写成“8x”,其中x表示相机地址。
命令共2类:普通命令(Command)及查询命令(Inquiry)。前者是直接发送命令到相机,后者是从相机获取到数据。
具体的命令包格式如下:
8X QQ RR … FF
其中QQ为命令分类,01表示普通命令,09表示查询命令。RR为类别码(Category code)。X表示相机地址。范围1~7。

索尼一体化机芯   VISCA协议


二、响应
每个命令均有响应包,格式如下:
X0 … … FF
其中X范围为9~F,数值为相机编号+8。以FF结束。发送普通命令时,相机会返回ACK响应,但查询命令不会返回ACK。
ACK响应包格式:X0 41 FF
普通命令响应包格式:X0 51 FF
查询命令响应包格式:X0 51 ... FF
其中,X范围为9~F,是相机地址值+8。查询命令的响应包中带有数据,每种数据均不相同,可以询查协议文档。
错误信息格式如下:
 语法错误:X0 61 02 FF
命令取消:X0 61 04 FF
没有socket:X0 61 05 FF
命令没有执行:X0 61 41 FF
其中X的值和上面的一样。“socket”的范围暂时还不太了解。这些值就是代码做出判断的依据。



三、协议文档备注
 对于协议文档中qprs这类的描述方式,直接将其放到16位的十六进制数据的各项(十六进制格式为0xAAAA)中即可。比如一个命令的响应包格式为“y0  50  0p 0q  0r  0s  FF”,则实际得到的数据是0xpqrs。如“01 02 03 04”,对应数据为0x1234。反之亦然。在代码中用移位来实现即可。下面看几个经典的命令格式:
1、不带参数的命令
 相机上电CAM_Power命令格式: 8x  01  04  00  02  FF“8x”中的“x”表示相机编号。此类命令,直接按命令字段来组装即可。

2、带参数的命令
 变焦CAM_Zoom命令格式为:8x  01  04  47  0p 0q  0r  0s  FF。
“0p 0q 0r 0s”中的pqrs组成focus position参数。组装命令时,要将这个参数依次移位到对应的字段。假设参数值为0x1234,则对应的字段为“01 02 03 04”。
CAM_AFMode命令可以设置Active/Interval Time两个值,格式为:8x  01  04  27  0p 0q  0r  0s  FF
“0p 0q”对应于movement time,“0r 0s”对应于Interval,组装命令时,要分别进行组装。方式见上。

3、查询类命令,不带参数
 像CAM_PowerInq查询命令,发送8x  09  04  00  FF,直接返回y0  50  02  FF或y0  50  03  FF
其中“y0  50  02  FF”是返回的数据,y值为相机编号+8。对于此类命令,直接读取第3个字节即可得到对应的状态。

4、查询类命令,带参数
 像CAM_ZoomPosInq命令,发送8x  09  04  47  FF,返回y0  50  0p 0q  0r  0s  FF
在查询命令中,有大部分的命令是带有可变数据的,“y0  50  0p 0q  0r  0s  FF”中的“0p 0q 0r 0s”需要移位后才能知道确切的值,对应的值为0xpqrs。


以上部分内容整理于网络,可参考一下内容:

https://blog.csdn.net/liusandian/article/details/51952939    CSDN

https://en.wikipedia.org/wiki/VISCA_Protocol   维基百科

读过此文的人还读过