www.belle-nuit.com archive |
|||
title |
sony 9-pin remote protocol |
||
author |
rick davies |
||
source |
rld@well.com |
||
date |
10.7.98 |
This is not the offical Sony 9-pin protocol. It is a summary for reference puroposes only. To obtain the protocol document, contact Sony directly.
Updated 6/16/96. Fixed the Prog Speed formula. Added Tables. Added all group 20 descriptions, more info on status bits, and most of the group 40 commands.
The protocol is based on the EIA RS-422-A signal standard, usually at 38.4 kBit/s. The data are sent as 1 start bit + 8 data bits + 1 parity bit + 1 stop bit. Parity is odd: the bitwise sum of data bits 0 -7 and the parity bit is an odd number.
The controlling device and the controlled device communicate through the interchange of command blocks. The bytes in each command block are assigned as follows:
0 |
System control (Master->Slave) |
1 |
Return for 0,2, or 4 of cmd-1 (Slave->Master) |
2 |
Transport Control (Master->Slave) |
4 |
Preset/Select control (Master->Slave) |
6 |
Sense Request (Master->Slave) |
7 |
Sense Return (Slave->Master) |
The protocol is initiated by the master. The slave should return a response within 9 msec. The response may be:
The master should not send another command until receiving a response from the slave device. The master must also insure that no more than 10 msec lapses between bytes in a command block. The master must immediatly stop sending data when it receives a NAK + Error Data message. If the Error Data contains "Undefined Command" the master may immediatley send another command, otherwise it must wait at least 10 msec before sending another command. When the master does not receive a response from the slave within the 10 msec timeout, it may assume that communications have ceased and take appropriate measures.
The pin assignments for the 9-pin cable are as follows:
Pin |
Master |
Slave |
---|---|---|
1 |
Ground |
Ground |
2 |
Rcv A |
Xmit A |
3 |
Xmit B |
Rcv B |
4 |
Xmit Common |
Rcv Common |
5 |
Spare |
Spare |
6 |
Rcv Common |
Xmit Common |
7 |
Rcv B |
Xmit B |
8 |
Xmit A |
Rcv A |
9 |
Ground |
Ground |
This is the command table for the DVR-2000/2100. It is summarised here for reference purposes only. If you want to order it from Sony call the Kansas City supply center and hope you get someone who knows the part number for the recorder whose protocol you want to use.
Command |
Response |
||
---|---|---|---|
00 0C |
10 01 |
Ack |
|
00 11 |
12 11 |
||
00 1D |
10 01 |
Ack |
|
20 00 |
10 01 |
Ack |
|
20 01 |
10 01 |
Ack |
|
20 02 |
10 01 |
Ack |
|
20 04 |
10 01 |
Ack |
|
20 05 |
10 01 |
Ack |
|
20 0F |
10 01 |
Ack |
|
20 10 |
10 01 |
Ack |
|
2X 11 |
10 01 |
Ack |
|
2X 12 |
10 01 |
Ack |
|
2X 13 |
10 01 |
Ack |
|
20 20 |
10 01 |
Ack |
|
2X 21 |
10 01 |
Ack |
|
2X 22 |
10 01 |
Ack |
|
2X 23 |
10 01 |
Ack |
|
20 30 |
10 01 |
Ack |
|
24 31 |
10 01 |
Ack |
|
20 34 |
10 01 |
Ack |
|
21 38 |
10 01 |
Ack |
|
21 39 |
10 01 |
Ack |
|
20 40 |
10 01 |
Ack |
|
20 41 |
10 01 |
Ack |
|
20 42 |
10 01 |
Ack |
|
20 43 |
10 01 |
Ack |
|
2X 54 |
10 01 |
Ack |
|
2X 55 |
10 01 |
Ack |
|
20 60 |
10 01 |
Ack |
|
20 61 |
10 01 |
Ack |
|
20 63 |
10 01 |
Ack |
|
20 64 |
10 01 |
Ack |
|
20 65 |
10 01 |
Ack |
|
20 6A |
10 01 |
Ack |
|
20 6B |
10 01 |
Ack |
|
44 00 |
10 01 |
Ack |
|
44 04 |
10 01 |
Ack |
|
44 05 |
10 01 |
Ack |
|
40 08 |
10 01 |
Ack |
|
40 10 |
10 01 |
Ack |
|
40 11 |
10 01 |
Ack |
|
40 12 |
10 01 |
Ack |
|
40 13 |
10 01 |
Ack |
|
44 14 |
10 01 |
Ack |
|
44 15 |
10 01 |
Ack |
|
44 16 |
10 01 |
Ack |
|
44 17 |
10 01 |
Ack |
|
40 18 |
10 01 |
Ack |
|
40 19 |
10 01 |
Ack |
|
40 1A |
10 01 |
Ack |
|
40 1B |
10 01 |
Ack |
|
40 1C |
10 01 |
Ack |
|
40 1D |
10 01 |
Ack |
|
40 1E |
10 01 |
Ack |
|
40 1F |
10 01 |
Ack |
|
40 20 |
10 01 |
Ack |
|
40 21 |
10 01 |
Ack |
|
40 22 |
10 01 |
Ack |
|
40 23 |
10 01 |
Ack |
|
40 24 |
10 01 |
Ack |
|
40 25 |
10 01 |
Ack |
|
40 26 |
10 01 |
Ack |
|
40 27 |
10 01 |
Ack |
|
40 2D |
10 01 |
Ack |
|
4X 30 |
10 01 |
Ack |
|
44 31 |
10 01 |
Ack |
|
41 32 |
10 01 |
Ack |
|
41 33 |
10 01 |
Ack |
|
41 34 |
10 01 |
Ack |
|
41 35 |
10 01 |
Ack |
|
41 36 |
10 01 |
Ack |
|
41 37 |
10 01 |
Ack |
|
41 3A |
10 01 |
Ack |
|
41 3B |
10 01 |
Ack |
|
4X 3E |
10 01 |
Ack |
|
40 40 |
10 01 |
Ack |
|
40 41 |
10 01 |
Ack |
|
40 42 |
10 01 |
Ack |
|
40 43 |
10 01 |
Ack |
|
40 44 |
10 01 |
Ack |
|
40 45 |
10 01 |
Ack |
|
4X 98 |
10 01 |
Ack |
|
4X 9B |
10 01 |
Ack |
|
4X A0 |
10 01 |
Ack |
|
4X A1 |
10 01 |
Ack |
|
4X A2 |
10 01 |
Ack |
|
4X A8 |
10 01 |
Ack |
|
4X A9 |
10 01 |
Ack |
|
4X AA |
10 01 |
Ack |
|
4X B8 |
10 01 |
Ack |
|
42 F8 |
10 01 |
Ack |
|
42 FA |
10 01 |
Ack |
|
61 0A |
74 08 |
||
79 09 |
|||
74 00 |
|||
74 01 |
|||
74 04 |
|||
74 05 |
|||
61 0C |
74 06 |
||
74 07 |
|||
74 14 |
|||
74 15 |
|||
74 16 |
|||
74 17 |
|||
60 10 |
74 10 |
||
60 11 |
74 11 |
||
60 12 |
74 12 |
||
60 13 |
74 13 |
||
61 20 |
7X 20 |
||
61 21 |
7X 21 |
||
62 23 |
7X 23 |
||
6X 28 |
7X 28 |
||
61 2A |
7X 2A |
||
60 2B |
76 2B |
||
60 2E |
7X 2E |
||
61 30 |
7X 30 |
||
60 31 |
74 31 |
||
60 36 |
71 36 |
||
60 3E |
72 3E |
||
60 52 |
71 52 |
||
60 53 |
71 53 |
||
60 58 |
71 58 |
||
61 AA |
7X AA |
Model |
Data |
---|---|
BVU-800 |
10 00 |
BVW-10 |
2X 00 |
BVW-11 |
2X 02 |
BVW-15 |
2X 03 |
BVW-35 |
2X 10 |
BVW-40 |
2X 01 |
BVW-50 |
2X 30 |
BVW-60 |
2X 20 |
BVW-65 |
2X 21 |
BVW-95 |
2X 22 |
BVW-96 |
2X 23 |
BVW-70 |
2X 24 |
BVW-75 |
2X 25 |
BVW-D75 |
2X 46 |
BVW-9000 |
2X 47 |
PVW-2600 |
2X 40 |
PVW-2800 |
2X 41 |
BVW-35PM |
20 18 |
BVW-65PM |
20 29 |
BVW-95PM |
20 2A |
BVW-75PM |
20 2D |
BVW-85P |
21 26 |
BVW-70S |
21 2C |
BVW-75S |
21 2D |
WBR-700 |
21 2D |
DVR-2000 |
3X 10 |
DVR-2100 |
3X 11 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
---|---|---|---|---|---|---|---|
Time Out |
Framing Error |
Overrun Error |
Parity Error |
X |
Checksum Error |
X |
Undefined command |
When only DATA-1 is given, the speed wil be given by
Tape Speed = 10^((N/32)-2) x play speed.
where N is the value of DATA-1. Some sample values are:
Speed |
Speed Data |
---|---|
0.1 |
32 (20H) |
1.0 |
64 (40H) |
2.9 |
79 (4FH) |
48.7 |
118 (76H) |
When a more precise speed value is required, then DATA-2 will be added. The speed formula for this case is
Tape Speed = 10^((N/32)-2) + N'/256*(10^(((N+1)/32)-2)-10^((N/32)-2))
where N is the value of DATA-1 and N' is the value of DATA-2.
auth - in more standard terms, the formula says that DATA-2 is used to linealy interpolate between the value given by N and that of N+1.
The maximum jog speed is set in the System:System menu. The maximum Var speed is 3X play speed. The maximum shuttle speed is 50X play speed.
auth - There is considerable controversy over the minimum speed. For a speed value of 0, the above formula with only DATA-1 gives 10^-2, or .01 x play speed. The standard states that when a speed between 0 and the minumum is given, the slave moves at minimum speed. In fact, many editors and control systems intend a "Shuttle 0" command ( 21 13 00 ) to pause the device and have it stop without disengaging. Devices which fail to do so will creep about 1 frame/second in this situation.
data-1 data-2 data-3 data-4 | Frame | | Seconds | | minutes | | hours | | 10 1 | | 10 1 | | 10 1 | | 10 1 |
auth - this is how time is represented in all commands and responses using a time code. The numbers indicate that the 10s value is stored in the high nibble and the 1s value in the low nibble. This is not to be confused with the 80-bit SMPTE timecode which is present in the analog timecode track on tape, or with the VITC timecode.
Deviation(%)=0.2 x speed value
This is all the spec states here. What actually happens is determined by the edit presets, in and out point selections, and ee/tape settings. Basically, all three set the device to the preroll position, and run at play speed up to the in point. In Preview, the slave switches to EE mode at the in point, and out at the out point, simulating the edit without disturbing the recording media. In review, the slave simply continues to play at the in point and rolls to the outpoint. In Auto Edit, the channels indicated by the edit presets are put into record at the in point and the recoding proceeds to the out point.
Data-1 Bit 7 |
CF |
Data-1 Bit 6 |
DF |
---|---|---|---|
0 |
Off |
0 |
Off |
1 |
On |
1 |
On |
DATA-1 |
DATA-2 |
DATA-3 |
DATA-4 |
||||
---|---|---|---|---|---|---|---|
MSD |
LSD |
MSD |
LSD |
MSD |
LSD |
MSD |
LSD |
Bin Grp 2 |
Bin Grp 1 |
Bin Grp 4 |
Bin Grp 3 |
Bin Grp 6 |
Bin Grp 5 |
Bin Grp 8 |
Bin Grp 7 |
auth - do these have any effect on the status bits?
Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
---|---|---|---|---|---|---|---|---|
DATA-1: |
X |
Insert |
Assemble |
Video |
X |
TC |
A2 (Cue) |
A1 (Cue) |
DATA-2: |
X |
X |
X |
X |
DA4 |
DA3 |
DA2 |
DA1 |
Data-1 Mode ----------------- 00 Auto ( Tape/EE ) 01 Tape FF Follows the mode set in the STATE MAP on the SYSTEM menu in Local.
DATA-1 State ----------------- 00 Auto 01 External 02 Input FF Follows the mode set in REFERENCE on the SYSTEM:SYSTEM menu in Local.
DATA-1 State ----------------- 01 2 Field 02 4 Field 03 8 Field FF Follows the mode set in LOCK FIELD on the SYSTEM:SYSTEM menu in Local.
DATA-1 Mode ----------------- 00 TIME CODE 01 TIMER-1 02 TIMER-2 FF Follows the mode set in F6:CRNT TM on the HOME menu in Local.
DATA-1 Mode 00 INPUT CHECK off 01 INPUT signals sent out VIDEO and MONITOR AUDIO OUTPUT connectors.
DATA-1 Mode ------------- 00 Field1/Field2: The edit will start on the field the command was received on 01 Field 1 02 Field 2 FF Follows the mode set in F4:TIMING on the EDIT SETUP menu in Local.
The following commands use the field selection:
DATA-1 Mode ------------ 00 Field-1 or Field-2 ( not fixed ) 01 Field 1 10 Field 2 11 Frame
H Phase = DATA_1 * 148 nsec
where DATA_1 is interpreted as a twos complement binary number in the range of -127 to 127.
Sync Phase = DATA_1 * 74 nsec
where DATA_1 is interpreted as a twos complement binary number in the range of -127 to 127.
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
---|---|---|---|---|---|---|---|---|
Value |
Mode |
X |
X |
Cue |
DA4 |
DA3 |
DA2 |
DA1 |
DATA-1 |
DATA-2 |
DATA-3 |
DATA-4 |
DATA-5 |
---|---|---|---|---|
11 |
DA1 LSB |
DA1 MSB |
CUE LSB |
CUE MSB |
Input Level = 20 log [(Level Data)/(4000h)] (dB)
Which gives coverage over the range of +12dB to -infinity.
Block Level switches:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Tracking Monitor Audio Video Transport Control Control Control Control Control "1": This function will be enabled when in remote "0": This function will be disabled in remote.
When DATA-2 or more are added, control data with two bytes per each block assigned by DATA-1 are added following DATA-1.
At present the transport switches are defined as follows:
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
---|---|---|---|---|---|---|---|---|
1st Byte |
Execute |
Preroll |
Search |
Rec |
Play |
Stop |
Standby |
|
2nd Byte |
Var |
Jog |
Shuttle |
None of the other blocks have any switches assigned, but rather operate as follows:
Video Control: Video phase and Sync phase can be adjusted on the system menu in remote mode.
Audio Control: Audio levels and output phase can be adjusted on the Audio:DA out menu in remote mode.
Monitor Control: the wfm monitor output selection on the system:wfm monitor menu and the montior level adjustments and monitor out selection on the system:audio monitor menu can be adjusted in remote mode.
Tracking Control: Tracking adjustments in the system:tracking menu can be made in remote mode.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 VITC LTC TIMER 2 TIMER 1 VITC LTC UB UB TIME TIME
That is to say that the response follows the bit set in DATA-1 as per the following table
Reqest |
Response |
---|---|
DATA-1=01 LTC TIME |
|
DATA-1=02 VITC TIME |
|
DATA-1=04 TIMER-1 |
|
DATA-1=08 TIMER-2 |
|
DATA-1=10 LTC UB |
|
DATA-1=20 VITC UB |
|
LTC Status |
VITC Status |
Return Data |
Return code |
---|---|---|---|
OK |
OK |
LTC |
|
NG |
OK |
VITC |
|
OK |
NG |
LTC |
|
NG |
NG |
LTC(*) |
LTC Status |
VITC Status |
Return Data |
Return code |
---|---|---|---|
OK |
OK |
VITC |
|
NG |
OK |
VITC |
|
OK |
NG |
LTC |
|
NG |
NG |
LTC(*) |
Byte No. |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
---|---|---|---|---|---|---|---|---|
0 |
X |
X |
Tape Out |
Servo Ref Missing |
X |
X |
X |
Local |
1 |
Standby |
X |
Stop |
Eject |
Rewind |
Fast Fwd |
Record |
Play |
2 |
Servo Lock |
TSO Mode |
Shuttle |
Jog |
Var |
Tape Dir |
Still |
Cue Up |
3 |
Auto Mode |
Freeze On |
X |
CF Mode |
A Out |
A In |
Out |
In |
4 |
Select EE |
Full EE |
X |
Edit |
Review |
Auto Edit |
Preview |
Preroll |
5 |
X |
Insert |
Assemble |
Video |
A4 |
A3 |
A2 |
A1 |
6 |
X |
Lamp Still |
Lamp Fwd |
Lamp Rev |
Srch LED 8 |
Srch LED 4 |
Srch LED 2 |
Srch LED 1 |
7 |
X |
X |
Aud Split |
Sync Act |
X |
Spot Erase |
X |
In/Out |
8 |
Buzzer |
Lost lock |
Near EOT |
EOT |
CF Lock |
Svo Alarm |
Sys Alarm |
Rec Inhib |
9 |
Fnc Abort |
X |
X |
X |
X |
X |
X |
X |
Description of Bits:
char *StatusBitStrings[][8] = { // Data 0 {" "," ","Unthread ","Svo Ref ", " "," "," ","Local "}, // Data 1 {"Standby "," ","Stop ","Eject ", "Rewind ","Fast Fwd ","Record ","Play "}, // Data 2 {"Servo Lock","TSO Mode ","Shuttle ","Jog ", "Variable ","Tape Rev ","Still ","Cue "}, // Data 3 {"Auto Mode ","Freeze On "," ","CF Mode ", "A Out ","A In ","Out ","In "}, // Data 4 {"Select EE ","Full EE "," ","Edit ", "Review ","Auto Edit ","Preview ","Preroll "}, // Data 5 {" ","Insert ","Assemble ","Video ", "A4 ","A3 ","A2 ","A1 "}, // Data 6 {" ","Lamp Still","Lamp Fwd ","Lamp Rev ", "Srch LED 8","Srch LED 4","Srch LED 2","Srch LED 1"}, // Data 7 {" "," ","Aud Split ","Sync Act ", " ","Spot Erase"," ","In/Out "}, // Data 8 {"Buzzer ","Lost lock ","Near EOT ","EOT ", "CF Lock ","Svo Alarm ","Sys Alarm ","Rec Inhib "}, // Data 9 {"Fnc Abort "," "," "," ", " "," "," "," "}, };
The Status bits communicate much about the progress of a motion
command. The precise timing of each signal varies almost from machine
to machine, and many edit controlers expect certain timing behaviour
of these signals. Herein lie many of the problems associated with
edit controllers, edit timing, and just plain wacky transport
behavior.
7X 21 Extended Status Data
7X 23 Signal Control Data
7X 28 Local Key Map
7X 2A Head Meter Data
76 2B Remaining Time
7X 2E Cmd Speed Data
7X 30 Edit Preset Status
74 31 Preroll Time
71 36 Timer Mode Status
72 3E Record Inhibit Status
71 52 DA Input Emphasis Data
71 53 DA Playback Emphasis Data
71 58 DA Sampling Frequency Data
7X AA Cross Fade Time Data
www.belle-nuit.com archive |
10.7.98 |