9 Electrical Man Machine Interface (EMMI)
3GPP44.014Individual equipment type requirements and interworkingRelease 17Special GSM/EDGE conformance testing functionsTS
9.1 Use of the EMMI
Conformity tests of mobile stations are made using the system simulator specified in Annex 4.
Test signals are sent on the Um interface, and actions of the MS are registered. The Electrical Man Machine Interface (EMMI) is a half duplex communication link between the SS and the MS by which it is possible to automatically register the status, indications and performance of the MS.
It is also possible to simulate actions normally made by the user on the keyboard of the MS.
9.2 Formal aspects
i) The EMMI is optional for the ME.
ii) The EMMI is mandatory for the SS.
iii) If the EMMI is to be used in conformance testing of an MS, it shall be possible to connect the SS to a connector on the MS, or to an adapter connected to the same MS. If an adapter is to be used, it shall be provided by the manufacturer.
iv) If the MS fulfils the requirements performed with the use of an EMMI, the MS is regarded as having passed that test.
v) If the MS is rejected in a test performed with EMMI, the test shall be repeated on the same mobile with the device carrying the EMMI to the MS removed. The MS shall be regarded as fulfilling the requirements, if it then passes the test.
vi) When using the EMMI, the MS does not necessarily conform to the RF requirements. Therefore, tests concerning Rx and Tx parameters on MS with integral antenna and cabinet radiation tests for all types of MS will never be performed with the use of the EMMI.
9.3 Layered structure of the interface
The definition of the EMMI is divided into three different layers. On layer 1 the use of a 25-pole socket with standard electrical characteristics for serial communication is defined. On layer 2, an extremely simple frame oriented protocol is defined. On layer 3, messages for control and verification of functions and indications are defined. Each layer is defined independently of surrounding layers, and is therefore easy to replace.
The EMMI protocol structure takes into account that the SS only sends and receives layer 3 frames when the corresponding step within a test case is to be performed.
9.4 Terminology
EMMI Electrical Man Machine Interface
MI Message Identifier
ME Mobile Equipment
MS Mobile Station
SS System Simulator
Frame Used on layer 2 to transfer messages to and from layer 3
Message Information on layer 3
9.5 Description of the EMMI
9.5.1 EMMI, Layer 1
9.5.1.1 Mechanical and electrical characteristics
If implemented, the EMMI interface shall use the same connector as the Digital Audio Interface (DAI), described in sub-clause 10.3.
The pin assignments for the EMMI shall be as follows:
Pin |
Function |
Source |
2 |
Transmitted data |
SS |
3 |
Received data |
MS |
7 |
EMMI signal ground |
The electrical characteristics of the interface shall be as given in sub-clause 10.3.2.
9.5.1.2 Transmission and reception characteristics
The EMMI uses asynchronous serial data transmission with 1 start bit (S), 8 data bits (D1 to D8), no parity and 1 stop bit (E).
Table 3: Use of start and stop bits
S |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
D8 |
E |
The conditions on start and stop characters are defined in REC CCITT V.1.
The transmission rates are: 600, 1200, 2400, 4800, 9600 bits per second. The ME shall support at least one of these speeds.
The SS will adapt its rate (manually or by MMI) to this ME rate.
9.5.2 EMMI, layer 2
9.5.2.1 General structure
On layer 2, frames are used to carry data from higher layers. Frames consist of one or several octets. One frame with variable length is used to carry data from higher layers, and four other frames with the length of one character is used to control the flow of frames.
9.5.2.2 Control frames
Special frames have been assigned to control the flow of frames on layer 2. They are only one octet long.
Table 4: Characters for flow control
Abbr. |
Meaning |
Dec.value |
Bit pattern |
ACK |
Acknowledge |
06 |
0000 0110 |
NAK |
Not Acknowledge |
21 |
0001 0101 |
XON |
Resume sending data |
17 |
0001 0001 |
XOF |
Stop sending data |
19 |
0001 0011 |
9.5.2.3 Frame structure
Two octets, called characters, indicate start and stop of I-frames.
Table 5: Start and stop characters
Abbr. |
Meaning |
Dec.value |
Bit pattern |
STX |
Start of data |
02 |
0000 0010 |
ETX |
End of data |
03 |
0000 0011 |
Information from higher layers are transferred in I-frames with the following structure.
Table 6: Information structure in I-frames
Field name |
No of octet |
Value |
Start at octet no |
Note |
Start |
1 |
Character STX |
1 |
– |
Length |
1 |
Length of data |
2 |
a1) |
Data |
0-255 |
Content of data |
3 |
a2) |
Check |
1 |
Error detection |
Length+2 |
a3) |
End |
1 |
Character ETX |
Length+3 |
|
NOTE a1) Length: The total number of data octets in the data field of the frame is calculated. The value shall be in the range of (0..255 decimal). The corresponding binary value is put into the length field. NOTE a2) Data: Data to and from higher layers are in the form of octets (groups of 8 digital bits). NOTE a3) Check: Longitudinal checksum is created by exclusive OR on all characters starting with the Start field and ending with the last octet before the Check field. The value, one octet, is mapped into the Check field. |
9.5.2.4 Flow of I-frames on layer 2
9.5.2.4.1 Transmission of frames
A multiple frame starts with the first octet being the character STX and stops with the last octet with content ETX. The time between the start bits of two consecutive octets shall not be longer than T22.
Octet n |
octet n + 1 |
|
< T22 > |
The time between two frames is measured from the start bit of the last octet of the nth frame to the start bit of the first octet of the n+1st frame. The time between two consecutive frames shall not be less than T23.
STX |
Frame n |
ETX |
STX |
frame n+1 |
ETX |
||||||||
< T23 > |
9.5.2.4.2 Reception of frames
Start of a frame is defined as (more than T22*2 since previous reception of octet) AND (reception of STX).
End of a frame is defined as (reception of ETX in octet number (length+2)) OR (more than T22*2 since last reception of octet).
9.5.2.4.3 Use of ACK and NAK on receiving side
ACK is used by the MS to acknowledge a frame on receiving side if all the following conditions are fulfilled. Otherwise NAK is used.
1) The content of Start field is STX.
2) The content of Check field corresponds to the exclusive OR sum of previous octets in the frame.
3) The content of the last octet is ETX.
NAK is used by the SS to request retransmission of a frame. Otherwise ACK is used.
NOTE: NAK shall not be used for layer 3 errors, if the layer 2 frame is correct. If the meaning of a layer 3 message is undefined or not performable, then the problem is solved with layer 3 messages.
9.5.2.4.4 Use of XON and XOF
XON and XOF are used for flow control of layer 2.
XOF is sent if the unit (MS or SS) due to internal processing is not capable of receiving a following frame when a frame is being received.
XON is sent if XOF has been sent previously, but the reason for that XOF-transmission no longer exists.
9.5.2.4.5 Parameters on layer 2
Table 7: Timer values on layer 2
Bit rate |
Value of T22 |
Value of T23 |
600 |
25.0 ms |
58.3 ms |
1200 |
12.5 ms |
29.2 ms |
2400 |
6.3 ms |
14.6 ms |
4800 |
3.1 ms |
7.3 ms |
9600 |
1.6 ms |
3.6 ms |
9.5.3 EMMI, layer 3
9.5.3.1 Message structure
Messages are used on layer 3. They are defined by Message Identifiers (MI) in the range of (0..255). The message identifier is always the first, and often the only, octet of the message.
Table 8: Use of message identifiers
MI |
Use |
0-49 |
Not used. |
50-179 |
General messages. All undefined values reserved for further evolution of the EMMI. |
180-209 |
ME-type dependent blocks, may be used by the SS as a sender or receiver, if so requested by the manufacturer. Undefined values available for the manufacturer. |
210-239 |
ME-type dependent blocks, never to be used by the SS in conformance testing. Undefined values available for the manufacturer. |
240-255 |
Reserved for L3 error handling. All undefined values reserved for further evolution of the EMMI. |
NOTE 1: Layer 2 is transparent, but to avoid unnecessary interference from layer 3, MI with the same value as control frames on layer 2 are not used.
Most of the messages, especially in the direction SS – MS contain only one octet, the message indicator. Some of the messages, especially in the direction MS – SS are quite long.
NOTE 2: If the interface is limited only to the minimum required for automatic conformity testing with the electrical man machine interface, then the included L3 messages should be RQTI, KEYS, BEL1, BEL0, HOK1, HOK0, BCAP and RSTI.
Table 9: Block types
MI |
Source |
|||
Value |
Abbr. |
Meaning |
MS |
SS |
051 |
VOL1 |
Increase volume (***) |
X |
|
052 |
VOL0 |
Decrease volume (***) |
X |
|
053 |
RQTS |
Request for table, status |
X |
|
054 |
RQTI |
Request for table, indication |
X |
|
055 |
RQPL |
Request for power level |
X |
|
056 |
RQBE |
Request for bell status |
X |
|
057 |
RQSM |
Request for short message |
X |
|
058 |
KEYS |
Perform keystroke sequence |
X |
|
060 |
BEL1 |
Indication user alert on |
X |
|
061 |
BEL0 |
Indication user alert off |
X |
|
064 |
HOK1 |
Hook on |
X |
|
065 |
HOK0 |
Hook off |
X |
|
070 |
BCAP |
Selection of bearer capability |
X |
|
080 |
STPO |
Set power level |
X |
|
091 |
RSTS |
Response table, status |
X |
|
092 |
RSTI |
Response table, indication |
X |
|
093 |
RSPO |
Response, power level |
X |
|
101 |
RXSM |
Received short message |
X |
|
102 |
RXSN |
No short message received |
X |
|
240 |
ER00 |
Internal malfunction detected |
X |
|
241 |
ER01 |
L3 message not recognized |
X |
X |
242 |
ER02 |
L3 message not performable |
X |
|
255 |
RESE |
Perform hardware and software reset |
X |
NOTE 3: Functioning of this should be verified, as the volume control in the ME might be of another type (non-incremental).
9.5.3.2 Definition of messages
Messages are defined in the order of the value of the message identifier.
051 VOL1 Increase volume
052 VOL0 Decrease volume
Increase/decrease volume in the loudspeaker by one step.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
053 RQTS Request for table, status
054 RQTI Request for table, indication
055 RQPL Request for power level
On receiving a request message RQxy, the corresponding table RSxy shall be sent.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
056 RQBE Request for bell status
On receiving a request message RQBE, the internal user alert status (BEL1 or BEL0) shall be sent. BEL1 and BEL0 will indicate whether the ringing or alert procedure has been activated or not. (See also the definition of BEL1 and BEL0).
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
057 RQSM Request for short message
In response to the RQSM request the MS shall send either the short message type using the message RXSM or, in case of no short message received, the message RXSN.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
058 KEYS Perform keystroke sequence
Perform the MS function related to the received keystroke sequence.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
2 |
First key |
||||||||
…. |
|||||||||
N |
Key Number N-1 |
The possible keystroke sequences are based on the basic public man machine interface as defined in 3GPP TS 22.030. There exists a minimum set of key characters.
The codes associated with these characters are defined as follows:
Key |
Code (decimal) |
# |
35 |
* |
42 |
+ |
43 |
0 |
48 |
1 |
49 |
2 |
50 |
3 |
51 |
4 |
52 |
5 |
53 |
6 |
54 |
7 |
55 |
8 |
56 |
9 |
57 |
END (function) |
18 |
SEND (function) |
20 |
060 BEL1 |
Indication user alert on |
061 BEL0 |
Indication user alert off |
Indication user alert shall indicate, on request of the SS, the internal status of the alert or ringing procedure. For this purpose, the SS shall send the RQBE (request for bell status) message to the MS.
BEL1 shall indicate that the alert procedure is active.
BEL0 shall indicate that the alert procedure is not active.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
064 HOK1 Hook on
065 HOK0 Hook off
Control of the hook. The hook on/off command shall action the normal procedure associated with physically lifting the handset and replacing it whatever that maybe.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
070 BCAP Selection of bearer capability
The EMMI BCAP message shall change the default bearer capability on all future calls made via the EMMI "perform keystroke sequence" message. The new default bearer capability shall be in effect until the ME is switched off or until the ME receives another EMMI BCAP message.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
2 |
Bearer capability |
||||||||
NOTE: The field "bearer capability" in the BCAP message is mandatory and is coded bit for bit exactly as the "bearer capability" information element as described in 3GPP TS 44.018, beginning with octet 2 (length of the bearer capability contents). Because the "bearer capability" is mandatory, the first byte of the field shall be the length of the bearer capability content and not the bearer capability information element identifier. |
080 STPO Set power level
Used to control the Tx power level of the ME.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
2 |
Power level |
||||||||
NOTE: The power level is defined as the 2nd octet of the power command information element in 3GPP TS 44.018. |
091 RSTS Response table, status
Response table status is sent as an answer to the corresponding request.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
F1 |
F2 |
2 |
Statis fiels |
||||||
F3 |
|||||||||
NOTE: F1 0 0 0 0 Spare F2 (1=yes, 0=no) Bit 4 L2 link on SACCH established Bit 3 Speech connection on TCH establ Bit 2 Listening to BCCH Bit 1 SDCCH established F3 Bit 8 Frequency hopping (yes/no) Bit 7-1 ARFCN of BCCH of serving cell |
092 RSTI Response table, indication
Response table indication send as an answer to the corresponding request.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
F1 |
F2 |
2 |
Indication field |
||||||
NOTE: F1 0000000 Spare F2 (yes=1, no=0) Bit 1 Service indication On (yes/no) |
093 RSPO Response, power level
Response power level is sent as an answer to the corresponding request.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
F1 |
F2 |
2 |
Power Level |
||||||
NOTE: The power level is defined as the 2nd octet of the power command information element in 3GPP TS 44.018 |
101 RXSM Received short message
The message RXSM has to be sent by the MS in response to the RQSM request if a short message has been received.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
2 |
SM field octet 1 |
||||||||
…. |
|||||||||
N |
SM field octet N-1 |
||||||||
NOTE: The SM field is defined as the content of the data field short message storage defined in 3GPP TS 51.011, excluding byte 1, as follows: 1 byte NULL value 12 bytes TP Originating Address 12 bytes TS Service Centre Address 1 byte TP Protocol Identifier 1 byte TP Data Coding Scheme 7 bytes TP Service Centre Time Stamp 1 byte TP User Data Length up to 140 bytes TP User Data. If the length of the address for TP and for TS service centre is less than 12 bytes, the remaining bytes are filled with null values. |
102 RXSN No short message received
The message RXSN has to be sent by the MS in response to the RQSM request if no short message has been received.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
240 ER00 Internal malfunction detected
Used to indicate to the SS that the MS has discovered an internal error. This error message is to be handled in the same manner as the layer 3 error messages (only to be sent to the SS in response to a Layer 3 message received at the MS).
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
||||||||
2 |
Error indication |
||||||||
NOTE: The error indicator is defined by the manufacturer of the ME. |
241 ER01 L3 message not recognized
Used by the receiver to indicate to the sender that the message was correctly received, but ignored due to the fact that it was not understandable (e.g. a KEYS message with one or many values which are not part of the standard set of keys for the MSE). The message to the MS implies a request for re-sending the latest message sent.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
242 ER02 L3 message not performable
Used by the receiver to indicate to the sender that the message was understood, but not performable due to intentional lack of functionality in the MS (e.g. as answer to a CALL message containing a type of service which the MS is not able to use) or to a message requesting a change to a state already existent.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |
255 RESE Perform HW and SW reset
The MS shall perform a total reset. The MS shall behave as if it has been switched "off" and "on".
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
Octet |
|
1 |
Message identifier |