330 likes | 455 Vues
Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [ Time Slotted, Channel Hopping MAC ] Date Submitted: [ 7 July, 2008 ] Source: [ Chol Su Kang, Kuor Hsin Chang, Rick Enns, Clint Powell ] Companies [ Dust Networks, Freescale ]
E N D
Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Time Slotted, Channel Hopping MAC] Date Submitted: [7 July, 2008] Source: [Chol Su Kang, KuorHsin Chang, Rick Enns, Clint Powell] Companies [Dust Networks, Freescale] Address [30695 Huntwood Avenue, Hayward, CA 94544;890 N. McCarthy Blvd, Suite 120, Milpitas, CA 95035] – Chol Su Kang Voice:[+1 510 400 2900, +1 408 904 2705, +1 650 327 9708] –Chol Su Kang E-Mail:[ckang@dustnetworks.com,Kuor-Hsin.Chang@freescale.com, enns@stanfordalumni.org, clinton.powell@freescale.com Re: [n/a] Abstract: [This document proposes extensions for IEEE802.15.4 MAC] Purpose: [This document is a response to the Call For Proposal, IEEE P802.15-08-373-01-0043] Notice: This document has been prepared to assist the IEEE P802.15. It is offered as a basis for discussion and is not binding on the contributing individual(s) or organization(s). The material in this document is subject to change in form and content after further study. The contributor(s) reserve(s) the right to add, amend or withdraw material contained herein. Release: The contributor acknowledges and accepts that this contribution becomes the property of IEEE and may be made publicly available by P802.15. Chol Su Kang et al.
Time Slotted, Channel Hopping MAC (TSCH) Chol Su Kang - Dust Networks KuorHsin Chang - Freescale Clinton Powell - Freescale Rick Enns - Consultant José A. Gutierrez – Emerson Kris Pister – UC Berkeley/Dust Networks Ludwig Winkel – Siemens July, 2008 Chol Su Kang et al.
Target Applications Industrial and commercial applications with a particular focus on: • Equipment and process monitoring • Non-critical control • Diagnostics/predictive maintenance • Asset management Chol Su Kang et al.
Requirements • Reliability and robustness in the presence of multipath, path obstructions and interference • Industrial and commercial environments • Sustained operation in the presence of non-standards based communications systems • Long operational life for battery powered devices (> 5 years) • Co-existence • Flexible and scale-able • Easy wireless network deployment and maintenance Chol Su Kang et al.
TSCH- Accepted, Proven & Practical • TSCH technology is the basis for the wireless network of two industrial standards • HART Foundation (www.hartcomm2.org): WirelessHART- published 9/07 • ISA (www.isa.org): ISA100 Committee, ISA100.11a working group- in working group draft • TSCH has been implemented by multiple companies on multiple 2.4 GHz IEEE std. 802.15.4 platforms Chol Su Kang et al.
CCA: RX startup, listen, RX->TX Slot Frame Cycle Unallocated Slot Allocated Slot Timeslot Access Tx Transmit Packet: Preamble, SFD, Headers, Payload, CRC RX startup or TX->RX RX ACK Rx RX startup RX packet Verify MIC Calculate ACK MIC Transmit ACK RX/TX turnaround timeslot TX/RX packet TX/RX ACK Devices are configured with a slot frame and timeslots to communicate with each other. Chol Su Kang et al.
Timeslot Basics • All devices in the same network synchronize slot frames • All timeslots are contained within a slot frame cycle • Timeslots repeat in time: the slot frame period • Device-to-device communication within a timeslot includes packet Tx/Rx & ACK Tx/Rx • Configurable option for CCA before transmit in timeslots Chol Su Kang et al.
Timeslot Operation In Devices Devices use timeslots to: • Schedule when they wakeup to transmit or listen • Keep time synchronized • Specification on time difference tolerances • Time synchronization mechanisms • Time the sequence of operations • Allow the source and destination to set their frequency channel • Listening for a packet • Sending a packet • Listening for an AKC • Generating an ACK Chol Su Kang et al.
Link Types • Dedicated Link – assigned to one device for transmission and to one or more devices for reception • A dedicated broadcast link is assigned to all devices for reception • Shared Link – assigned to more than one device for transmission • ACK failures detect collisions • A slot based back-off algorithm resolves collisions Chol Su Kang et al.
Channel Hopping Slot n+2 Slot n Slot n-2 Slot n-1 Slot n+1 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 802.15.4 Channels • Combined with timeslot access to enhance reliability Chol Su Kang et al.
Channel Hopping • Mitigate Channel Impairments • Channel hopping adds frequency diversity to mitigate the effects of interference and multipath fading • Increase Network Capacity • One timeslot can be used by multiple links at the same time Chol Su Kang et al.
D B Link = (Timeslot , Channel Offset) One Slot Time Chan. offset A BA CA DA C BA BC E F BE BF • The two links from B to A are dedicated • D and C share a link for transmitting to A • The shared link does not collide with the dedicated links Chol Su Kang et al.
Channel Hopping Time BA (ch 15) BA (ch25) BA (ch18) CA DA CA DA CA DA Channel Offset BA BA BA BC BC BC BE BF BE BF BE BF ASN= N*4 N*4+1 N*4+2 N*4+3 (N+1)*4 CycleN+2 Cycle N+1 Cycle N • Each link rotates through k available channels over k cycles. • Ch # = Chan Hopping Seq. Table ( ( ASN + Channel Offset) % Number_of_Channels ) • Blacklisting can be defined globally and locally. Chol Su Kang et al.
Timeslot Timing Offsets T1 T2 T4 T3 RX ACK Transmitter prepare to receive CCA TX Packet TsRxAckDelay TsCCAOffset AWT TsTxOffset process packet, prepare to ack RX Packet TX ACK Receiver prepare to receive TsRxOffset PWT TsTxAckDelay R1 R2 R3 End of timeslot Start of timeslot = transmitting packet Timeslot with Acknowledged Transmission = receiver on = receiving packet PWT = TsPacketWaitTime AWT = TsAckWaitTime Chol Su Kang et al.
Timeslot Timing Offsets (Cont’d) T1 T2 T4 T3 Idle receive Transmitter prepare to receive CCA TX Packet TsRxAckDelay TsCCAOffset AWT TsTxOffset RX Packet Receiver prepare to receive process packet, decide not to ack TsRxOffset PWT R1 R2 End of timeslot Start of timeslot = transmitting packet = receiver on Timeslot with Unacknowledged Transmission = receiving packet PWT = TsPacketWaitTime AWT = TsAckWaitTime Chol Su Kang et al.
Timeslot Timing Offsets (Cont’d) T1 T2 Transmitter no ack expected CCA TX Packet TsCCAOffset TsTxOffset RX Packet Receiver process packet, decide not to ack prepare to receive TsRxOffset PWT R1 R2 End of timeslot Start of timeslot = transmitting packet = receiver on Timeslot with Unacknowledged Broadcast = receiving packet PWT = TsPacketWaitTime AWT = TsAckWaitTime Chol Su Kang et al.
Timeslot Timing Offsets (Cont’d) Transmitter idle Receiver prepare to receive idle Idle rx TsRxOffset PWT R1 R2 End of timeslot Start of timeslot Timeslot with Idle Receive = receiver on PWT = TsPacketWaitTime Chol Su Kang et al.
TCCA TCCA TCCA TCCA Transmit Packet: Preamble, SFD, Headers, Payload, FCS TProcessing TACK Transmit Packet: Preamble, SFD, Headers, Payload, FCS TProcessing TACK Transmit Packet: Preamble, SFD, Headers, Payload, FCS TProcessing TACK Time Synchronization Tg Tg Tg Tg Early Transmit Packet: Preamble, SFD, Headers, Payload, FCS Perfect Late Tcomm = TTXPacket+TProcessing+TACK Timeslot Period TProcessing includes the processing of FCS and MIC validation as well as FCS and MIC generation for ACK. It’s the time from the last bit of the packet to the first bit of the preamble of the ACK. Chol Su Kang et al.
Time Synchronization (Cont’d) Chol Su Kang et al.
Time Synchronization • Acknowledgement-based Synchronization • Transmitter node sends a packet, timing at the start symbol. • Receiver timestamps the actual timing of the reception of start symbol • Receiver calculates TimeAdj = Expected Timing – Actual measured Timing • Receiver informs the sender TimeAdj • Transmitter adjusts its clock by TimeAdj Chol Su Kang et al.
Time Synchronization (Cont’d) • Received Packet-based Synchronization • Receiver timestamps the actual timing of the reception of start symbol • Receiver calculates TimeAdj = TimeExpected (expected arrival time) – Actual timing • Receiver adjusts its own clock by TimeAdj • A node can be synchronized to more than one parent (i.e. timing reference nodes) Chol Su Kang et al.
Network Build Up Sequence Example A D C B In this example, A is PAN Coordinator. B and D are FFD. C is RFD. A Initializes slot-frame as configured in DB Initializes Search for Network Initializes Search for Network ASN B This example uses six Channels 8 slots in slot-frame. D Advertise Advertise 0 Join Req 1 C Slot Frame Time Slots AALL A RX Channel Offset 4 5 6 7 ASN=0 1 2 3 Chol Su Kang et al.
Network Build Up Seq. Example Cont’d A D C B A Initializes slot-frames as configured in DB Initializes Search for Network Initializes Search for Network ASN B D Advertise Advertise 0 Join Req 1 Join Rsp Set-Link(ts=4,chO=2, BA) 8 C 16 Set-Link(ts=2,chO=0, Adv; Rx=3,1) Slot Frame 24 Time Slots Click to Continue AALL BALL A RX B RX BA Channel Offset 12 13 14 15 ASN=8 9 10 11 20 21 22 23 ASN=16 17 18 19 28 29 30 31 ASN=24 25 26 27 Chol Su Kang et al.
Network Build Up Seq. Example Cont’d A D C B A Initializes slot-frames as configured in DB Initializes Search for Network Initializes Search for Network ASN B Advertise Advertise D 0 Join Req 1 Join Rsp 8 Set-Link(ts=4,chO=2, BA) C 16 Initializes Search for Network Set-Link(ts=2,chO=0, Adv; Rx=3,1) 24 Slot Frame Advertise Advertise Time Slots 32 Join Req 33 AALL DALL BALL Join Rsp 40 DA D RX B RX A RX Set-Link(ts=1,chO=1, DA) 48 Set-Link(ts=6,chO=0, Adv; Rx=7,1) BA 56 Channel Offset Click to Continue 36 37 38 39 ASN=32 33 34 35 44 45 46 47 ASN=40 41 42 43 ASN=48 49 50 51 52 53 54 55 ASN=56 57 58 59 60 61 62 63 Chol Su Kang et al.
Network Build Up Seq. Example Cont’d A D C B Initializes slot-frames as configured in DB A Initializes Search for Network Initializes Search for Network ASN Advertise B Advertise 0 D Join Req 1 Join Rsp 8 Set-Link(ts=4,chO=2, BA) 16 Initializes Search for Network C Set-Link(ts=2,chO=0, Adv; Rx=3,1) 24 Slot Frame Advertise Advertise 32 Time Slots Join Req 33 BALL Join Rsp AALL BC DALL BALL 40 Set-Link(ts=5,chO=1, DA) D RX DA A RX B RX 48 Set-Link(ts=6,chO=0, Adv; Rx=7,1) 56 BA CB Channel Offset Advertise Advertise Advertise 66 Join Req 67 Join Req 68 Join Rsp 72 Join Rsp Set-Link(ts=5,chO=2, CB) 74 80 Set-Link(ts=5,chO=2, CB) 82 68 69 70 71 ASN=64 65 66 67 ASN=72 73 74 75 76 77 78 79 Click to Continue ASN=80 81 82 83 84 85 86 87 Chol Su Kang et al.
Network Build Up Seq. Example Cont’d A D C B A Initializes slot-frames as configured in DB Initializes Search for Network Initializes Search for Network ASN Advertise B Advertise D 0 Join Req 1 Join Rsp 8 Set-Link(ts=4,chO=2, BA) 16 Initializes Search for Network Set-Link(ts=2,chO=0, Adv; Rx=3,1) C C 24 Advertise Advertise 32 Join Req Slot Frame 33 Join Rsp Time Slots 40 Set-Link(ts=5,chO=1, DA) BALL CD AALL BC DALL 48 BALL Set-Link(ts=6,chO=0, Adv; Rx=7,1) 56 D RX DA A RX B RX Advertise Advertise Advertise 66 Join Req BA CB Channel Offset 67 Join Req 68 Join Rsp 72 Join Rsp Set-Link(ts=5,chO=2, CB) 74 80 Set-Link(ts=5,chO=2, CB) 82 Advertise Advertise Advertise 86 Join Req 108 109 110 111 87 ASN=104 105 106 107 Join Req 93 Join Rsp 96 Join Rsp 102 Set-Link(ts=4,chO=0, CD) Set-Link(ts=4,chO=0, CD) 104 110 Click to Continue Chol Su Kang et al.
Network Build Up Seq. Example Cont’d A D C B . . . A ASN . . . Advertise Advertise B 32 D Join Req 33 Join Rsp 40 Set-Link(ts=5,chO=1, DA) 48 Set-Link(ts=6,chO=0, Adv; Rx=7,1) 56 Advertise C Advertise Advertise 66 Join Req 67 Join Req 68 Slot Frame Join Rsp 72 Join Rsp Set-Link(ts=5,chO=2, CB) Time Slot 74 80 BALL CD AALL BC DALL Set-Link(ts=5,chO=2, CB) BALL 82 Advertise Advertise D RX DA A RX B RX Advertise 86 Join Req 87 BA CB Join Req Channel Offset 93 Join Rsp DB 96 Join Rsp Set-Link(ts=4,chO=0, CD) 102 Set-Link(ts=4,chO=0, CD) 104 110 Advertise Advertise Advertise 114 Join Req 115 ASN=128 129 130 131 132 133 134 135 Join Req 116 Join Rsp Join Rsp 120 Set-Link(ts=1,chO=3, DB) 122 Set-Link(ts=1,chO=3, DB) 130 132 Chol Su Kang et al.
Non-conflicting Timeslot assignment • Devices with multiple radios can be given one or more offsets. • Devices can be given one or more slots in a particular slot-frame. • Devices with multiple radios can be given a block of (slot,offset)s slot Chan. offset Chol Su Kang et al.
Non-conflicting timeslot assignment • Multiple slot-frames with different lengths can operate at the same time. • 4 cycles of the 250ms slot-frame are shown, along with a 1000ms slot frame • There are never collisions if the 1000ms slot frame uses only the empty slots of the 250 ms slot frame 250ms 250ms 250ms 250ms 1,000ms Chol Su Kang et al.
Example of TSCH Capability • Data collection • 100 pkt/s per access point channel using 10 ms slots* • 1600 pkt/s (16*100) network capacity with no spatial reuse of frequency • 105 MPDU bytes per packet assuming 22 bytes of MAC header, MIC-32, FCS (worst case header size) • Throughput • 84kbps MPDU per access point • 16 * 84k = 1.344 Mbps combined payload throughput w/ no spatial reuse of frequency • Latency • 10ms / PDR (Packet Delivery Rate) per hop: best case • Statistical, but well modeled * 10 ms slots are an example – the standard can define a range of slot sizes that can be selected for use Chol Su Kang et al.
Built-In Flexibility • Trade performance and power • Sample & reporting rate • Latency • Reliability • Throughput • High bandwidth connections • Tradeoffs can vary with • Time • Location • Events • Use power intelligently if you’ve got it • Highest performance with powered infrastructure Chol Su Kang et al.
Added MAC PAN Service Primitives Chol Su Kang et al.
TSCH Summary • Proven technology- aligns with several industrial wireless standards • Meets the requirement for commercial and industrial monitor and process control applications • Extends the capabilities of the existing IEEE 802.15.4-2006 MAC Chol Su Kang et al.