dScope prices from just US$4395/GB£3264 Request your personal on-line demo NOW!
Spectral Measurement Logo
Prism Sound Logo
  • Touch navigation
  • Home
    • News/Press
    • Offers
    • Corporate
    • Heritage
    • Events
    • Careers
    • Other Sites:
      • Recording and Production
      • Logging and Transcription
      • SADiE
      • Imerge
      • Audiophile
      • XiVA
    • Links
      • Reviews
      • Users
  • PRODUCTS
    • dScope Series IIIdScope
      Series III
      Digital and Analogue Audio Analyzer
    • dScope M1dScope
      M1
      Digital and Analogue Audio Analyzer
    • I/O SwitcherSwitcher
      dS-NET 16 x 2 I/O Switcher
    • VSIO adapterVSIO
      Digital Serial Interface Adapter
    • LPFdS-LPF
      Filter for digital amplifier tests
    • AutoTestSQL
      Production Test System
    • Auto Sequence
      Organizer, Automation & Reporting
    • TTC Loudspeaker Test ChamberTTC
      Loudspeaker Test Chamber
    • Other:
      • Recording and Production
      • Logging and Transcription
      • SADiE products
      • Imerge
      • Audiophile
  • APPLICATIONS
    • A/D and D/A conversion
    • Automotive Audio
    • Bluetooth Audio
    • Broadcast
    • Computer Audio
    • Education
    • Electro-acoustics
    • Home Entertainment
    • Manufacturing
    • Mobile Audio
    • Music Industry
    • Pro-Audio
    • R&D
    • Semiconductor
    • Service
  • SUPPORT
    • Support Home
    • FAQ
    • Downloads
    • Resources
    • Tech Support Form
    • Register Product
  • CONTACTS
    • Company Contact Info
    • Dealers and Distributors
    • Enquiry Form
    • Quotation Form
    • Mailing List Form
  • Home:
    • News/Press
      News stories and press releases
    • Offers
      Offers and promotions
    • Corporate
      Company information and history
    • Heritage
      Prism Sound heritage
    • Events
      Upcoming shows, exhibitions and events
    • Careers
      Jobs, careers and opportunities at Prism Sound
    • Other Sites:
      • Recording and Production
        Link to Prism Sound Recording and Production site
      • Logging and Transcription
        Link to Prism Sound Logging and Transcription site
      • SADiE
        Link to SADiE website
      • Imerge
        Link to Imerge website
      • Audiophile
        Link to Audiophile website
      • XiVA
        Link to XiVA website
    • Links
      Links to Prism Sound User's sites
      • Reviews
        Link to Prism Sound product reviews
      • Users
        Links to Prism Sound User's sites
  • PRODUCTS:
    • dScope Series IIIdScope
      Series III
      Digital and Analogue Audio Analyzer
    • dScope M1dScope
      M1
      Digital and Analogue Audio Analyzer
    • I/O SwitcherSwitcher
      dS-NET 16 x 2 I/O Switcher
    • VSIO adapterVSIO
      Digital Serial Interface Adapter
    • LPFdS-LPF
      Filter for digital amplifier tests
    • AutoTestSQL
      Production Test System
    • Auto Sequence
      Organizer, Automation & Reporting
    • TTC Loudspeaker Test ChamberTTC
      Loudspeaker Test Chamber
    • Other:
      • Recording and Production
        Recordind and Production products
      • Logging and Transcription
        Link to Prism Sound Logging and Transcription site
      • SADiE products
        Link to SADiE website
      • Imerge
        Link to Imerge website
      • Audiophile
        Link to Audiophile website
  • APPLICATIONS:
    • A/D and D/A conversion
    • Automotive Audio
    • Bluetooth Audio
    • Broadcast
    • Computer Audio
    • Education
    • Electro-acoustics
    • Home Entertainment
    • Manufacturing
    • Mobile Audio
    • Music Industry
    • Pro-Audio
    • R&D
    • Semiconductor
    • Service
  • SUPPORT:
    • Support Home
      Product technical support
    • FAQ
      FAQ's, Tips and Techniques
    • Downloads
      Software, Firmware and Manuals
    • Resources
      Reference material and downloadable resources
    • Tech Support Form
      Technical Support form
    • Register Product
      Studio products registration form
  • CONTACTS:
    • Company Contact Info
    • Dealers and Distributors
    • Enquiry Form
      Quick and Simple Enquiry Form
    • Quotation Form
      Request prices, loan or demo equipment
    • Mailing List Form
      Register for our mailing list

