Sony`s Video System Control Architecture (VISCA

Sony`s Video System Control Architecture (VISCA
Sony’s Video System Control Architecture (VISCA)
Gary Lorensen
Sept 20, 1999
VISCA is, in my opinion, a great idea from Sony that has floundered due to their apathy about documenting and
evangelizing the protocol and operation of VISCA devices. This document is my attempt at documenting what I
know of the VISCA protocol so that others can use it. Since writing my VISCA Control application for the
PalmPilot (http://members.aol.com/glorensen/visca.html) I’ve received dozens of emails from individuals seeking
information for their own projects. My experience with VISCA is limited to the Sony CVD-1000 (Vdeck) and the
CI-1000 (Vbox). A number of other devices utilize the VISCA protocol for control. If you have information about
other VISCA devices, let me know so I can augment this document.
VISCA utilizes a serial repeater network configuration to communicate between the PC (device #0) and up to 7
peripherals (#1 through #7). The serial protocol is 9600bps, 8N1, no flow control. The daisy chain cable
configuration means that a message walks the chain until it reaches the target device identified in the data packet.
Responses then walk the rest of the way down the chain and back up again to reach the system. Some packets may
be broadcast to all devices.
A command data packet consists of a 1-byte message header, up to 14-bytes of data, and a terminator byte of 0xFF.
The message header is of the format:
bit 7: always ‘1’
bits 6-4: source device#
bit 3: ‘0’ normal packet/ ‘1’ for broadcast packets
bits 2-0: destination device# or ‘000’ for broadcast
In the packet descriptions below, multi-byte quantities are big-endian (Motorola-style) ordering, with the MSB at
[i] and the LSB at [i+1].
Each command data packet has a corresponding response data packet. The response to a particular packet is
variable in size and may indicate an error condition.
Responses
ACK
Type: Normal
Response:
0xX0 0x4x 0xFF
X = 0x08 | responding device# (0x09..0x0F)
x = responding device# (0x00..0x07)
Compatibility:
CVD-1000, CI-1000
Description: Device acknowledges recieving the command.
Complete
Type: Normal
Response:
0xX0 0x5x 0xFF
X = 0x08 | responding device# (0x09..0x0F)
x = responding device# (0x00..0x07)
Compatibility:
CVD-1000, CI-1000
Description: Device has completed the command.
Error
Type: Normal
Response:
0xX0 0x6x NN 0xFF
X = 0x08 | responding device# (0x09..0x0F)
x = responding device# (0x00..0x07)????
NN = error code
0x01 = Message length error (>14 bytes)
0x02 = Syntax error
0x03 = Command buffer error
0x04 = Command cancelled
0x05 = No socket
0x40 = Power off
0x41 = Command failed
0x42 = Search error
0x43 = Condtion error
0x46 = Counter type error
0x47 = Tuner error
0x48 = Emergency stop error
0x49 = Media unmounted
0x4A = Register error
0x4B = Register mode setting error
Compatibility:
CVD-1000, CI-1000
Description: Device error while processing command.
Network Change
Type: Normal
Response:
0xX0 0x38 0xFF
X = 0x08 | responding device# (0x09..0x0F)
Compatibility:
CVD-1000, CI-1000
Description: A device has been added or removed from the VISCA network. The device network should be
reinitialized via Address.
System Commands/Queries
Clear All
Type: Broadcast
Command packet:
0x88 0x01 0x00 0x01 0xFF
Response packet:
0x88 0x01 0x00 0x01 0xFF
Compatibility:
CVD-1000, CI-1000
Description: Clear all of the devices, halting any pending commands. VISCA Control uses this when resetting the
VISCA network.
Address
Type: Broadcast
Command packet:
Response packet:
0x88 0x30 0x01 0xFF
0x88 0x30 0x0X 0xFF
X = # of devices+1
Compatibility:
CVD-1000, CI-1000
Description: Resets the address of each device in the VISCA chain. The response packet tells the controller how
many devices are present in the the VISCA network. VISCA Control uses this when resetting the VISCA network.
Clear
Type: Normal
Command packet:
0x8X 0x01 0x00 0x01 0xFF
X = target device# (0x01..0x07)
0xX0 0x50 0xFF
X = 0x08 | responding device# (0x09..0x0F)
Compatibility:
CVD-1000, CI-1000
Description: Clear the target device, halting any pending commands.
Response packet:
Clock Set
Type: Broadcast
Command packet:
Response packet:
0x88 0x01 0x00 0x03 HH MM SS TT 0T hh mm ss tt 0t 0xFF
0x88 0x01 0x00 0x03 HH MM SS TT 0T hh mm ss tt 0t 0xFF
HH/MM/SS/TTT = time in hours/minutes/seconds/ticks
hh/mm/ss/ttt = time increment in hours/minutes/seconds/ticks
Compatibility:
CVD-1000, CI-1000
Description: Set the time and time increment for all devices.
Clock Inquiry
Type: Normal
Command packet:
0x8X 0x09 0x00 0x03 0xFF
X = target device# (0x01..0x07)
Response packet:
0xX0 0x50 HH MM SS TT 0T VV 0V 0xFF
X = 0x08 | responding device# (0x09..0x0F)
HH/MM/SS/TTT = time in hours/minutes/seconds/ticks
VVV = ticks/second
Compatibility:
CVD-1000, CI-1000
Description: Retrieve the device time and ticks/second
Device Inquiry
Type: Normal
Command packet:
0x8X 0x09 0x00 0x02 0xFF
X = target device# (0x01..0x07)
Response packet:
0xX0 0x50 VV vv MM mm RR rr SS 0xFF
X = 0x08 | responding device# (0x09..0x0F)
VVvv = Vendor ID (0x0001 = Sony)
MMmm = Model ID (0x0101 = CI-1000, 0x0202 = CVD-1000)
RRrr = ROM version
SS = maximum socket# in device chain
Compatibility:
CVD-1000, CI-1000
Description: Retrieve the device information
VCR Commands/Queries
Power On
Type: Normal
Command packet:
0x8X 0x01 0x02 0x00 0x02 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Turn on the device.
Power Off
Type: Normal
Command packet:
Response packet:
Compatibility:
0x8X 0x01 0x02 0x00 0x03 0xFF
ACK / Complete or Error
CVD-1000, CI-1000
Description: Turn off the device.
Power Query
Type: Normal
Command packet:
Response packet:
0x8X 0x09 0x02 0x00 0xFF
0xX0 0x50 0x02 0xFF
{Power on}
0xX0 0x50 0x03 0xFF
{Power off}
X = 0x08 | responding device# (0x09..0x0F)
Compatibility:
CVD-1000, CI-1000
Description: Return device power status
Stop
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x00 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Stop the VCR device.
Fast Forward
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x08 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Fast Forward the VCR device.
Rewind
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x10 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Rewind the VCR device.
Eject
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x18 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Eject the VCR device’s media.
Still
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x20 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Freeze frame the VCR device.
Slow 1/10th
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x24 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Slow motion at 1/10th speed.
Slow 1/5th
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x26 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Slow motion at 1/5th speed.
Play
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x28 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Play the VCR device.
Play x2
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x2A 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Play x2 the VCR device.
Cue
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x2E 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Cue the VCR device.
Reverse Slow 1/10th
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x34 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Reverse slow motion at 1/10th speed.
Reverse Slow 1/5th
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x36 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Reverse slow motion at 1/15th speed.
Reverse Play
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x38 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Reverse play the VCR device.
Reverse Play x2
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x3A 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Reverse play x2 the VCR device.
Review
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x3E 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Reverse scan the VCR device.
Record Pause
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x40 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Record pause the VCR device.
Record
Type: Normal
Command packet:
0x8X 0x01 0x02 0x01 0x48 0xFF
Response packet:
ACK / Complete or Error
Compatibility:
CVD-1000, CI-1000
Description: Record the VCR device.
Mode Query
Type: Normal
Command packet:
Response packet:
0x8X 0x09 0x02 0x01 0xFF
0xX0 0x50 0x00 0xFF
{Stop}
0xX0 0x50 0x02 0xFF
{Stop tape top}
0xX0 0x50 0x04 0xFF
{Stop tape end}
0xX0 0x50 0x06 0xFF
{Stop emergency}
0xX0 0x50 0x08 0xFF
{Fast Forward}
0xX0 0x50 0x10 0xFF
{Rewind}
0xX0 0x50 0x18 0xFF
{Eject}
0xX0 0x50 0x20 0xFF
{Still}
0xX0 0x50 0x24 0xFF
{Slow 1/10th}
0xX0 0x50 0x26 0xFF
{ Slow 1/5th }
0xX0 0x50 0x28 0xFF
{Play}
0xX0 0x50 0x2A 0xFF {Play x2}
0xX0 0x50 0x2E 0xFF {Cue}
0xX0 0x50 0x34 0xFF
{Reverse Slow 1/10th}
0xX0 0x50 0x36 0xFF
{Reverse Slow 1/5th }
0xX0 0x50 0x38 0xFF
{Reverse Play}
0xX0 0x50 0x3A 0xFF {Reverse Play x2}
0xX0 0x50 0x3E 0xFF {Review}
0xX0 0x50 0x40 0xFF
{Record Pause}
0xX0 0x50 0x48 0xFF
{Record}
X = 0x08 | responding device# (0x09..0x0F)
Compatibility:
CVD-1000, CI-1000
Description: Return device power status
Media Query
Type: Normal
Command packet:
Response packet:
0x8X 0x09 0x02 0x12 0xFF
0xX0 0x50 TT SS MM 0xFF
X = 0x08 | responding device# (0x09..0x0F)
TT = Tape type {0x01 = 8mm, 0x41 = Hi8}
SS = Speed (0x01 = SP, 0x02 = LP}
MM = Mode
bit 3: 0 = Normal MP or ME, 1=Hi8 MP
bit 1: 0 = MP, 1 = ME
bit 0: 0 = Recordable, 1 = Write protected
Compatibility:
CVD-1000
Description: Return device media status (media must be loaded)
Still to be written up:
• Frame VCR commands
• Search VCR commands/queries
• Edit VCR commands/queries
• On Screen Display VCR commands/queries
• Configure VCR commands/queries
• Transport queries
• Position & Track queries
• Effects commands/queries
• Video conferencing commands/queries
• Command/ack/complete examples
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising