ECMA-398 1st Edition / June 2011
Close Proximity Electric Induction Wireless Communications
Reference number ECMA-398:2011
© Ecma International 2011
COPYRIGHT PROTECTED DOCUMENT
© Ecma International 2011
Contents
Page
1
Scope ...................................................................................................................................................... 1
2
Conformance ......................................................................................................................................... 1
3
Normative references ............................................................................................................................ 1
4
Terms and definitions ........................................................................................................................... 1
5
Abbreviations and acronyms ............................................................................................................... 2
6 6.1
Overview ................................................................................................................................................. 3 Introduction ............................................................................................................................................ 3
7 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9 7.2.10 7.2.11 7.3 7.3.1 7.3.2 7.4 7.4.1 7.4.2 7.4.3 7.4.4
Transmit signal ...................................................................................................................................... 4 Modulation scheme parameters .......................................................................................................... 4 Transmitter functional block diagram ................................................................................................. 4 Supported Rate Settings and rate dependent parameters................................................................ 5 Reed-Solomon encoder ........................................................................................................................ 6 Convolutional encoder.......................................................................................................................... 7 ECS ......................................................................................................................................................... 8 Spreader ................................................................................................................................................. 9 Sync sequence .................................................................................................................................... 10 Scrambler ............................................................................................................................................. 10 Scrambling sequence generator........................................................................................................ 11 Pi/2 shift BPSK mapper....................................................................................................................... 12 Mathematical framework of the Up Converter and the Baseband Waveform Generator ............. 13 Baseband waveform............................................................................................................................ 13 Frame format ........................................................................................................................................ 15 PPDU format ........................................................................................................................................ 15 PHY Header format .............................................................................................................................. 16 Transmitter ........................................................................................................................................... 18 Measurement points............................................................................................................................ 18 Transmit frequency ............................................................................................................................. 18 Transmit clock rate requirement........................................................................................................ 18 Transmit Constellation Error (EVM) .................................................................................................. 18
8 8.1 8.2 8.3
Receiver ................................................................................................................................................ 18 Measurement point.............................................................................................................................. 18 Reference sensitivity........................................................................................................................... 18 Blocking ............................................................................................................................................... 18
9
Electric Induction Field ....................................................................................................................... 19
10 10.1 10.1.1 10.1.2 10.1.3 10.2 10.2.1 10.2.2 10.2.3 10.2.4 10.2.5 10.2.6 10.3
CNL service definition......................................................................................................................... 20 Overview of CNL services .................................................................................................................. 20 Connection control service ................................................................................................................ 20 Data service ......................................................................................................................................... 20 Security service ................................................................................................................................... 20 CNL service access point ................................................................................................................... 20 Initialize ................................................................................................................................................ 23 Close ..................................................................................................................................................... 23 Connect and accept ............................................................................................................................ 23 Connection release ............................................................................................................................. 25 Power save ........................................................................................................................................... 26 Data transfer ........................................................................................................................................ 27 CPDU formats ...................................................................................................................................... 28
© Ecma International 2011
i
10.3.1 10.3.2 10.3.3 10.3.4 10.4 10.4.1 10.4.2 10.4.3 10.4.4 10.4.5 10.4.6 10.4.7 10.5 10.5.1 10.5.2 10.5.3 10.5.4 10.5.5 10.5.6 10.5.7 10.5.8 10.5.9 10.6
Conventions .........................................................................................................................................28 Acknowledgement (ACK) CPDU.........................................................................................................29 CNL data CPDUs ..................................................................................................................................33 Management CPDUs (Link control message) ...................................................................................35 CNL function description ....................................................................................................................43 Segmenting/Reassembling .................................................................................................................43 Medium state sensing .........................................................................................................................44 CNL-Level acknowledgements ...........................................................................................................44 Interframe space (IFS) .........................................................................................................................49 Access procedure ................................................................................................................................50 Multirate support..................................................................................................................................52 UID filter ................................................................................................................................................52 CNL state ..............................................................................................................................................52 Close state ............................................................................................................................................53 Search state..........................................................................................................................................53 Connection request state....................................................................................................................54 Accept waiting state ............................................................................................................................54 Response waiting state .......................................................................................................................54 Responder response state..................................................................................................................55 Initiator connected state .....................................................................................................................55 Responder connected state................................................................................................................55 Sub-states within the Initiator connected state or Responder connected state ...........................56 Numerical parameters .........................................................................................................................58
Annex A (normative) UID Specification ..........................................................................................................61 A.1 UID Composition ..................................................................................................................................61 A.1.1 Specifier ID ...........................................................................................................................................61 A.1.2 Reserved ...............................................................................................................................................61 A.1.3 Extension Identifier .............................................................................................................................61 Annex B (informative) Coupler .........................................................................................................................63 Annex C (informative) Coupler measurement ................................................................................................65 Annex D (informative) Reference Coupler ......................................................................................................67 Annex E (informative) Sample Data Sequences.............................................................................................69 E.1 Reed-Solomon Encoder ......................................................................................................................69 E.2 Convolutional Encoder .......................................................................................................................69 E.3 PHY Header HCS ..................................................................................................................................71 E.4 Common CNL Header HCS .................................................................................................................71 E.5 Sub CNL Header HCS ..........................................................................................................................71 E.6 Scrambling sequence generator ........................................................................................................71 Annex F (informative) CNL frame exchange sequences ...............................................................................75 F.1 CNL frame exchange sequences .......................................................................................................75 F.1.1 Connection setup procedure ..............................................................................................................75 F.1.2 CSDU exchange procedure ................................................................................................................75 F.1.3 Connection sleep procedure ..............................................................................................................76 F.1.4 Connection wakeup procedure ..........................................................................................................77 F.1.5 Connection confirmation procedure..................................................................................................78 F.1.6 Connection release procedure ...........................................................................................................78 Annex G (informative) CNL service operation ................................................................................................81 G.1 Initialize operation ...............................................................................................................................81 G.2 Close operation ....................................................................................................................................81 G.3 Connect request...................................................................................................................................82 G.3.1 Connect request operation .................................................................................................................82 G.3.2 Accept receive operation ....................................................................................................................82 G.3.3 Accept response operation ................................................................................................................83 G.3.4 Connect release operation..................................................................................................................83 G.3.5 Accept release operation ....................................................................................................................83 G.4 Connect accept ....................................................................................................................................84
ii
© Ecma International 2011
G.4.1 Request receive operation ................................................................................................................. 84 G.4.2 Accept request operation ................................................................................................................... 84 G.4.3 Accept acknowledge operation ......................................................................................................... 85 G.4.4 Accept release operation .................................................................................................................... 85 G.4.5 Connect release operation ................................................................................................................. 86 G.4.6 Request crossover operation ............................................................................................................. 86 G.4.7 Accept request operation ................................................................................................................... 87 G.4.8 Accept release operation .................................................................................................................... 87 G.5 Release ................................................................................................................................................. 88 G.5.1 Release request receive operation .................................................................................................... 88 G.5.2 Release receive operation .................................................................................................................. 88 G.6 Transfer data ........................................................................................................................................ 89 G.6.1 Data send operation ............................................................................................................................ 89 G.6.2 Data receive operation ........................................................................................................................ 90 G.6.3 Resend timeout operation .................................................................................................................. 91 G.6.4 Target wake operation ........................................................................................................................ 92 G.7 Power save ........................................................................................................................................... 93 G.7.1 Power save request operation ........................................................................................................... 93 G.7.2 Sleep receive operation ...................................................................................................................... 94 G.8 Wakeup ................................................................................................................................................. 95 G.8.1 Wakeup request operation ................................................................................................................. 95 G.8.2 Wakeup acknowledge operation........................................................................................................ 95 G.8.3 Wakeup receive operation .................................................................................................................. 96 G.8.4 Data send request operation .............................................................................................................. 96 G.8.5 Wakeup data send operation ............................................................................................................. 96 G.8.6 Wakeup timeout operation ................................................................................................................. 97 G.9 Probe..................................................................................................................................................... 97 G.9.1 Probe send operation.......................................................................................................................... 98 G.10 Probe ACK receive operation ............................................................................................................. 98 G.10.1 Probe receive operation...................................................................................................................... 98 G.10.2 Probe timeout operation ..................................................................................................................... 99
© Ecma International 2011
iii
iv
© Ecma International 2011
Introduction Today’s typical consumer uses digital files to store multimedia content such as music, photos, and videos. But these files are quickly becoming larger in number and size. A continual demand for higher quality results in larger file sizes. And proliferation of smaller, portable devices makes it easier to generate more content in less time. But the desire to store, share, and enjoy that content remains strong. And this usually requires transferring the content from one device to another. For example, storing might involve transferring the content from a video camera to an external disk drive. Sharing photos might involve transferring the contents from one mobile phone to another mobile phone. And enjoying content might involve streaming content from a video camera to a TV using a special video cable. But with today’s available technology, these activities present difficulties to the average consumer. The transfer process may take a long time due to the large file sizes. Or it may involve special cables or complex setup. Therefore, a need exists to make it faster and simpler to transfer large multimedia files. This Standard specifies a technology that addresses this need by using close proximity electric induction to transfer large files quickly and easily.
This Ecma Standard has been adopted by the General Assembly of June 2011.
© Ecma International 2011
v
"DISCLAIMER This document and possible translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to Ecma International, except as needed for the purpose of developing any document or deliverable produced by Ecma International (in which case the rules applied to copyrights must be followed) or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by Ecma International or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
vi
© Ecma International 2011
Close Proximity Electric Induction Wireless Communications
1
Scope
This Standard specifies a connection layer (CNL) and a physical layer (PHY) for transferring data between two close proximity entities using electric induction coupling.
2
Conformance
Implementations conforming to this Standard implement both the CNL and the PHY. All Conforming implementations support a centre frequency of 4,48 GHz and all rate settings specified in Table 2.
3
Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO/IEC 7498-1:1994, Information technology – Open System Interconnection – Basic Reference Model: The Basic Model ITU-T Z.120, Series Z: Languages and General Software Aspects for Telecommunication Systems, Formal description techniques (FDT) – Message Sequence Chart (MSC)
4
Terms and definitions
For the purposes of this document, the following terms and definitions apply. 4.1 chip shortest duration digital unit that is transmitted and used to spread the spectrum 4.2 chip rate rate at which chips are transmitted 4.3 coupler antenna used to transmit and receive an electric induction field 4.4 electric induction field electric field with strength inversely proportional to the distance squared 4.5 initiator sender of a connection request
© Ecma International 2011
1
4.6 PHY rate chip rate / spreading factor 4.7 responder receiver of a connection request 4.8 spreading factor number of duplications 4.9 symbol modulation pulse in a single I or Q channel as expressed as a baseband waveform 4.10 symbol rate rate at which symbols are transmitted in each I or Q channel 4.11 target peer entity 4.12 unique ID code uniquely identifying each implemented unit
5
Abbreviations and acronyms
ACK BPSK CCF CNL CPCI CPDU CSDU C-Acc C-Probe C-Req C-Rls C-Sleep C-Wake ECS EVM FCS FEC HCS ImACK LFSR LiCC MSC MUX NoACK PDU PHY PPCI PPDU
2
Acknowledgement Binary Phase Shift Keying Convolutional Coding Factor CoNnection Layer CNL Protocol Control Information Connection layer Protocol Data Unit Connection layer Service Data Unit “Connection Accept” message management frame “Connection Probe” message management frame “Connection Request” message management frame “Connection Release” message management frame “Connection Sleep” message management frame “Connection Wakeup” message management frame Error Check Sequence Error Vector Magnitude Frame Check Sequence Forward Error Collection Header Check Sequence Immediate Acknowledgement required Linear Feed-back Shift Register Link Control Command Message Sequence Chart Multiplexer No Acknowledgement required Protocol Data Unit Physical Layer PHY Protocol Control Information Phy layer Protocol Data Unit
© Ecma International 2011
PSD PSDU SAP SDU UID
6
Power Spectral Density PHY SDU Service Access Point Service Data Unit Unique ID
Overview
6.1 Introduction This Standard specifies the bottom 2 layers of a close proximity wireless transfer technology. By touching (or bringing very close together) two electronic entities, this technology allows high speed exchange of data. The basic concept consists of a touch-activated multi-purpose interface designed for applications requiring highspeed data transfer between two entities in a point-to-point (1:1) mode, without the need for external physical connectors. The physical layer has a maximum transmission rate of 560 Mbps, adjusting the data rate downward according to the wireless environment to maintain a robust link even when the surrounding wireless condition fluctuates. The RF transmit power is kept at a very low level to cause negligible interference with other nearby wireless systems, including other close proximity electric induction systems. Implementations transmit and receive by means of an electric induction field suitable for near field data exchange. This approach is fundamentally different from traditional wireless systems using microwave radiation.
Entities establish a link to enable data transfer and serve as initiator and responder respectively. These two roles have no relation to the actual direction of data transfer as illustrated in Figure 1.
Data Initiator
Close Proximity Electric Induction Wireless Communication
Data
Responder
Figure 1 — Connection between Initiator and Responder The initiator sends a “connection request", and the responder is its peer that receives a “connection request". Entities can assume either of these roles.
As specified in Figure 2, this Standard uses the OSI Basic Reference Model specified in ISO/IEC 7498-1.
© Ecma International 2011
3
Figure 2 — OSI Basic Reference Model used in this Standard
7
Transmit signal
7.1 Modulation scheme parameters The modulation scheme uses Pi/2 shift BPSK and a chip rate (Rc) of 560 Mcps, as illustrated in Table 1. Here, the chip rate refers to the shortest duration digital units that are transferred over the air as well as the digital bits that are used to spread the transmitted bandwidth. Since the modulation scheme uses Pi/2 shift BPSK, the reciprocal number of the chip rate (1/Rc) represents the interval between samples of an envelope concatenated along the time axis and the symbol rate (Rs) on one channel (Ich or Qch) is half the occupied bandwidth (Rc) of the envelope. Hence, the relationship of Rs = Rc/2 is established. Table 1 — Tx signal parameters Chip Rate: Rc
560 Mcps
Chip duration: Tc = 1/Rc
1,786 nsec
Symbol Rate: Rs
280 Msps
Carrier Center Frequency: Fc
4,48 GHz
Modulation FEC
Pi/2 shift BPSK + DSSS 1/2 Convolutional code + Reed Solomon code
7.2 Transmitter functional block diagram The transmitter functional block diagram is illustrated in Figure 3. Data from the CNL is first encoded by the Reed-Solomon encoder and the Convolutional encoder. Whether the Convolutional encoder is on or off is determined by the Rate Setting in use, as defined in Table 2.
4
© Ecma International 2011
The spreader spreads the encoded data by duplicating symbols by the spreading factor or process gain GSF. The spread data is then scrambled by the scrambler. Scrambling is accomplished using a pseudo random sequence generated by the Linear Feedback Shift Register (LFSR) in the Scrambler Sequence Generator. Of the fields of the frame format specified in Figure 14, the Preamble, PHY Header and Payload are scrambled using different random seeds. The Pi/2 shift BPSK mapper spreads a binary sequence into complex number signals by multiplying the input signal by a rotator whose rotation angle differs by 90 degrees for each sample. The baseband waveform generator illustrated in Figure 3 is a filter that uses the baseband waveform specified in Figure 12 as the impulse response. The generated baseband signal SBB(t) is then up-converted to centre frequency Fc by the RF module.
Figure 3 — Transmitter functional block diagram
7.2.1
Supported Rate Settings and rate dependent parameters
Table 2 specifies the rates used by the PHY. For rate control, the PHY manipulates the following parameters: •
Spreading factor (GSF) = 1, 2, 4, 8, or 16
•
Convolutional code factor (GCC):
•
o
GCC = ½ if Convolutional code is used
o
GCC = 1 otherwise
Reed-Solomon Factor (GRS): o
GRS = 224/240 if Reed-Solomon coding is used
o
GRS = 1 otherwise
From the above parameters, the rates are calculated as follows. •
Chip Rate = 560 Mcps
•
Symbol Rate = 280 Msps
© Ecma International 2011
5
•
PHY Rate (Mbps) = Chip Rate (Mcps) / GSF
•
Data Rate (Mbps) = PHY Rate (Mbps) x CCF x GRS Table 2 — Rates (Data Rate is rounded down to the nearest 1 Mbps)
7.2.2
Rate Settings
Chip Rate (Mcps)
Symbol Rate (Msps)
PHY Rate (Mbps)
Data Rate (Mbps)
Spreading Factor: GSF
Convolutional Code Used?
Rate 522
560
280
560
522
1
No
ReedSolomon Code Used? Yes
Rate 261
560
280
560
261
1
Yes
Yes
Rate 130
560
280
280
130
2
Yes
Yes
Rate 65
560
280
140
65
4
Yes
Yes
Rate 32
560
280
70
32
8
Yes
Yes
PHY Header
560
280
35
17
16
Yes
No
Reed-Solomon encoder
Table 3 specifies the parameters of the Reed-Solomon encoder. Reed-Solomon code is employed for the CPDU inner coding. Table 3 — Reed-Solomon encoder parameters Function
Description
Galois field
GF (28)
Primitive polynomial
p(X) = X8 +X4+X3+X2+1
Primitive element
MSB
LSB
α = [00000010] Generating polynomial
15
(
g( X ) = ∏ X − α i
)
i =0
Code length
240 Bytes
Data length
224 Bytes
PSDU data shall be Reed-Solomon encoded as follows. 1) Starting with Byte 00 (see Figure 18), each block of 224 bytes shall be transferred to the ReedSolomon encoder to generate the 16 parity bytes. The bit-ordering of each byte and each Galois field symbol shall be identical. Simultaneously, the same 224 bytes shall be transferred unchanged in the same order to the next stage of processing. These 224 bytes are referred to as message bytes. 2) After each block of message bytes are transferred to the next stage of processing, the 16 bytes of Reed-Solomon parity shall be transferred to the next stage of processing in the order of MSB first of each parity byte. The parity bytes shall be transferred starting from higher order to lower order.
6
© Ecma International 2011
Note that the Reed-Solomon encoder transfers and processes data in byte-by-byte order. See Annex E for examples of Reed-Solomon Encoder data values. 7.2.3
Convolutional encoder
Table 4 specifies the parameters of the Convolutional encoder. Convolutional code is employed for the PHY Header and the CPDU outer coding. Table 4 — Convolutional encoder parameters Function
Description
Constraint length
K=3
Polynomial
G0=7oct, G1=5oct
Table 5 specifies the relation between the Rate Setting and the number of convolutional encoders. Figure 4 and Figure 5 specify the input/output relationship for the convolutional encodings. The input signal in both Figure 4 and Figure 5 is the RS-Encoded data as specified in Figure 14. Table 5 — Rate Settings and number of convolutional encoders Rate Setting
Num. of Conv. Enc.
Rate 522
Input/Output bit ordering
No convolutional code 2
See Figure 4
Rate 130
1
See Figure 5
Rate 65
1
See Figure 5
Rate 32
1
See Figure 5
PHY Header
1
See Figure 5
Tb
Tb
SCO(t)
bG02 bG01 bG00
D5 D4 D3 D2 D1 D0
bG11 bG01 aG11 aG01 bG10 bG00 aG10 aG00
aG1
SCI(t)
bG0
t= 0
D1
D3
D5
Tb
Tb
t= 2Tb
t= 0
bG12 bG11 bG10
t= 5Tb
aG12 aG11 aG10
aG0
D0
D2
D4
aG02 aG01 aG00
Rate 261
bG1
Figure 4 — Convolutional encoder for Rate 261
© Ecma International 2011
7
Figure 5 — Convolutional encoder for Rate 130 to Rate 32 and PHY Header Figure 4 and Figure 5 show each storage element as a box labelled Tb where Tb is the bit duration of the Input data. The storage elements shall have value=0 at t=0. See Annex E for examples of Convolutional Encoder data values. In Figure 4 and Figure 5, the data is transferred and processed bit by bit starting with the MSB of SCI(t). 7.2.4
ECS
Figure 6 and Equation (1) specify the 16-bit ECS. The notation [n2:n1] means sequence of bits ordered from bit n2 to bit n1 where bit n2 is the most significant bit (MSB) and bit n1 is the least significant bit (LSB).
Figure 6 — 16-bit ECS generator
16-bit ECS calculation: q0[15:0]=0x FFFF In0[7:0] is the 1st byte in the ECS target field to be sent. “^” denotes the XOR (exclusive OR) operator in Equation (1). qt+1[15] = qt [8] ^ qt [0] ^ Int[0] ^ qt [4] ^ Int [4] qt+1 [14] = qt [9] ^ qt [1] ^ Int [1] ^ qt [5] ^ Int [5] qt+1 [13] = qt [10] ^ qt [2] ^ Int [2] ^ qt [6] ^ Int [6] qt+1 [12] = qt [11] ^ qt [0] ^ Int [0] ^ qt [3] ^ Int [3] ^ qt [7] ^ Int [7]
8
© Ecma International 2011
qt+1 [11] = qt [12] ^ qt [1] ^ Int [1] qt+1 [10] = qt [13] ^ qt [2] ^ Int [2] qt+1 [9] = qt [14] ^ qt [3] ^ Int [3] qt+1 [8] = qt [15] ^ qt [0] ^ Int [0] ^ qt [4] ^ Int [4] qt+1 [7] = qt [0] ^ Int [0] ^ qt [1] ^ Int [1] ^ qt [5] ^ Int [5] qt+1 [6] = qt [1] ^ Int [1] ^ qt [2] ^ Int [2] ^ qt [6] ^ Int [6] qt+1 [5] = qt [2] ^ Int [2] ^ qt [3] ^ Int [3] ^ qt [7] ^ Int [7] qt+1 [4] = qt [3] ^ Int [3] qt+1 [3] = qt [0] ^ Int [0] ^ qt [4] ^ Int [4] qt+1 [2] = qt [1] ^ Int [1] ^ qt [5] ^ Int [5] qt+1 [1] = qt [2] ^ Int [2] ^ qt [6] ^ Int [6] qt+1 [0] = qt [3] ^ Int [3] ^ qt [7] ^ Int [7]
(1)
See Annex E for examples of 16-bit ECS data values.
7.2.5
Spreader
Figure 7 and Table 6 specify the function of the spreader.
SCO(t)
x
fSP(x)
SSP(t)
GSF Figure 7 — Spreader
Table 6 — Input and output relationship of the Spreader Spreading Factor: GSF
Input: x (a = 1 or 0)
1
a
a
2
a
a,a
4
a
a,a,a,a
8
a
a, … ,a : Repeat 8 times
16
a
a, … …,a : Repeat 16 times
© Ecma International 2011
Output: SSP(t)
9
7.2.6
Sync sequence
Table 7 specifies the Sync sequence, CSY(t), used for packet synchronization. CSY(t) consists of 128 chips and expects the transmission to start with the 0th index. Table 7 — Sync sequence CSY(t)
7.2.7
0
1
16
1
32
1
48
0
64
0
80
0
96
0 112
1
1
1
17
0
33
0
49
1
65
1
81
1
97
1 113
0
2
0
18
0
34
1
50
0
66
0
82
1
98
1 114
0
3
1
19
0
35
0
51
0
67
0
83
0
99
0 115
1
4
1
20
1
36
0
52
0
68
1
84
0 100
0 116
0
5
1
21
1
37
1
53
0
69
1
85
0 101
0 117
0
6
1
22
1
38
0
54
1
70
1
86
0 102
1 118
0
7
0
23
1
39
1
55
0
71
0
87
0 103
0 119
0
8
1
24
0
40
1
56
0
72
1
88
1 104
0 120
0
9
1
25
0
41
0
57
1
73
1
89
1 105
0 121
0
10
1
26
0
42
1
58
1
74
0
90
1 106
1 122
1
11
0
27
1
43
0
59
1
75
0
91
0 107
0 123
0
12
0
28
1
44
1
60
1
76
1
92
1 108
0 124
1
13
0
29
0
45
1
61
0
77
1
93
0 109
0 125
1
14
0
30
1
46
1
62
1
78
0
94
1 110
1 126
0
15
1
31
1
47
1
63
1
79
1
95
1 111
0 127
0
Scrambler
Figure 8 specifies the configuration of the scrambler. Table 8 specifies the scrambler truth table which uses an inverted XOR of the spread signal SSP(t) and the LFSR-generated signal.
Figure 8 — Scrambler
10
© Ecma International 2011
Table 8 — Truth table of Scrambler x
Y
SSC(t)
0
0
1
0
1
0
1
0
0
1
1
1
As specified in Table 9 the scrambler uses scrambling sequences CPR(t), CHE(t), and CPA(t) for the Preamble, PHY Header, and Payload parts of the transmit packet, respectively. These sequences are generated by the scrambling sequence generator specified in 7.2.8. Note the Preamble and Sync parts use a constant 1 data input. Therefore CPR(t) and CSY(t) pass through the scrambler unmodified. Table 9 — Input of Scrambler
7.2.8
Part of Packet
x Input of fSC(x,y)
y Input of fSC(x,y)
Preamble
1
CSC(t) = CPR(t)
Sync
1
CSY(t)
PHY Header
SSP(t)
CSC(t) = CHE(t)
Payload
SSP(t)
CSC(t) = CPA(t)
Scrambling sequence generator
Figure 9 illustrates the configuration of the LFSR used to generate the scrambling sequence. Equation (2) specifies the polynomial equation for LFSR generation. Table 10 specifies the relationship between LFSR seeds and scrambling sequences. The scrambling sequence generator expects the register value to be initialized by the scrambling seed [17:0] at the beginning of each part of the packet (Preamble, PHY Header, and Payload).
G( x) = x18 + x10 + x 7 + x 5 + 1
(2)
Figure 9 — Block diagram of Scrambling sequence generator LFSR
© Ecma International 2011
11
Table 10 — Scrambling sequence generator seeds and outputs Part of Packet
Scrambling Seed [17:0]
Output of Scrambling Sequence Generator: CSC(t)
Preamble
0x011A0
CPR(t)
Header
0x27BFA
CHE(t)
Payload
0x3C859
CPA(t)
See Annex E for examples of Scrambling sequences. 7.2.9
Pi/2 shift BPSK mapper
Figure 10 specifies the configuration of the Pi/2 shift BPSK mapper. The Pi/2 shift BPSK mapper converts an input binary sequence to a complex output sequence.
Figure 10 — Pi/2 shift BPSK mapper Figure 11 illustrates the concept of Pi/2 shift BPSK modulation. Pi/2 shift BPSK expects the modulation axis for BPSK modulation to rotate by 90 degrees for each consecutive symbol. This implementation rotates the phase by 90 degrees for each new bit or chip from the scrambler. For each 4 chips, the modulation axis is rotated by a complete 360 degree cycle.
Qch
Qch
Qch
Qch
-
+ -
+ Ich
Ich
+
- Ich
-
Ich
+
Figure 11 — Concept of Pi/2 shift BPSK Table 11 specifies the input and output relationship of the Pi/2 shift BPSK mapper. The variable “n” represents a chip number. It can be seen that the values in the "n mod 4" column correspond to a unique phase rotator value. Input signal SSC(tn) indicates the scrambler binary output at time tn = n*Tc. The function (2* SSC(tn)-1) in the Output of Table 11 specifies the binary (0,1) to real (-1,1) transformation. After the binary value is converted to a real value, the output sequence SPI(x) is multiplied by the rotator value +1, +j, -1, or -j.
12
© Ecma International 2011
Table 11 — Input and output relation of Pi/2 shift BPSK mapper n mod 4
Rotator
Input:SSC(t)
Output:SPI(x)
0
1
SSC(t0)
(2*SSC(t0)-1)
1
j
SSC(t1)
j * (2*SSC(t1)-1)
2
-1
SSC(t2)
- (2*SSC(t2)-1)
3
-j
SSC(t3)
- j * (2*SSC(t3)-1)
7.2.10 Mathematical framework of the Up Converter and the Baseband Waveform Generator
STX (t ) = Re(SBB (t ) ⋅ exp( j 2πFct ))
(3)
N chip −1
S BB (t ) = S BW (t ) ⊗ ∑ S PI (t − n ⋅ Tc )
(4)
n =0
Equation (3) specifies the Up Converter. Equation (4) specifies the Baseband Waveform Generator. In Equation (3), SBB(t) represents the transmission baseband sequence, which is illustrated in (Figure 13). Fc is the centre frequency, and Re(x) an operation that calculates the real part of a complex number. In Equation (4), SBW(t) represents the transmission baseband waveform, SPI(t) a complex number delta function, Nchip the number of transmit chips in the packet, and ⊗ convolution. Note that SPI(t) has weight +1, +j, -1, or –j depending on the Pi/2 shift BPSK modulation. 7.2.11 Baseband waveform Figure 12 specifies a transmission baseband waveform SBW(t) using discrete values. In Figure 12, one cycle of the waveform is represented by 8 samples, with the normalized sample numbers shown along the horizontal axis. A cycle of the waveform is 1/Rs (Rs = 280 Msps), which is the reciprocal number of the symbol rate. Table 12 specifies the amplitude values that appear in Figure 12.
© Ecma International 2011
13
Baseband waveform SBW(t)
12 11 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -1
1/Rs
0
1
2
3
4
5
6
7
8
9
Normalized Sample point : step=1/(8Rs) Figure 12 — Baseband waveform SBW(t) Table 12 — Numerical definition of baseband waveform Normalized Sample point : step=1/(8Rs)
Amplitude value
0
-1
1
-1
2
1
3
5
4
8
5
8
6
6
7
2
Figure 13 illustrates the transmission baseband sequence SBB(t). The solid line means the real part of SBB(t), and the dashed line is the imaginary part. The imaginary part is delayed with half of symbol duration (1/2Rs) relative to the real part. The real part and imaginary part appear alternately in the complex envelope and the duration between a real pulse and an imaginary pulse is defined as the chip duration. So the mathematical relationship between chip and symbol duration becomes 1/RS = 2*1/RC. In the Pi/2 shift modulation scheme, the modulation axis rotates Pi/2 from chip to chip in the Tx sequence. This means that the modulation axis changes I and Q alternately in chip duration. Illustrated along the horizontal axis in Figure 13 are sample numbers, with one sample being 1/(8Rs).
14
© Ecma International 2011
10
Amplitude
5
0
-5
-10 0
8
16 24 32 40 48 56 64 Normalize sample point : step = 1/(8Rs)
Figure 13 — Tx baseband sequence SBB(t)
7.3 Frame format 7.3.1
PPDU format
Figure 14 specifies how CPDUs are encoded to form PPDUs. This figure expresses the case of 2 CSDU segments in the CPDU. The PHY shall divide each PSDU into 224-byte message blocks and shall add RS (Reed-Solomon) parity after each 224-byte block. The size of the last message block will be 1 to 224 bytes as specified in Figure 14. RS parity of the last message block is calculated by expanding the message size to 224 bytes with zero padding. When encoding the zero padded message block, the zero pad bytes shall be encoded first. The added zeros of the last block are not transmitted and will be recovered at the receiver. The added zeros are also not transferred to the next stage of processing For all rates except Rate 522, all bits output from the RS encoder, followed by 4 zero value tail bits, shall be input to the Convolutional encoder. The output length of the Convolutional encoder will be doubled due to the R = 1/2 Convolutional code.
Finally, the transmitter adds spreading, scrambling, and Pi/2 BPSK mapping to form the Transmit packet payload. This payload is combined with the Preamble, Sync word, and PHY Header to complete the Transmit packet (PPDU).
© Ecma International 2011
15
CPDU
Common Sub CNL Header CNL Header
Payload
FCS
Sub CNL Header
Payload
FCS
This frame shows 2-CSDU segment case.
PHY-SAP PSDU
224byte
Reed-Solomon (240, 224) Encoded
224byte
224byte
224byte
・・・・・・・・・・・
16 16 16 224byte 224byte byte byte byte RS Parity RS Parity RS Parity
・・・・・・・・・・・
1 to 224byte
1 to 224byte
16 byte
x bits
Convolutional Encoder Input 2x bits
Convolutional Encoded
4 bits Tail bits
Coding rate = 1/2, Constraint length = 3 Rate522 : No Convolutional Encoding and No zero pad bits
Spread, Scrambled And Modulated
PPDU
Spreading factor = 1,2,4,8
Preamble (4080 chips) 7.28usec
Sync (128 chip)
PHY Header (1664 chip)
Payload
0.23usec
2.97usec
0.74usec ~ 2018.4usec
Figure 14 — CPDU encoding process and PPDU format
7.3.2
PHY Header format
Figure 15 specifies the format of the PHY Header. This PHY Header includes 5 fields. Table 13 specifies the details of the PHY Header.
16
© Ecma International 2011
Table 13 — PHY Header format description Field Name
Size
Value
Description
Ver.
4 bit
0x1 In0 [7:4]
Frame Format Version
Rate
4 bit
0x1-0x5 In0[3:0]
Connection Layer Frame Rate 0x0: Reserved 0x1: Rate 32 0x2: Rate 65 0x3: Rate 130 0x4: Rate 261 0x5: Rate 522 0x6-0xF:Reserved
Reserved
8 bit
0x00 In1[7:0]
Length
16 bit
In2[7:0] In3[7:0]
HCS
16 bit
q4[15:0]
Reserved
and Length after Reed-Solomon encoding [Byte] 16 bit ECS that is calculated over the Version, Rate, Reserved, and Length fields of the PHY Header.
4 zero value tail bits, shall be added to the end of the PHY Header before the Convolutional encoder.
Figure 15 — PHY Header format
© Ecma International 2011
17
7.4 Transmitter 7.4.1
Measurement points
The transmit frequency, transmit symbol rate, and transmit constellation error shall be measured at the output of the transmitter unit (excluding cabling and coupler). 7.4.2
Transmit frequency
The tolerance of Fc is ± 50 x 10-6. 7.4.3
Transmit clock rate requirement
Fc, Rc and Rs shall retain the relationship of Fc=8Rc=16Rs. 7.4.4
Transmit Constellation Error (EVM)
-20dB or less (including the impulse response of the root raised cosine filter α=0.78 used by the measurement equipment).
8
Receiver
8.1 Measurement point The reference sensitivity and the blocking level shall be measured at the input to the receiver (excluding cabling and coupler).
8.2 Reference sensitivity Table 14 specifies the reference sensitivity for each rate setting. Reference sensitivity is defined as follows: Packet Error Rate (PER) shall be less than 1% at each reference sensitivity point. CSDU size for the PER measurement is 1024 [bytes]. Table 14 — Reference sensitivity point Rate Setting
Sensitivity[dBm]
Rate 522
-59
Rate 261
-65
Rate 130
-68
Rate 65
-71
Rate 32
-71
8.3 Blocking Table 15 specifies the blocking levels when the desired signal input level is (Reference sensitivity + 3[dB]) for the data rate in use. The blocking signal is a non-modulated single carrier in each band. The Packet Error Rate (PER) shall be less than 1% at the blocking level point.
18
© Ecma International 2011
Table 15 — Blocking level
9
Band
Blocking Level [dBm]
< 2,5 [GHz]
-10
2,5 – 3,8 [GHz]
-15
5,15 – 5,985 [GHz]
-15
Electric Induction Field
The PHY layer shall use an electric induction field for transmitting and receiving data. This differs from a conventional radio that uses an electromagnetic radiation field. Figure 16 illustrates the ideal electric dipole. Equation (5) illustrates the electric and magnetic field components in each direction generated by this electric dipole. The component proportional to 1/R3 is the “quasi-static” field, which exists only on the surface of an antenna and is negligible compared to other fields. The component proportional to 1/R2 is the “induction field”. The component proportional to 1/R is the “radiation field” which is used in conventional radio systems. For this close proximity electric induction wireless communications standard, the PHY shall use the induction field component of ER. This is the longitudinal wave of the electric induction field. The longitudinal wave has by nature no polarization effect compared with the transverse wave in Eθ and HΦ.
z ω : angular frequency
ER
I = jωQ : Infinitesimal uniform current p = Ql
θ
: electric dipole moment
Eθ
R = x 2 + y 2 + z 2 : distance from the electric dipole
Q
l
R
I −Q
x
ϕ
y
Figure 16 — Electric dipole and field coordinates
© Ecma International 2011
19
Utilized by this standard
pe− jkR ⎛ 1 jk ⎞ E = ⎜ + ⎟ cosθ R 2πε ⎝ R3 R2 ⎠
Longitudinal wave
pe− jkR ⎛ 1 jk k2 ⎞ ⎜ + − ⎟ sinθ E = θ 4πε ⎜⎝ R3 R2 R ⎟⎠
Transverse wave
jωpe− jkR ⎛ H = ⎜ φ 4π ⎝ Quasi-static field Induction field Radiation field
ε : permittivity μ
: permeability
k = ω με
: wave number
1 jk ⎞ + ⎟ sinθ R2 R ⎠
p
: electric dipole moment
R
: distance from the electric dipole
Utilized by conventional wireless systems
(5)
10 CNL service definition 10.1 Overview of CNL services 10.1.1 Connection control service The CNL supports the establishment and release of connections. The CNL supports at most one point-to-point connection at any given time. 10.1.2 Data service CNL service data units (CSDUs) provide a data transfer service using the PHY. This data transfer service realizes data transfer to/from a peer CNL. The CNL shall guarantee both the CSDU integrity and ordering. 10.1.3 Security service No service is provided with relation to confidentiality or authentication.
10.2 CNL service access point This clause specifies the CNL services provided to the CNL User. Primitives and the details of these primitives are provided in this Standard to illustrate an example of how to access the CNL services. The general flow is illustrated in Figure 17 below.
20
© Ecma International 2011
A CNL User
B CNL
PHY
PHY
CNL
CNL User
Service.request Request Transaction Service.indication
Service.response Response Transaction Service.confirmation
Figure 17 — CNL primitives between the CNL User and the CNL Not all Services utilize every primitive type. The details of reference MSCs Request Transaction and Response Transaction depend on the specific Service. See Annex F and G. The CNL User uses the services provided by CNL through the CNL SAP. The CNL services and parameters are specified in Table 16. The table also illustrates how each service is accessed by the example service primitives.
© Ecma International 2011
21
Table 16 — List of CNL services and parameters Services
Primitive Type (informative) Request
CNL_INIT
10.2.1.1
CNL_CLOSE
10.2.2.1
CNL_CONNECT
10.2.3.1
CNL_CONNECT
CNL_ACCEPT
Indication
Initialization Parameters
[Target UID/ Paging UID], CNL User Parameter Target UID, CNL User Parameter
10.2.3.3
Target UID, CNL User Parameter Target UID, CNL User Parameter Target UID
10.2.3.4
CNL_ACCEPT
10.2.3.5
CNL_ACCEPT
10.2.3.6
CNL_RELEASE CNL_RELEASE
10.2.4.1
CNL_POWERSAVE
10.2.5.1
T_KeepAlive, Dormant period, Awake period Dormant period, Awake period
10.2.5.2
CNL_POWERSAVE
Target UID Reason Code Release Cause Origin, Release Cause Code
10.2.4.2
CNL_POWERSAVE
10.2.5.3
CNL_WAKE CNL_WAKE CNL_WAKE
10.2.5.4
CNL_DATA
10.2.6.1
22
Parameters Confirmation
10.2.3.2
CNL_ACCEPT
CNL_DATA
Response
10.2.5.5 10.2.5.6
10.2.6.2
CSDU Profile ID, Payload Length, Data Payload CSDU Profile ID, Payload Length, Data Payload
© Ecma International 2011
10.2.1 Initialize This service is used to reset the CNL into the Search State. CNL entities shall have access to the parameters specified in Table 17. Table 17 — Initialization parameters Name
Type
Valid range
Description
Own UID
Unique 64 bit ID
Any valid UID
Own entity UID
Max MUX Count
Integer
0x01, 0x02
Other values prohibited
LiCC Version
Integer
0x01
Other values prohibited
10.2.1.1
CNL_INIT.request
This primitive issues a request to initialize the CNL. The semantics of this primitive is as follows: CNL_INIT.request( Initialization Parameters ) 10.2.2 Close This service is used to close the CNL. 10.2.2.1
CNL_CLOSE.request
This primitive issues a request to close the CNL. The semantics of this primitive is as follows: CNL_CLOSE.request( ) 10.2.3 Connect and accept This service supports the target entity connect and accept process. CNL entities shall have access to the parameters specified in Table 18. Table 18 — Connect and accept parameters Name Target UID CNL User Parameter
© Ecma International 2011
Type Unique 64 bit ID
Valid range Any valid UID
Description Connection target entity UID. CNL User Specified Parameter
23
10.2.3.1
CNL_CONNECT.request
This primitive is used to request a connection with a Target Entity. The semantics of this primitive is as follows. CNL_CONNECT.request( [Target UID/Paging UID] CNL User Parameter ) 10.2.3.2
CNL_CONNECT.indication
This primitive is used to indicate a received C-Req. The semantics of this primitive is as follows. CNL_CONNECT.indication( Target UID CNL User Parameter ) 10.2.3.3
CNL_ACCEPT.request
This primitive is used to accept a connection with a Target Entity. The semantics of this primitive is as follows. CNL_ACCEPT.request( Target UID CNL User Parameter ) 10.2.3.4
CNL_ACCEPT.indication
This primitive is used to indicate a received C-Acc. The semantics of this primitive is as follows. CNL_ACCEPT.indication( Target UID CNL User Parameter ) 10.2.3.5
CNL_ACCEPT.response
This primitive is used to indicate a response to a CNL_ACCEPT.indication. The semantics of this primitive is as follows. CNL_ACCEPT.response( Target UID ) 10.2.3.6
CNL_ACCEPT.confirmation
This primitive is used to inform the originating CNL User of a successful connection. The semantics of this primitive is as follows. CNL_ACCEPT.confirmation( Target UID )
24
© Ecma International 2011
10.2.4 Connection release This service is used to release the connection with the target entity. CNL entities shall have access to the parameters specified in Table 19. Table 19 — Connection release parameters Name
Type
Valid range
Reason Code
Enumeration
This parameter is available for use by the CNL User
Release Cause Origin
Enumeration CNL, CNL User
Indicates the origin of the connection release event.
Release Cause Code
Enumeration T_Connect Timeout,
Indicates the cause for the connection release to CNL User.
T_Accept Timeout, T_Retry Timeout, Reason Code
Description
If the CNL detects a timeout event, then it indicates T_Connect Timeout, T_Accept Timeout or T_Retry Timeout as a Release Cause Code. If the CNL receives a C-Rls, then it indicates the Reason Code which is specified by the target CNL User as a Release Cause Code.
10.2.4.1
CNL_RELEASE.request
This primitive is used to release a connection. The semantics of this primitive is as follows. CNL_RELEASE.request( Reason Code [to be specified by CNL User] ) This Reason Code is used to indicate the reason to release the connection to the target entity. This Reason Code is transmitted to the target entity by a C-Rls. 10.2.4.2
CNL_RELEASE.indication
This primitive is used to indicate the reception of a C-Rls or a timeout. The semantics of this primitive is as follows. CNL_RELEASE.indication( Release Cause Origin [CNL Origin, CNL User Origin], Release Cause Code [T_Connect Timeout, T_Accept Timeout, T_Retry Timeout, Reason Code (to be specified by target CNL User)] ) In case the release is caused by a timeout event: Release Cause Origin = CNL Origin Release Cause Code = T_Connect Timeout, T_Accept Timeout or T_Retry Timeout
© Ecma International 2011
25
In case the release is caused by a C-Rls: Release Cause Origin = CNL User Origin Release Cause Code = Reason Code (to be specified by target CNL User) 10.2.5 Power save This service is used to enter and exit the power save mode. CNL entities shall have access to the parameters specified in Table 20. Table 20 — Power save parameters Name T_KeepAlive
Type Integer
Valid range Max 1 s
Description This value is used to monitor the idle time of the physical medium while two entities are in a connected state. If the T_KeepAlive timer exceeds this value, then C-Probe is transmitted to confirm the availability of the connection.
Dormant period
Integer
1 to 200
Indicates the dormant periods during the Local Hibernate sub-state. Refer to Table 35.
Awake period
Integer
0 to 255
Indicates the awake periods during the Local Hibernate sub-state. Refer to Table 35.
These parameters impact the timing behaviour as specified in clause 10.5.9.2. 10.2.5.1
CNL_POWERSAVE.request
This primitive is used to change the local Entity to the Local Hibernate sub-state. The semantics of this primitive is as follows. CNL_POWERSAVE.request( T_KeepAlive Dormant period Awake period ) 10.2.5.2
CNL_POWERSAVE.indication
This primitive is used to indicate the reception of a C-Sleep. The semantics of this primitive is as follows. CNL_POWERSAVE.indication( Dormant period Awake period )
26
© Ecma International 2011
10.2.5.3
CNL_POWERSAVE.confirmation
This primitive is used to inform the originating CNL User of a successful C-Sleep transmission. CNL_POWERSAVE.confirmation( ) 10.2.5.4
CNL_WAKE.request
This primitive is used to change the local Entity from the Local Hibernate sub-state to the Connected sub-state. This primitive is also used to change the target to the Connected sub-state. The semantics of this primitive is as follows. CNL_WAKE.request( ) 10.2.5.5
CNL_WAKE.indication
This primitive is used to indicate the reception of a C-Wake. The semantics of this primitive is as follows. CNL_WAKE.indication( )
10.2.5.6
CNL_WAKE.confirmation
This primitive is used to change the local Entity from the Target Sleep sub-state to the Connected sub-state. This primitive is used to inform the originating CNL User of a successful C-Wake transmission. The semantics of this primitive is as follows. CNL_WAKE.confirmation( ) 10.2.6 Data transfer This service is used to transfer user data. CNL entities shall have access to the parameters specified in Table 21. Table 21 — Data transfer parameters Name
Type
Valid range
CSDU Profile ID
Integer
Payload Length
Integer
Specifies the number of bytes of Data Payload.
Data Payload
Octet string
Specifies the data passing the CNL SAP before transmission or after reception.
© Ecma International 2011
0/1
Description These Profile ID values are available for use by the CNL User and therefore out of scope from this specification.
27
10.2.6.1
CNL_DATA.request
This primitive is used to initiate the transfer of user data from one entity CNL to another peer CNL. The semantics of this primitive is as follows. CNL_DATA.request( CSDU Profile ID[0/1] Payload Length Data Payload )
10.2.6.2
CNL_DATA.indication
This primitive is used to inform the CNL User of a successful reception. The semantics of this primitive is: CNL_DATA.Indication( CSDU Profile ID[0/1] Payload Length Data Payload )
10.3 CPDU formats 10.3.1 Conventions Every CNL protocol data unit (CPDU) shall be transmitted to the PHY layer starting from b7 (MSB) of Byte 00 through b0 (LSB), then from b7 (MSB) of Byte 01 through b0 (LSB), and so on as illustrated in Figure 18. Reserved fields should be set to 0 upon transmission. And reserved fields shall be ignored upon reception.
b7
b6
b5
b4
b3
b2
Byte 00
Rx UID[63:56]
Byte 01
Rx UID[55:48]
b1
b0
Rx UID[7:0] Tx UID[63:56] Tx UID[7:0] Rsv.[7:0] MUX[7:0] HCS[31:24]
FCS[7:0]
Figure 18 — Conventions
28
© Ecma International 2011
10.3.2 Acknowledgement (ACK) CPDU The ACK CPDU format is specified in Figure 19 and Table 22 below.
Figure 19 — ACK CPDU
© Ecma International 2011
29
Table 22 — ACK CPDU Header
Field
Description
Common
Rx UID
This field indicates the UID of the destination entity of the CNL frame. A 64-bit UID is used. The value of the Tx UID field of the last received data frame or management frame shall be copied to the Rx UID field of the ACK frame. This field indicates the UID of the source entity of the CNL frame. A 64-bit UID is used. This field shall be set to the sending entity’s Own UID. This field is reserved. This field indicates the number of multiplexing of the Frame Body. This field shall be set to 0. This field holds the 32-bit ECS that is calculated over the 18 bytes from Rx UID to MUX of the common CNL header. Refer to 10.3.2.1 Bit [7]: Sequence Number Synchronization This bit shall be set to 1 only for the ACK response of the first data Frame Body with the Sequence Number Synchronization bit set to 1, and shall be set to 0 in other cases of an ACK response. Refer to 10.4.3.2. Bit [6]: Reserved This bit shall be set to 0. Bit [5]: Frame Body type This bit shall be set to 0 in case of an ACK for data CPDU, and shall be set to 1 in case of an ACK for Management CPDU. Bits [4:2]: Reserved These bits shall be set to 0. Bits [1:0]: Frame type This field shall be set to 2. See Table 23 for more details. This field indicates a sequence number that the CNL uniquely assigns for Frame Body management. Refer to 10.4.3. This field is reserved. This field holds the 32-bit ECS that is calculated over the 4 bytes from Attribute to Rsv of the Sub CNL Header. Refer to 10.3.2.1.
Tx UID
Rsv. MUX
HCS
Sub
Attribute
SeqNum
Rsv. HCS
The Paging UID is 0xFF:FF:FF:FF:FF:FF:FF:FF. Other values for the frame type field are specified in Table 23 as follows.
30
© Ecma International 2011
Table 23 — Frame type field encoding Value
10.3.2.1
Frame type
0
Reserved
1
Data/Management frame
2
Acknowledge frame
3
Reserved
HCS
This field holds the 32-bit ECS. Figure 20 and Equation (6) specify the 32-bit ECS.
Figure 20 - 32-bit ECS generator
32-bit ECS calculation q0[31:0]=0x FF,FF,FF,FF In0[7:0] is the 1st byte in the ECS target field to be sent. “^” denotes the XOR (exclusive OR) operator in Equation (6). qt+1 [31] = qt [23] ^ qt [29] ^ Int [5] ^qt [24] ^ Int [0] ^ qt [30] ^ Int [6]; qt+1 [30] = qt [22] ^ qt [28] ^ Int [4] ^ qt [29] ^ Int [5]; qt+1 [29] = qt [21] ^ qt [27] ^ Int [3] ^ qt [28] ^ Int [4] ^ qt [31] ^ Int [7] ^ qt [25] ^ Int [1]; qt+1 [28] = qt [20] ^ qt [26] ^ Int [2] ^ qt [27] ^ Int [3] ^ qt [30] ^Int [6] ^ qt [24] ^ Int [0]; qt+1 [27] = qt [19] ^ qt [25] ^ Int [1] ^ qt [26] ^ Int [2] ^ qt [29] ^ Int [5]; qt+1 [26] = qt [18] ^ qt [24] ^ Int [0] ^ qt [25] ^ Int [1] ^ qt [28] ^ Int [4]; qt+1 [25] = qt [17] ^ qt [24] ^ Int [0] ^ qt [27] ^ Int [3]; qt+1 [24] = qt [16] ^ qt [26] ^ Int [2];
© Ecma International 2011
31
qt+1 [23] = qt [15] ^ qt [26] ^ Int [2] ^ qt [27] ^ Int [3] ^ qt [31] ^ Int [7]; qt+1 [22] = qt [14] ^ qt [25] ^ Int [1] ^ qt [26] ^ Int [2] ^ qt [30] ^ Int [6]; qt+1 [21] = qt [13] ^ qt [24] ^ Int [0] ^ qt [25] ^ Int [1] ^ qt [29] ^ Int [5]; qt+1 [20] = qt [12] ^ qt [24] ^ Int [0] ^ qt [28] ^ Int [4]; qt+1 [19] = qt [11] ^ qt [27] ^ Int [3]; qt+1 [18] = qt [10] ^ qt [26] ^ Int [2]; qt+1 [17] = qt [9] ^ qt [31] ^ Int [7]; qt+1 [16] = qt [8] ^ qt [30] ^ Int [6] ^ qt [31] ^ Int [7] ^ qt [25] ^ Int [1];
qt+1 [15] = qt [7] ^ qt [27] ^ Int [3] ^ qt [28] ^ Int [4] ^ qt [30] ^ Int [6] ^ qt [31] ^ Int [7]; qt+1 [14] = qt [6] ^ qt [26] ^ Int [2] ^ qt [27] ^ Int [3] ^ qt [29] ^ Int [5] ^ qt [30] ^ Int [6]; qt+1 [13] = qt [5] ^ qt [26] ^ Int [2] ^ qt [28] ^ Int [4] ^ qt [29] ^ Int [5] ^ qt [31] ^ Int [7]; qt+1 [12] = qt [4] ^ qt [27] ^ Int [3] ^ qt [28] ^ Int [4] ^ qt [30] ^ Int [6] ^ qt [31] ^ Int [7]; qt+1 [11] = qt [3] ^ qt [26] ^ Int [2] ^ qt [27] ^ Int [3] ^ qt [29] ^ Int [5] ^ qt [30] ^ Int [6] ^ qt [31] ^ Int [7] ^ qt [25] ^ Int [1]; qt+1 [10] = qt [2] ^ qt [25] ^ Int [1] ^ qt [26] ^ Int [2] ^ qt [28] ^ Int [4] ^ qt [29] ^ Int [5] ^ qt [30] ^ Int [6] ^ qt [24] ^ Int [0]; qt+1 [9] = qt [1] ^ qt [24] ^ Int [0] ^ qt [25] ^ Int [1] ^ qt [27] ^ Int [3] ^ qt [28] ^ Int [4] ^ qt [29] ^ Int [5]; qt+1 [8] = qt [0] ^ qt [24] ^ Int [0] ^ qt [26] ^ Int [2] ^ qt [27] ^ Int [3] ^ qt [28] ^ Int [4];
qt+1 [7] = qt [25] ^ Int [1] ^ qt [31] ^ Int [7]; qt+1 [6] = qt [30] ^ Int [6] ^ qt [24] ^ Int [0] ^ qt [31] ^ Int [7] ^ qt [25] ^ Int [1]; qt+1 [5] = qt [29] ^ Int [5] ^ qt [30] ^ Int [6] ^ qt [24] ^ Int [0] ^ qt [31] ^ Int [7] ^ qt [25] ^ Int [1]; qt+1 [4] = qt [28] ^ Int [4] ^ qt [29] ^ Int [5] ^ qt [30] ^ Int [6] ^ qt [24] ^ Int [0]; qt+1 [3] = qt [27] ^ Int [3] ^ qt [28] ^ Int [4] ^ qt [29] ^ Int [5] ^ qt [31] ^ Int [7] ^ qt [25] ^ Int [1]; qt+1 [2] = qt [26] ^ Int [2] ^ qt [27] ^ Int [3] ^ qt [28] ^ Int [4] ^ qt [30] ^ Int [6] ^ qt [24] ^ Int [0] ^ qt [31] ^ Int [7] ^ qt [25] ^ Int [1]; qt+1 [1] = qt [25] ^ Int [1] ^ qt [26] ^ Int [2] ^ qt [27] ^ Int [3] ^ qt [29] ^ Int [5] ^ qt [30] ^ Int [6] ^ qt [24] ^ Int [0]; qt+1 [0] = qt [24] ^ Int [0] ^ qt [26] ^ Int [2] ^ qt [28] ^ Int [4] ^ qt [29] ^ Int [5] ^ qt [31] ^ Int [7];
(6)
See Annex E for examples of 32-bit ECS data values.
32
© Ecma International 2011
10.3.3 CNL data CPDUs These are the CPDUs used for the CNL data transfer service. A data CPDU shall contain one or two Frame Bodies. Each Frame Body shall contain a single CSDU, or a portion of a CSDU (called a CSDU segment). CSDUs shall be sent in the order received from the CNL User. The Single Data CPDU format is specified in Figure 21.
Common CNL Header
Sub CNL Header
Rx UID
Tx UID
Rsv. 0x00
MUX 0x01
HCS
Attribute
SeqNum
Length
HCS
8Byte
8Byte
1Byte
1Byte
4Byte
1Byte
1Byte
2Byte
4Byte
22Byte
Frame Body (CSDU or CSDU segment)
1
4096Byte
FCS
4Byte
8Byte
ACK type
FBT
Rsv.
Seq Sync
0
0
0
PID
MS
01
Length
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
2 Bits
16 Bits
Frame type
FBT: Frame Body Type PID: CSDU Profile ID MS: More Segment
Figure 21 — Single Data CPDU
The Multi-Data CPDU format is specified in Figure 22. This format uses a blocking mechanism to carry multiple Frame Bodies in a single CPDU. Common CNL Header
Rx UID
Tx UID
8Byte
8Byte
Sub CNL Header (#0)
Sub CNL Header (#1)
Rsv. 0x00
MUX 0x02
HCS
Attribute (#0)
SeqNum (#0)
Length (#0)
HCS (#0)
Frame Body #0 (CSDU or CSDU Segment)
1Byte
1Byte
4Byte
1Byte
1Byte
2Byte
4Byte
1 4096Byte
22Byte
FCS (#0)
Attribute (#1)
SeqNum (#1)
Length (#1)
HCS (#1)
Frame Body #1 (CSDU or CSDU Segment)
FCS (#1)
4Byte
1Byte
1Byte
2Byte
4Byte
1 4096Byte
4Byte
8Byte
8Byte
ACK type
FBT
Rsv.
Seq Sync
0
0
0
PID
MS
01
Length #0
Length #1
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
2 Bits
16 Bits
16 Bits
Frame type
FBT: Frame Body Type PID: CSDU Profile ID MS: More Segment
Figure 22 — Multi-Data CPDU Table 24, Table 25, Table 26, Table 27, and Table 28 specify the header fields in the Data CPDU.
© Ecma International 2011
33
Table 24 —Data CPDU Header Fields Header
Field
Description
Common
Rx UID
This field indicates the UID of the destination entity of the CNL frame. A 64-bit UID is used. This field shall not be set to the Paging UID. This field indicates the UID of the source entity of the CNL frame. A 64-bit UID is used. This field shall be set to the sending entity’s Own UID. This field is reserved. This field indicates the number of multiplexing of the Frame Body. This field shall be set to 1 for Single Data CPDUs and 2 for Multi-Data CPDUs. This field holds the 32-bit ECS that is calculated based on the 18 bytes from Rx UID to MUX of the Common CNL Header. Refer to 10.3.2.1 Bit [7] : Sequence Number Synchronization This bit shall be set to 1 only for the first data Frame Body, and shall be set to 0 in other cases. Refer to 10.4.3.2. Bit [6] : ACK type This field shall be set to 0. See Table 25 for more details. Bit [5] : Frame Body type This field shall be set to 0. Table 26 lists the frame type values and descriptions Bit [4] : Reserved This bit shall be set to 0. Bit [3] : CSDU Profile ID The CSDU Profile ID bit shall be set to 0 if the CSDU includes Profile ID 0. Otherwise this bit shall be set to 1. Bit [2] : More Segment The More Segment bit shall be set to 0 if the current segment is the sole final segment of the current CSDU. Otherwise this bit shall be set to 1. See 10.4.1. Bits [1:0]: Frame type This field shall be set to 1. Table 23 lists the frame type values and descriptions. This field indicates a sequence number that the CNL uniquely assigns for Frame Body management. Refer to 10.4.3. This field indicates the Frame Body length (FCS not included). The unit is the byte. This field holds the 32-bit ECS that is calculated over the 4 bytes from Attribute to Length. Refer to 10.3.2.1.
Tx UID Rsv. MUX
HCS
Sub
Attribute
SeqNum Length HCS
34
© Ecma International 2011
Table 25 — ACK type field encoding Value
ACK type
0
Immediate ACK
1
No ACK
Table 26 — Frame Body type field encoding Value
Frame Body type
0
Data frame (CSDU)
1
Management frame (Link Control message)
Table 27 — CSDU Profile ID CSDU Profile ID value
Description
0
CSDU Profile ID 0
1
CSDU Profile ID 1
Table 28 — More Segment More segment
Description
0
Final segment
1
More segments
10.3.3.1.1 Frame Body field The Frame Body is of variable length (1 to 4096 bytes). The FCS field holds the 32-bit ECS that is calculated over the Frame Body. Refer to 10.3.2.1. 10.3.4 Management CPDUs (Link control message) These CPDUs are used for the connection establishment and release of connection, and other control purposes. The management CPDU format is specified in Figure 23 and Table 29 below. The length of the Frame Body of the management CPDU is fixed to 32 bytes.
© Ecma International 2011
35
Figure 23 — Management CPDU (Link Control Message)
Table 29 — Management CPDU Header
Field
Description
Common
Rx UID
This field indicates the UID of the destination entity. A 64-bit UID is used. Refer to Table 30.
Tx UID
This field indicates the UID of the source entity. A 64-bit UID is used. This field shall be set to the sending entity’s Own UID.
Rsv.
This field is reserved.
MUX
This field indicates the number of multiplexing of the Frame Body. This field shall be set to 1.
HCS
This field holds the 32-bit ECS that is calculated over the 18 bytes from Rx UID to MUX of the Common CNL Header. Refer to 10.3.2.1.
Sub
Attribute
Bit [7] : Reserved Bit [6] : ACK type Refer to Table 25 and Table 30. Bit [5] : Frame Body type This field shall be set to 1. See Table 26 for more details. Bits[4:2] : Reserved This bit shall be set to 0.
36
© Ecma International 2011
Bits [1:0]: Frame type This field shall be set to 1. See Table 23 for more details. SeqNum
This field indicates a sequence number that the CNL uniquely assigns for Frame Body management. Refer to 10.4.3.
Length
This field indicates the Frame Body length (FCS not included). The unit is the byte. This field shall be set to 32.
HCS
This field holds the 32-bit ECS that is calculated using the 4 bytes from Attribute to Length of the Sub CNL Header. Refer to 10.3.2.1.
The relationship between LiCC Type, ACK type and Rx UID is specified below in Table 30. Table 30 — Frame Body contents, ACK type and allowable Rx UID type Frame Body contents
LiCC Type
ACK type value
Allowable Rx UID type
Connection request (C-Req)
0x01
1 (NoACK)
Any UID (including Paging UID)
Connection accept (C-Acc)
0x02
0 (ImACK)
Any UID except the Paging UID
Connection release (C-Rls)
0x03
1 (NoACK)
Any UID except the Paging UID
Connection sleep (C-Sleep)
0x08
0 (ImACK)
Any UID except the Paging UID
C- 0x09
0 (ImACK)
Any UID except the Paging UID
0 (ImACK)
Any UID except the Paging UID
Connection Wake)
wake
(
Connection probe (C-Probe)
0x0A
The Frame Body of the management CPDU is specified in Figure 24 below.
© Ecma International 2011
37
Bit 7
Bit 0
Byte 00
LiCC Version
Byte 01
LiCC
Byte 02
Reserved
Byte 03
Reserved
4 Byte
32 Byte
Byte 04 8 Byte
Own UID Byte 11 Byte 12 LiCC Information
20Byte
Byte 31
Figure 24 — Management Frame Body components The Frame Body of each management CPDU is described below. 10.3.4.1
Connection request Frame Body
The message content of the connection request Frame Body is specified in Table 31 below. Table 31 — Connection request Frame Body components Component name
Value
Description
LiCC Version
0x01
Link control command version
LiCC
0x01
Connection request
Reserved
0x00
Reserved
Reserved
0x00
Reserved
Own UID
Own UID [Byte 04,Bit 7]: Own UID [63] [Byte 04,Bit 6]: Own UID [62] … [Byte 04,Bit 0]: Own UID [56] [Byte 05,Bit 7]: Own UID [55] … [Byte 11,Bit 0]: Own UID [0]
LiCC Information
For CNL User Parameter field. Refer to 10.2.3.1.
38
© Ecma International 2011
10.3.4.2
Connection accept Frame Body
The message content of the connection accept Frame Body is specified Table 32 below. Table 32 — Connection accept Frame Body components Component name
Value
Description
LiCC Version
0x01
Link control command version
LiCC
0x02
Connection accept
Reserved
0x00
Reserved
Reserved
0x00
Reserved
Own UID
Own UID [Byte 04,Bit 7]: Own UID [63] [Byte 04,Bit 6]: Own UID [62] … [Byte 04,Bit 0]: Own UID [56] [Byte 05,Bit 7]: Own UID [55] … [Byte 11,Bit 0]: Own UID [0]
LiCC Information
For CNL User Parameter field. Refer to 10.2.3.3.
10.3.4.3
Connection release Frame Body
The message content of the connection release Frame Body is specified in Table 33 below.
© Ecma International 2011
39
Table 33 — Connection release Frame Body components Component name
Value
Description
LiCC Version
0x01
Link control command version
LiCC
0x03
Connection release
Reserved
0x00
Reserved
Reserved
0x00
Reserved
Own UID
Own UID [Byte 04,Bit 7]: Own UID [63] [Byte 04,Bit 6]: Own UID [62] … [Byte 04,Bit 0]: Own UID [56] [Byte 05,Bit 7]: Own UID [55] … [Byte 11,Bit 0]: Own UID [0]
LiCC Information
For CNL User Reason code field. Refer to 10.2.4.1.
10.3.4.4
Connection sleep Frame Body
The message content of the connection sleep Frame Body is specified in Table 34 and Table 35 below.
40
© Ecma International 2011
Table 34 — Connection sleep Frame Body components Component name
Value
Description
LiCC Version
0x01
Link control command version
LiCC
0x08
Connection sleep
Reserved
0x00
Reserved
Reserved
0x00
Reserved
Own UID
Own UID [Byte 04,Bit 7]: Own UID [63] [Byte 04,Bit 6]: Own UID [62] … [Byte 04,Bit 0]: Own UID [56] [Byte 05,Bit 7]: Own UID [55] … [Byte 11,Bit 0]: Own UID [0]
LiCC Information
Byte 12 to 29 are reserved. Byte 30: Dormant period Byte 31: Awake period
Table 35 — Dormant & awake duration Parameter name
Value
Description
Dormant period
1 to 200
This field indicates the dormant period during the Local Hibernate sub-state. The unit is 5 ms. 0 and 201 to 255 are reserved.
Awake period
0 to 255
This field indicates the awake period during the Local Hibernate sub-state. The unit is 100 µs. 0 is interpreted as 256.
These parameters are processed at the receiver. The hibernation should be made in the range of the following conditions. In actual operation “Awake period” of the Local Hibernate sub-state may be more than the received “Awake period” and the “Dormant period” of the Local Hibernate sub-state may be less than the received “Dormant period”.
© Ecma International 2011
41
10.3.4.5
Connection wake Frame Body
The message content of the connection wake Frame Body is specified in Table 36 below. Table 36 — Connection wake Frame Body contents Component name
Value
Description
LiCC Version
0x01
Link control command version
LiCC
0x09
Connection wake
Reserved
0x00
Reserved
Reserved
0x00
Reserved
Own UID
Own UID [Byte 04,Bit 7]: Own UID [63] [Byte 04,Bit 6]: Own UID [62] … [Byte 04,Bit 0]: Own UID [56] [Byte 05,Bit 7]: Own UID [55] … [Byte 11,Bit 0]: Own UID [0]
LiCC Information
10.3.4.6
Reserved
Connection probe Frame Body
The message content of the connection probe Frame Body is specified in Table 37 below.
42
© Ecma International 2011
Table 37 — Connection probe Frame Body contents Component name
Value
Description
LiCC Version
0x01
Link control command version
LiCC
0x0A
Connection probe
Reserved
0x00
Reserved
Reserved
0x00
Reserved
Own UID
Own UID [Byte 04,Bit 7]: Own UID [63] [Byte 04,Bit 6]: Own UID [62] … [Byte 04,Bit 0]: Own UID [56] [Byte 05,Bit 7]: Own UID [55] … [Byte 11,Bit 0]: Own UID [0]
LiCC Information
Reserved
10.4 CNL function description 10.4.1 Segmenting/Reassembling When the CSDU is larger than 4096 Bytes, the CNL shall perform segmenting and reassembling. In segmenting, the CNL shall map a single CSDU into multiple Frame Bodies. In this case, each Frame Body contains a CSDU segment. A CSDU segment is only a subset of the original CSDU. The CNL shall send these Frame Bodies using Single Data CPDUs or Multi-Data CPDUs. The More Segment field shall be set to 1 if another segment of the current CSDU is to follow. It shall be set to 0 in the final segment of a segmented frame or in a non-segmented frame. Segmenting is performed upon transmission. The process of recombining CSDU segments into CSDUs is called reassembling. The CNL shall perform reassembling before delivering received CSDUs to the CNL User. The maximum size of the CSDU is out of scope of this specification. An example of the segmented CSDU is illustrated in Figure 25.
© Ecma International 2011
43
CSDU
CNL User 0
0 Common CNL Header
Sub CNL Header
4095 4096 Byte
Connection Layer
4095 Frame Body FCS (CSDU Segment)
4096
8191 4096 Byte
Sub CNL Header
Segment 0
4096 8191 Frame Body FCS (CSDU Segment)
n 0 Less than 4096 Byte
8192 m Less than 4096 Byte
Common CNL Header
Sub CNL Header
8192 m Frame Body (CSDU Segment)
Segment 1
0 FCS
Common CNL Header
Sub CNL Header
n Frame Body (CSDU Segment)
FCS
Segment 2
1
1
0
0
More Segment
More Segment
More Segment
More Segment
Figure 25 — Segmenting/Reassembling 10.4.2 Medium state sensing The Sync pattern detection and PHY Header information provided by the PHY layer are used to prevent collisions on the radio medium. If the Sync pattern and/or PHY Header is detected, then the CNL shall judge the medium state busy for the period of that frame indicated by the PHY Header. Otherwise the CNL shall judge the medium state idle. During the medium busy period, any attempt to transmit a signal shall be held. 10.4.3 CNL-Level acknowledgements Positive acknowledgement is used. For details, see below. 10.4.3.1
Recovery procedures and retransmit limits
The CNL defines the two acknowledgement type attributes as specified in Table 38 with relation to data frames and management frames. Error recovery and retransmission by the CNL shall be applicable only to those data frames and management frames to which the ImACK attribute is assigned. Table 38 — Acknowledgement type ACK Type
Description
ImACK
Requires an ACK as a response.
NoACK
Does not require an ACK as response This type is used only for some of the management frames. Refer to Table 30. This type shall not be applied to a data frame.
The entity shall have at most one unacknowledged CPDU outstanding. If an error occurs while a data frame or management frame assigned with the ImACK attribute is exchanged, the entity that transmitted the data frame or management frame shall attempt to recover it from the error by retransmitting the frame. Retransmission in the CNL shall be repeated until the current frame is successfully acknowledged or until T_Resend or T_Retry timers expire for data or management frames respectively.
44
© Ecma International 2011
10.4.3.2
ACK procedure
If a CPDU is received and conditions 1 and 2 are satisfied, an ACK response shall be returned. Condition 1 (Common CNL header part): -
The HCS is correct;
-
the RxUID is the same as the receiving entity’s Own UID; and
-
the TxUID is the same as the Target UID.
Condition 2 (Sub CNL Header part): -
The HCS is correct;
-
the ACK type in the attribute field is the ImACK;
-
the Frame Body type in the attribute field is Data frame or Management frame; and
-
the frame type in the attribute field is Data/Management frame.
ACK SeqNum response for Data frames: The ACK SeqNum shall be the SeqNum of the last Frame Body with correct FCS of a Data frame which was received in sequence. The case of a Multi-Data CPDU received in sequence with no error is illustrated in Figure 26.
A
B Last SeqNum received: #n-1 Multi-Data CPDU [#n,#n+1] ACK [#n+1] [Sequence number]
Figure 26 — ACK frame response for a Multi Data CPDU Figure 27 illustrates several cases of data CPDUs received with incorrect FCS.
© Ecma International 2011
45
Figure 27 — ACK frame response with FCS error After the connection establishment, each transmitting entity shall transmit the first data Frame Body with the Sequence Number Synchronization bit of the Sub CNL Header set to 1. If the first data Frame Body with SeqNum #n is received with a correct FCS, then the ACK shall be returned with SeqNum #n. If the first data Frame Body with SeqNum #n has a failed FCS, then the ACK shall be returned with SeqNum #n-1. In both cases, the Sequence Number Synchronization bit of this ACK shall be set to 1. ACK SeqNum response with FCS error for the Management frame: If the FCS of the received Management frame is not valid, then the SeqNum of the ACK shall be assigned as the SeqNum of the received Management frame decremented by 1. 10.4.3.3
ACK timeout
The entity that transmitted the data frame or management frame shall judge that the transmission of the frame has failed if it does not detect an ACK within a specified time (ACK Timeout, i.e. SIFS + preamble + sync period). The transmitting entity shall process the re-transmission when the preamble cannot be detected within ACK timeout from the end of the frame that transmitted the immediate previous frame. In the case of a data frame, the re-transmission due to ACK Timeout is specified in Figure 28 below.
46
© Ecma International 2011
Figure 28 — Data frame ACK timeout & retransmission In the case of a management frame except C-Acc, the re-transmission due to the ACK timeout is specified in Figure 29 below.
Figure 29 — Management frame (except C-Acc) ACK timeout & retransmission In the case of C-Acc, the re-transmission due to the ACK timeout is specified in Figure 30 below.
Figure 30 — C-Acc ACK timeout & retransmission 10.4.3.4
Sequence number
The sequence number shall be generated by the transmitting entity. Sequence numbers are managed independently based on the combination of the Frame Body type and ACK type as specified in Table 39.
© Ecma International 2011
47
Table 39 — Frame Body type, ACK type and SeqNum generation Frame Body type Data
ACK type
Allowable number
ImACK
0 to 255
SeqNum Generation scheme An incrementing sequence of integers. The next value after 255 is 0.
Management
ImACK
0 to 255
The SeqNum shall be different from the SeqNum in the immediate previous frame that was acknowledged.
NoACK
0 to 255
The SeqNum shall be different from the SeqNum in the immediate previous frame that was transmitted.
The sequence number of the data frame: The receiving entity shall use SeqNum to detect duplicate or out of sequence frames. The sequence number of the management frame: The receiving entity shall use the SeqNum field value to detect duplicate management frames. Discontinuous detection is not applicable to the management frame, because the management frame is completed with one frame. Also the Sequence Number Synchronization bit shall be set to 0 for management frames. 10.4.3.5
Duplicate CPDU detection and recovery
The CNL re-transmission function may cause the receiving entity to receive duplicate frames. Such duplicate frames shall be detected and discarded by the receiving entity. Duplicate frames are detected using sequence numbers uniquely assigned by the CNL. When a frame assigned with the ImACK attribute is received without any errors, the receiving entity shall return an ACK response even if a duplicate frame is detected as illustrated in Figure 31.
A
B Last SeqNum received: #n-2 Single Data CPDU [#n-1] ACK [#n-1] Single Data CPDU [#n] ACK [#n] Single Data CPDU [#n] Duplication detect ACK [#n] [Sequence number]
Figure 31 — Duplicate CPDU detection
48
© Ecma International 2011
10.4.3.6
Discontinuous detection
Discontinuous detection is applicable only to data frames. The receiving entity shall be responsible for detecting the discontinuity of sequence numbers. Frames with discontinuous sequence numbers shall be discarded. If discontinuous sequence number is detected, the release process shall be performed as specified in 10.5.9.1. 10.4.4 Interframe space (IFS) The following three types of IFS are specified: 1. SIFS Short interframe space used for an ACK response. 2. IIFS
Initiator interframe space used when the initiator transmits a frame.
3. RIFS Responder interframe space used when the responder transmits a frame. The initiator is an entity that initiates a C-Req. The responder responds to the C-Req from the initiator. The interframe space parameters are illustrated below in Figure 32 and specified in Table 40.
Figure 32 — Interframe space example
© Ecma International 2011
49
Table 40 — Interframe space Parameter name
Value
Description
SIFS
min: 8,5 / max: 11,5 us
Short interframe space
IIFS
min: 8,5 us
Initiator minimum interframe space
IIFS shall be greater or equal to SIFS RIFS
min: 15,7 us RIFS shall be greater or equal to SIFS+Tbst
Tbst
8 us ± 10%
Responder space
minimum
interframe
Slot time
An entity shall perform medium state sensing as specified in 10.4.2 to check if the state of the medium is idle before sending any frame. 10.4.4.1
Short interframe space (SIFS)
If a data frame or management frame assigned with ImACK attribute is received successfully, an ACK shall be sent only after sensing that the state of the medium remains idle for at least one SIFS period. 10.4.4.2
Initiator interframe space (IIFS)
The initiator shall not transmit a frame until sensing that the state of the medium remains idle for at least one IIFS period. 10.4.4.3
Responder interframe space (RIFS)
The responder shall not transmit a frame until sensing that the state of the medium remains idle for at least one RIFS period. 10.4.4.4
Random backoff time
An entity shall use the random backoff time specified as follows when transmitting the C-Acc. Random backoff time = Random() × Slot time where Random() is an integer between 0 and 6. An entity shall not transmit C-Acc until sensing that the state of the medium remains idle for at least one SIFS period + 2 Slot times + one random backoff time. 10.4.5 Access procedure 10.4.5.1
Basic access condition
A entity shall transmits a frame after it detects that the state of the medium remains idle for a specified duration or longer.
50
© Ecma International 2011
10.4.5.2
Backoff procedure
The backoff procedure shall be performed if the state of the medium is found to be busy immediately before a frame is transmitted as specified in Figure 33.
Figure 33 — Backoff procedure 10.4.5.3
Connection request transmission
The C-Req is a management frame indicating a connection request. The entity requesting a link connection shall transmit this frame at regular intervals unless the state of the radio medium is busy or until it receives the C-Acc. The C-Req transmission shall be stopped when C-Acc is received as illustrated in Figure 34 and specified in Table 41.
Initiator Tx
C-Req interval
C-Req interval
C-Req interval
C-Req
C-Req
C-Req
Stop “C-Req” transmission ACK C-Acc interval
Responder Tx
C-Acc
C-Acc interval C-Acc
S C-Acc S:SIFS
Figure 34 — C-Req transmission Table 41 — C-Req interval and C-Acc interval Parameter name
Value
Description
C-Req interval
100 [us] ±10%
C-Req frame interval
C-Acc interval
ACK Timeout + SIFS + 2*Tbst + Random C-Acc frame interval Backoff Refer to Figure 30 and Figure 32 for more detail.
© Ecma International 2011
51
10.4.6 Multirate support Each frame shall be sent using the rate settings specified in Table 42. Table 42 — Frame type/Frame Body type vs. transfer rate Frame type
Frame Body type
Required transfer rate setting
Acknowledgement
n/a
Rate 32
Data/Management
Data
Rate 522 to Rate 32
Management
Rate 32
10.4.7 UID filter Received frames shall be filtered using the Rx UID and Tx UID fields of the common CNL header. The CNL sends Indications when it receives frames depending on the CNL states and the TX/RX UID field values as specified in Table 43. The CNL Indication is Conditional in some situations. In that case, the CNL filters the UID (meaning it does not send the Indication) if the Tx UID does not meet the filter conditions. The details of the conditions are up to the implementation and are thus out of the scope of this Standard. Table 43 — UID filtering CNL State
Common CNL Header
Common CNL Header Tx UID field value
Rx UID field value Search,
Own UID
Connection Request,
Paging UID
Response Waiting,
CNL Indication to CNL User (Conditional or Unconditional)
Any UID (except Paging Conditional UID) It is possible to give a limitation to Tx UID field value to restrict the target entity.
Accept Waiting Responder Response,
Own UID
Target UID
Unconditional
Initiator Connected, Responder Connected
10.5 CNL state The CNL uses the states specified in Table 44 to manage the connection.
52
© Ecma International 2011
Table 44 — CNL states and corresponding roles State Name
Entity Role
Close
None
Search
Responder
Connection Request
Initiator
Accept Waiting
Responder
Response Waiting
Initiator
Responder Response
Responder
Initiator Connected
Initiator
Responder Connected
Responder
The exclusivity of the CNL_ACCEPT request and CNL_ACCEPT response is arbitrated by the CNL User. 10.5.1 Close state In this state, the CNL is not being activated. When CNL_CLOSE.request is received from the CNL User, the CNL entity shall change to this state. When a CNL_INIT.request is received from the CNL User, the CNL entity shall change to the Search state. 10.5.2 Search state This state is for waiting for the C-Req. When CNL_CONNECT.request is received from the CNL User, the CNL entity shall change to the Connection Request state. When C-Req is received, the CNL entity shall change to the Accept Waiting state after sending a connect indication to the CNL User. When CNL_CLOSE.request is received from the CNL User, the CNL entity shall change to the Close State.
In the Search state, the hibernation procedure may be performed to reduce power consumption.
The hibernation period is composed of a dormant period (Tds) during which it is not possible to receive any frame and an awake period (Tas) during which it is possible to receive the C-Req frame as specified in Figure 35. The Awake period shall be set in consideration of the C-Req interval tolerance and the C-Req frame duration. See Table 47 for the required limits on Tds and Tas.
© Ecma International 2011
53
Awake
Dormant
Awake period (Tas)
Dormant
Awake
Dormant
Dormant period (Tds)
Figure 35 — Dormant & awake period in Search state
10.5.3 Connection request state This state is for requesting a link establishment. In this state, the entity shall transmit the C-Req and wait for the C-Acc. When C-Acc is received from the responder candidate, the CNL entity shall change to the Response Waiting state after sending an accept indication to the CNL User. When C-Req is received in this state, a connect indication shall be sent to the CNL User. After the indication, if CNL_ACCEPT.request is received from the CNL User, the CNL entity shall change to the Responder Response state after stopping the T_Connect timer. Or, after the indication, if CNL_RELEASE.request is received from the CNL User, the CNL shall stop the T_Connect timer, then transmit a C-Rls, and then the CNL entity shall change to the Search state. When the T_Connect timer expires, the CNL entity shall change to the Search state after indicating a released connection to the CNL User. o
The T_Connect timer is used for watching the duration of C-Req transmission. This timer shall start on the attempt to transmit the first C-Req and shall stop when C-Acc is received.
When a C-Rls is received, the CNL shall stop the T_Connect timer, then indicate a released connection to the CNL User, and then the CNL entity shall change to the Search state. 10.5.4 Accept waiting state This state is for waiting for the CNL User response, after receiving the C-Req from the initiator candidate. If the CNL User permits to establish the connection with the initiator candidate (as indicated by a CNL_ACCEPT.request), the CNL entity shall change to the Responder Response state. If the CNL User does not permit to establish the connection with the initiator candidate (as indicated by CNL_RELEASE.request), the CNL entity shall change to the Search state after transmitting the C-Rls. 10.5.5 Response waiting state This state is for waiting for the CNL User accept response, after receiving the C-Acc from the responder candidate. If the CNL User permits to establish the connection with the responder candidate (as indicated by a CNL_ACCEPT.response), the CNL entity shall change to the Initiator Connected state, then start the T_KeepAlive timer from zero, and send an ACK to respond to the corresponding C-Acc. If the CNL User does not permit to establish the connection with the responder candidate (as indicated by CNL_RELEASE.request), the CNL entity shall change to the Search state after transmitting the C-Rls. When the C-Rls from the responder candidate is received, a release indication shall be sent to the CNL User, and then the CNL entity shall change to the Search state.
54
© Ecma International 2011
10.5.6 Responder response state This state is for accepting a link connection. In this state, the entity shall transmit the C-Acc and wait for an ACK response. When an ACK for the C-Acc is received, the CNL shall start the T_KeepAlive timer from zero, then send a confirmation to the CNL User, and then the CNL entity shall change to the Responder Connected state. When the C-Rls is received or T_Accept timer expires, the CNL entity shall change to the Search state after sending a release indication to the CNL User. o
The T_Accept timer is used for watching the duration of a C-Acc transmission. This timer shall start on the attempt to transmit the first C-Acc and shall stop when the ACK for C-Acc is received.
If a data CPDU or a management CPDU(C-Sleep,C-Wake,C-Probe) is received after an ACK timeout of the C-Acc, the CNL entity may send an ACK to respond to the corresponding CPDU. 10.5.7 Initiator connected state When the CNL_RELEASE.request is received from the CNL User, the CNL entity shall change to the Search state after transmitting the C-Rls. When the C-Rls is received or the T_Retry timer expires, the CNL entity shall change to the Search state after sending a connection release indication to the CNL User. •
The T_Retry timer is used for watching the duration of management frame transmissions except C-Req, C-Acc and C-Rls. This timer shall start on the attempt to transmit the first management frame and shall stop when the ACK is received.
When the T_KeepAlive timer expires, the CNL shall start to transmit the C-Probe. If the ACK is received for the C-Probe, the CNL shall restart the T_KeepAlive timer from zero. If C-Probe is received, the CNL shall stop the T_KeepAlive timer, then send an ACK for the C-Probe, and then restart the T_KeepAlive timer from zero. If C-Acc is received, the CNL shall stop the T_KeepAlive timer, then send an ACK for the C-Acc, and then restart the T_KeepAlive timer from zero. 10.5.8 Responder connected state When CNL_RELEASE.request is received from the CNL User, the CNL entity shall change to Search state after transmitting the C-Rls. When the C-Rls is received or the T_Retry timer expires, the CNL entity shall change to the Search state after sending a connection release indication to the CNL User. •
The T_Retry timer is used for watching the duration of management frame transmissions except C-Req, C-Acc and C-Rls. This timer shall start on the attempt to transmit the first management frame and shall stop when the ACK is received.
When the T_KeepAlive timer expires, the CNL shall start to transmit the C-Probe. If the ACK is received for the C-Probe, the CNL shall restart the T_KeepAlive timer from zero. If C-Probe is received, the CNL shall stop the T_KeepAlive timer, then send an ACK for the C-Probe, and then restart the T_KeepAlive timer from zero.
© Ecma International 2011
55
10.5.9 Sub-states within the Initiator connected state or Responder connected state The connected state has the following sub-states. A.
Connected Sub-State
B.
Local Hibernate Sub-State
C.
Target Sleep Sub-State
On entry to the Initiator connected state, the initiator shall enter the connected sub-state. On entry to the Responder connected state, the responder shall enter the connected sub-state. In case of the initiator, the initiator’s Local Hibernate sub-state shows the hibernation of the initiator, and the Target Sleep sub-state shows the hibernation of the responder. In case of the responder, the responder’s Local Hibernate sub-state shows the hibernation of the responder, and the Target Sleep sub-state shows the hibernation of the initiator. 10.5.9.1
Connected sub-state
Data frames shall be exchanged in this sub-state. When CNL_DATA.request is received from the CNL User, the CNL shall transmit data frames after stopping the T_KeepAlive timer. After the ACK is received for each CPDU, the CNL shall start the T_KeepAlive timer from zero. When a data CPDU with a More Segment field = 0 is received from the target, the CNL shall stop the T_KeepAlive timer, then send an ACK to the target, and then send a data indication to the CNL User. After sending the data indication, the CNL shall start the T_KeepAlive timer from zero. When a data CPDU with all More Segment fields = 1 is received from the target, the CNL shall send an ACK to the target after stopping and starting the T_KeepAlive timer from zero. When CNL_POWERSAVE.request is received from the CNL User, the CNL entity shall perform the following steps in sequence: 1. Transmit the C-Sleep and wait to receive an Ack. 2. After receiving the Ack, confirm the CNL_POWERSAVE service to the CNL User and then change to the Local Hibernate sub-state if the CNL entity supports the Power Save service. When the C-Sleep is received from the other entity, the CNL entity shall perform the following steps in sequence: 1. 2. 3. 4. 5.
Stop the T_KeepAlive timer, send an ACK, send an indication to the CNL User (with a CNL_POWERSAVE.Indication for example), start the T_KeepAliver timer from zero, and change to the Target Sleep sub-state.
When T_Resend timer expires, the CNL entity shall change to the Target Sleep sub-state and start to transmit the C-Wake. o
The T_Resend timer is used for watching the duration of data frame transmissions. This timer shall start on the first attempt to transmit each data frame and shall stop when the ACK is received.
When the T_Retry timer expires in this sub-state, the CNL entity shall change to the Search state after sending a connection release indication to the CNL User. If a discontinuous sequence number is detected, or a repeated Sequence Number Synchronization bit is detected,the CNL entity shall transmit the C-Rls followed by changing to the Search state. See 10.4.3.6 for more details on discontinuous sequence number detection. A repeated Sequence Number Synchronization bit
56
© Ecma International 2011
means that a data Frame Body, except the first data Frame Body, has the Sequence Number Synchronization bit of the Sub CNL Header set to 1. 10.5.9.2
Local hibernate sub-state
This sub-state is for performing hibernation while being connected. When the C-Wake is received from the target, the CNL entity shall send an indication to the CNL User, then transmit an ACK, then start the T_KeepAlive timer from zero, and then change to the Connected sub-state. When CNL_DATA.request or CNL_WAKE.request is received, the CNL entity shall change to the Target Sleep sub-state and shall start to transmit a C-Wake. When the T_Retry timer expires in this sub-state, the CNL entity shall change to the Search state. The Local Hibernate Sub-state consists of dormant and awake periods as specified in Figure 36.
Dormant
Awake Awake period (Tac)
Dormant
Awake
Dormant
Dormant period (Tdc)
Figure 36 — Dormant & awake period in Local Hibernate sub-state Refer to 10.3.4.4 for handling of awake period and dormant period in the hibernation. The hibernation period is comprised of a dormant period (Tdc) during which it is not possible to receive any frame and an awake period (Tac) during which it is possible to receive the C-Wake and C-Probe frame. See Table 47 for the required limits on Tdc and Tac. 10.5.9.3
Target sleep sub-state
This state is used when it is assumed that the target entity is hibernating and the local entity is not hibernating. When a C-Sleep is received from the target, the CNL shall stop the T_KeepAlive timer, then send an ACK, then send an indication to the CNL User, and then start the T_KeepAlive timer from zero. When CNL_POWERSAVE.request is received from the CNL User, the CNL entity shall change to the entity’s Local Hibernate sub-state if the CNL supports the Power Save service. When the T_Retry timer expires in this sub-state, the CNL entity shall change to the Search state after sending a connection release indication to the CNL User. When CNL_WAKE.request is received from the CNL User, the CNL shall start to transmit the C-Wake to the target. If an ACK for the C-Wake is received, the CNL shall send a wake confirmation to the CNL User, then start the T_KeepAlive timer from zero, and then the CNL entity shall change to the Connected sub-state. When CNL_DATA.request is received from the CNL User, the CNL shall stop the T_KeepAlive timer, and then start to transmit the C-Wake. If an ACK for the C-Wake is received, the CNL shall send a wake confirmation to the CNL User, then start the T_KeepAlive timer from zero, and then the CNL entity shall change to the Connected sub-state and start to transmit the data.
© Ecma International 2011
57
When the C-Wake is received from the target, the CNL shall send an ACK response, then send an indication to the CNL User, then start the T_KeepAlive timer from zero, and then the CNL entity shall change to the Connected sub-state. 10.5.9.4
Permitted frame types for each state
The following Table 45 and Table 46 specify which frame types are permitted to be transmitted from within each CNL entity state. “X” in the table specifies that transmission of that frame type is permitted. A blank indicates that transmission of that frame type is not permitted. Table 45 — Permitted frame transmissions from within each state C-Req
C-Acc
C-Rls
C-Wake
C-Sleep
C-Probe
ACK
CSDU
Close Search Connection Request
X
X
Accept Waiting
X
Response Waiting
X
Responder Response
X
X
X
Table 46 — Permitted frame transmissions from within each sub-state C-Req
C-Acc
Connected Sub-State
C-Rls
C-Wake
X
Local Hibernate Sub-State Target Sleep Sub-State
X
C-Sleep
C-Probe
ACK
CSDU
X
X
X
X
X
X
X
X
10.6 Numerical parameters Numerical parameters are specified in Table 47.
58
© Ecma International 2011
Table 47 — Numeric parameters Parameter name
Min.
T_Connect
10 s
T_Accept
500 ms
10 s
T_Retry
1,25 s
10 s
T_Resend Tas
200 ms 140 us
Tds Tac Tdc
© Ecma International 2011
Max
1s 100 us 1s
59
60
© Ecma International 2011
Annex A (normative) UID Specification
A.1 UID Composition The 64-bit UID is specified in Figure A.1 (with the exception of the Paging UID).
Specifier ID 20 bits
Reserved 16 bits
Extension Identifier 28 bits
Figure A.1 — Composition of UID Each implemented entity unit shall be assigned a unique UID value.
A.1.1 Specifier ID The Specifier ID identifies the organization that is responsible for the individual implemented entity. All Specifier IDs shall be assigned using the Procedure at http://www.ecmainternational.org/publications/standards/Ecma-399.htm.
A.1.2 Reserved This component shall be set to 0x0000.
A.1.3 Extension Identifier Usage of this component is up to each Specifier, including the allocation methods and policies. The combination of Specifier ID and Extension Identifier shall be unique for each implemented entity unit.
© Ecma International 2011
61
62
© Ecma International 2011
Annex B (informative) Coupler
The antenna used to achieve close proximity electric induction wireless communications is called a “Coupler”. The coupler is optimized to transmit and receive the longitudinal wave ER. The transverse wave should be suppressed. Therefore the coupler is not compatible with a normal microwave transceiver antenna. The measurement method and reference coupler drawings are provided in Annex C and Annex D.
© Ecma International 2011
63
64
© Ecma International 2011
Annex C (informative) Coupler measurement
The following considerations should be observed when measuring a coupler. •
Use a reference coupler in measurement.
•
Let CUT (coupler under test) face a reference coupler.
•
Set z-axis along the line between the centres of the two couplers, then set x/y-axis vertical to z-axis.
•
Fix the position of CUT and define the nearest position of reference coupler from CUT as the origin (0,0,0).
•
Connect CUT and reference coupler to network analyzer.
•
Measure S21 between the two couplers when the reference coupler is at the position as follows.
•
Measurement should be done using 50 ohm impedance.
Reference coupler z x
y
Coupler under test Figure C.1 — Coupler measurement setup The measurement setup is illustrated in Figure C.1. The recommended coupler characteristics are illustrated in Table C.1.
© Ecma International 2011
65
Table C.1 — Recommended coupler characteristics Coupling Conditions Reference Coupler (x,y,z) Positions
(0,0,15), (10,0,10), (-10,0,10), (0,10,10), (0,-10,10) mm
Coupling Strength
S21 (4,48 GHz) > -25 dB
Flatness
Maximum S21 – Minimum S21 from 4,20 GHz to 4,76 GHz < 3 dB Un-coupling Conditions
66
Position of Reference Coupler (x,y,z)
(0,0,100) mm
Coupling Strength
S21 (4,48 GHz) < -40 dB
© Ecma International 2011
Annex D (informative) Reference Coupler
The following items comprise the reference coupler. 1: Coupling Electrode (brass) 2: Printed Wiring Board (PPE: Polyphenyleneether, ε=3.3) 3: Coaxial Connector Figure D.1 specifies the structure of a reference coupler.
(Unit: mm) Figure D.1 — Reference coupler
The pattern for the corresponding printed wiring board is specified in Figure D.2.
© Ecma International 2011
67
Through hole
Connect to the electrode (Unit: mm) Top View
Bottom View Figure D.2 — Printed wiring board pattern
Table D.1 illustrates the typical characteristics based on the measurement method described in Annex C. Table D.1 — Typical coupler characteristics Coupling Condition Positions of Reference Coupler (x,y,z)
(0,0,15), (10,0,10), (-10,0,10), (0,10,10), (0,-10,10) mm
Coupling Strength
S21 (4,48 GHz) = -17 dB
Flatness
Maximum S21 – Minimum S21 from 4,20 GHz to 4,76 GHz = 1 dB Un-coupling Condition
68
Position of Reference Coupler (x,y,z)
(0,0,100) mm
Coupling Strength
S21 (4,48GHz) = -45 dB
© Ecma International 2011
Annex E (informative) Sample Data Sequences
E.1 Reed-Solomon Encoder Table E.1 and Table E.2 illustrate sample values calculated by the Reed-Solomon Encoder. In Table E.1, the input data is a simple counting sequence starting with Byte 00 = 0x00, incremented by one for each subsequent byte, and ending with Byte 223 = 0xDF. In both Table E.1 and Table E.2, the RS Parity Bytes are listed from left to right from higher order to lower order such that the leftmost byte is the highest order byte from the Reed-Solomon encoder and the first parity byte transferred to the next stage of processing. Table E.1 — Reed-Solomon Encoder Sample data for 224 input bytes Input Data 224 bytes
0x00 01 02 03 04 05 06 07 08, …, DA DB DC DD DE DF (Increment data)
RS Parity 16 bytes
0xA1 5D 0E E4 0B 5F 8B AE E4 68 87 AA 1B 97 11 5B
Table E.2 — Reed-Solomon Encoder Sample data for 16 input bytes Input Data 16 bytes
0x00 01 02 03 04 05 06 07 08 09 0A 0B 78 CC CA DC
RS Parity 16 bytes
0xCF C3 47 06 36 82 7B DA FA 47 4E 5C 3E 8F F4 10
E.2 Convolutional Encoder Table E.3, Table E.4 and Table E.5 illustrate sample data for the Convolutional encoder.
© Ecma International 2011
69
Table E.3 — Convolutional Encoder Sample data for Rate 261 t (Tb)
Input Data
Output Data
0
D0
1
1
D1
0
2
D2
1
3
D3
1
4
D4
0
5
D5
0
6
D6
1
7
D7
1
…
…
…
aG00 aG10 bG00 bG10 aG01 aG11 bG01 bG11 aG02 aG12 bG02 bG12 aG03 aG13 bG03 bG13 …
1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 …
Table E.4 — Convolutional Encoder Sample data for Rate 130 to Rate 32 and Phy Header t (Tb)
Input Data
Output Data
0
D0
1
1
D1
0
2
D2
1
3
D3
1
4
D4
0
5
D5
0
6
D6
1
7
D7
1
…
…
…
G00 G10 G01 G11 G02 G12 G03 G13 G04 G14 G05 G15 G06 G16 G07 G17 …
1 1 1 0 0 0 0 1 0 1 1 1 1 1 0 1 …
Table E.5 — Convolutional Encoder Sample data for Phy Header
70
Input Data(hex)
{Ver=0x1, Rate=0x2, Reserved=0x00, Length=0x00 52, HCS=0xB5 22, Tail bits=0x0} = { 0x12 00 00 52 B5 22 0}
Output Data(hex)
0x03 BE C0 00 00 00 38 BE 21 48 BE CE C0
© Ecma International 2011
E.3 PHY Header HCS Table E.6 illustrates sample values for the 16-bit ECS used for the PHY Header HCS. Table E.6 — PHY Header HCS Sample data Field Name
Ver[3:0]
Rate[3:0] Reserved[7:0] Length[15:0]
HCS[15:0]
Value (hex)
0x1
0x1
0x00
0x0052
0x2003
Value (binary)
0001
0001
0000 0000
0000 0000 0101 0010
0010 0000 0000 0011
E.4 Common CNL Header HCS Table E.7 illustrates sample values for the 32-bit ECS used for the Common CNL Header HCS. Table E.7 — Common CNL Header HCS Sample data Field Name
Rx UID[63:0]
Tx UID[63:0]
Rsv[7:0]
MUX[7:0]
HCS[31:0]
Value (hex)
0x00 01 02 03 04 05 06 07
0x08 09 0A 0B 0C 0D 0E 0F
0x00
0x01
0x4F 82 7F 74
E.5 Sub CNL Header HCS Table E.8 illustrates sample values for the 32-bit ECS used for the Common CNL Header HCS. Table E.8 — Sub CNL Header HCS Sample data Field Name
Attribute[7:0]
SeqNum[7:0]
Length[15:0]
HCS[31:0]
Value (hex)
0x61
0x01
0x00 20
0x7A FA 8D 67
NOTE: Attribute[7:0] = {Reserved, ACK Type, Frame Body type, Reserved, Frame type} = {0,1,1,000,01} (binary).
E.6 Scrambling sequence generator Table E.9 illustrates sample values for the Scrambling sequence generator.
© Ecma International 2011
71
Table E.9 — Scrambling Sequence Generator Sample data
72
chip index
Seed[17:0] = [011A0]
Seed[17:0] = [27BFA]
Seed[17:0] = [3C859]
chip
hex
chip
hex
chip
hex
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1
0
1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1
9
1 1 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 1 1
F
4
6
8
0
B
5
4
D
8
9
6
8
A
E
F
E
9
1
B
5
0
B
6
2
4
C
2
1
6
6
6
E
6
D
B
6
2
B
E
© Ecma International 2011
Table E.9 — Scrambling Sequence Generator Sample data (concluded) chip index
Seed[17:0] = [011A0]
Seed[17:0] = [27BFA]
Seed[17:0] = [3C859]
chip
chip
chip
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
0 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0
© Ecma International 2011
hex
C
4
B
F
1
8
1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0
hex
B
7
6
B
7
A
1 1 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1
hex
F
D
0
2
E
D
73
74
© Ecma International 2011
Annex F (informative) CNL frame exchange sequences
F.1 CNL frame exchange sequences F.1.1 Connection setup procedure Entities set up a link connection by exchanging their respective UIDs by means of the C-Req and C-Acc. The setup procedure begins when the entity (A) requesting a connection transmits the C-Req. The procedure completes when the peer (B) that has received the C-Req from peer A accepts the connection and responds with C-Acc as illustrated in Figure F.1.
Figure F.1 — Connection setup procedure
F.1.2 CSDU exchange procedure CSDUs are transmitted using Data Frame CPDUs. The entity that successfully receives the data frame returns an ACK response as illustrated in Figure F.2.
© Ecma International 2011
75
A
B
Single Data CPDU [#m] Retransmission Single Data CPDU [#m] ACK [#m]
Single Data CPDU [#n] ACK [#n]
Retransmission
Single Data CPDU [#n] Duplication detected
ACK [#n]
[# SeqNum]
Figure F.2 — CSDU exchange procedure
F.1.3 Connection sleep procedure The entity transmits the C-Sleep when it hibernates or when it permits the other entity to go into hibernation. The performing of the hibernation is optional for both entities. Figure F.3 illustrates the case when both entities perform the hibernation. There can be three more cases. 1. Only the Entity A performs hibernation. 2. Only the Entity B performs hibernation. 3. Both Entities do not perform the hibernation.
Figure F.3 — Connection sleep procedure (both entities perform the hibernation)
76
© Ecma International 2011
Figure F.4 — Connection sleep procedure (only the entity A performs the hibernation)
Figure F.5 — Connection sleep procedure (only the entity B performs the hibernation)
Figure F.6 — Connection sleep procedure (both entities do not perform the hibernation)
F.1.4 Connection wakeup procedure The entity cancels hibernation when the C-Wake is received. The entity transmits C-Wake to cancel hibernation of the other entity before transmitting any data frames or management frames assigned with a NoACK attribute as illustrated in Figure F.7.
© Ecma International 2011
77
A
B Awake
Retransmission Retransmission
Management (C-Wake) Management (C-Wake)
Dormant
Management (C-Wake) Goto Connected sub-state ACK
Figure F.7 — Connection wakeup procedure
F.1.5 Connection confirmation procedure This procedure is intended to confirm whether the radio connection is alive. The entity (A) confirming the connection transmits the C-Probe. If the C-Probe is successfully received, the receiving peer (B) returns an ACK response. If Entity A cannot receive an ACK, entity A retransmits the C-Probe. After an ACK response for the C-Probe, Entity B can continue hibernation as illustrated in Figure F.8.
Figure F.8 — Connection confirmation procedure
F.1.6 Connection release procedure An entity requests the other entity to release the connection by transmitting the C-Rls. The entity (A) that transmits the C-Rls discards the target UID that was set when the connection was established and changes to the Search state. The peer (B) that has received the C-Rls discards the target UID and changes to the Search state, as does Entity A as illustrated in Figure F.9.
78
© Ecma International 2011
Figure F.9 — Connection release procedure
© Ecma International 2011
79
80
© Ecma International 2011
Annex G (informative) CNL service operation
G.1 Initialize operation When the CNL User requests CNL_INIT service, the CNL initialises as illustrated in Figure G.1.
CNL User
CNL
PHY
Close CNL_INIT. request (Initialization Parameter) Initialize
Search
Figure G.1 — Initialize operation
G.2 Close operation When the CNL User requests CNL_CLOSE service, the CNL finalises as illustrated in Figure G.2.
CNL User
CNL
PHY
Search CNL_CLOSE. request
Finalise
Close
Figure G.2 — Close operation
© Ecma International 2011
81
G.3 Connect request The procedure for establishing a connection as an initiator is illustrated below.
G.3.1 Connect request operation When the CNL User requests CNL_CONNECT service, the CNL starts transmitting the C-Req as illustrated in Figure G.3.
CNL User
CNL
Search CNL_CONNECT. request (CNL User Parameter) Connection Request C-Req
T_Connect timer
C-Req
Figure G.3 — Connection request operation
G.3.2 Accept receive operation When C-Acc is received from the target, the CNL notifies the CNL User as illustrated in Figure G.4.
CNL User
CNL
Connection Request C-Req T_Connect timer
C-Acc
CNL_ ACCEPT indication(Target UID, CNL User Parameter) Response Waiting
Figure G.4 — Accept receive operation
82
© Ecma International 2011
G.3.3 Accept response operation When the CNL User requests CNL_ACCEPT service, the CNL starts transmitting an ACK to respond to the corresponding C-Acc as illustrated in Figure G.5.
CNL User
CNL Response Waiting
CNL_ ACCEPT.response (Target UID)
Initiator Connected T_KeepAlive timer
C-Acc ACK for C-Acc
Figure G.5 — Accept response operation
G.3.4 Connect release operation When T_Connect timer expires, the CNL notifies the CNL User as illustrated in Figure G.6.
CNL User
CNL
T_Connect timer
Connection Request
Timeout CNL_RELEASE.indication (Release Cause Origin, Release Cause Code)
Search
Figure G.6 — Connection release operation
G.3.5 Accept release operation When the CNL User requests CNL_RELEASE service, the CNL transmits a C-Rls as illustrated in Figure G.7.
© Ecma International 2011
83
CNL User
CNL Response Waiting
CNL_ RELEASE.request (Reason Code)
C-Rls
Search
Figure G.7 — Accept release operation
G.4 Connect accept The procedure that the responder uses to establish a connection is illustrated below.
G.4.1 Request receive operation When the C-Req is received from the initiator, the CNL notifies the CNL User as illustrated in Figure G.8.
CNL User
CNL Search C-Req
CNL_ CONNECT.indication (Target UID, CNL User Parameter)
Accept Waiting
Figure G.8 — Request receive operation
G.4.2 Accept request operation When the CNL User requests CNL_ACCEPT service, the CNL starts transmitting a C-Acc as illustrated in Figure G.9.
84
© Ecma International 2011
CNL User
CNL Accept Waiting
CNL_ACCEPT.request (Target UID, CNL User Parameter)
Responder Response C-Acc
T_Accept timer
C-Acc
Figure G.9 — Accept request operation
G.4.3 Accept acknowledge operation When an ACK for the C-Acc is received from the target, the CNL notifies the CNL User and starts operating as a responder as illustrated in Figure G.10.
CNL User
CNL Responder Response C-Acc T_Accept timer
ACK for C-Acc
CNL_ ACCEPT.confirmation (Target UID)
T_KeepAlive timer Responder Connected
Figure G.10 — Accept acknowledge
G.4.4 Accept release operation When T_Accept timer expires, the CNL notifies the CNL User as illustrated in Figure G.11.
© Ecma International 2011
85
CNL User
CNL T_Accept timer
Responder Response
Timeout CNL_RELEASE.indication (Release Cause Origin, Release Cause Code)
Search
Figure G.11 — Accept release operation
G.4.5 Connect release operation When the CNL User requests a CNL_RELEASE service, the CNL transmits a C-Rls as illustrated in Figure G.12.
CNL User
CNL Accept Waiting
CNL_RELEASE.request
C-Rls
(Reason Code)
Search
Figure G.12 — Connect release operation
G.4.6 Request crossover operation When the C-Req is received during the C-Req transmission, the CNL sends a CNL_CONNECT.indication to notify the CNL User as illustrated in Figure G.13.
86
© Ecma International 2011
CNL User
CNL Connection Request C-Req C-Req
CNL_ CONNECT.indication (Target UID, CNL User Parameter)
Figure G.13 — Request crossover operation
G.4.7 Accept request operation When the CNL User requests CNL_ACCEPT service, the CNL starts transmitting the C-Acc as illustrated in Figure G.14.
CNL User
CNL Connection Request
CNL_ ACCEPT.request (Target UID, CNL User Parameter)
T_Connect timer Responder Response T_Accept timer
C-Acc C-Acc
Figure G.14 — Accept request operation
G.4.8 Accept release operation When the CNL User requests CNL_RELEASE service, the CNL transmits the C-Rls as illustrated in Figure G.15.
© Ecma International 2011
87
CNL User
CNL Connection Request
CNL_ RELEASE.request (Reason Code)
C-Rls
Search
Figure G.15 — Accept release operation
G.5 Release The connection release procedure is ordered from the CNL User or the target.
G.5.1 Release request receive operation When the CNL User requests CNL_RELEASE service, the CNL transmits the C-Rls as illustrated in Figure G.16.
CNL User
CNL Connected
CNL_RELEASE.request (Reason Code)
C-Rls
Search
Figure G.16 — Request receive operation
G.5.2 Release receive operation When the C_Rls is received from the target, the CNL notifies the CNL User as shown in Figure G.17.
88
© Ecma International 2011
CNL User
CNL Connected C-Rls
CNL_RELEASE.indication (Release Cause Origin, Release Cause Code)
Search
Figure G.17 — Release receive operation
G.6 Transfer data The data transfer procedure is illustrated below.
G.6.1 Data send operation When the CNL User requests CNL_DATA service, the CNL starts the data transmission process. Data send operation is performed until an ACK response for the last segmented data frame is received as illustrated in Figure G.18.
© Ecma International 2011
89
CNL User
CNL Connected CNL_DATA.request
(CSDU Profile ID, Payload Length, Data Payload)
T_KeepAlive timer T_Resend timer
DATA CPDU(More Segment=1) ACK for DATA DATA CPDU(More Segment=0)
T_Resend timer
DATA CPDU(More Segment=0) ACK for DATA CPDU T_KeepAlive timer Connected
Figure G.18 — Data send operation
G.6.2 Data receive operation When data is received from the target, the CNL notifies the CNL User. The CNL notifies the CNL User after the last fragmented data frame is received as illustrated in Figure G.19.
90
© Ecma International 2011
CNL User
CNL Connected DATA CPDU(More Segment=1) ACK for DATA CPDU
T_KeepAlive timer
DATA CPDU(More Segment=0) ACK for DATA CPDU CNL_DATA.indication (CSDU Profile ID, Payload Length, Data Payload)
T_KeepAlive timer Connected
Figure G.19 — Data receive operation
G.6.3 Resend timeout operation When the T_Resend timer expires, the CNL starts transmitting the C-Wake as illustrated in Figure G.20.
© Ecma International 2011
91
CNL User
CNL Connected CNL_DATA.request
(CSDU Profile ID, Payload Length, Data Payload)
T_KeepAlive timer T_Resend timer
DATA CPDU
DATA CPDU Timeout Target Sleep T_Retry timer
C-Wake
C-Wake
Figure G.20 — Retry timeout operation
G.6.4 Target wake operation When an ACK response for C-Wake is received, the CNL starts to transmit the data as illustrated in Figure G.21.
92
© Ecma International 2011
CNL User
CNL Target Sleep T_Retry timer
ACK for C-Wake
CNL_WAKE.confirmation T-KeepAlive timer
Connected
T_Resend timer
DATA CPDU
ACK for DATA CPDU T_KeepAlive timer
Figure G.21 — Target wake operation
G.7 Power save The power saving procedure (optional) is illustrated below.
G.7.1 Power save request operation When the CNL User requests CNL_POWERSAVE service, the CNL transmits a C-Sleep as illustrated in Figure G.22.
© Ecma International 2011
93
CNL User
CNL Connected
CNL_POWERSAVE.request (Keep Alive Time, Dormant period, Awake period)
T_KeepAlive timer C-Sleep ACK for C-Sleep T_Retry timer
CNL_POWERSAVE.confirmation Local Hibernate
Figure G.22 — Power save request operation
G.7.2 Sleep receive operation When the C-Sleep is received from the target, after an ACK response, the CNL changes to the Target Sleep sub-state as illustrated in Figure G.23.
CNL User
CNL Connected / Target Sleep T_KeepAlive timer
CNL_POWERSAVE.indication
C-Sleep ACK for C-Sleep
(Dormant period, Awake period)
T_KeepAlive timer Target Sleep
Figure G.23 — Sleep receive operation
94
© Ecma International 2011
G.8 Wakeup Power saving cancellation procedure is illustrated.
G.8.1 Wakeup request operation When the CNL User requests CNL_WAKE service, the CNL transmits a C-Wake to the target as illustrated in Figure G.24.
CNL User
CNL Target Sleep / Local Hibernate CNL_WAKE.request Target Sleep C-Wake
T_Retry timer
C-Wake
Figure G.24 — Wakeup request operation
G.8.2 Wakeup acknowledge operation After an ACK response for the C-Wake is received, the CNL changes to the Connected sub-state as illustrated in Figure G.25.
CNL User
CNL Target Sleep C-Wake T_Retry timer
ACK for C-Wake
CNL_WAKE.confirmation T_KeepAlive timer
Connected
Figure G.25 — Wakeup acknowledge operation
© Ecma International 2011
95
G.8.3 Wakeup receive operation When the C-Wake is received from the target, The CNL changes to the Connected sub-state after transmitting an ACK response for the C-Wake as illustrated in Figure G.26.
CNL User
CNL Target Sleep / Local Hibernate C-Wake ACK for C-Wake
CNL_WAKE.indication T_KeepAlive timer Connected
Figure G.26 — Wakeup receive operation
G.8.4 Data send request operation When the CNL User requests CNL_DATA service while the CNL is in the Target Sleep sub-state, the CNL starts to transmit the C-Wake as illustrated in Figure G.27.
CNL User
CNL Target Sleep CNL_DATA.request
(CSDU Profile ID, Data Payload)
T_KeepAlive timer T_Retry timer C-Wake
C-Wake
Figure G.27 — Data send request operation
G.8.5 Wakeup data send operation After receiving an ACK response for the C-Wake, the CNL shall start transmitting data CPDUs as illustrated in Figure G.28.
96
© Ecma International 2011
CNL User
CNL T_Retry timer Target Sleep C-Wake ACK for C-Wake T_KeepAlive timer Connected T_Resend timer
DATA CPDU
ACK for Data CPDU T_KeepAlive timer
Figure G.28 — Wakeup data send operation
G.8.6 Wakeup timeout operation When T_Retry timer expires, the CNL notifies the CNL User as illustrated in Figure G.29.
CNL User
CNL
T_Retry timer
Target Sleep
Timeout CNL_RELEASE.indication (Release Cause Origin, Release Cause Code)
Search
Figure G.29 — Wakeup timeout operation
G.9 Probe This procedure is intended to confirm whether the connection is alive.
© Ecma International 2011
97
G.9.1 Probe send operation When the T_KeepAlive timer expires, the CNL starts to transmit the C-Probe as illustrated in Figure G.30.
CNL User
CNL Connected / Local Hibernate / Target Sleep
T_KeepAlive timer Timeout T_Retry timer
C-Probe
C-Probe
Figure G.30 — Probe send operation
G.10 Probe ACK receive operation When an ACK response for the C-Probe is received from the target, CNL restarts the T_KeepAlive timer from zero as illustrated in Figure G.31.
CNL User
CNL Connected / Local Hibernate / Target Sleep T_Retry timer C-Probe ACK for C_Probe T_KeepAlive timer
Figure G.31 — Probe ACK receive operation
G.10.1 Probe receive operation When the C-Probe is received from the target, the CNL restarts the T_KeepAlive timer from zero after transmitting the ACK response for the C-Probe as illustrated in Figure G.32.
98
© Ecma International 2011
CNL User
CNL Connected / Local Hibernate / Target Sleep
T_KeepAlive timer
C-Probe ACK for C-Probe
T_KeepAlive timer
Figure G.32 — Probe receive operation
G.10.2 Probe timeout operation When the T_Retry timer expires during the C-Probe transmission, the CNL notifies the CNL User as illustrated in Figure G.33 below.
CNL User
CNL Connected / Local Hibernate / Target Sleep
T_Retry timer
C-Probe
C-Probe Timeout CNL_RELEASE.indication (Release Cause Origin, Release Cause Code)
Search
Figure G.33 — Probe timeout operation
© Ecma International 2011
99
© Ecma International 2011