Test and Measurement Technical Data

dS-NET Serial Protocol



Introduction
dS-NET is a proprietary, open protocol for controlling dScope Series III peripherals. By default the bearer is RS232 although the dS-NET hardware can be configured as RS485 using internal jumpers. The normal use for the protocol is for peripherals connected directly to the dScope Series III audio analyzer using a D-Sub 9 RS232 connection. In this application, the functions of the peripherals are integrated into the dScope software so that they behave as part of the dScope itself. It is also possible to control peripherals directly from a standard PC serial port.

dS-NET uses 9600 baud, No Parity, 8 data bits, and 1 stop bit. Using multiple peripherals consists of daisy chaining them, one after the other (each peripheral has two connections, one for connecting to the master or previous peripheral and one for connecting to the next slave). They must then each be given a unique address using the DIP switches on the rear panel. Up to 64 devices can be connected in this way.



Protocol
The concept behind the protocol is that the system operates with a single master and multiple slaves. Simple (non-dS-NET) operation can be achieved with the master talking, but not listening although slaves can be requested to return a status response so that the master can listen to status messages if required. The master can issue two types of command, individual or broadcast. Individual commands are addressed to individual slaves and may optionally request a response from that slave. If requested, the slave must start to respond within 10ms and finish within 50ms. Broadcast commands are sent to all devices on the bus and are never responded to.

A dS-NET command consists of seven parts. These are

START ADDR COUNT CODE (COUNT x DATA) CSUM END

Each section, with the exception of the data, is one byte. Each of the sections of the command is described below:

START: There are two possible start codes: 0x55 is the command start code and 0x5A is a slave response start code.

ADDR: This is the address of the dS-NET slave being commanded, or which is responding. This can have any value in the range 0x00 through to 0x3F.

CODE: This is the command or status code; different types of slave may have different CODE sets, some CODEs are universal.

COUNT: This is the number of bytes in the DATA that follows this byte. Its value depends on the particular CODE.

DATA: Not all commands require data. If not present, the COUNT is set to 0x00. Otherwise, the number of bytes indicated in COUNT are present here.

CSUM: The check-sum, CSUM is calculated such that ADDR+COUNT+CODE+DATA(0..COUNT-1)+CSUM = 0x55H

END: There are two possible command end codes: 0xAA is the command end code when a response is required; 0xA5 is the command end code when no response is required.



Command Structure
The four main types of command are shown below

Individual Command, response requested
0x55 ADDR COUNT CODE (COUNT x DATA) CSUM 0xAA

Individual Command, response not requested
0x55 ADDR COUNT CODE (COUNT x DATA) CSUM 0xA5

Broadcast Command (response never requested)
0x55 0xFF COUNT CODE (COUNT x DATA) CSUM 0xA5

Response
0x5A ADDR COUNT CODE (COUNT x DATA) CSUM 0xA5

Examples: The command "0x55 0x00 0x00 0x80 0xD5 0xAA" is a RELAY_STATUS_ALL command from the I/O switcher group, addressed to switcher 00. This is a request for the status of the device, and has no data so the COUNT is set to zero, and there is no data byte. A response is requested by the last byte being set to 0xAA. The response to this command is the also a RELAY_STATUS_ALL response. This response would take the form "0x5A 0x00 0x06 0x80 0x01 0x00 0x00 0x00 0x00 0x00 0xCE 0xA5". Here the device responding uses its address 00, and there are six data bytes so the count is set to 0x06. In this case the 01 in the first data byte indicates that the first relay on bus A is set, and the remaining data bytes all set at zero show that this is the only relay that is set. See below for more information on this command and response.

As a further example, staying with the I/O switcher example, in order to set the second relay on Bus A, we could use the RELAY_ADD_A command (code 84) which would look like "0x55 0x00 0x01 0x84 0x01 0xCF 0xAA". Here there is a single data byte, so the count is set to 0x01. This command expects a RELAY_STATUS_A response in the form "0x5A 0x00 0x03 0x81 0x03 0x00 0x00 0xCE 0xA5" - note that the RELAY_ADD_A command is zero indexed so that the data byte 0x00 turns on relay 1, 0x01 turns on relay 2 and 0x0F turns on relay 16, however, the response has 1s where the relays are set when the bytes are displayed as binary, with each byte representing 8 connections. In this way, the 0x03 is 00000011 in binary and shows relays 1 and 2 both set.



