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 Level 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

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…)

 

 

 

 

 

 

 

Rs -232 Serial Link

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HOST

 

 

 

 

JBL Synthesis SDP-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

9-Pin D-Shell

(female) lower

 

(male)

connector

 

 

Note: The wiring requirements for a 9 pin to 9 pin serial connection, are a male to female straight through cable.

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

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:

 

 

 

Last Byte

 

End of Packet (EOP)

0xF2

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 following these system changes:

6 of 6

Jbl SDP-3 User Manual

SerialDef,SDP-3.doc printed on 1/17/02

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:

N/A

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:

N/A

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

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 Notification Packet Description

Application Header:

 

 

Command

DC_FPD

0x03

Data Count

42

0x2A

Application Data:

 

 

Data[0] - Data[21]

Line1

ch ch ch… 0x00

Data[22] - Data[42]

Line2

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

Data[1]

Value

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

Max:

Set by the System Parameter Count in the “Unit Configuration Packet”.

Value:

The Current Value 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:

 

 

 

Data[0]

Command

 

nn

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

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

 

Data[1]

 

ErrorCode

 

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 transmitted 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:

 

 

 

N/A

 

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:

N/A

10 of 10

SerialDef,SDP-3.doc printed on 1/17/02

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:

 

Data[0]

KeyCode

nn

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:

 

 

 

N/A

 

7.3.4.2 SDP-3 Unit Configuration Response Packet

11 of 11

SerialDef,SDP-3.doc printed on 1/17/02

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

Data[24]

TimeStamp[15]

0x00

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

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

 

 

UNSUPPORTED

 

5

 

*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.5Get 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