This document contains information outlining the implementation of the Sony 9-Pin
Protocol in the Alesis M20. This is not an official Sony 9-pin protocol document and
should not be viewed as such. It is for reference purposes only. To obtain official Sony 9pin protocol documents, contact Sony directly.
INTERFACE SYSTEM OVERVIEW
• Conforming to EIA RS-422A
• Four-wire communications channel is utilized
• Data is transmitted asynchronously, bit serial, word serial with data transmissions between
devices being digital
• Standard transmission rate on the interface bus is 38.4 kilobits per second (kb/s)
• The data utilized by the interface system shall be as follows:
1 START Bit + 8 DATA Bits + 1 PARITY Bit + 1 STOP Bit
START
BIT
D0
(LSB)
Odd Parity means that the sum of D0 + D1 + … + D7 + PARITY equals an odd number.
The definition of CONTROLLER and DEVICE throughout this document shall be as follows:
“CONTROLLER” refers to the unit which controls the VTR.
“DEVICE” refers to the unit (VTR) which is controlled.
The communication between the CONTROLLER and DEVICE is composed of the following:
MSD LSD
Data
Cmd 1 Count Cmd 2Data -1 Data-n Checksum
1 Byte1 Byte1 Byte1 Byte1 Byte
When the Data Count is zero, the Data is not transmitted. When it is not zero, the Data corresponding to the value is
inserted between Cmd 2 and Checksum.
Cmd 1
Cmd 1 classifies the COMMAND into main groups which indicate the Function and Direction of the data to
follow.
(n = max 15)
CMD 1
0
1
System Control Return
2
4
Preset & Select Control
6
7
Data Count
Data Count indicates the number of data bytes added following Cmd 2. It ranges from 0 to F.
Cmd 2
Cmd 2is the designated COMMAND sent to the DEVICE or returned from the DEVICE.
Data
The number of data bytes and the content is defined by the specific Cmd 2.
FUNCTION
CONTROLLER DEVICE
System Control
Transport Control
Sense Request
Sense Return
DIRECTION
Checksum
The Checksum is the sum of all bytes in the message, from Cmd 1/Data Count to the last byte before the
Checksum. The Checksum is used to verify data accuracy and reject communication sequences that contain bit
errors.
The interface connector is a 9-pin D-subminiature female connector. The pin assignment for the
CONTROLLER and DEVICE is as shown in the following table:
PINCONTROLLERDEVICE
1 Ground Ground
2 Receive A Transmit A
3 Transmit B Receive B
4 Transmit Common Receive Common
5 Spare Spare
6 Receive Common Transmit Common
7 Receive B Transmit B
8 Transmit A Receive A
9 Ground Ground
COMMUNICATION PROTOCOL
All communication between CONTROLLER and DEVICE are under the direct supervision of the
CONTROLLER.
The CONTROLLER shall not transmit additional Command Blocks to the DEVICE prior to receiving an
appropriate response to the previous Command Block.
The CONTROLLER shall not interrupt transmission of a byte in a Command Block for more than 10
milliseconds. A DEVICE detecting the interruption of a byte in a Command Block that exceeds 10 ms
shall execute a Time-Out error sequence. A DEVICE shall void the receiving Command Block and
transmit a NAK (Time-Out).
The DEVICE, following the receipt of a Command Block from the CONTROLLER shall transmit a
response within 9 milliseconds.
The DEVICE, upon detection of an error, shall immediately transmit a NAK to the CONTROLLER, with
the appropriate error code. The CONTROLLER, upon receipt of the NAK, shall immediately stop
transmission of the Command Block
The M20 is a DEVICE (i.e. it only responds to and does not generate Sony 9-Pin commands). In general,
the M20 responds to commands in the following manner:
1) Recognized/supported command:
• Return an ACK as response to command not requiring data.
• Return appropriate data requested.
2) Checksum mis-match:
• Return a NAK (with data=checksum error) and take no action.
3) Unrecognized/unsupported command:
• Return a NAK (with data=undefined error) and take no action.
4) Number of data bytes is less than expected (e.g. Data byte count < # of bytes needed)
• Return a NAK (with data=undefined error) and take no action.
5) If more than 10 milliseconds lapses between bytes in a command block:
• Return a NAK (with data=timeout error) and take no action.
Locate to PunchIn-Preroll time and enter record. At PunchIn point, crossfade (at In
Point crossfade time preset) with input data. At PunchOut point, crossfade (at Out
Point crossfade time preset) with tape playback data. If not chasing, the tape will
stop when it reaches the PunchOut+Postroll time. If chasing, the tape will continue
to follow the incoming timecode. For the M20, this means the following:
1) Enable Preroll, Postroll, Rehearse and AutoRecord.
2) Locate to the AutoPunchInPoint - Preroll time
3) Initiate a record which puts the M20 into auto record rehearse mode
(which will crossfade in and out at PunchIn and PunchOut points)
4) Restore original Preroll, Postroll, AutoPlay, and AutoReturn status at the
PunchOut+Postroll time.
20.41Review
Action:
Locate to PunchIn-Preroll time and enter play. If not chasing, the tape will stop
when it reaches the PunchOut+Postroll time. If chasing, the tape will continue to
follow the incoming timecode. For the M20, this means the following:
1) Enable Preroll and Postroll.
2) Locate to the AutoPunchInPoint - Preroll time
3) Initiate a play
4) Restore original Preroll, Postroll, AutoPlay, and AutoReturn status at the
PunchOut+Postroll time.
20.42 Auto Edit
Action:
Locate to PunchIn-Preroll time and enter play. At PunchIn point, crossfade (at In
Point crossfade time preset) with input data and enter EDIT REC mode. At
PunchOut point, crossfade (at Out Point crossfade time preset) with tape playback
data cancel EDIT REC mode and enter REPRO playback. If not chasing, the tape
will stop when it reaches the PunchOut +Postroll time. If chasing, the tape will
continue to follow the incoming timecode. For the M20, this means the following:
1) Enable Auto Record
2) Locate to PunchIn - Preroll time
3) Initiate a record, which plays the tape until PunchIn point is reached, at
which time it will punch-in, punch-out at PunchOut point.
4) Restore original Preroll, Postroll, AutoPlay, and AutoReturn status at
PunchOut+Postroll time. (If chasing, Auto Record will be disabled at the
PunchOut point)
20.54 Anti-Clog Timer Disable
Action: Disable the anti-clog timer, which is responsible for unthreading the tape
after the specified time without tape activity. When the timer is disabled,
the unthread timeout is infinite (no timeout). The previous timeout is still
retained so that enabling the timer will return to the previous timeout.
20.55 Anti-Clog Timer Enable
Action: Enable the anti-clog timer. Return the unthread timeout to the last non-
infinite value.
The unthread timeout value can be viewed and/or edited in the Utility pages.
(Currently, the user is not able to select the infinite setting from the front panel)
- DATA-1 thru DATA-4 same format as in “24.31: Cue Up With Data”
75.11: OUT DATA
- DATA-1 thru DATA-4 same format as in “24.31: Cue Up With Data”
61.20Status Sense
Request for status
Data:DATA-1 (MS nibble=initial status byte to be sent back)
(LS nibble=# of status bytes to be sent back)
Response:7X.20: STATUS DATA
- DATA-1 thru DATA-x (Status Bytes) Reference Appendix A
61.30Edit Preset Sense
Data:DATA-1 (MS nibble=initial status byte to be sent back)
(LS nibble=# of status bytes to be sent back)
Response:7x.30: EDIT PRESET DATA
- DATA-1 thru DATA-x (Status Bytes)
60.31Pre-roll Duration Sense
Request Pre-roll time data
Response:74.31: PREROLL TIME DATA
- DATA-1 thru DATA-4 same format as in “24.31: Cue Up With Data”
60.36Timer Mode Sense
Request for setting of the Timer Mode (Timer-1 or Timecode)
Response:71.36: TIMER MODE STATUS
- DATA-1 = 00 for Timecode, =01 for Timer-1 (ABS)
60.58DA Sys Fs Sense
Request digital audio channel sampling frequency
Response:71.58: DA SAMPLING FREQ DATA
- DATA-1: 01=48KHz; 02=44.1KHz
61.78Chase Offset Sense
Request Chase Offset value
Response:76.78: CHASE OFFSET DATA
- DATA-1=00
- DATA-2=Frame, DATA-3=Seconds, DATA-4=Minutes
Notes
• In certain instances, the user may want to use ABS + SMPTE Offset instead of the TC
track timecode when controlling the M20 via RS-422. If the Chase Reference = Tape
TC, then the TC track timecode will be used and if the Chase Reference = ABS Time,
then the ABS + SMPTE Offset will be used. For example, when Chase Reference =
ABS Time, the M20 will respond to the timecode query with the ABS+SMPTE Offset
timecode. Also while Chase Reference = ABS Time, if the reference counter display is
in TapeTC mode, the ABS + SMPTE Offset timecode will be displayed instead of the
TC track timecode.