Synchronization
In the 'waiting' state, devices should compare any received bytes to 0x55 or 0x5A, and remain 'waiting' until it is received.
Mis-sync is detected by:
  • ADDR greater than 0x3F but not 0xFF
  • incorrect CSUM
  • Command end code (0xAA or 0xA5) not detected after CSUM
  • No data received for more than 50ms
Any of these causes return to 'waiting' state. Command or response should only be acted upon if entire sequence is correct. Slaves should only respond to totally correct sequence. The COM LED on slave devices illuminates for 250ms on receipt of a totally correct sequence.



Half duplex considerations
In the RS-485 case, one data line is used for all communication, i.e. only the master OR one slave can be talking at once. The protocol takes note of this limitation (even if the units are jumpered for RS-232). In the case where the commands are sent expecting no response, no problems occur. If responses are used, an addressed slave should respond ASAP after receipt of 0xAA (but in any case within 10ms) and complete ASAP. The master must wait until receipt of the 0xA5 at the end of the response, or until 50ms after end of previous command before issuing a new command.



Universal Commands and Responses (all dS-NET slaves)
Please note that the command tables below do not attempt to show the command structure. This is given above. In particular, please be aware that the CODE and COUNT columns are not in the order in which they are sent.

GET_STATUS
Type: Individual Command, Response Requested.
Response: BASIC_STATUS
CODE=0x00 COUNT=0x00


RESET
Type: Individual Command, Response Requested.
Response: BASIC_STATUS
CODE=0xFF COUNT=0x01 DATA0 Bit 0: ON ON=0: Clear all relays and enter STANDBY
ON=1: Clear all states, exit STANDBY if applicable


BASIC_STATUS
Type: Response
Response: None
CODE=0x00 COUNT=0x03 DATA0 Bit[7..4]: CLASS[3..0] CLASS 0x01 is switchers
Bit[3..0]: TYPE[3..0] TYPE 0x01 is I/O switcher
DATA1 Bit[7..4]: FIRMWARE[3..0] FIRMWARE 0x01 is Rev B
Bit[3..0]: HARDWARE[3..0] HARDWARE 0x01 is Rev B
DATA2 Bit0: ON ON=0: In STANDBY, ON=1: ON
Bit1: CLEAR If ON=1, CLEAR=1: all settings as at RESET
Bit[7..6]: DIPs State of 2 MS DIP switches, 1=down




I/O Switcher specific Commands and Responses
Please note that the command tables below do not attempt to show the command structure. This is given above. In particular, please be aware that the CODE and COUNT columns are not in the order in which they are sent.

WARNING!: Switchers and connected equipment can be damaged if the wrong connections are made. Test carefully before connecting equipment. If the equipment connected to the switcher may be damaged by having more than one relay connected at a time (e.g. power amplifiers), you must make sure that you include an extra call to turn existing connected relays off before turning the new relays on. One way to do this is to include a call RELAY_MASK_ALL with a mask of 0 in between calls to turn new relays on. This will ensure that all connections are broken before any new ones are made. Please also be aware of the current ratings of the switcher relays before routing power signals through the switchers.

RELAY_STATUS_ALL
Type: Individual Command, Response Requested
Response: RELAY_STATUS_ALL
Description: Requests an I/O switcher to return the status of all its relays
CODE=0x80 COUNT=0x00

RELAY_MASK_ALL
Type: Individual Command
Response: RELAY_STATUS_ALL
Description: Set the state of all relays on a device. This has six data bytes, each byte of which represents the relays when shown in binary. 0x03 hex is 00000011 binary, and indicates that relays 1 and 2 are on. The response is in the same format.
CODE=0x81 COUNT=0x06 DATA0 X to A binary: 1s where relays set
DATA1 Y to A binary: 1s where relays set
DATA2 AUX_A: Bit0: BAL, Bit1: LOAD binary: 1s where relays set
DATA3 X to B binary: 1s where relays set
DATA4 Y to B binary: 1s where relays set
DATA5 AUX_B: Bit0: BAL, Bit1: LOAD binary: 1s where relays set

