Jbl SDP-3 User Manual

SerialDef,SDP-3.doc printed on 1/17/02
Serial Communications Protocol Definition
Project: SDP-3
Author: Simon Jarvis Updated: January 17, 2002 JBL Synthesis Edit: Chris Neumann
Major rev 0 Minor rev 3
Approvals: Engineering: Marketing:
1 of 1
SerialDef,SDP-3.doc printed on 1/17/02
1 Documents 4
2 Definitions 4
3 Abbreviations 4
4 General Description 4
5 Physical Layer 5
5.1 DB-9 RS232 Connector 5
5.2 Serial Port Driver 5
5.3 Errors 6
5.4 SDP-3 Receive Buffer 6
6 Data Link Layer 6
6.1 Errors 6
7 Application Layer 6
7.1 SDP-3 Asynchronous Notification Packets 6
7.1.1 Wakeup Notification 7
7.1.2 Sleep Notification 7
7.1.3 Front Panel Display Buffer 7
7.1.4 Parameter Change Notification 8
7.2 Acknowledgment Packets 9
7.2.1 Acknowledge 9
7.2.2 No Acknowledge 10
7.3 Host Initiated Command Packets 10
7.3.1 Reset Unit 10
7.3.2 Restore Defaults 10
7.3.3 Send IR Command 11
7.3.4 Get SDP-3 Unit Configuration 11
7.3.5 Get System Status 13
7.3.6 Get Record/Zone 2 Status 15
7.3.7 Get System Parameter Definition 16
7.3.8 Get System Parameter Values 17
7.3.9 Get Effect Definition by Id 18
7.3.10 Get Effect Parameter Definition 19
7.3.11 Get Effect Parameter Values 20
7.3.12 Get Custom Name 21
7.3.13 Get Input Name by Id 21
7.3.14 Get FPD Control Registers 22
7.3.15 Set System Parameter Values 23
7.3.16 Set Effect Parameter Values 23
7.3.17 Set Effect Name by Effect Id 24
7.3.18 Set System Volume 24
7.3.19 Set Main Balance 25
7.3.20 Set Front/Back Balance 25
7.3.21 Set Active Effect by Id 26
7.3.22 Set Record/Zone2 Input 26
7.3.23 Clear Record/Zone2 Input 27
7.3.24 Set Zone2 Volume 27
7.3.25 Set Zone2 Left/Right Balance 28
2 of 2
SerialDef,SDP-3.doc printed on 1/17/02
7.3.26 Set Custom Name 28
7.3.27 Set Input Name by Id 29
7.3.28 Set FPD Control Registers 30
7.3.29 Host Wakeup 30
7.3.30 Host Sleep 31
7.3.31 Get Communication Configuration 31
7.3.32 Set Communication Configuration 32
7.3.33 Set Mute 32
7.3.34 Set Output L evel Adjustments 33
8 Internal Use 34
8.1.1 Debug Character 34
8.1.2 PEEK Command 34
8.1.3 POKE Command 34
9 Appendix A Command Codes 34
10 Appendix B Error Codes 36
11 Appendix C SDP-3 IR-Codes 37
12 Appendix D Input Id’s 38
13 Appendix E Protocol Constants 38
14 Appendix F FPD Control Registers 39
15 Application Notes and Examples 39
15.1 Box initializations: 39
15.1.1 SDP-3: 39
15.1.2 HOST: 39
15.2 Getting System Wide Status and Setup: 40
15.3 Downloading the System Setup to the SDP-3: 40
15.4 Simple System Control & System Status: 40
15.5 Examples: 41
15.5.1 Get Unit Configuration 41
15.5.2 Get Effect Definition 42
15.5.3 Set Input Name 42
3 of 3
SerialDef,SDP-3.doc printed on 1/17/02
JBL Synthesis SDP -3
1 Documents
The following documents should also be used with this document to understand how this protocol can be used with an SDP-3SDP-3.
JBLSDP-3TECH MANUAL, OWNER’S, SDP-3
2 Definitions
System Parameter: A user changeable variable that stores a specific value that describes an operating
condition for the SDP-3SDP-3 system.
Effect: An effect describes a particular type of processing on the audio data stream.
Effect Parameter: A changeable variable that stores a specific state or condition that controls the way the
effect functions or processes the audio.
HOST: The device initiating or receiving the serial communication packets to/from the SDP-
3SDP-3.
SDP-3: The JBL Synthesis product receiving or transmitting the serial communication packets
to/from the HOST.
Nonvolatile RAM: The area of memory in a SDP-3 that stores users adjustable parameters. The
Nonvolatile RAM is battery backed, to maintain values during SDP-3 power down.
3 Abbreviations
SOP Start of Packet EOP End of Packet ACK Acknowledge NAK No Acknowledge FPD Front Panel Display
4 General Description
The intention of the SDP-3 serial port and protocol communication is for an external connected HOST to control and obtain status from the SDP-3. The protocol has been designed to focus on two specific goals. The first, is HOST uploading and downloading of SDP-3 configuration, and system/effect setups. The second, is HOST control of basic user adjustable parameters. (i.e. input, volume, balance…)
HOST
Rs-232 Serial Link
CD VOL
4 of 4
SerialDef,SDP-3.doc printed on 1/17/02
The SDP-3 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 SDP-3. The SDP-3 Protocol is a 3 layered system. The SDP-3 serial protocol allows for the SDP-3 or the HOST to initiate a communication transaction. The HOST initiates most transactions. SDP-3 then responds to the HOST command with either a response or acknowledgment packet. There are a few asynchronous notifications that SDP-3 initiates indicating system changes. Each transaction initiated must wait for a corresponding response before initiating the next transmission.
The 3 protocol layers are: Physical, Data Link, and Application Layers.
Physical Layer (RS232)
Data Link Layer
Application Layer
5 Physical Layer
5.1 DB-9 RS232 Connector
SDP-3 Typical Host
Ch A Transmit Data 2 2 Rx Data Ch A Receive Data 3 3 Tx Data Ch A Ground 5 5 Ground
9 Pin D-Shell (female) lower connector
Note: The wiring requirements for a 9 pin to 9 pin serial connection, are a male to female straight through cable.
9-Pin D-Shell (male)
5.2 Serial Port Driver
SDP-3 serial port has been setup to operate as follows:
Operating Mode: Full Duplex Baud rate: 19.2K baud Data Size: 8 bits Parity: Odd Stop Bits: 1
5 of 5
SerialDef,SDP-3.doc printed on 1/17/02
Last Byte
End of Packet (EOP)
0xF2
5.3 Errors
The SDP-3 will detect parity, framing and data overrun errors. If an error is detected by the SDP-3, the SDP-3 will transmit an NAK packet with a error code of: DC_ERR_PARTIY, DC_ERR_FRAME, DC_ERR_OVER, corresponding to the error detected. If any of the physical layer errors are detected, the complete packet is corrupted and the SDP-3 will reset the transaction and begin to look for a start of packet byte.
All Error codes are listed in Appendix B Error Codes.
5.4 SDP-3 Receive Buffer
The SDP-3 has an internal receive buffer. The buffer is 256 Bytes and will transmit a NAK packet with an error code of DC_ERR_BUFFER_FULL to the HOST with if the buffer is full. If the buffer is full, all data transmitted to the SDP-3 will be ignored. Therefore, making the currently transmitted packet, if partial transmitted invalid.
6 Data Link Layer
The data link layer is used to define a transmission packet. The layer appends a header and tail that encloses the transmitted application packet data. The data link header will contain the start of packet byte and count of bytes to follow. The data link tail will contain the end of packet byte.
Data Link Header:
Byte Number Description Value First Byte(0) Start of Packet(SOP) 0xF1 Byte(1) DLL Data Count nn
Application Header:
Byte(2) Command nn Byte(3) APP Data Count(number of application data bytes to Follow) nn
Application Data:
Byte(4) Data[0] nn Byte(5) Data[1] nn … Data[…] nn Last Data Byte -1 Data[Data Count -1] nn
Data Link Tail:
6.1 Errors
If the number of DLL data bytes received is the same as the data count and a EOP has not been received, the SDP-3 responds by transmitting a NAK packet with an error code DC_ERR_INVALID_PACKET, and then continues to look for a SOP byte and will not process the application packet. The HOST can use this as an indicator to retransmit the corrupted packet.
7 Application Layer
7.1 SDP-3 Asynchronous Notification Packets
SDP-3 has been designed to transmit the asynchronous notification packets follow ing these system changes:
6 of 6
SerialDef,SDP-3.doc printed on 1/17/02
N/A
N/A
1. Power On
2. Entering Standby
3. Front Panel Display update.
The notification packets are defined as follows:
7.1.1 Wakeup Notification
By transmitting the Wakeup Notification, SDP-3 indicates the unit has just “powered on” or reset and is ready to receive host commands. If no acknowledgment is received within ACK_TIMEOUT, SDP-3 will continue to operate. This notification is primarily for the HOST to know the status of the SDP-3.
7.1.1.1 Notification Packet Description
Application Header:
Command DC_WAKEUP 0x01 Data Count 0 0x00
Application Data:
7.1.1.2 Host Response Expected
Following the transmission of the Wakeup notification SDP-3 will wait for an ACK.
7.1.1.2.1 Actions to Response Codes
ACK SDP-3 continues to operate. NAK Error Code SDP-3 will retransmit the Wakeup Notification until it receives an ACK or it
reaches the RETRANSMIT_COUNT. If the RETRANSMIT_COUNT is exceeded then SDP-3 continues to operate.
7.1.2 Sleep Notification
By transmitting the Sleep Notification, SDP-3 indicates the unit is shutting down into a standby mode. Because the hard power switch could be activated independently of the SDP-3 system software, hard power down will not be notified. Acknowledgment of the Sleep Notification is not required. This notification is primarily for the HOST to know the operating status of the SDP-3.
7.1.2.1 Notification Packet Description
Application Header:
Command DC_SLEEP 0x02 Data Count 0 0x00
Application Data:
7.1.3 Front Panel Display Buffer
SDP-3 will transmit the front panel display buffer following the update to the SDP-3 front panel display. The SDP-3 front panel display is 2 X 20 ASCII character display. The HOST can control the operation of this notification message by FPD internal control registers. Individual notifications can be enabled or disabled and the minimum transmit interval can be adjusted. Transmission of the display buffer is asynchronous to other host/SDP-3 communication and will only transmit following the completion of any communication
7 of 7
SerialDef,SDP-3.doc printed on 1/17/02
Data[22] - Data[42]
Line2
ch ch ch … 0x00
Data[1]
Value
nn
exchanges in progress or pending. The FPD control register command packets are described in section
7.3.14 Get FPD Control Registers.
7.1.3.1 Notifica tion Packet Description
Application Header:
Command DC_FPD 0x03 Data Count 42 0x2A
Application Data:
Data[0] - Data[21] Line1 ch ch ch… 0x00
7.1.3.2 Data Description
Line1
Data Type: Null (0x00) terminated ASCII character string. Max Length: DISP_LINE_LENGTH defined in Appendix E Protocol Constants.
Line2
Data Type: Null(0x00) terminated ASCII character string. Max Length: DISP_LINE_LENGTH defined in Appendix E Protocol Constants.
The SDP-3 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.3 HOST Response
The SDP-3 does not look for any response from the HOST.
7.1.4 Parameter Change Notification
SDP-3 will transmit predetermined parameter change notifications. If a parameter value is changed due to any user action or system action the SDP-3 will transmit the current value of the parameter that is changing.
7.1.4.1 Notification Packet Description
Application Header:
Command DC_PARAM_CHG_MSG 0x04 Data Count 2 0x00
Application Data:
Data[0] ParamId nn
7.1.4.2 Data Description
ParamId: Data Type: Unsigned 8 bit integer
8 of 8
SerialDef,SDP-3.doc printed on 1/17/02
Data[0]
Command
nn
Max: Set by the System Parameter Count in the “Unit Configuration Packet”.
Value: The Current V alue for this system parameter. Data Type: Unsigned 8 bit integer Max: Set by the Max Value per the System Parameter Definition response
Packet for the Parameter Id of this packet.
7.1.4.3 HOST Response
The SDP-3 does not look for any response from the HOST.
7.1.4.4 Supported System Parameters
The following parameters will be supported by this Parameter Change Notification:
Parameter SDP-3 Parameter Name Current Effect PROGRAM Mute MUTE System Volume VOLUME Balance LR_BALANCE Input Selection INPUT Record/Zone 2 On/Off RECORD_ENABLED Zone 2 Volume Z2_VOL Zone 2 Balance Z2_BAL Zone 2 Mute Z2_MUTE Bass BASS Treble TREBLE Loudness LOUDNESS Tilt TILT Menu Background On/Off MENU_BKGND
The parameter definitions for each of these parameters can be obtained by querying the SDP-3 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.
7.2 Acknowledgment Packets
Acknowledge and No Acknowledge packets are used to communicate transmission, packet and data validation status. Both the HOST and SDP-3 can transmit and receive these packets.
7.2.1 Acknowledge
7.2.1.1 Packet Description
Application Header:
Command DC_ACK 0xE0 Data Count 1 0x01
Application Data:
7.2.1.2 Data Description
Command: Data Type: Valid SDP-3 command as defined in Appendix A Command Codes.
9 of 9
SerialDef,SDP-3.doc printed on 1/17/02
Data[1]
ErrorCode
nn
N/A
N/A
7.2.2 No Acknowledge
7.2.2.1 Packet Description
Application Header:
Command DC_NACK 0xE1 Data Count 2 0x02
Application Data:
Data[0] Command nn
7.2.2.2 Data Description
Command: Data Type: Valid SDP-3 command as defined in Appendix A Command Codes. Error Code: Data Type: Error code as defined in Appendix B Error Codes.
7.3 Host Initiated Command Packets
The SDP-3 serial communication protocol has been designed to respond to the following commands as described below. Each command is tr ansmitted to the SDP-3 with the identified parameters. If the command is successfully received and processed by the SDP-3, the unit will respond with the described response packet or action.
7.3.1 Reset Unit
Commands the SDP-3 to soft reset.
7.3.1.1 Command Packet Description
Application Header:
Command DC_CMD_RESET 0x10 Data Count 0 0x00
Application Data:
7.3.1.2 SDP-3 Response
The SDP-3 will perform and internal reset. After reset the SDP-3 will go through a soft power -up initialization. This includes transmitting the “Wakeup Notification Packet”. A soft reset does not reinitialize the SDP-3. Nonvolatile RAM is maintained.
7.3.2 Restore Defaults
Commands SDP-3 restore the system and effect parameters to the factory defaults.
7.3.2.1 Command Packet Description
Application Header:
Command DC_CMD_RESTORE_DEFAULTS 0x13 Data Count 0 0x00
Application Data:
10 of 10
SerialDef,SDP-3.doc printed on 1/17/02
Data[0]
KeyCode
nn
N/A
7.3.2.2 SDP-3 Response
The SDP-3 will reset, clear any saved system and effect parameters in Nonvolatile RAM, and restore the factory default system and effect parameters. After reset the SDP-3 will go through a soft power -up initialization. This includes transmitting the “Wakeup Notification Packet”.
7.3.3 Send IR Command
Transmits IR command key codes to the SDP-3.
7.3.3.1 Command Packet Description
Application Header:
Command DC_CMD_IR 0x14 Data Count 1 0x01
Application Data:
7.3.3.2 Data Description
Key Code: Data Type: Unsigned 8 bit integer. Valid Values: Appendix C SDP-3 IR-Codes
7.3.3.3 SDP-3 Response
The Key Code is processed as a valid IR code. No acknowledgment will be sent from SDP-3.
7.3.3.4 Data Validation
The Key Code data will be verified as a legal IR code. If the Code is not valid the SDP-3 will not respond.
7.3.4 Get SDP-3 Unit Configuration
Request to SDP-3 for it’s current unit configuration. SDP-3 will respond with “Unit Configuration Packet”. The HOST should use this information to determine if any information saved by the HOST is current.
7.3.4.1 Command Packet Description
Application Header:
Command DC_CMD_GET_CONFIG 0x15 Data Count 0 0x00
Application Data:
7.3.4.2 SDP-3 Unit Configuration Response Packet
11 of 11
SerialDef,SDP-3.doc printed on 1/17/02
Data[24]
TimeStamp[15]
0x00
Application Header:
Command DC_RESP_UNIT_CONFIG 0x80 Data Count 25 0x19
Application Data:
Data[0] ProductId nn Data[1] Software Type nn Data[2] Software Level nn Data[3] Software Major Revision nn Data[4] Software Minor Revision nn Data[5] Protocol Major Revision nn Data[6] Protocol Minor Revision nn Data[7] Total Number of System Parameters nn Data[8] Total Number of Effects nn Data[9] TimeStamp[0] ch Data[10] TimeStamp[1] ch Data[11] TimeStamp[2] ch Data[12] TimeStamp[3] ch Data[13] TimeStamp[4] ch Data[14] TimeStamp[5] ch Data[15] TimeStamp[6] ch Data[16] TimeStamp[7] ch Data[17] TimeStamp[8] ch Data[18] TimeStamp[9] ch Data[19] TimeStamp[10] ch Data[20] TimeStamp[11] ch Data[21] TimeStamp[12] ch Data[22] TimeStamp[13] ch Data[23] TimeStamp[14] ch
7.3.4.3 Data Description
Product Id: 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. The following table shows the values assigned to the available types:
SW Type
THX 1 AC3 2 DTS 3
12 of 12
SerialDef,SDP-3.doc printed on 1/17/02
UNSUPPORTED
5
Software Level: The following table shows the values assigned to the possible software levels:
SW Level
RELEASED 0 PRE_ALPHA 1 ALPHA 2 BETA 3 GAMMA 4
*Note: SW level indicates the status of the SDP-3 internal application software.
Software Major Revision: An unsigned integer value indicating the unit’s major software version. The
host should use this information to determine if new effects, effect parameters, or system parameters have been added or removed.
Software Minor Revision: An unsigned integer value indicating this unit’s minor software version.
Indicates the units software operation has changed but effects, effect parameters, or system parameters have not changed.
Protocol Major Revision: An unsigned integer value indicating the serial communication protocol major
version. The host should use this value to determine if new commands, notifications, or response packets have been added or deleted from this specification.
Protocol Minor Revision: An unsigned integer value indicating the serial communication protocol minor
version. The host should use this value to determine if the existing commands,
notifications, or response packets have changed in this specification Total Number of System Parameters: An unsigned integer value indicating the maximum number of system parameters
for this version of software. This should be used to determine the data count for
the “SDP-3 System Parameter Values Packet” and “Set System Parameter Values
Packet”. Total Number of Effects: An unsigned integer value indicating the maximum number of effects available
for this version of software. This should be used to determine the maximum
Effect Id used in the “Get Effect Definition Packet”, “Get Effect Parameter
Definition Packet”, “Set Effect Name Packet”, and “Set Effect Parameter Values
Packet”. Time Stamp: 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 SDP-3 for it’s current system status. SDP-3 will respond with “System Status Packet”.
7.3.5.1 Command Packet Description
13 of 13
Loading...
+ 30 hidden pages