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.