RELAY_MASK_A
Type: Individual Command
Response: RELAY_STATUS_A
Description: Sets the state of all relays on bus A. This has three data bytes, each byte of which represents the relays when shown in binary. 0x03 hex is 00000011 binary, and indicates that relays 1 and 2 are on. The response is in the same format.
CODE=0x82 COUNT=0x03 DATA0 X to A binary: 1s where relays set
DATA1 Y to A binary: 1s where relays set
DATA2 AUX_A: Bit0: BAL, Bit1: LOAD binary: 1s where relays set

RELAY_MASK_B
Type: Individual Command
Response: RELAY_STATUS_B
Description: Sets the state of all relays on bus B. This has three data bytes, each byte of which represents the relays when shown in binary. 0x03 hex is 00000011 binary, and indicates that relays 1 and 2 are on. The response is in the same format.
CODE=0x83 COUNT=0x03 DATA0 X to B binary: 1s where relays set
DATA1 Y to B binary: 1s where relays set
DATA2 AUX_B: Bit0: BAL, Bit1: LOAD binary: 1s where relays set

RELAY_ADD_A
Type: Individual Command
Response: RELAY_STATUS_A
Description: Turn on an individual relay on Bus A. This command addresses each relay individually by a zero indexed number, so 0x00 turns on relay 1 etc. It is also possible to use this command to turn on all the relays in group X and/or Y or the balance and load resistors. This command only turns relays on. See RELAY_REMOVE_A to turn them off again
CODE=0x84 COUNT=0x01 DATA0 RELAY_INDEX 0..7: X, 8..15: Y,
16: BAL, 17: LOAD,
0x40: all X, 0x80: all Y, 0xC0 all X & Y

RELAY_ADD_B
Type: Individual Command,
Response: RELAY_STATUS_B
Description: Turn on an individual relay on Bus B. This command addresses each relay individually by a zero indexed number, so 0x00 turns on relay 1 etc. It is also possible to use this command to turn on all the relays in group X and/or Y or the balance and load resistors. This command only turns relays on. See RELAY_REMOVE_B to turn them off again
CODE=0x85 COUNT=0x01 DATA0 RELAY_INDEX 0..7: X, 8..15: Y,
16: BAL, 17: LOAD,
0x40: all X, 0x80: all Y, 0xC0 all X & Y

RELAY_REMOVE_A
Type: Individual Command
Response: RELAY_STATUS_A
Description: Turn off an individual relay on Bus A. This command addresses each relay individually by a zero indexed number, so 0x00 turns off relay 1 etc. It is also possible to use this command to turn off all the relays in group X and/or Y or the balance and load resistors. This command only turns relays off. See RELAY_ADD_A to turn them on.
CODE=0x86 COUNT=0x01 DATA0 RELAY_INDEX 0..7: X, 8..15: Y,
16: BAL, 17: LOAD,
0x40: all X, 0x80: all Y, 0xC0 all X & Y

RELAY_REMOVE_B
Type: Individual Command
Response: RELAY_STATUS_B
Description: Turn off an individual relay on Bus B. This command addresses each relay individually by a zero indexed number, so 0x00 turns off relay 1 etc. It is also possible to use this command to turn off all the relays in group X and/or Y or the balance and load resistors. This command only turns relays off. See RELAY_ADD_B to turn them on.
CODE=0x87 COUNT=0x01 DATA0 RELAY_INDEX 0..7: X, 8..15: Y,
16: BAL, 17: LOAD,
0x40: all X, 0x80: all Y, 0xC0 all X & Y

RELAY_STATUS_A
Type: Individual Command
Response: RELAY_STATUS_A
Description: Requests an I/O switcher to return the status of all its relays on Bus A
CODE=0x88 COUNT=0x00

RELAY_STATUS_B
Type: Individual Command
Response: RELAY_STATUS_B
Description: Requests an I/O switcher to return the status of all its relays on Bus B
CODE=0x89 COUNT=0x00 Request Channel B status of device

RELAY_AUX_A
Type: Individual Command
Response: RELAY_STATUS_A
Description: Turns the Bus A balance and load relays on or off
CODE=0x8A COUNT=0x01 DATA0 AUX_A: Bit0: BAL, Bit1: LOAD 1s where relays set

RELAY_AUX_B
Type: Individual Command
Response: RELAY_STATUS_B
Description: Turns the Bus B balance and load relays on or off
CODE=0x8B COUNT=0x01 DATA0 AUX_B: Bit0: BAL, Bit1: LOAD 1s where relays set

