Danish Interpretation Systems Technical Specifications
1.1 Revision history
21-07-2003 A Initial version of the document.
25-02-2004 B Corrected a fault in section 3.4.4 Control Job Received (CU external).
Format of the message corrected
17-06-2004 C Updates and additions to the descriptions.
03-07-2004 D A section with summary of the control messages and status of control messages
has been added. Examples of the code has been added in chapter 6
10-10-2004 E Commands in section 4.3.2, 4.3.3 and 4.5.3 have been changed as part of the
firmware release 5.1.
Applications made for previous releases have to be updated reflecting those
changes.
The actual sections are marked with a frame around the text.
14-02-2006 F Commands for voting control (license option).
08-05-2006 G Correction to registration, when using voting control.
18-05-2006 H Addition to voting control (secret voting + 5-button voting)
12-09-2006 I Addition of message for setting up microphone speak priority. Refer to ‘4.3.3
Danish Interpretation Systems Technical Specifications
2 Introduction and document overview
The DCS 6000 system offers the possibility of controlling the microphones from a PC, AMX or other
external control unit via a serial connection. This text documents how this feature is used; how
external control of the DCS 6000 system is executed.
The protocol used on the cable between the central unit (CU) of the DCS 6000 system and the external
control unit is described in general in section 3.
Parts of this protocol encapsulate the protocol used on the DCS 6000 bus and thus enable the CU and
the external control unit to communicate as if the latter was a unit on the bus. The parts of the DCS
6000 protocol, which are relevant for controlling the microphones are described in section 4.
Section 5 summarizes and exemplifies how to use the protocol described in sections 3 and 4 to control
the microphone application.
Additional detailed examples are shown in section 6.
2.1 Restrictions in DCS6000
The RS232 protocol control described herein provides descriptions for an external control unit to do
microphone control, audio settings and voting in the DCS6000 system. Basic functionality is hereby
made available, however some restrictions need mentioning:
- The Voting control functionality is protected by a license feature within the CU.
- There is no support for Dual microphone units or units sharing a microphone.
- There is no support for Voting units without microphones.
For voting functionality to become available, the CU must be provided with a CU license key that
enables voting and voting control through the RS232 connection.
2.2 Voting Concepts
2.2.1 Voting session
Voting sessions are controlled (setup/opened/closed) from an external control unit.
First, the following voting parameters must be setup from external control:
- Voting Type (3-Button Voting or 5-Button Voting)
- Secret Voting (Open Voting or Secret Voting)
Printed in Denmark
5
Danish Interpretation Systems Technical Specifications
3-Button voting sessions provide the delegates with the option to make a selection among three
alternatives: (typically Yes, Abstain and No), whereas 5-button voting sessions offer 5 alternatives
(typically ++, +, 0, - and --).
During an Open voting session, the votes are captured by the voting units, and the voting units show to
the delegate, which button was pressed. If a voting session is defined as Secret, the voting units still
register, when the delegates vote, but they do not reveal, which button was pressed.
A voting session is opened and closed from an external control unit. Only during an open voting
session, the delegates are able to cast their votes.
During an Open voting session, the CU informs about votes received from the delegates. And,
furthermore, the CU continuously transmits interim results, both when running Open and Secret voting
sessions. When the voting session is closed, the CU informs about the final voting result.
The voting result remains in the CU until the next voting session is started, or until the CU is reset. The
result is available for an external control unit to read as long as it is valid.
2.2.2 Attendance check
Prior to a voting session, it is often desireable to sustain, how many delegates are actually present. In
order to determine the number of delegates present, an Attendance Check is carried out. From an
external control unit the CU is commanded to start an attendance check. A single button (the ‘Present’
button) starts flashing on the microphone units, and the delegates can acknowledge their presence by
pressing this button.
During an attendance check, the CU informs the external control unit about units, where the delegate
has pressed the ‘Present’ button. Furthermore, the CU continuously informs the latest number of
present delegates (interim result). When the Attendance check is ended, the CU reports the final
attendance check result.
The CU stores the final result until next time an attendance check is started, or until the CU is reset.
This result can be read from the CU as long as it is valid.
2.2.3 Late Attendance
Late Attendance is defined as the ability to vote despite a delegate has not participated in a previous
attendance check. The CU allows late attendance.
In order to keep a correct attendance check result, the CU actually updates the attendance check result
if late attendance occurs during a voting session.
6
Printed in Denmark
Danish Interpretation Systems Technical Specifications
After completion of a voting session, the attendance check result consists of delegates, who
participated in the actual attendance check plus delegates participating only in the voting session (late
attendance).
2.3 Notation
The RS232 protocol is defined byte for byte (1 byte = 8 bits). This document uses the following
notation to describe these bytes:
The example shows, that the byte-value of the 8-bits ..01101001..
can be perceived as the ASCII character ‘m’, as the decimal value 109 or as the hexadecimal value
0x6D.
Printed in Denmark
7
Danish Interpretation Systems Technical Specifications
3 Serial Protocol
All communication between the CU and the external control unit is done through a serial connection
either via RS232 or RS422. The format of the serial data is 8 data bits, 1 stop bit and no parity.
Possible bit rates are 2400, 4800, 9600, 19200, 38400, 57600 and 115200 bits/s. The default is 115200
bits/s. Hardware flow control is used on the serial port.
The CU provides a possibility to save the settings in a configuration. Whenever the CU powers up, the
settings stored in the configuration are applied. The bit rate setting is part of the configuration, and is
applied after power up.
3.1 Package format
Communication between the CU and an external control unit consists of binary packages (messages).
Each binary message consists of bytes. The format of the packages sent between the CU and the
external control unit is as follows:
START is the constant 0xFC that indicates the start of a message
Message Type is a byte indicating the type of the message. The message types used is described in
section 3.4.
ID is a byte identifying this message in a stream of messages. Each time a message is sent this number
is incremented. When the maximum allowed value, 63, is reached the counter is wrapped. Separate
counters are used for message from the CU and messages to the CU.
Data byte 0 – Data byte N is the actual message to be sent.
CRC is an 8-bit CRC value for the message. The CRC is calculated over the bytes between the Start
and CRC. The calculation is described in section 3.2.
STOP is the constant 0xFD that indicates the end of a message.
8
Printed in Denmark
Danish Interpretation Systems Technical Specifications
3.2 CRC Calculation
An 8-bit CRC calculation with the polynomial x8+x2+x+1 is used for the serial communications. A C
implementation of a function calculating the CRC value of a message is given below:
The CRC calculation is done byte by byte, starting with the Message Type and ending with the last
data byte, both included.
Examples on CRC calculations are found in section 5.1
3.3 Encoding
Since the values used for the start and stop delimiters occasionally have to be used inside the
messages, the data in the packets are encoded to avoid using these values. In order to achieve this a
third control value Escape, with the value 0xFE, is introduced. Whenever one of the values 0xFC,
0xFD and 0xFE are needed in a message, they are replaced with a two byte sequence as detailed here:
Value to be
sent
0xFC {Escape} 0
0xFD {Escape} 1
0xFE {Escape} 2
Encoding of the contents of the binary message is done after the CRC calculation.
Encoded as
Printed in Denmark
9
Danish Interpretation Systems Technical Specifications
3.4 Message types
The following sections describe the types of messages that are sent between the CU and the external
control unit. For each message type the format of the messages of this type is shown, this description
excludes the start/stop delimiters and the CRC. The field <ID> in the following descriptions refers to
the identifier byte introduced in section 3.1.
3.4.1 CU reset (CU external)
When the CU powers up, it transmits a binary message on the serial interface, in order to inform
external control units, that the DCS 6000 system (CU) has been turned on.
The format of the CU reset message is:
<START> ‘r’ <ID> <CRC> <STOP>
3.4.2 Change binary Control Mode (external CU)
This message is sent from the external controller to the CU in order to change the binary control mode
of the serial interface. The message format is either
<START> ‘m’ <ID> ‘c’ ‘m’ <CRC> <STOP>
which changes the mode to microphone control mode. Or
<START> ‘m’ <ID> ‘q’ <CRC> <STOP>
which leaves the microphone control mode.
3.4.3 Send Control Message to CU (external CU)
This message is used to send a DCS 6000 message to the CU asking it to perform some operation or
deliver some data. The messages available are discussed in section 4.3. The format of the message is:
Chain is the chain number the control job originates from. This field exists because the command can
be used to simulate control jobs originating from messages on the DCS 6000 bus. Just set this value to
0.
LSB addr and MSB addr are the least respectively the most significant bytes of the external control
units address. See section 5.2 on how to obtain a unique address for an external control unit.
Message Group defines the message group of the message to send. The message groups are defined in
section 4.3.
10
Printed in Denmark
Danish Interpretation Systems Technical Specifications
Data 1, Data 2 and Data 3 are the actual data bytes to send to the CU. Typically the function to be
executed is defined by Message Group + Data 1 while Data 2 and Data 3 are the parameters top the
function. In the case that not all of the data bytes are needed the rest are set to 0.
3.4.4 Receive Control Message from CU (CU external)
This message encapsulates DCS 6000 commands sent from the CU to external control unit. The format
of the message is
MSB addr and LSB addr are the least respectively the most significant bytes of the address of the
receiver of the message. The external controller should only take note of the message if the address is
its own or the group address for a group it is currently a member of. See section 4.2 for a list of
relevant group addresses.
Message Group is the message group of the message sent by the CU. The message groups are defined
in section 4.5.
Len is the number of data send (N)
Data 1 to Data N are the data bytes sent in the message.
3.5 Building a control message – step by step
When a message is to be transferred via the serial connection, the follow steps are done in the order
shown below:
Danish Interpretation Systems Technical Specifications
4 DCS 6000 Messages
The RS232 binary protocol is used to transfer DCS 6000 system commands between the CU and the
external control unit. General definitions for the communication are described in sections 3.4.3 and
3.4.4. This section describes the details for the commands that can be sent via the RS232 protocol.
4.1 Addresses in the DCS 6000 system
Units, connected to the CU and provided with ability to initiate communication in the DCS 6000
system are assigned unique addresses. This goes for microphone units, interpreter sets and for external
control units as well. The CU is responsible for assigning addresses to various units.
Addresses are assigned in a random order at the first power up of the CU.
In order to obtain an address, an external control unit must pass through a registration. See section 5.2.
External control units are assigned addresses in the range 3900-3999 or 4040-4049.
Unique addresses allow the CU to send control messages directly to a single unit. Furthermore, it is
possible for the CU to distinguish the sender of a control message from all other unit by means of the
unique address.
4.2 Group addresses
All messages sent from the CU is either directed at a single unit or at a group of units identified by a
group address. The group addresses that the external controller is a member of is:
Group Address Comments
All units 4000 The external unit is always a member of this group
Control Units 4013 The external unit is always a member of this group
An external control unit must react only upon a control message carrying either the unique controller
unit address or one of the above group addresses.
4.3 Messages from the external unit to the CU
The messages that an external control unit can send to the CU when the binary interface is in the
microphone control mode are divided into three groups:
• The EXTERNAL_CONTROL_GRP group consisting of messages to do with the registering and
monitoring of external control units. The value corresponding to EXTERNAL_CONTROL_GRP
is 27.
• The EXTERNAL_AUDIO_CONTROL_MU group that contains messages for controlling the
volume controls of the CU. The value corresponding to EXTERNAL_AUDIO_CONTROL_MU
is 28.
12
Printed in Denmark
Danish Interpretation Systems Technical Specifications
• The MICROPHONE_CONTROL_GRP with messages regarding switching microphone on/off,
controlling the request queue etc. The value corresponding to
MICROPHONE_CONTROL_GRP is 18.
• The VOTING_CONTROL_GRP with messages to start and stop attendance check and voting
sessions, and to request voting results. The value corresponding to VOTING_CONTROL_GRP
is 52.
The following sections describe the messages from each message group.
4.3.1 Messages in EXTERNAL_CONTROL_GRP
The following subsections describe each of the messages in the group. The message format
descriptions have the same meaning as in section 3.4.3.
This message is used by an external control unit to register to the CU. The result of registration in the
CU is an address assigned to external control unit for unique identification. This message should be
sent with the group address for external controllers (4013) as sender address.
When registering in the CU, the external control unit indicates, which functionality the external
controller is capable of running. This is indicated by the parameter Capabilities:
Capabilities Value Description
Only Microphone
Functionality
Microphone and
Voting Functionality
2 The external controller supports only microphone
functionality.
10 The external controller supports microphone
functionality and also voting functionality
(Open/Close voting sessions).
The registering unit to identify it can use the External Identity. The CU includes the External Identity,
when the assigned address is transmitted to the external control unit. The External Identity can be
assigned any 8-bit value; also 0.
The external control unit should send this message as reply to EXTERNAL_HEART_BEAT_REQUEST
messages from the CU in order to indicate that the external controller is still present.
Printed in Denmark
13
Danish Interpretation Systems Technical Specifications
4.3.2 Messages in MICROPHONE_CONTROL_GRP
The following subsections describe each of the messages in the group. The message format
descriptions have the same meaning as in section 3.4.3.
When this command is issued to the CU all active delegate microphones are deactivated (chairman
units are unaffected) and cannot be reactivated until the delegate off is deactivated.
Set the maximum number of simultaneously active delegate microphones to Max Speakers. Chairman
units are not included in this count. Regardless of the setting of this parameter the maximum number
of active microphones (delegates + chairmen) is 8. The range of Max Speakers is 0-8.
Activates the microphone with the address 256*Microphone Address MSB + Microphone Address
LSB. See section 5.2 for a description of how to find the microphone addresses.
This command is used to change the operation mode of the microphone application. The mode is set
according to the value of Operation Mode with the following relation between the value and the new
mode:
This command is used to prompt the CU for status messages describing the state of the microphone
application. The messages that the CU sends as answer to this are described in section 4.5.2.
16
Printed in Denmark
Danish Interpretation Systems Technical Specifications
4.3.3 MICROPHONE_PRIORITY
This message is used to setup the speak priority for microphone units (chairman units and delegate
units).
The message defines the microphone speak priority for the microphone unit, which has the address
256* Microphone Addr MSB + Microphone Addr LSB to the value of the Speak Priority.
The speak priority defines the rights of a microphone unit, according to the following table:
Speak Priority Description
0 No right to speak
1 Default delegate priority
2,3,4 High delegate priorities
5 Chairman priority
Default, delegate microphone units are assigned a speak priority of 1, and chairman units are assigned
a speak priority of 5.
The speak priority 0 should only be assigned to units, where the user is not allowed to turn on the
microphone.
In the operation modes Manual and FIFO, the request lists is ordered in accordance with microphone
speak priorities. Microphone units with high speak priorities always preceedes units with default speak
priority. Units with speak priority of 0 are not allowed into the request list. Furthermore, the request
list does not apply to chairman units either. No matter the operation mode, a unit with chairman
priority is always turned on, when pressing the Speak button.
Printed in Denmark
17
Loading...
+ 38 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.