Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 Serial Communications Protocol Definition Project: DC-2/MC-1 Updated: May 15,2000 Major rev 0 Minor rev 5 Lexicon, Inc.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 1 Documents 4 2 Definitions 4 3 Abbreviations 4 4 General Description 4 5.1 5.2 5.3 5.4 5.5 Physical Layer DB-9 RS232 Connector Serial Port Driver Errors DC-2/MC-1 Receive Buffer DC-2/MC-1 Hardware Verification 5 5 5 6 6 6 6.1 Data Link Layer Errors 6 7 5 6 7 Application Layer 7.1 DC-2/MC-1 Asynchronous Notification Packets 7.1.1 Wakeup Notification 7.1.2 Sleep Notification 7.1.3 Front Panel Display Buffer 7.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol 7.3.26 7.3.27 7.3.28 7.3.29 7.3.30 7.3.31 7.3.32 7.3.33 7.3.34 7.3.35 8 Set Custom Name Set Input Name by Id Set FPD Control Registers Host Wakeup Host Sleep Get Communication Configuration Set Communication Configuration Set Mute Set Output Level Adjustments Send Display String Command Internal Use 8.1.1 Debug Character 8.1.2 PEEK Command 8.1.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 1 Documents The following documents should also be used with this document to understand how this protocol can be used with a DC-2/MC-1. 070-13227 MANUAL,OWNER'S,DC2 070-13278 MANUAL,OWNER'S,MC1 2 Definitions System Parameter: A user changeable variable that stores a specific value that describes an operating condition for the DC-2/MC-1 system. Effect: An effect describes a particular type of processing on the audio data stream.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 The DC-2/MC-1 uses simple notification, command, response and acknowledgment packets to have communication transactions with a given HOST. This protocol is designed for point to point communication between a HOST and DC-2/MC-1. The DC-2/MC-1 Protocol is a 3 layered system. The DC-2/MC-1 serial protocol allows for the DC-2/MC-1, or the HOST to initiate a communication transaction. Most transactions are initiated by the HOST.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 5.3 Errors The DC-2/MC-1 will detect parity, framing and data overrun errors. If an error is detected by the DC2/MC-1, the DC-2/MC-1 will transmit an NAK packet with a error code of: DC_ERR_PARTIY, DC_ERR_FRAME, DC_ERR_OVER, corresponding to the error detected.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 Data Link Header: Byte Number Description First Byte(0) Start of Packet(SOP) Byte(1) DLL Data Count Value 0xF1 nn Application Header: Byte(2) Command Byte(3) APP Data Count(number of application data bytes to Follow) nn nn Application Data: Byte(4) Byte(5) … Last Data Byte -1 Data[0] Data[1] Data[…] Data[Data Count -1] nn nn nn nn Data Link Tail: Last Byte End of Packet (EOP) 0xF2 6.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.1.1.2 Host Response Expected Following the transmission of the Wakeup notification DC-2/MC-1 will wait for an ACK. 7.1.1.2.1 Actions to Response Codes ACK NAK Error Code DC-2/MC-1 continues to operate. DC-2/MC-1 will retransmit the Wakeup Notification until it receives an ACK or it reaches the RETRANSMIT_COUNT. If the RETRANSMIT_COUNT is exceeded then DC-2/MC-1 continues to operate. 7.1.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 The DC-2/MC-1 includes 8 custom characters that are defined to display increments of a display block. (i.e. Volume Bar) The custom characters are ASCII character codes 08 - 0F(hex). The codes are used as follows: '08' - left 1 bar '09' - left 2 bars '0A' - left 3 bars '0B' - left 4 bars '0C' - Full Cell '0D' - Underscore '0E' - right 3 bars '0F' - not in use 7.1.3.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Zone 2 Balance Zone 2 Mute Bass Treble Loudness Tilt Menu Background On/Off Printed on: 10/19/00 Z2_BAL Z2_MUTE BASS TREBLE LOUDNESS TILT MENU_BKGND The parameter definitions for each of these parameters can be obtained by querying the DC-2/MC-1 with the DC_CMD_GET_SYS_PARAM_BY_NAME command. The DC_RESP_SYS_PARAM_DEF will contain the ParamId for each of the parameters. The ParamId may change with s/w version changes, but the Parameter Name will not.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3 Host Initiated Command Packets The DC-2/MC-1 serial communication protocol has been designed to respond to the following commands as described below. Each command is transmitted to the DC-2/MC-1 with the identified parameters. If the command is successfully received and processed by the DC-2/MC-1, the unit will respond with the described response packet or action. 7.3.1 Reset Unit Commands the DC-2/MC-1 to soft reset. 7.3.1.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.3.3 DC-2/MC-1 Response The KeyCode is processed as a valid IR code. No acknowledgment will be sent from DC-2/MC-1. 7.3.3.4 Data Validation The KeyCode data will be verified as a legal IR code. If the Code is not valid the DC-2/MC-1 will not respond. 7.3.4 Get DC-2/MC-1 Unit Configuration Request to DC-2/MC-1 for it’s current unit configuration. DC-2/MC-1 will respond with “Unit Configuration Packet”.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.4.3 Data Description ProductId: This unsigned 8 bit value describes the product. Product ID Lexicon Dc-2 1 Lexicon MC-1 2 JBL Synthesis SDP-3 3 Software Type: An unsigned 8 bit value indicating the current configuration of the unit’s software.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol TimeStamp: Printed on: 10/19/00 Is a null terminated ASCII text string describing the build date and time of the current ROM. The Format of this text string is: “yy/mm/dd(sp)hh:mm” yy- is the last two digits of the year (i.e. year 1999 = 99, year 2000 = 00) mm - is the month dd- is the day (sp) - is an ASCII space character (0x20) hh - is the hour mm - is the minute 7.3.5 Get System Status Request to DC-2/MC-1 for it’s current system status.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Data Type: Maximum Value: Packet. Current Input Sample Rate Data Type: Unsigned 8 bit integer. Set by “Total Number of Effects” in the “Unit Configuration” Unsigned 8 bit integer. SAMPLE RATE RATE_UNKNOWN RATE_44 RATE_48 RATE_88 RATE_96 Current Input Format: Data Type: Printed on: 10/19/00 0 1 2 3 4 Unsigned 8 bit integer.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Application Header: Command DC_CMD_GET_REC_STATUS Data Count 0 Application Data: N/A Printed on: 10/19/00 0x17 0x00 7.3.6.2 Record/Zone2 Status Response Packet Application Header: Command DC_RESP_REC_ZONE2_STATUS Data Count 5 Application Data: Data[0] Zone2 Volume Data[1] Assigned Input Data[2] Zone2 Mute Active Data[3] Record Active Data[4] Zone2 Balance 0x82 0x05 nn nn nn nn nn 7.3.6.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Max: Printed on: 10/19/00 Set by the System Parameter Count in the “Unit Configuration Packet”. 7.3.7.3 Data Validation: The ParamId must be a valid parameter number. If it is not the DC-2/MC-1 will respond with a NAK packet and error code DC_ERR_ INVALID_PARAM_NUMBER. 7.3.7.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.8 Get System Parameter Values Request to DC-2/MC-1 for all current system parameter values. DC-2/MC-1 will respond with the “System Parameter Values Packet”. 7.3.8.1 Command Packet Description Application Header: Command DC_CMD_GET_SYS_PARAM_VALUES Data Count 0 Application Data: N/A 0x1A 0x00 7.3.8.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Application Header: Command Data Count Application Data: Data[0] Data[1] Data[2]- Data[DataCount-1] Printed on: 10/19/00 DC_RESP_EFFECT_DEF 2 + strlen(EffectName) + 1 0x85 nn EffectId MaxParameters EffectName nn nn ch ch ch … 0x00 7.3.9.5 Data Description EffectId: Data Type: Unsigned 8 bit integer Max: Set by the Effect Count in the “Unit Configuration Packet”. MaxParameters: Maximum number of parameters assigned to this effect.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Application Header: Command DC_RESP_EFFECT_PARAM_DEF Data Count 4 Application Data: Data[0] EffectId Data[1] ParamId Data[2] MaxValue Data[3] Value Printed on: 10/19/00 0x86 0x04 nn nn nn nn 7.3.10.5 Data Description EffectId: Data Type: Unsigned 8 bit integer. Max: Set by the Effect Count in the “Unit Configuration Packet”. ParamId: Data Type: Unsigned 8 bit integer. Max: Set by the Parameter Count in the “Effect Definition Packet”.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Application Header: Command Data Count Application Data: Data[0] Data[1] Data[…] Data[DataCount-1] Printed on: 10/19/00 DC_RESP_EFFECT_PARAM_VALUES 1 + EffectParamCount 0x87 nn EffectId effect_param_value[0] effect_param_value[…] effect_param_value[EffectParamCount-1] nn nn nn nn 7.3.11.5 Data Description EffectId: Data Type: Max: effect_param_value: Data Type: Max: Unsigned 8 bit integer.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Application Header: Command DC_CMD_GET_INPUT_NAME Data Count 1 Application Data: Data[0] InputId Printed on: 10/19/00 0x2D 0x01 nn 7.3.13.2 Data Description InputId: Data Type: Max Value: Conversion: Unsigned 8 bit Integer 7 Input Id are defined in Appendix D Input Id’s 7.3.13.3 Data Validation: The InputId must be a valid Input number. If it is not the DC-2/MC-1 will respond with a NAK packet and error code DC_ERR_ INVALID_INPUT_ID. 7.3.13.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Application Header: Command DC_RESP_FPD_CONTROL Data Count 4 Application Data: Data[0] FPD_CtrlReg0 Data[1] FPD_CtrlReg1 Data[2] FPD_CtrlReg2 Data[4] FPD_MinUpdate Printed on: 10/19/00 0x88 0X04 nn nn nn nn 7.3.14.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.16.1 Command Packet Description Application Header: Command DC_CMD_SET_EFFECT_PARAM_VALUES Data Count EFFECT_COUNT[EffectId] + 1 Application Data: Data[0] EffectId Data[1] effect_param_value[0] Data[…] effect_param_value[…] Data[DataCount-1] effect_param_value[EFFECT_COUNT-1] 0x1F nn nn nn nn nn 7.3.16.2 Data Description EffectId: Data Type: Max: effect_param_value: Data Type: Max: Unsigned 8 bit integer.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 The Effect Id must be a valid Effect Id. If it is not the DC-2/MC-1 will respond with a NAK packet and error code DC_ERR_ INVALID_EFFECT_ID. If an invalid string is passed, DC-2/MC-1 will ignore the command and transmit a DC_NAK command with an error code DC_ERR _INVALID_DATA. 7.3.18 Set System Volume Commands DC-2/MC-1 to set the system volume with the value in this packet. 7.3.18.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 If a value is passed that exceeds the maximum value of that parameter the DC-2/MC-1 will ignore the command and transmit a DC_NAK command with an error code DC_INVALID_DATA. 7.3.20 Set Front/Back Balance Commands DC-2/MC-1 to set the front/back balance to the value in this packet. 7.3.20.1 Packet Description Application Header: Command DC_CMD_SET_FRONT_BACK_BALANCE Data Count 1 Application Data: Data[0] Value 0x23 0x01 nn 7.3.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.22 Set Record/Zone2 Input Sets the Record/Zone 2 input. If Record/Zone2 was inactive, this command will set the input then activate the Record/Zone 2 function. 7.3.22.1 Command Packet Description Application Header: Command DC_CMD_SET_REC_INPUT Data Count 1 Application Data: Data[0] InputId 0x25 0x01 nn 7.3.22.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.24 Set Zone2 Volume Commands DC-2/MC-1 to set the system volume with the value in this packet. 7.3.24.1 Command Packet Description Application Header: Command DC_CMD_SET_ZONE2_VOLUME Data Count 1 Application Data: Data[0] Value 0x27 0x01 nn 7.3.24.2 Data Description Value: Data Type: Max: Conversion: Unsigned 8 bit integer. 92 0 = -80 dB 92 = +12 dB 7.3.24.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.26.1 Packet Description Application Header: Command Data Count Application Data: Data[0] Data[1]-Data[DataCount-1] DC_CMD_SET_CUST_NAME 1 + strlen(CustomName) + 1 0x2C nn CustomNameEnable CustomName nn ch ch ch … 0x00 7.3.26.2 Data Description CustomNameEnable: DataType: TRUE: FALSE: CustomName: Data Type: Max Length: Enables/Disables the Custom Name Display.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 The InputId must be a valid Input Id. If it is not the DC-2/MC-1 will respond with a NAK packet and error code DC_ERR_ INVALID_INPUT_ID. If the InputName string exceeds the INPUT_NAME _LENGTH, the DC-2/MC-1 will ignore the command and transmit a DC_NAK command with an error code DC_ERR_INVALID_DATA. 7.3.28 Set FPD Control Registers Sets FPD Control Registers to the transmitted values. 7.3.28.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 7.3.30 Host Sleep By transmitting the Sleep command, the Host indicates it has just “powered down” and will no longer respond to DC-2/MC-1 Notifications. No Acknowledgment is expected. 7.3.30.1 Packet Description Application Header: Command HOST_SLEEP Data Count 0 Application Data: N/A 0x12 0x00 7.3.30.2 Data Description N/A 7.3.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 LED Acknowledge Enable: TRUE Indicates the DC-2/MC-1 will light the green standby LED to indicate the DC-2/MC-1 is receiving data on the RS232 serial port, and will light the Red Overload LED to indicate the Dc-2/MC-1 is transmitting data on the RS232 serial port. FALSE Indicates the DC-2/MC-1 will not light the green standby or the red overload LED’s. 7.3.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Application Header: Command Data Count Application Data: Data[0] DC_CMD_SET_MUTE Mute State Printed on: 10/19/00 0x31 1 0x01 nn 7.3.33.2 Data Description MUTE State: Value Definition 0 UNMUTE The user mute state is set to unmuted. The DC-2/MC-1 may still be muted for other internal reasons. 1 USER MUTE The system volume decrements by the specified user amount as set in the OUTPUT LEVELS Menu. 2 FULL MUTE The system is fully muted. 7.3.33.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Speaker Center Subwoofer Front Left Front Right Side Left Side Right Rear Left Rear Right Printed on: 10/19/00 Id # 0 1 2 3 4 5 6 7 7.3.34.3 DC-2/MC-1 Response The output ID will be verified for validity. The output adjustment will be range checked. The Output Id must be a valid Id number as stated in this document. If it is not the DC-2/MC-1 will respond with a NAK packet and error code DC_ERR_ INVALID_PARAM_NUMBER.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 The display string is sent to the OSD and Front Panel Displays. The DC-2/MC-1 will ACK when completed with this command. 7.3.35.4 Data Validation: If a string length exceeds the 40 character maximum the string will be truncated before displaying and the DC-2/MC-1 transmit a DC_NAK command with an error code DC_INVALID_DATA. 8 Internal Use 8.1.1 Debug Character Not Supported for External Distribution. 8.1.
Lexicon, Inc.
Lexicon, Inc.
Lexicon, Inc.
Lexicon, Inc.
Lexicon, Inc.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 15.2 Getting System Wide Status and Setup: In order for the HOST to save a complete DC-2/MC-1 system setup it must issue several commands to learn the system configuration and then proceed to get all the data that must be saved for the complete system. A complete system setup includes all system parameter definitions and values, all effect definitions and effect parameter definitions, the DC-2/MC-1 custom name and all input names.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 15.5 Examples: The following examples show the byte’s transmitted for the Get Unit Config, Get Effect Definition, and Set Input Name transactions. They are shown as they should be transmitted from left to right. 15.5.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol Printed on: 10/19/00 15.5.2 Get Effect Definition Once we know how many effects the DC-2/MC-1 has resident we can then start to step through each effect for its definition.
Lexicon, Inc. DC-2/MC-1 Serial Communications Protocol SOP DLL DC CMD App DC F1 04 E0 01 Printed on: 10/19/00 DATA0 Cmd 2E EOP F2 Because the DC-2/MC-1 received and processed the command successfully the DC-2/MC-1 responds with the DC_ACK packet. Here we see that the ACK packet is responding to the DC_CMD_SET_INPUT_NAME command. 15.5.4 Send IR Command Example SOP DLLDC CMD AppDC DATA0 IRKey Code F1 04 14 01 17 EOP F2 This example shows how to transmit the IR command for “Volume Up”.