RELAY_MASK_X_TO_A
Type: Individual Command.
Response: RELAY_STATUS_X_TO_A
Description: Sets the state of the X group relays on Bus A
CODE=0x8C COUNT=0x01 DATA0 X to A 1s where relays set

RELAY_MASK_X_TO_B
Type: Individual Command.
Response: RELAY_STATUS_X_TO_B
Description: Sets the state of the X group relays on Bus B
CODE=0x8D COUNT=0x01 DATA0 X to B 1s where relays set

RELAY_MASK_Y_TO_A
Type: Individual Command.
Response: RELAY_STATUS_Y_TO_A
Description: Sets the state of the Y group relays on Bus A
CODE=0x8E COUNT=0x01 DATA0 Y to A 1s where relays set

RELAY_MASK_Y_TO_B
Type: Individual Command.
Response: RELAY_STATUS_Y_TO_B
Description: Sets the state of the Y group relays on Bus B
CODE=0x8F COUNT=0x01 DATA0 Y to B 1s where relays set

GET_DC_A
Type: Individual Command, Response Requested.
Response: DC_STATUS_A
Description: Requests the DC voltage measured on Bus A
CODE=0x90 COUNT=0x00

GET_DC_B
Type: Individual Command, Response Requested.
Response: DC_STATUS_B
Description: Requests the DC voltage measured on Bus B
CODE=0x91 COUNT=0x00

GET_DC_AB
Type: Individual Command, Response Requested.
Response: DC_STATUS_AB
Description: Requests the DC voltage measured on both Bus A and Bus B
CODE=0x92 COUNT=0x00

RELAY_STATUS_ALL
Type: Response
Response: None
Description: Gives the status of all the relays
CODE=0x80 COUNT=0x06 DATA0 X to A binary: 1s where relays set
DATA1 Y to A binary: 1s where relays set
DATA2 AUX_A: Bit0: BAL, Bit1: LOAD binary: 1s where relays set
DATA3 X to B binary: 1s where relays set
DATA4 Y to B binary: 1s where relays set
DATA5 AUX_B: Bit0: BAL, Bit1: LOAD binary: 1s where relays set

RELAY_STATUS_A
Type: Response
Response: None
Description: Gives the status of all the relays on Bus A
CODE=0x81 COUNT=0x03 DATA0 X to A binary: 1s where relays set
DATA1 Y to A binary: 1s where relays set
DATA2 AUX_A: Bit0: BAL, Bit1: LOAD binary: 1s where relays set

RELAY_STATUS_B
Type: Response
Response: None
Description: Gives the status of all the relays on Bus B
CODE=0x82 COUNT=0x03 DATA0 X to B binary: 1s where relays set
DATA1 Y to B binary: 1s where relays set
DATA2 AUX_B: Bit0: BAL, Bit1: LOAD binary: 1s where relays set

RELAY_STATUS_X_TO_A
Type: Response
Response: None
Description: Gives state of the X group relays on Bus A
CODE=0x83 COUNT=0x01 DATA0 X to A 1s where relays set

RELAY_STATUS_X_TO_B
Type: Response
Response: None
Description: Gives state of the X group relays on Bus B
CODE=0x84 COUNT=0x01 DATA0 X to B 1s where relays set

RELAY_STATUS_Y_TO_A
Type: Response
Response: None
Description: Gives state of the Y group relays on Bus A
CODE=0x85 COUNT=0x01 DATA0 Y to A 1s where relays set

RELAY_STATUS_Y_TO_B
Type: Response
Response: None
Description: Gives state of the Y group relays on Bus B
CODE=0x86 COUNT=0x01 DATA0 Y to B 1s where relays set

DC_STATUS_A
Type: Response
Response: None
Description: Gives DC voltage reading on Bus A
CODE=0x87 COUNT=0x02 DATA0 A+_TO_GND Hex byte where 80 = 0VDC
DATA1 A-_TO_GND Hex byte where 80 = 0VDC

DC_STATUS_B
Type: Response
Response: None
Description: Gives DC voltage reading on Bus B
CODE=0x88 COUNT=0x02 DATA0 B+_TO_GND Hex byte where 80 = 0VDC
DATA1 B-_TO_GND Hex byte where 80 = 0VDC

DC_STATUS_AB
Type: Response
Response: None
Description: Gives DC voltage readings on Bus A and Bus B
CODE=0x89 COUNT=0x04 DATA0 A+_TO_GND Hex byte where 80 = 0VDC
DATA1 A-_TO_GND Hex byte where 80 = 0VDC
DATA2 B-_TO_GND Hex byte where 80 = 0VDC
DATA3 B-_TO_GND Hex byte where 80 = 0VDC




VSIO specific Commands and Responses
Please note that the command tables below do not attempt to show the command structure. This is given above. In particular, please be aware that the CODE and COUNT columns are not in the order in which they are sent.

GET_UNIT_STATUS
Type: Individual Command, Response Requested.
Response: UNIT_STATUS
Description: Request the status of a device
CODE=0xC0 COUNT=0x00

RELAY_CTRL
Type: Individual Command.
Response: SHORT_ACK
Description: Control the state of the relays used for routing within a VSIO
CODE=0xC1 COUNT=0x01 DATA0 Bit[2]: GEN_THRU Generator AES Pass Thru, PASS=0
Bit[1]: ANA_THRU Analyser AES Pass Thru, PASS=0
Bit[0]: REF_THRU Ref Sync AES Pass Thru, PASS=0

IO_CTRL
Type: Individual Command
Response: SHORT_ACK
Description: Set the hardware I/O parameters such as voltage levels and enabling/disabling I/O
CODE=0xC2 COUNT=0x01 DATA0 Bit[7]: CTRL_EN Enable Control Outputs, ON=1
Bit[6..4]: CTRL_VSEL Control IO Voltage Select, 1V8=000, 2V5=001, 3V3=010
Bit[3]: AUD_EN Enable Audio Outputs, ON=1
Bit[2..0]: AUD_VSEL Audio IO Voltage Select, 1V8=000, 2V5=001, 3V3=010

GEN_ROUTE
Type: Individual Command
Response: SHORT_ACK
Description: Set up the Generator routing parameters
CODE=0xC3 COUNT=0x04 DATA0 ON_15_8 Slot 15 to 8 Enable, ON=1
DATA1 ON_7_0 Slot 7 to 0 Enable, ON=1
DATA2 AB_15_8 Slot 15 to 8 AB Select, B=1
DATA3 AB_7_0 Slot 7 to 0 AB Select, B=1

GEN_FORMAT
Type: Individual Command
Response: SHORT_ACK
Description: Set up the Generator serial data parameters
CODE=0xC4 COUNT=0x03 DATA0 Bit[7]: SIGN_EXT Sign Extend, ON=1
Bit[6]: X
Bit[5..4]: SLOT_LEN Slot Length, 8=00, 16=01, 24=10, 32=11
Bit[3]: LSB_FIRST LSB First Operation, ON=1
Bit[2]: X
Bit[1..0]: N_CHAN Chans / Wire, 2=00, 4=01, 8=10, 16=11
DATA1 LEAD_PAD Lead Pad Length, 0 to 31
DATA2 TRAIL_PAD Trail Pad Length, 0 to 31

GEN_CLOCKS
Type: Individual Command
Response: SHORT_ACK
Description: Set up the Generator clocks
CODE=0xC5 COUNT=0x02 DATA0 Bit[7]: MCK_DIR Master Clock Direction, IN=1
Bit[6]: MCK_USE Use Master Clock, YES=1
Bit[5..3]: X
Bit[2..0]: MCK_RATE 64fs=000, 96fs, 128fs, 192fs, 256fs, 384fs, 512fs=110
DATA1 Bit[7]: SCK_DIR Serial Clocks Direction, IN=1
Bit[6]: SCK_INV Invert Bit Clock, INV=1
Bit[5]: LRCK_BIT Bit Wide LR Clock, BIT=1
Bit[4]: LRCK_EARLY Early LR Clock, EARLY=1
Bit[3]: LRCK_INV Invert LR Clock, INV=1
Bit[2..0]: X

ANA_ROUTE
Type: Individual Command.
Response: SHORT_ACK
Description: Set up the Analyzer routing
CODE=0xC6 COUNT=0x02 DATA0 A_SOURCE Channel A Source, Slot 0 to 15
DATA1 B_SOURCE Channel B Source, Slot 0 to 15

ANA_FORMAT
Type: Individual Command.
Response: SHORT_ACK
Description: Set up the Analyzer serial data parameters
CODE=0xC7 COUNT=0x02 DATA0 Bit[7..6]: X
Bit[5..4]: SLOT_LEN Slot Length, 8=00, 16=01, 24=10, 32=11
Bit[3]: LSB_FIRST LSB First Operation, ON=1
Bit[2]: X
Bit[1..0]: N_CHAN Chans / Wire, 2=00, 4=01, 8=10, 16=11
DATA1 LEAD_PAD Lead Pad Length, 0 to 31
DATA2 TRAIL_PAD Trail Pad Length, 0 to 31

ANA_CLOCKS
Type: Individual Command
Response: SHORT_ACK
Description: Set up the Analyzer clocks
CODE=0xC8 COUNT=0x02 DATA0 Bit[7]: MCK_DIR Master Clock Direction, IN=1
Bit[6]: MCK_USE Use Master Clock, YES=1
Bit[5..3]: X
Bit[2..0]: MCK_RATE 64fs=000, 96fs, 128fs, 192fs, 256fs, 384fs, 512fs=110
DATA1 Bit[7]: SCK_DIR Serial Clocks Direction, IN=1
Bit[6]: SCK_INV Invert Bit Clock, INV=1
Bit[5]: LRCK_BIT Bit Wide LR Clock, BIT=1
Bit[4]: LRCK_EARLY Early LR Clock, EARLY=1
Bit[3]: LRCK_INV Invert LR Clock, INV=1
Bit[2..0]: X

CTRL_MODE
Type: Individual Command
Response: SHORT_ACK
Description: Set up the Control port mode
CODE=0xC9 COUNT=0x01 DATA0 Bit[7..3]: X
Bit[2]: CPOL SPI Clock Polarity
Bit[1]: CPHA SPI Clock Phase
Bit[0]: SPI / I2C SPI=0 / I2C=1

CTRL_SPI_TX
Type: Individual Command
Response: CTRL_SPI_RX
Description: Transmit an SPI command
CODE=0xCA COUNT=n DATA0 DATA[0] n Data bytes to transmit (n=1..10)
DATAN-1 DATA[N-1]

CTRL_I2C_WR
Type: Individual Command
Response: SHORT_ACK
Description: Write to an I2C device
CODE=0xCB COUNT=n+1 DATA0 SLAVE ADDRESS I2C Device Address
DATA1 DATA[0] n Data bytes to transmit (n=1..10)
DATAN DATA[N-1]

CTRL_I2C_RD
Type: Individual Command
Response: CTRL_I2C_RX
Description: Read from an I2C device
CODE=0xCC COUNT=0x02 DATA0 SLAVE ADDRESS I2C Device Address
DATA1 COUNT Number of bytes to read (1..10)
DATAN DATA[N-1]

GET_FS
Type: Individual Command, Response Requested.
Response: MEAS_FS
Description: Get the sample rate
CODE=0xCD COUNT=0x00

SET_DELAYS
Type: Individual Command, Response Requested.
Response: SHORT_ACK
Description: Set delays
CODE=0xCE COUNT=0x00 DATA0 Bit[7]: X Delay value 0...7
Bit[3]: X
DATAN DATA[N-1]
DATAN Bit[2..0]: Generator Delay value 0...7

UNIT_STATUS
Type: Response
Response: None
Description: Gives complete status of a VSIO device
CODE=0xC0 COUNT=0x11 DATA0 Bit[2]: GEN_THRU Generator AES Pass Thru, PASS=0
Bit[1]: ANA_THRU Analyser AES Pass Thru, PASS=0
Bit[0]: REF_THRU Ref Sync AES Pass Thru, PASS=0
DATA1 Bit[7]: CTRL_EN Enable Control Outputs, ON=1
Bit[6..4]: CTRL_VSEL Control IO Voltage Select, 1V8=000, 2V5=001, 3V3=010
Bit[3]: AUD_EN Enable Audio Outputs, ON=1
Bit[2..0]: AUD_VSEL Audio IO Voltage Select, 1V8=000, 2V5=001, 3V3=010
Generator
DATA2 ON_15_8 Slot 15 to 8 Enable, ON=1
DATA3 ON_7_0 Slot 7 to 0 Enable, ON=1
DATA4 AB_15_8 Slot 15 to 8 AB Select, B=1
DATA5 AB_7_0 Slot 7 to 0 AB Select, B=1
DATA6 Bit[7]: SIGN_EXT Sign Extend, ON=1
Bit[6]: X
Bit[5..4]: SLOT_LEN Slot Length, 8=00, 16=01, 24=10, 32=11
Bit[3]: LSB_FIRST LSB First Operation, ON=1
Bit[2]: X
Bit[1..0]: N_CHAN Chans / Wire, 2=00, 4=01, 8=10, 16=11
DATA7 LEAD_PAD Lead Pad Length, 0 to 31
DATA8 TRAIL_PAD Trail Pad Length, 0 to 31
DATA9 Bit[7]: MCK_DIR Master Clock Direction, IN=1
Bit[6]: MCK_USE Use Master Clock, YES=1
Bit[5..3]: X
Bit[2..0]: MCK_RATE 64fs=000, 96fs, 128fs, 192fs, 256fs, 384fs, 512fs=110
DATA10 Bit[7]: SCK_DIR Serial Clocks Direction, IN=1
Bit[6]: SCK_INV Invert Bit Clock, INV=1
Bit[5]: LRCK_BIT Bit Wide LR Clock, BIT=1
Bit[4]: LRCK_EARLY Early LR Clock, EARLY=1
Bit[3]: LRCK_INV Invert LR Clock, INV=1
Bit[2..0]: LRCK_RATE 32k=001, 44k1, 48k, 88k2, 96k, 176k4, 192k=111
Analyser
DATA11 A_SOURCE Channel A Source, Slot 0 to 15
DATA12 B_SOURCE Channel B Source, Slot 0 to 15
DATA13 Bit[7..6]: X
Bit[5..4]: SLOT_LEN Slot Length, 8=00, 16=01, 24=10, 32=11
Bit[3]: LSB_FIRST LSB First Operation, ON=1
Bit[2]: X
Bit[1..0]: N_CHAN Chans / Wire, 2=00, 4=01, 8=10, 16=11
DATA14 LEAD_PAD Lead Pad Length, 0 to 31
DATA15 TRAIL_PAD Trail Pad Length, 0 to 31
DATA16 Bit[7]: MCK_DIR Master Clock Direction, IN=1
Bit[6]: MCK_USE Use Master Clock, YES=1
Bit[5..3]: X
Bit[2..0]: MCK_RATE 64fs=000, 96fs, 128fs, 192fs, 256fs, 384fs, 512fs=110
DATA17 Bit[7]: SCK_DIR Serial Clocks Direction, IN=1
Bit[6]: SCK_INV Invert Bit Clock, INV=1
Bit[5]: LRCK_BIT Bit Wide LR Clock, BIT=1
Bit[4]: LRCK_EARLY Early LR Clock, EARLY=1
Bit[3]: LRCK_INV Invert LR Clock, INV=1
Bit[2..0]: LRCK_RATE 32k=001, 44k1, 48k, 88k2, 96k, 176k4, 192k=111
Control
DATA18 Bit[7..3]: X
Bit[2]: CPOL SPI Clock Polarity
Bit[1]: CPHA SPI Clock Phase
Bit[0]: SPI / I2C SPI=0 / I2C=1

CTRL_SPI_RX
Type: Response
Response: None
Description: SPI control message response
CODE=0xCA COUNT=n DATA0 DATA[0] n Data bytes received (n=1..10)
DATAN-1 DATA[N-1]

CTRL_I2C_RX
Type: Response
Response: None
Description: Response to a request to read from an I2C device
CODE=0xCC COUNT=n DATA0 DATA[0] n Data bytes received (n=1..10)
DATAN-1 DATA[N-1]

MEAS_FS
Type: Response
Response: None
Description: Sample rate returned from VSIO device
CODE=0xCD COUNT-0x01 DATA0 Bit[7..4] Analyzer FS 32k=001, 44k1, 48k, 88k2, 96k, 176k4, 192k=111
Bit[3..0] Generator FS 32k=001, 44k1, 48k, 88k2, 96k, 176k4, 192k=111

SHORT_ACK
Type: Response
Response: None
Description: Acknowledgement of command
CODE=0xCF COUNT-0x00



info icon We're using a few cookies to make your visit here run smoothly. If you're happy with this, just continue to use the site as normal. To find out more, visit our cookie control page.

UK: +44 1353 648888




  Prism Media Products Limited trading as Spectral Measurement (formerly Prism Sound Test and Measurement); Registered in the UK, Reg. No. 2719511
  Address: Unit 1A, Grovemere House, Lancaster Way Business Park, Ely, Cambridgeshire, CB6 3NW, UK