802.15.4 Firmware - IEEE Cincinnati Section

Download Report

Transcript 802.15.4 Firmware - IEEE Cincinnati Section

You can do more with the IEEE
802.15.4 wireless standard then
blink a LED or control a light
By Eric Gregori
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
RF details
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
The 802.15.4 / Zigbee sandbox
Faster
Wireless Video
Applications
UWB
Wireless Data
Applications
Peak Data Rate
802.11g
802.11a
IrDA
WiFi
802.11b
2.5G/3G
HomeRF
Bluetooth
ISM Link
ZigBee
Slower
802.15.4
Range
Closer
Slide 3
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Farther
Wireless Technologies Compared
Common Name
"Zigbee"
Bluetooth
WiFi
UWB
IEEE standard
802.15.4
802.15.1
802.11
802.15.3
Max Data Rate
250Kbps
750Kbps
54Mbps
1000+ Mbps
TX power
30+ ma
40+ ma
400+ ma
Standby Idd
3ua
200ua
20ma
Stack Size
8-60KB
100+ KB
100+ KB
Network Type
Star, Cluster, Mesh
Star ( 8 nodes max )
Star
Network Join/Formation
ms
seconds
seconds
Max Packet Size(bytes)
132
359
4095
Range
Over 1200 meters
100 meters
100 meters*
Devices
2^16
8
Slide 4
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
10 meters
Slide 5
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
802.15.4 has 16 channels in the 2.4Ghz band
Slide 6
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
The 2.4Ghz ISM band
2.412
2.40
2.41
2.42
2.462
2.437
2.43
2.44
2.45
802.11 DSSS
Slide 7
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
2.46
2.47
2.4835
(end of ISM Band)
2.48
Possible 802.11 Channel (North America)
802.11 Spectrum Occupancy (Typical)
802.15.4 Hardware
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Freescale MC1319x Family Overview
Key Features
• IEEE® 802.15.4 Compliant
 2.4GHz
 16 selectable channels
 250Kbps 0-QPSK DSSS
• Multiple Power Saving Modes
• Reduces MCU resources
 Data Mode and Internal Timers
• Flexible Micro Support
• -16.6dBm to +3.6dBm output power
 Software selectable
• Low Component count
 On-chip regulator
 Requires single 16Mhz Xtal (Auto Trim)
• Up to -92 Rx sensitivity at 1% PER
• 2V to 3.4 operating voltage
• -40˚C to +85˚C operating temperature
• 5mmx5mm QFN-32
 RoHS
• Reduced design time
 Flexible network support
 Complete set of design tools and reference
designs
Analog
Receiver
Frequency
Generator
Analog
Transmitter
Digital Transceiver
MC13191/2/3
MC9S08GT Family
GPIO
SPI
Timers
Control
Logic
Buffer RAM
IRQ
Arbiter
RAM Arbiter
Power
Management
Voltage
Regulators
Slide 9
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
HCS08 CPU
BDM
Sensors
Flash
Memory
8-ch
10-Bit
ADC
MMA Series
Accelerometers
RAM
2xSCI
MPX Series
Pressure Sensors
SPI
IIC
LVI
4-ch 16-bit
Timer
COP
Internal
Clock
Generator
Up to
36 GPIO
MC Series
Ion and
Smoke Photo
Sensors
MC1320X Features
MC1320X
Analog
Receiver
Tx/Rx Switch
Slide 10
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Frequency
Generator
Digital Transceiver
Key Features
• IEEE® 802.15.4 Compliant
 2.4 GHz
 16 selectable channels
• Multiple Power Saving Modes
• Up to 7 GPIO
• 2.0 to 3.4V operating voltage
 On-chip regulator
• -40˚ to +85˚C Operating Temperature
• Integrated Tx/Rx switch
• Up to -94 dBm Rx Sensitivity at 1% PER
• -27 dBm to +4 dBm Programmable Output
Power
• Low External Component Count
 Requires a single 16Mhz crystal
• Software Crystal Trimming
• 5x5x1 mm 32-pin QFN
Software
• SMAC
 Small memory footprint (< 3 KB)
 Supports point-to-point and star networks
• MAC
 IEEE 802.15.4 Standard Compliant
• ZigBee
 Supports ZigBee Alliance 1.0 Specification
RFIC Timers
Digital Control
Logic
Analog
Transmitter
Buffer RAM
IRQ
Arbiter
RAM
Arbiter
Power
Management
Voltage
Regulators
MC1320X Transceiver Family
MC13201
MC13202
MC13203
Low cost 2.4 GHz transceiver for proprietary
applications
IEEE 802.15.4 Compliant 2.4 GHz
transceiver
ZigBee-Ready 2.4 GHz transceiver
Overview
Buffered transmit and receive data packets for use with low cost MCUs
Low component count reduces complexity and cost
Programmable clock output available to MCU
Network Topology
Software
Transfer Mode
Point-to-Point and Star
Peer-to-Peer, Star and Mesh
Simple MAC (SMAC)
IEEE 802.15.4 MAC
Packet
Throughput
Packet and Streaming
250 Kbps, O-QPSK Modulation, DSSS Energy Spreading Scheme
Tx/Rx Switch
Integrated on-chip
Low Power Modes
Sensitivity
Off, Hibernate, Doze and Idle
-91 dBm
-94 dBm
Power Supply
MCU Support
ZigBee Stack
2.0 to 3.4 V
8-bit MCU, ColdFire, S12, DSC
Optimized for 8-bit HCS08 Family
MCU Interface
SPI Interface to MCU
Power Output
-27 dBm to +4 dBm (software selectable)
Operating Temp
-40º to +85ºC Operating Temperature
Package
10K SRP
5x5x1 mm 32-pin QFN (Meets RoHS requirements)
$2.35
Slide 11
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
$2.75
$3.28
MC1320X Pricing and Availability
MC13201 – Samples Q405, Production Q106
• Supports Simple MAC (SMAC)
• MC13201FC (Bulk part)
• MC13201FCR2 (Tape and Reel)
• 10K Suggested Resale $2.35
MC13202 – Samples Q405, Production Q106
• Supports SMAC & IEEE 802.15.4 MAC
• MC13202FC (Bulk part)
• MC13202FCR2 (Tape and Reel)
• 10K Suggested Resale $2.75
MC13203 – Samples Q405, Production Q106
• Supports SMAC, IEEE 802.15.4 MAC & Figure 8 Wireless Z-Stack
• MC13203FC (Bulk part)
• MC13203FCR2 (Tape and Reel)
• 10K Suggested Resale $3.28
Slide 12
All Prices are budgetary and subject to change
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
MC1321X Overview
Overview
MC1321X
Analog
Receiver
Digital Transceiver
Tx/Rx
Switch
HCS08 CPU
Frequency
Generator
RFIC Timers
FLASH
Memory
Digital
Control
Logic
RAM
IRQ
Arbiter
Power
Management
RAM
Arbiter
8-ch
10-bit
ADC
2 x SCI
Analog
Transmitter
Buffer RAM
Background
Debug Module
IIC
Low Voltage
Interrupt
16-bit
Timers
Keyboard
Interrupt
COP
Internal
Clock
Gen
Up to 39
GPIO
Voltage
Regulators
Component
Count
Network Support
Sensitivity
Power Output
Memory
Low Power
Modes
I/O
Software compatible to the MC1319X
• Proprietary Applications using SMAC
• IEEE® 802.15.4 Compliant Modem
• ZigBee Compliant Platform
Availability
• Samples: Q4 2005
• Production: Q1 2006
2nd Generation ZigBee platform with 2.4 GHz
Transceiver and MC9S08GT Family 8-bit MCU
10 external components:
7 caps, 1 inductor, 1 balun, 1 crystal
Point-to-Point, Star, Cluster Tree and Mesh
-94 dBm
-27 dBm to +4 dBm (software selectable)
Up to 60 KB FLASH, 4 KB RAM
4-RF (Off, Hibernate, Doze, Idle) and
4-MCU (Run, Wait, STOP2, STOP3)
Up to 39 GPIO, 8-channel 10-bit ADC, 9 Timers, 2
SCI, IIC, LVI, ICG, COP
Operating Volt.
2.0 to 3.4 V
Operating Temp
-40º to +85ºC
Package
Slide 13
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
9x9x1 mm 64-pin LGA
Meets RoHS requirements
MC1321X Features
Key Features
• System in a Package (SiP)
• IEEE® 802.15.4 Compliant
 2.4 GHz
 16 selectable channels
• Multiple Power Saving Modes
• Up to 39 GPIO
• 2.0 to 3.4 V Operating Voltage
 On-chip regulator
• -40˚ to +85˚C Operating Temperature
• Low External Component Count
 Requires one 16 MHz crystal (software trim)
• 9x9x1 mm 64-pin LGA
Microcontroller Features
• 40 MHz HCS08 Core
• Up to 60 KB FLASH and 4 KB RAM
• 5 16-bit Timers
• 8-bit Keyboard Interrupt (KBI)
• 8-channel 10-bit ADC
• 2 SCIs
 Supports up to 115.2 Kbaud
• IIC
• Low Voltage Detection (LVD)
 Programmable high or low trip points
• Watchdog Timer (COP)
• In-circuit Debug and FLASH Programming via
Background Debug Module (BDM)
RF Features
• Integrated Tx/Rx switch
• -94 dBm Rx Sensitivity at 1% PER
• -27 dBm to +4 dBm Programmable Output Power
• 4 16-bit Timers
Software Features
• SMAC
 Small memory footprint (< 3 KB)
 Supports point to point and star networks
• MAC
 IEEE 802.15.4 Standard Compliant
 Supports peer-to-peer, star and clustertree
networks
 Supports beaconed networks
 Supports guaranteed time slots (GTS)
 AES 128-bit security
• ZigBee
 Supports ZigBee Alliance 1.0 Specification
 Supports star, tree and mesh networks
 AES 128-bit security
Slide 14
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
MC13192/3 State/Mode Features
SPI Slave
Hibernate
Receive
Reference oscillator is off. Will respond to an edge
transition on Attention line by bringing up oscillator
Reference oscillator running, not sourcing reference
frequency outside of IC
Reference oscillator running and sourcing reference
frequency outside of IC, SPI bus active
Ref oscillator running, receiver on, SPI bus paused
Transmit
Ref oscillator running, transmitter on, SPI bus active
Doze
Idle
Typical Power
Consumption
2.3uA
35uA
500uA
37mA
30mA
Doze is a unique feature of 802.15.4/ZigBee, allows very fast wake up
for extended battery life.
Slide 15
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Power Comparison – Minimum Payload
Slide 16
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Bandwidth
Max throughput (default backoff)
160
140
With Ack
Actual throughput with direct
data, 125 kbit/sec with 101 byte
payload and acknowledge
Without Ack
120
Indirect
kbit/sec
100
80
Actual throughput with direct
data and security enabled,
55 kbit/sec with 90 byte payload
and acknowledge
60
40
20
payload size (MAC)
Slide 17
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
118
115
110
105
100
95
90
85
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
1
0
802.15.4 Applications
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
What do you want to do with 802.15.4?
Wire replacement
• Serial stream
Remote Control
• Half duplex
• Full duplex
Remote Monitor
• Analog information
• Digital information
Audio
• Half duplex
• Full duplex
• Half duplex control
• Full duplex control
Communicate with Zigbee devices from other companies?
Slide 19
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
802.15.4 Networks
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
IEEE 802.15.4 Topologies
Star
Mesh
PAN Coordinator
Full Function Device (FFD)
•Any topology
•Network coordinator capable
•Talks to any other device
Reduced Function Device (RFD)
•Limited to being leaf devices
•Cannot become a network coordinator
•Talks only to a network coordinator
•Very simple implementation
Slide 21
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Cluster Tree
Network Pieces –PAN Coordinator
PAN Coordinator
• “owns” the network
 Starts it
 Allows other devices to join it
 Provides binding and address-table
services
 Saves messages until they can be
delivered
 And more… could also have i/o
capability
• A “full-function device” – FFD
• Mains powered
Slide 22
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Network Pieces - Router
Routers
• Routes messages
• Does not own or start network
 Scans to find a network to join
> Given a block of addresses to
assign
• A “full-function device” – FFD
• Mains powered depending on topology
• Could also have i/o capability
Slide 23
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Network Pieces – End Device
End Device
• Communicates with a single device
• Does not own or start network
 Scans to find a network to join
• Can be an FFD or RFD (reduced function
device)
• Usually battery powered
Slide 24
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
What does Freescale
have to offer when it
comes to 802.15.4
technology?
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Fully Embedded ZigBee
ZigBee
Features Highlights
ZigBee Compliant Platform
Complete Wireless Networking Standard – from
Antenna to API
Wireless Embedded or Dongle Options
P31
…
P1
ZDO
APS
ZigBee NWK
Target Applications
Mesh & Clustertree NWKs
Established Routing Algorithm
Network Recovery and Healing
Device Interoperability
802.15.4 MAC
802.15.4 PHY
HCS08
Slide 26
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
MC13193
Z-Stack
Z-Stack - Complete implementation of the ZigBee™ Alliance specification
• Complete ZigBee Protocol Stack, Version 1.0
• Documentation
• Applications and Profile Source Code
 Lighting profile
 Custom profiles (Generic Application and Serial Application)
• Z-Profile Builder – Windows based application that allows customers to build
profiles.
 Provides templates for profiles functions
 Customer defines the proper ID values, settings, etc.
 Profiles can be ported into the Z-Configurator
• Z-Configurator – Windows application that allows automated customization of
ZigBee enabled applications
 Integrate customers applications and profiles
 Builds CodeWarrior project for download to the HCS08 micro
• Z-Trace – Windows application that allows customers to test and debug
 Includes a tree structure for manual command operation
 Permits viewing of trace and debug information from the Freescale EVK
(supports both EVB and SARD boards)
Slide 27
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Freescales IEEE 802.15.4 MAC Standards-Compliant & Certified
Hardware Features
802.15.4 PHY Compliant
• MC13192/3 Transceiver
• Supports Packet and Streaming
Mode
• Compliant to all RF Specs
Targets the HCS08GT60
Target Applications
•Star/Clustertree NWKs
•Robust Communication and Timing
Critical Protocol
•NWK Standard not needed
•Interoperability not needed
Software Features
802.15.4 MAC Compliant
• Standardized Communication
Protocol
• Supports Beaconed and NonBeaconed NWKs
• GTS, 128 AES Encryption
• Co-existence Mitigation Algorithm
CSMA-CA
• Star & Clustertree NWKs
Option to Remove Unnecessary Features
to reduce code size
Provided in Object Code
Free when you use it on a 13192 part
• The Full MAC requires the streaming mode in the 13192 part.
Certified to the 802.15.3 standard
Supports Beacon and non-beacon networks
Supports GTS ( Guaranteed Time Slots )
Fully handshaked protocol ( ACK’s )
Supports long ( 64 bit ) and short ( 16 bit ) addressing
Supports dynamic device addressing
Supports active and Passive scans
Supports 8 different encryption standards including AES 128
Defines 3 types of network nodes
• PAN coordinator
• Coordinator
• device
Slide 28
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
802.15.4
Solution
802.15.4 MAC
802.15.4 PHY
HCS08
MC13192
What is the EMG_SMAC
The EMG version of the SMAC is a custom version of the SMAC built off of SMAC 4.1.
It is NOT 802.15.4 or Zigbee. It is simply a PHY level user API and device driver for the MC13191 and MC13192 radio IC’s.
The User API has been designed for simplicity.
•
Only 16 user API functions ( no primitives )
•
Packet_Send( *data, number_of_bytes ) to send a packet
• Packet_Received( *rxstructure ) to receive a packet
The Firmware has also been architected for simplicity
•
Only 4 C files and 8 header files, no library files
•
Easier start project using Codewarrior new project wizard
Small
RAM FLASH
•
simple_phy.c.o
0
604
•
drivers.c.o
3
834
•
MC13192_hw_config.c.o
0
100
•
mcu_hw_config.c.o
0
148
•
3 bytes of RAM + packet size + stack
•
1686 bytes of FLASH
Hardware
•
SPI or
3 GPIO to communicate with radio
•
CE
1 GPIO Used for SPI communications
•
RTXEN 1 GPIO Not required but recommended
•
IRQ
1 GPIO Required for feedback from radio
•
ATTN
1 GPIO Not required unless using Hibernate mode in radio
•
RESET 1 GPIO Not required unless using Sleep mode in radio
•
5 pin minimum requirement from CPU – can be used with 8 pin micro
EMG SMAC
Solution
Audio over 802.15.4 support
•
Interrupt structure optimized for audio applications ( original SMAC disabled interrupts for almost 1 ms )
•
New API facilitates audio applications
802.15.4 PHY
HCS08
Slide 29
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
MC13192
Zigbee / 802.15.4 / EMG SMAC
Zigbee
Standard defined by Zigbee Alliance
$999 per seat – ZStack
Includes everything in 802.15.4 + mesh network
> 32K of code
peer – peer, star, cluster, and mesh networks
802.15.4
Standard defined by IEEE 802.15.4
Download from Freescale.com
Includes addressing, ACKS, Association, Encryption, GTS
> 16K of code
peer-peer, start, cluster ( see demo ) networks
EMG_SMAC
RAW
Just use our parts
Includes audio support and simple addressing
< 2K of code ( what do you expect for < 2K of code )
Optimized for remote control and audio applications
peer-peer, star, cluster networks
Slide 30
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Application Code
Overview
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
802.15.4 MAC Application Code
Voice over the full 802.15.4 MAC
• Supports sample rates up to 64Kbps
 8 bit X 8Khz sample rate
• Supports 802.15.4 short addressing with association
• Uses full 802.15.4 with ACKS and retries
• Half Duplex
• Supports peer to peer and star networks
• Supports a 9600 baud control channel while streaming audio
• Device is used as audio input
• Coordinator used as audio output
• Ported to LSR modules
• Applications include:
 Addressable PA systems
 Addressable Intercoms
 Phone accessories
Slide 32
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
EMG SMAC Application Code
13 EMG SMAC application code examples
• Simple Packet Sniffer
• Streaming Packet Error Rate test
• Wireless UART
• Remote Analog monitoring
• Frequency hopping low power learning remote control with flash storage
• Remote Control Robosapien interface
• 128kps half duplex audio with 9600 baud control channel
• 64kbps half duplex audio with full duplex 9600 baud control channel
• 64kbs Addressable Walkie Talkies
• 64Kbps Addressable Intercom with ding dong
• 64Kbps Addressable Frequency Hopping Audio*
• Wireless Camera*
• Wireless MP3 streaming*
Slide 33
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Audio Over 802.15.4
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Audio Over 802.15.4
VDDA
D
External to MCU
802.15.4 MAC
DEVICE
AD1
MIC
Pream
p
MIC
AC Coupling and DC
bias
802.15.4 MAC
COORDINATOR
Audio
Amp
PWM
Low Pass
Filter
External to MCU
Audio TX
VDDAD
External to MCU
A/D Converter
( 10 bit in 8 bit mode )
MIC
Preamp
MIC
AC Coupling and DC bias
A/D read in TPM2 overflow ISR
The TPM2 ISR creates an interrupt every
62.5us ( 16Khz sample rate )
100us ( 10khz sample rate )
125us ( 8khz sample rate )
In the interrupt the A/D value is read and stored
in the FIFO.
Sample Rate
Timer (TPM2)
Application Interface
This function extract a full packet
from the FIFO. This can be done using a zero copy
technique ( passing a pointer ) or just copying the
packet byte by byte into a TX buffer.
AD_data[4][ADBUFSIZE]
Stream to packet converter
FIFO
Application ( MAC )
The application function sends the packet to the
MAC.
This function is different depending on which level of firmware is
used ( EMG SMAC or MAC ).
Audio RX
void PWM_PutInRing(uint8_t data )
{
PWM_RingBuf[PWM_HeadBuf] = data;
PWM_HeadBuf = (PWM_HeadBuf+1) & (PWMBUFSIZE-1);
}
Ring Buffer input
case gMcpsDataInd_c:
if( (pMsgIn->msgData.dataInd.msdu[0] == 0) &&
(pMsgIn->msgData.dataInd.msdu[1] == MyShortAddress[1]) &&
(pMsgIn->msgData.dataInd.msdu[2] == MyShortAddress[0]) )
{
for( n=3; n<(pMsgIn->msgData.dataInd.msduLength); n++ )
PWM_PutInRing(pMsgIn->msgData.dataInd.msdu[n]);
inc_packet_counter();
connection_state = CONNECTION_STREAMING;
}
Application MAC
void inc_packet_counter( void )
{
if( packet_counter < 0xFF )
packet_counter++;
long_timer = 0;
}
Watermark
1 byte wide by 512 byte deep Ring Buffer FIFO
uint8_t PWM_GetFromRing(void)
{
uint8_t returnValue;
returnValue = PWM_RingBuf[PWM_TailBuf];
PWM_TailBuf = (PWM_TailBuf+1) & (PWMBUFSIZE-1);
return(returnValue);
}
Ring Buffer Output
interrupt void TPM2_OVERFLOW_ISR(void)
{
uint8_t data;
TPM2SC &= 0x7F; // Read, Clear bit 7, Write
if( packet_counter > 1 )
{
if( (PWM_HeadBuf != PWM_TailBuf) )
{
data = PWM_GetFromRing();
Set_PWM( 2, 0, data );
}
else
packet_counter = 0;
Timer ISR
}
Sample Rate Timer
(TPM2)
}
8 bit PWM
generator in
MCU
Fc = 62Khz
Audio
Amp
Low Pass Filter
External to MCU
Audio over 802.15.4 Data Structure
typedef struct
{
UINT16 unique_word;
UINT8 packet_type;
UINT8 address;
UINT8 seq_number;
UINT8 control_length;
UINT8 audio_length;
UINT8 control[ 10 ];
UINT8 audio[ 102 ];
} EMG_AUDIO_PACKET;
Unique Word
2 bytes
0xFFFF
Packet
type
1 byte
Destination
address
1 byte
Sequence
number
1 byte
Control
length
1 byte
Audio
length
1 byte
Slide Semiconductor
38
Freescale
Confidential and Proprietary Information. Freescale™ and the Freescale logo are trademarks of Freescale
Semiconductor,
Inc. All other product
or service
namesFreescale™
are the property
respective
© Freescale
Semiconductor,
Inc. 2005.
Freescale Semiconductor
Confidential
Proprietary.
and of
thetheir
Freescale
logoowners.
are trademarks
of Freescale
Semiconductor
, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Control Data
10 bytes
Audio Data
102 bytes
Audio Packet Timing
EMG SMAC based Half Duplex Audio and Half Duplex Control Network Traffic
Time 0
Audio Packet
100 audio bytes
10 control bytes
Audio Packet
100 audio bytes
10 control bytes
A
B
C
A = Time to send first packet ( input FIFO filling to watermark ).
B = Time to send audio packet ( including software overhead ).
C = Time between packets after FIFO has filled to watermark.
Audio packet size = 100 + 2 + 10 + 7 bytes for EMG_AUDIO_PACKET + 8 bytes for PHY
Audio packet size = 119 + 8 = 127 bytes
At 2.4Ghz, 802.15.4 takes 32us per byte for transmission.
Audio packet time ( ideal ) = 127 bytes * 32us/byte = 4.064ms
Hardware overhead ( ideal ) = 144us
Audio packet time(ideal) + Hardware overhead(ideal) = 4064us + 144us = 4208us
Audio packet time(measured) = 5106us
The time difference between ideal and measured is due to software overhead and SPI transfer times.
4208 / 5106 yields a system efficiency of 82.4%
Slide 39
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Sampling at 8Khz
EMG SMAC 8Khz sample rate, 8 bit samples ( 64Kbps ), Half duplex audio, No control
The watermark level is set to 2X.
The 11 control bytes are used for audio data.
A = 2 * 111 bytes * sample rate = (2 * 111) samples / 8000 samples/s = 27.75ms
B = 5.106ms ( measured )
B + C = 111 bytes * sample rate = 111 samples / 8000 samples/s = 13.875ms
C = 13.875ms – 5.106ms = 8.8ms
63% of the bandwidth is available
sample rate
audio bytes
bytes/sample
A(sec)
B(sec)
C(sec)
available bandwidth
4000
111
1
0.0555
0.005106
0.022644
81.60%
6000
111
1
0.037
0.005106
0.013394
72.40%
8000
111
1
0.02775
0.005106
0.008769
63.20%
10000
111
1
0.0222
0.005106
0.005994
54.00%
12000
111
1
0.0185
0.005106
0.004144
44.80%
14000
111
1
0.015857
0.005106
0.002823
35.60%
16000
111
1
0.013875
0.005106
0.001832
26.40%
18000
111
1
0.012333
0.005106
0.001061
17.20%
20000
111
1
0.0111
0.005106
0.000444
8.00%
Slide 40
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Sampling at 8Khz – with a 10 byte control channel
EMG SMAC 8Khz sample rate, 8 bit samples ( 64Kbps ), Half duplex audio, Half duplex control
The watermark level is set to 2X.
A = 2 * 100 bytes * sample rate = (2 * 100) samples / 8000 samples/s = 25ms
B = 5.106ms ( measured )
B + C = 100 bytes * sample rate = 100 samples / 8000 samples/s = 12.5ms
C = 12.5ms – 5.106ms = 7.4ms
59% of the bandwidth is available
sample rate
audio bytes
bytes/sample
A(sec)
B(sec)
C(sec)
available bandwidth
4000
100
1
0.05
0.005106
0.019894
79.58%
6000
100
1
0.033333
0.005106
0.011561
69.36%
8000
100
1
0.025
0.005106
0.007394
59.15%
10000
100
1
0.02
0.005106
0.004894
48.94%
12000
100
1
0.016667
0.005106
0.003227
38.73%
14000
100
1
0.014286
0.005106
0.002037
28.52%
16000
100
1
0.0125
0.005106
0.001144
18.30%
18000
100
1
0.011111
0.005106
0.00045
8.09%
20000
100
1
0.01
0.005106
-0.00011
-2.12%
Slide 41
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Robot Demo
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
The Dancing Robot
Demonstration
Using the S08QG and a custom SMAC
to stream audio and control data over
802.15.4
By Eric Gregori
The Hardware
S08QG based transmitter with geeky
RF daughter card + Sound Source
Robot with GT60 based SARD board
mounted behind head.
Block Diagram
MC13191/2/3
Frequency
Generator
Analog
Transmitter
MC9S08QG Family
GPIO
Digital Transceiver
Analog
Receiver
SPI
Timers
Control
Logic
Buffer RAM
IRQ
Arbiter
Power
Management
HCS08 CPU
BDM
Flash
Memory
8-ch
10-Bit
ADC
RAM
SCI
SPI
IIC
LVI
2-ch 16-bit
Timer
RAM Arbiter
COP
Voltage
Regulators
Internal
Clock
Source
802.15.4
Audio is capacitively coupled
to the A/D converter
Up to
12 GPIO
Both TX and RX MCU’s running
the EMG SMAC
MC13191/2/3
Frequency
Generator
Analog
Transmitter
MC9S08GT Family
Digital Transceiver
Note: bi-directional data
transfer is supported by the
EMG SMAC and hardware.
Analog
Receiver
GPIO
HCS08 CPU
BDM
Flash
Memory
8-ch
10-Bit
ADC
RAM
2xSCI
SPI
IIC
LVI
4-ch 16-bit
Timer
SPI
Timers
Control
Logic
Buffer RAM
IRQ
Arbiter
RAM Arbiter
COP
Power
Management
Voltage
Regulators
Internal
Clock
Generator
Up to
36 GPIO
Speaker is mounted in
robot’s back
What do the buttons do?
Walk Forward / Lean
Forward
Accelerometer
socket for future
motion tracking
demos
Dance/Walk
Walk Left / Lean Left
High Performance
MCU that makes it
all possible
Walk Back/ Lean Back
Walk Right / Lean Right
BDM port for future
firmware releases
Plug in audio
source here.
Source must be greater than
Stop / Dance
1.0Vpp but less than 3.0Vpp.
A laptop with the volume turned all
the way up works well.
No need for a power switch, the TX uses the low power
features of the QG part to go into idle between button pushes.
Use the header to measure the current.
How do I make it Dance?
•
•
•
•
•
•
•
•
•
•
Turn on Robot – Power switch is small black
circle behind right shoulder
Connect audio source – for PC or Laptop
turn up volume to max
As soon as audio is played, the QG part
detects it using the internal comparator. It
will immediately start streaming the audio.
Press and hold SW6 then push SW3.
If the audio source has quite periods, the
audio volume may go below the comparator
threshold, stopping the stream. To override
this, just push and hold SW6.
While pushing SW6, the robot is in dance
mode.
Pushing SW6 + SW2 will make the robot
lean forward
Pushing SW6 + SW4 will make the robot
Lean left
Pushing SW6 + SW1 will make the robot
lean right
Pushing SW6 + SW5 will make the robot
lean back
Power
Switch
Getting the rhythm
• The firmware in the QG part can auto synchronize to the rhythm of
the song.
• The firmware analyzes the peaks and valleys of the audio source,
and triggers off of peak values of a specific width.
• The trigger point is currently hardcoded. Synchronization
characteristics can be adjusted by changing the input volume (
volume on computer ).
• To activate auto dance, simply push and hold SW6 ( dance button ).
The robot will start dancing in-sync with the music.
• Adjust the audio source volume to modify auto dance
characteristics.
• If autodance starts interfering with manual dancing, simply decrease
the volume of the audio source.
• Note: If no button is pushed while streaming audio, autodance will
blink the robots eyes and hands to the rhythm of the music.
How do I make it walk?
• Pushing SW2, SW1, SW5, or SW4 without
pushing the dance button ( SW6 ) makes
the robot walk
• SW2 – forward
• SW1 – turn right
• SW5 – backward
• SW4 – turn left
How does it work?
•
•
•
•
•
•
•
•
•
The radio is a Freescale MC13192 802.15.4 (Zigbee) 2.4Ghz transceiver.
The firmware is a custom version of the SMAC, EMG SMAC.
Audio is sampled at a rate of 5Khz ( the EMG SMAC supports sample rates
as high as 16Khz (128Kbps)) by 8 bits PCM.
Samples are queued up at the front and back end to accommodate packet
loss and small synchronization errors. Auto synch firmware is still in test.
The packet structure contains both variable width audio and control fields.
The control fields are used to transfer commands to the robot.
Packets are sent multiple times with sequence numbers, increasing range
significantly.
Data is transferred to the robot by piggybacking on the IR sensor.
RX supports all 70+ robot commands, TX is limited by buttons.
The advanced sleep modes in the MC13192 part are used to reduce radio
current consumption to a couple of micro-amps.
MC1319x Family Overview
– IEEE® 802.15.4 Compliant
•
•
•
•
2.4GHz
16 selectable channels
250Kbps Data Rate
250Kbps 0-QPSK DSSS
– Multiple Power Saving Modes
• Hibernate 2.3uA
• Doze 35uA
• Idle 500uA
Analog
Receiver
Digital Transceiver
• Key Features
MC13191/2/3
Frequency
Generator
Analog
Transmitter
MC9S08QG Family
GPIO
SPI
Timers
Control
Logic
Buffer RAM
IRQ
Arbiter
RAM Arbiter
Power
Management
Voltage
Regulators
HCS08 CPU
BDM
Sensors
Flash
Memory
8-ch
10-Bit
ADC
MMA Series
Accelerometers
RAM
SCI
MPX Series
Pressure Sensors
SPI
IIC
LVI
2-ch 16-bit
Timer
COP
Internal
Clock
Source
MC Series
Ion and
Smoke Photo
Sensors
Up to
12 GPIO
–
–
–
–
RF Data Modem
Up to 7 GPIO
SPI Interface to Micro
Internal Timer comparators
(reduce MCU resources)
– -16.6dBm to +3.6dBm output
power
• Software selectable
• On-chip regulator
– Up to -92 Rx sensitivity at 1%
PER
– Pin Compatible within
MC1319x Family
– 2V to 3.4 operating voltage
– -40˚C to +85˚C operating
temperature
– Low external component count
So how does it use the QG part?
• To use as little current as possible while idle, and still monitor the
audio input line for a signal. The firmware uses the comparator and
ultra-low clock modes available in the S08QG.
• When idle, the CPU is clocked at 15Khz. The comparator is
enabled. When a audio signal is present and at a amplitude great
enough to surpass the bandgap reference, the QG wakes up and
starts streaming audio.
• The external IRQ and SPI are used to communicate with the Radio.
• The high speed A/D converter is used to sample audio.
• The Modulo Timer is used to set the audio sample rate.
• When awake the high speed mode of the QG ( 8Mhz ) is used to
convert the audio from a stream to packets, and manage the radio
and user interface.
The future of the robots
• Robot firmware updates will be available on Freegeeks.net along
with many other EMG SMAC applications.
• Firmware will be available to control the robot from a serial port,
using all 70+ commands.
• A accelerometer + EMG SMAC demo will be available that will allow
a person to control the robot by moving. For example when a
person leans forward, the robot will lean forward. When a person
raises his right arm, the robot will raise its right arm.
• The radio supports bi-directional data, but the demo currently does
not.
• The firmware currently supports addressing, but it is not
implemented in this demo. This future feature will add the ability to
control/monitor multiple robots from a single hub.
Schematic For QG Robot TX board
By Mike Steffen
QG Robot TX Printed Circuit
Board
P5:
Audio Input Jack
D1 & R1:
Optional power
LED and resistor
Micro IDD current
monitor jumper
SW1-SW6
Switches for
Robot Motion
Control
RF Daughter Card
PLUG IN
AA BATT
P3:
Programming
Header
9S08QC
Microcontroller
Optional 3-Axis
Accelerometer
Eval Board
P4: DEFAULT JUMPER
SETTINGS
Microcontroller/RF
Daughter Card Interface
Header
Pinout Definitions for QG Robot
TX board
P2,P3,P4,P5,SW8
Bill of Materials for QG Robot
TX board
Freescale Semiconductor Confidential and Proprietary Information. Freescale™ and the Freescale logo are trademarks of Freescale
Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2005.
Backup Slides
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
SMAC enabled 8 bit MCU with built in power drivers
Slide 60
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
SMAC enabled 8 bit MCU with built in motor control drivers ( 2 full bridges )
Slide 61
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Mesh Network
Overview
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
What is mesh networking
From Wikipedia, the free encyclopedia.
Mesh networking is a way to route data, voice and instructions
between nodes. It allows for continuous connections and
reconfiguration around blocked paths by "hopping" from node to
node until a connection can be established.
Mesh networks are self-healing: the network can still operate even
when a node breaks down or a connection goes bad. As a result, a
very reliable network is formed.
Slide 63
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Mesh Networking
Zigbee uses a mesh networking topology
The mesh topology
Mesh
Zigbee is not the only way to get mesh networking.
Millenial Net also provides mesh networking support for Freescale parts.
There are various mesh networking projects on the internet that can be used
on our silicon.
Slide 64
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Pro-active (Table-driven)
mesh network algorithms
These algorithms maintain fresh list of destinations and their routes.
CGSR (Clusterhead Gateway Switch Routing protocol) - CHING-CHUAN CHIANG, HSIAO-KUANG WU, WINSTON LIU, MARIO GERLA Routing in Clustered Multihop, Mobile Wireless Networks
with Fading Channel, IEEE Singapore International Conference on Networks, SICON'97, pp. 197-211, Singapore, 16.-17. April 1997, IEEE
DBF (Distributed Bellman-Ford Routing Protocol) - DIMITRI P. BERTSEKAS, ROBERT G. GALLAGER, Distributed Asynchronous Bellman-Ford Algorithm, Data Networks, pp. 325-333,
Prentice Hall, Enlgewood Cliffs, 1987, ISBN 0-13-196825-4
DSDV (Highly Dynamic Destination-Sequenced Distance Vector routing protocol) - C. E. PERKINS, P. BHAGWAT Highly Dynamic Destination-Sequenced Distance Vector (DTDV) for Mobile
Computers Proc. of the SIGCOMM 1994 Conference on Communications Architectures, Protocols and Applications, Aug 1994, pp 234-244.
Guesswork - TOM PARKER AND KOEN LANGENDOEN, Guesswork: Robust Routing in an Uncertain World, to be presented at the 2nd IEEE International Conference on Mobile Ad-hoc and
Sensor Systems (MASS 2005), November 2005 http://www.st.ewi.tudelft.nl/~koen/papers/guesswork.pdf
HSLS (Hazy Sighted Link State routing protocol) - CESAR SANTIVANEZ AND RAM RAMANATHAN Hazy Sighted Link State routing protocol (HSLS),BBN Technical Memorandum No. 1301, 31
August 2001. http://www.cuwireless.net/OSI/progress_report.html
HSR (Hierarchical State Routing protocol) - ALAN O'NEILL HONGYI LI HIERARCHICAL STATE ROUTING PROTOCOL Internet Draft, draft-oneill-li-hsr-00.txt http://alternic.net/drafts/drafts-op/draft-oneill-li-hsr-00.txt Distance Source Distance Vector routing protocol (DSDV)
LCA (Linked Cluster Architecture) - M. GERLA, J. T. TSAI Multicluster, Mobile, Multimedia Radio Network ACM Wireless Networks, VOl 1, No.3, 1995, pp. 255-265
MMRP (Mobile Mesh Routing Protocol) - K. GRACE Mobile Mesh Routing Protocol (MMRP), http://www.mitre.org/work/tech_transfer/mobilemesh/
OLSR (Optimized Link State Routing Protocol) - PHILIPPE JACQUET, PAUL MUHLETHALER, AMIR QAYYUM, ANIS LAOUITI, LAURENT VIENNOT, THOMAS CLAUSEN Optimized Link State
Routing Protocol Internet Draft, RFC 3626. http://www.olsr.net/, http://www.olsr.org/
STAR (Source Tree Adaptive routing protocol) - J.J. GARCIA-LUNA, M. SPOHN Source Tree Adaptive Routing Internet Draft, draft-ietf-manet-star-00.txt, work in progress, October 1999. / J.J.
GARCIA-LUNA, M. SPOHN Source-Tree Routing in Wireless Networks, Proceedings of the 7th International Conference on Network Protocols, IEEE ICNP 99, Toronto, Candada, pp. 273-282,
IEEE, October 1999 http://citeseer.ist.psu.edu/garcia-luna-aceves99sourcetree.html
TBRPF (Topology Broadcast based on Reverse-Path Forwarding routing protocol) - BHARGAV BELLUR, RICHARD G. OGIER, FRED L. TEMPLIN Topology Broadcast Based on Reverse-Path
Forwarding (TBRPF) RFC 3684, work in progress, June 2001.
WRP (Wireless Routing Protocol) - SHREE MURTHY, J.J. GARCIA-LUNA-AVECES A Routing Protocol for Packet Radio Networks, Proc. ACM International Conference on Mobile Computing
and Networking, pp. 86-95, November, 1995. http://citeseer.nj.nec.com/murthy95routing.html; SHREE MURTHY, J.J. GARCIA-LUNA-AVECES, An Efficient Routing Protocol for Wireless
Networks, AACM/Baltzer Journal on Mobile Networks and Applications, Special Issue on Routing in Mobile Communication Networks, Vol. 1, No. 2, pp 183-197, ACM, October 1996
Slide 65
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Reactive (On-demand)
mesh network algorithms
When no designed route is found, protocol finds one.
ARA (Ant-based Routing Algorithm for Mobile Ad-Hoc Networks) - Mesut Günes et. al., ARA - the ant-colony based routing algorithm for manets, In Stephan Olariu, editor, Proceedings of the 2002 ICPP Workshop on Ad Hoc
Networks (IWAHN 2002), pages 79-85, IEEE Computer Society Press, August 2002, http://www.adhoc-nets.de
ABR (Associativity-Based Routing protocol) - CHAI-KEONG TOH: A Novel Distributed Routing Protocol To Support Ad hoc Mobile Computing, Proc. IEEE 15th Annual International Phoenix Conference on Computers and
Communications, IEEE IPCCC 1996, 27 March-29, Phoenix, AZ, USA, pp. 480-486 / CHAI-KEONG TOH: Long-lived Ad Hoc Routing based on the Concept of Associativity, Internet Draft, March 1999, Expired,
http://www.ietf.org/proceedings/99nov/I-D/draft-ietf-manet-longlived-adhoc-routing-00.txt
AODV (Ad hoc On Demand Distance Vector routing protocol) - C. PERKINS, E.ROYER AND S. DAS Ad hoc On-demand Distance Vector (AODV) Routing, RFC 3561
BSR (Backup Source Routing protocol) - SONG GUO, OLIVER W. YANG Performance of Backup Source Routing (BSR) in mobile ad hoc networks p 440-444, Proc. 2002 IEEE Wireless Networking Conference
CHAMP (CacHing And MultiPath routing protocol) - ALVIN C. VALERA, WINSTON K.G. SEAH AND S.V. RAO, CHAMP: A Highly-Resilient and Energy-Efficient Routing Protocol for Mobile Ad hoc Networks. In Proceedings of
the 5th IEEE Conference on Mobile and Wireless Communications Networks (MWCN 2002), Stockholm, Sept 9 - 11, 2002. Available from: http://www1.i2r.a-star.edu.sg/~winston/papers/MWCN2002-CHAMP.pdf
DSR (Dynamic Source Routing protocol) - DAVID JOHNSON, DAVID MALTZ, YIH-CHUN HU: The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks, Internet Draft, draft-ietf-manet-dsr-10.txt, work in progress,
July 2004 / DAVID B. JOHNSON, DAVID A. MALTZ: Dynamic Source Routing in Ad Hoc Wireless Networks, Mobile Computing, Thomasz Imielinski and Hank Korth (Editors), Vol. 353, Chapter 5, pp. 153-181, Kluwer Academic
Publishers, 1996
DSRFLOW (Flow State in the Dynamic Source Routing protocol) - YIH-CHUN HU, DAVID B. JOHNSON, DAVID A. MALTZ Flow State in the Dynamic Source Routing Protocol Internet Draft, draft-ietf- manet-dsrflow-00.txt,
work in progress, June 2001.
DNVR (Dynamic NIx-Vector Routing) - Young J. Lee and George F. Riley, Dynamic NIx-Vector Routing for Mobile Ad Hoc Networks. Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC
2005), New Orleans, Mar. 13 - 17, 2005.
DYMO (DYnamic Manet On-demand routing protocol) - I. Chakeres, E. Belding-Royer AND C. Perkins: Dynamic MANET On-demand Routing Protocol (DYMO), Internet Draft, draft-ietf-manet-dymo-00.txt, work in progress,
January 2005. http://www.ietf.org/internet-drafts/draft-ietf-manet-dymo-00.txt
FORP (Flow Oriented Routing Protocol)
GB (Gafni-Bertsekas), E. Gafni, D. Bertsekas: Distributed Algorithms for Generating Loop-free Routes in Networks with Frequently Changing Topology, IEEE Transactions on Communication, Vol. 29, No. 1, Jan, 1981, pp.1115. The first Link Reversal Routing (LRR) algorithm.
LBR (Link life Based routing), B. S. Manoj, R. Ananthapadmanabha, and C. Siva Ram Murthy, "Link life Based Routing Protocol for Ad hoc Wireless Networks", Proc. of The 10th IEEE International Conference on Computer
Communications 2001 (IC3N 2001), October 2001.
LMR (Lightweight Mobile Routing protocol) - M.S. CORSON AND A. EPHREMIDES Lightweight Mobile Routing protocol (LMR), A distributed routing algorithm for mobile wireless networks, Wireless Networks 1 (1995).A Link
Reversal Routing (LRR) algorithm.
LQSR (Link Quality Source Routing) - Microsoft Version of DSR with Link Quality Metrics, http://research.microsoft.com/mesh/
LUNAR (Lightweight Underlay Network Ad hoc Routing) - CHRISTIAN TSCHUDIN AND RICHARD GOLD Lightweight Underlay Network Ad hoc Routing (LUNAR), http://www.docs.uu.se/selnet/lunar/
MOR (Multipath On-demand Protocol)
MPRDV (Multipoint Relay Distance Vector protocol) - Géraud Allard, Philippe Jacquet and Laurent Viennot. "Ad hoc routing with multipoint relaying", http://gyroweb.inria.fr/~viennot/postscripts/algotel2003ajv.pdf
RDMAR (Relative-Distance Micro-discovery Ad hoc Routing protocol) - G. AGGELOU, R. TAFAZOLLI Relative Distance Micro-discovery Ad Hoc Routing (RDMAR) protocol Internet Draft, draft-ietf-manet- rdmar-00.txt, work
in progress, September 1999.
SrcRR DSR and ETX based, optimized for performance D. AGUAYO, J. BICKET, R. MORRIS, "SrcRR: A High-Throughput Routing Protocol for 802.11 Mesh Networks (DRAFT)", http://pdos.csail.mit.edu/~rtm/srcrr-draft.pdf
SSR (Signal Stability Routing protocol) - R. DUBE, C. D. RAIS, K. WANG, AND S. K. TRIPATHI Signal Stability based adaptive routing (SSR alt SSA) for ad hoc mobile networks, IEEE Personal Communication, Feb. 1997.
TORA (Temporally-Ordered Routing Algorithm routing protocol) - V. PARK, S. CORSON TEMPORALLY-ORDERED ROUTING ALGORITHM (TORA) VERSION 1 Internet Draft, draft-ietf-manet-tora-spec- 03.txt, work in
progress, June 2001. A Link Reversal Routing (LRR) algorithm.
PLBR (Preferred link based routing)-- R. S. Sisodia, B. S. Manoj, and C. Siva Ram Murthy, "A Preferred Link Based Routing Protocol for Ad Hoc Wireless Networks", Journal of Communications and Networks, Vol. 4, No. 1,
pp. 14-21, March 2002.
Slide 66
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Hierarchical
mesh network algorithms
BRP (Bordercast Resolution Protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR The Bordercast Routing Protocol (BRP) for Ad Hoc Networks, Internet Draft,
http://www.ietf.org/proceedings/02nov/I-D/draft-ietf-manet-zone-brp-02.txt, work in progress, July 2002.
CBRP (Cluster Based Routing Protocol) - M. JIANG, J. LI, Y. C. TAY Cluster Based Routing Protocol (CBRP) Functional Specification Internet Draft, draft-ietf-manet-cbrp.txt, work in progress,
June 1999.
CEDAR (Core Extraction Distributed Ad hoc Routing) - RAGHUPATHY SIVAKUMAR, PRASUN SINHA, VADUVUR BHARGHAVAN Core Extraction Distributed Ad hoc Routing (CEDAR)
Specification, Internet Draft, draft-ietf-manet-cedar-spec-00.txt; PRASUN SINHA, RAGHUPATHY SIVAKUMAR, VADUVUR BHARGHAVAN CEDAR: A Core-Extraction Distributed Ad Hoc
Routing Algorithm, The 18th Annual Joint Conference of the IEEE Computer and Communications Societies, INFOCOM '99 New York, NY, USA, pp. 202-209 IEEE, March 1999
DART (Dynamic Address Routing) - JAKOB ERIKSSON, MICHALIS FALOUTSOS, SRIKANTH KRISHNAMURTHY Scalable Ad Hoc Routing: The Case for Dynamic Addressing, in proceedings
of INFOCOM 2004. Project website http://dart.cs.ucr.edu
DDR (Distributed Dynamic Routing Algorithm) - NAVID NIKAEIN, HOUDA LABIOD, CHRISTIAN BONNET Distributed Dynamic Routing Algorithm (DDR) for Mobile Ad Hoc Networks, in
proceedings of the MobiHOC 2000 : First Annual Workshop on Mobile Ad Hoc Networking & Computing http://www.eurecom.fr/~nikaeinn/ddr.ps
FSR (Fisheye State Routing protocol) - MARIO GERLA, GUANGYU PEI, XIAOYAN HONG, TSU-WEI CHEN Fisheye State Routing Protocol (FSR) for Ad Hoc Networks Internet Draft, draft-ietfmanet-fsr-00.txt, work in progress, June 2001.
GSR (Global State Routing protocol) - Global State Routing protocol (GSR) [Chen98] Tsu-Wei Chen and Mario Gerla, "Global State Routing: A New Routing Scheme for Ad-hoc Wireless
Networks" Proc. IEEE ICC'98, Atlanta, GA, USA, June 1998, pp. 171-175. http://www.ics.uci.edu/atm/adhoc/paper-collection/gerla-gsr-icc98.pdf; [Iwata99] A. Iwata, C.-C. Chiang, G. Pei, M.
Gerla, and T.-W. Chen, "Scalable Routing Strategies for Ad Hoc Wireless Networks" IEEE Journal on Selected Areas in Communications, Special Issue on Ad-Hoc Networks, Aug. 1999,
pp.1369-79. http://www.cs.ucla.edu/NRL/wireless/PAPER/jsac99.ps.gz
HARP (Hybrid Ad Hoc Routing Protocol) - NAVID NIKAEIN, CHRISTIAN BONNET, NEDA NIKAEIN Hybrid Ad Hoc Routing Protocol - HARP, in proceeding of IST 2001: International Symposium
on Telecommunications http://www.eurecom.fr/~nikaeinn/harp.ps
HSR (Host Specific Routing protocol)
IARP (Intrazone Routing Protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR The Intrazone Routing Protocol (IARP) for Ad Hoc Networks, Internet Draft,
http://www.ietf.org/proceedings/02nov/I-D/draft-ietf-manet-zone-iarp-02.txt, work in progress, July 2002.
IERP (Interzone Routing Protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR The Interzone Routing Protocol (IERP) for Ad Hoc Networks, Internet Draft,
http://www.ietf.org/proceedings/02nov/I-D/draft-ietf-manet-zone-ierp-02.txt, work in progress, July 2002.
LANMAR (Landmark Routing Protocol for Large Scale Networks) - MARIO GERLA, XIAOYAN HONG, LI MA, GUANGYU PEI Landmark Routing Protocol (LANMAR) Internet Draft, draft-ietfmanet- lanmar-01.txt, work in progress, June 2001.
OORP (OrderOne Routing Protocol) - establishes a hierarchy, then uses ant-trail style rerouting to optimize it. Patented. OrderOne Networks- includes Java simulations and anmiations
ZRP (Zone Routing Protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR The Zone Routing Protocol (ZRP) for Ad Hoc Networks, Internet Draft,
http://www.ietf.org/proceedings/02nov/I-D/draft-ietf-manet-zone-zrp-04.txt, work in progress, July 2002.
Slide 67
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Geographical
mesh network algorithms
DREAM (Distance Routing Effect Algorithm for Mobility) - S. BASAGNI, I. CHLAMTAC, V. R. SYROTIUK, B. A. WOODWARD A
Distance Routing Effect Algorithm for Mobility (DREAM) In Proc. ACM/IEEE Mobicom, pages 76-84, October 1998.
GLS(Grid) (Geographic Location Service) - JINYANG LI, JOHN JANOTTI, DOUGLAS S. J. DE COUTU, DAVID R. KARGER, ROBERT
MORRIS A Scalable Location Service for Geographic Ad Hoc Routing M.I.T. Laboratory for Computer Science
LAR (Location-Aided Routing protocol) - Y.-B. KO, V. N. H. Location-Aided Routing in mobile Ad hoc networks In Proc. ACM/IEEE
Mobicom, pages 66-75, October 1998.
GPSAL (GPS Ant-Like Routing Algorithm) - Daniel Câmara, Antonio Alfredo F. Loureiro, A Novel Routing Algorithm for Hoc
Networks, Baltzer Journal of Telecommunications Systems, 18:1-3, 85-100, Kluwer Academic Publishers, 2001.
ZHLS (Zone-Based Hierarchical Link State Routing) - JOA NG, I-TAI LU Zone-Based Hierchical Link State Routing (ZHLS). An abstract
routing protocol and medium access protocol for mobile ad hoc networks Submitted for partial fulfillment of the requirements for the
degree of doctor of philosophy (Electrical engineering) in January 1999.; MARIO JOA-NG, I-TAI-LU A Peer-to-Peer Zone-Based TwoLevel Link State Routing for Mobile Ad Hoc Networks, IEEE Journal on Selected Areas In Communication, Vol. 17, No. 8, pp. 14151425, August 1999
GPSR (Greedy Perimeter Stateless Routing) - BRAD N. KARP, H. T. KUNG GPSR: Greedy Perimeter Stateless Routing for Wireless
Networks, Proceedings of the sixth annual ACM/IEEE International Conference on Mobile computing and networking (MobiCom '00),
pages 243-254, August 2000.
Slide 68
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Wait, there is more!
There were an additional 28 mesh network protocols
on Wikipedia alone.
Slide 69
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
The Zigbee Alliance does not work for free
The cost of admission!
Slide 70
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
802.15.4 Terminology
CCA clear channel assessment
MCPS MAC common part sublayer
MLME MAC sublayer management entity
O-QPSK offset quadrature phase-shift keying
PLME physical layer management entity
Slide 71
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
IEEE 802.15 .4 MAC/PHY Frame Format
Max 127 Bytes
Four frame types:
1.
Beacon
2.
Data
3.
MAC command
4.
Bytes:
2
1
0-20
variable
Frame Sequence Address
control number
info
Acknowledge
MAC
sub layer
Payload
MAC service
data unit
MAC Header
2
Frame check
sequence
MAC footer
MAC protocol data unit
Bytes:
4
Preamble
1
SFD
1
Max 127 Bytes
Length
PHY service data unit
PHY protocol data unit
Slide 72
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
MAC
frame
Sending Data
From Device to Coordinator ( coordinator always on )
•
•
Direct asynchronous ( no beacon / no GTS )
Direct synchronous ( beacon / GTS )
From Coordinator to Device
•
•
•
Direct asynchronous ( If Device is always on )
Direct synchronous ( beacon / GTS )
Indirect ( polling )
Slide 73
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Non Beacon network
• No syncronisation mechanisms are available
• All channel access is done through unslotted access
 Unslotted access means that only one CCA is made
• Beacon order shall be set to 0xF and superframe order is ignored
• 1 symbol = 16µs
Slide 74
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
SuperFrame Structure ( No GTS )
Slide 75
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
SuperFrame Structure ( GTS )
Slide 76
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Superframe example
Slide 77
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
CSMA
7.5.1.3 The CSMA-CA algorithm
The CSMA-CA algorithm shall be used before the transmission of data or
MAC command frames
transmitted within the CAP, unless the frame can be quickly transmitted
following the acknowledgment of a
data request command (see 7.5.6.3 for timing requirements). The CSMACA algorithm shall not be used for
the transmission of beacon frames, acknowledgment frames, or data
frames transmitted in the CFP.
Slide 78
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Beacon network
•
•
For dedicated bandwidth and low latency
Set up by network coordinator to transmit in predetermined intervals
 All channel access is relative to Beacon start, using slotted access at a backoffslot (backoffslot length = 20 symbols)
•
Slotted access means that two CCA’s are made
•
Beacons are not sent using CCA
 16 equal time slots in the active period (Beacon + CAP + CFP)
•
Channel access in the CAP is contention based i.e. with 2*CCA
•
Channel access in the CFP is contention free i.e. with no CCA
•
Up to 7 guaranteed time slots (GTS) can be allocated per CFP for Quality of Service
 May have an inactive period for coordinator power saving
 Beacon order (BO) and superframe order (SO) between 0 and 0xE
 Beacon interval = 2BO * 960 * 16µs (~16ms to ~252sec)
 Superframe length = 2SO * 960 * 16µs
Slot
Beacon frame
Contention
Access Period
Contention
Free Period
Inactive
Period
Slide 79
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Beacon Contents
The Beacon frame contains information for
•
•
•
•
•
•
Addressing
Superframe specification
GTS information
Addresses of devices with pending data
Beacon payload
Battery Life Extension
Slide 80
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Wireless Networking Basics
Network Scan
• Device scans the 16 channels to determine the best channel to occupy.
Creating/Joining a PAN
• Device can create a network (coordinator) on a free channel or join an existing
network
Device Discovery
• Device queries the network to discover the identity of devices on active
channels
Service Discovery
• Device scans for supported services on devices within the network
Binding
• Devices communicate via command/control messaging
Slide 81
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Associating
• Prepare the Coordinator to become associated
 macRxOnWhenIdle PIB is already set to TRUE
 macAssociationPermit PIB must be set to TRUE
• Prepare the Device to become associated
 Perform ED scan
Find out if a PAN is present
 Do Active scan to chose PAN to associate to
> Look at the PAN descriptor to chose correctly
 Initiate association procedure
Why associating
 The device gets a short address
 The NWK/APP gets information about the associated devices
From a MAC point of view association is not strictly necessary
 The MAC does not care
 Data can be transferred anyway if the PIB’s are set up correctly
>
•
•
Slide 82
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Freescale 802.15.4 MAC
Security
IEEE 802.15.4 MAC/PHY Training
May 2005
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Security Suite/Level
Level
Name
Encrypted
Integrity Check
Length (bytes)
Packet Length
Overhead (bytes)
0x00
N/A
No
0 (no check)
0
0x01
MIC-32
No
4
9
0x02
MIC-64
No
8
13
0x03
MIC-128
No
16
21
0x04
ENC
Yes
0 (no check)
5
0x05
ENC-MIC-32
Yes
4
9
0x06
ENC-MIC-64
Yes
8
13
0x07
ENC-MIC-128
Yes
16
21
Access Control is always present if sending secured
•
Conversely: Sending non-secured means no access control at the receiver
Freshness is optional according to the specification
Slide 84
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Freescale Security
A unit can contain a maximum of four ACL entries
ACL entries can be changed/added separately (instead of all at once) by using the
vendor-specific PIB attributes
• macACLEntryCurrent, macACLEntryExtAddress, macACLEntryShortAddress,
macACLEntryPanId, macACLEntrySecurityMaterialLength, macACLEntrySecurityMaterial,
and macACLEntrySecuritySuite
• The PIB’s are defined in NwkMacInterface.h
Security is not yet applied to beacon frames
The key always takes up 16 bytes. Insert don’t cares if using a shorter key
Slide 85
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Freescale 802.15.4 MAC library Device Types
Type
Description
FFD
Full Function Device
33,6 k
FFDNGTS
Full Function Device, No GTS
30,0 k
FFDNB
Full Function Device, No Beacon
24,3 k
FFDNBNS
Full Function Device, No Beacon, No Security
18,2 k
RFD
Reduced Function Device
25,8 k
RFDNB
Reduced Function Device, No Beacon
21,4 k
RFDNBNS
Reduced Function Device, No Beacon, No Security
15,3 k
√: Included in the device type
Grey fields: Not included according to the 802.15.4 spec
NA: Not included.
Code Size
[1] Data-Response done implicitly through the ack
[2] Get-confirm done implicitly through the direct call of get-request
[3] Reset-confirm done implicitly through the direct call of reset-request
[4] Set-confirm done implicitly through the direct call of set-request
Slide 86
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
EMG SMAC Overview
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
What is the EMG_SMAC
The EMG version of the SMAC is a custom version of the SMAC built off of SMAC 4.1.
It is NOT 802.15.4 or Zigbee. It is simply a PHY level user API and device driver for the MC13191 and MC13192 radio IC’s.
The User API has been designed for simplicity.
•
Only 16 user API functions ( no primitives )
•
Packet_Send( *data, number_of_bytes ) to send a packet
• Packet_Received( *rxstructure ) to receive a packet
The Firmware has also been architected for simplicity
•
Only 4 C files and 8 header files, no library files
•
Easier start project using Codewarrior new project wizard
Small
RAM FLASH
•
simple_phy.c.o
0
604
•
drivers.c.o
3
834
•
MC13192_hw_config.c.o
0
100
•
mcu_hw_config.c.o
0
148
•
3 bytes of RAM + packet size + stack
•
1686 bytes of FLASH
Hardware
•
SPI or
3 GPIO to communicate with radio
•
CE
1 GPIO Used for SPI communications
•
RTXEN 1 GPIO Not required but recommended
•
IRQ
1 GPIO Required for feedback from radio
•
ATTN
1 GPIO Not required unless using Hibernate mode in radio
•
RESET 1 GPIO Not required unless using Sleep mode in radio
•
5 pin minimum requirement from CPU – can be used with 8 pin micro
Audio over 802.15.4 support
•
Interrupt structure optimized for audio applications ( original SMAC disabled interrupts for almost 1 ms )
•
New API facilitates audio applications
Slide 88
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
EMG SMAC
Hardware
•
SPI or
3 GPIO to communicate with radio
•
CE
1 GPIO Used for SPI communications
•
RTXEN 1 GPIO Not required but recommended
•
IRQ
1 GPIO Required for feedback from radio
• ATTN
1 GPIO Not required unless using Hibernate mode in radio
•
RESET 1 GPIO Not required unless using Sleep mode in radio
•
5 pin minimum requirement from CPU – can be used with 8 pin micro
Audio over 802.15.4 support
•
Interrupt structure optimized for audio applications ( original SMAC disabled interrupts for almost 1 ms )
•
New API facilitates audio applications
Supported with 11 application examples
•
Simple Transmitter
•
Simple Receiver ( packet sniffer ) ( LAB )
•
Packet error rate test ( no ACKS )
• Frequency hopping learning remote control ( addressing and binding ) ( LAB )
•
Wireless UART ( non conical , multi_tx )
•
Wireless analog monitor ( used to monitor analog sensors )
•
Walkie Talkies
•
Half Duplex Voice level audio with 9600 baud control channel
•
Watch for more applications on Freegeeks.net
Slide 89
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
Zigbee / 802.15.4 / EMG SMAC
Zigbee
Standard defined by Zigbee Alliance
$999 per seat – ZStack
Includes everything in 802.15.4 + mesh network
> 32K of code
peer – peer, star, cluster, and mesh networks
802.15.4
Standard defined by IEEE 802.15.4
Download from Freescale.com
Includes addressing, ACKS, Association, Encryption, GTS
> 16K of code
peer-peer, start, cluster ( see demo ) networks
EMG_SMAC
RAW
Just use our parts
Includes audio support and simple addressing
< 2K of code ( what do you expect for < 2K of code )
Optimized for remote control and audio applications
peer-peer, star, cluster networks
Slide 90
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
MC1319x Family Transceivers
MC13191
Overview
Network Topology
Transfer Mode
MC13192
MC13193
Low cost 2.4GHz transceiver for
802.15.4 Compliant 2.4GHz
ZigBee-Ready 2.4GHz
proprietary applications (SMAC)
transceiver
transceiver
Buffered transmit and receive data packets for use with low cost MCUs
Low component count reduces complexity and cost
16MHz clock output available to MCU
Point-to-Point and Star
Peer-to-Peer, Star and Mesh
Packet
Packet and Streaming
Packet and Streaming
Throughput
Low Power Mode
Sensitivity
Power Supply
MCU Support
MCU Interface
Power Output
Operating Temp
Package
10 K Sugg. Resale
Shared Features
250Kbps 0-QPSK DSSS
Hibernate, Doze and Idle
-91
8-bit MCU
$2.28
-92dBm
2.0V to 3.4V
Optimized for 8-bit HCS08 Family
SPI Interface to MCU
-16.6 dBm to +3.6 dBm (software selectable)
-40 to +85 Operating Temperature
5x5 QFN-32 (Meets lead-free requirements)
$2.70
$3.26
MC13191Features
Slide 91
Freescale Semiconductor Confidential Proprietary. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor , Inc.
All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2004
MC13192/3 Features
Audio Over 802.15.4
VDDA
D
External to MCU
802.15.4 MAC
DEVICE
AD1
MIC
Pream
p
MIC
AC Coupling and DC
bias
802.15.4 MAC
COORDINATOR
Audio
Amp
PWM
Low Pass
Filter
External to MCU
Audio TX
VDDAD
External to MCU
A/D Converter
( 10 bit in 8 bit mode )
MIC
Preamp
MIC
AC Coupling and DC bias
A/D read in TPM2 overflow ISR
The TPM2 ISR creates an interrupt every
62.5us ( 16Khz sample rate )
100us ( 10khz sample rate )
125us ( 8khz sample rate )
In the interrupt the A/D value is read and stored
in the FIFO.
Sample Rate
Timer (TPM2)
Application Interface
This function extract a full packet
from the FIFO. This can be done using a zero copy
technique ( passing a pointer ) or just copying the
packet byte by byte into a TX buffer.
AD_data[4][ADBUFSIZE]
Stream to packet converter
FIFO
Application ( MAC )
The application function sends the packet to the
MAC.
This function is different depending on which level of firmware is
used ( EMG SMAC or MAC ).
Audio RX
void PWM_PutInRing(uint8_t data )
{
PWM_RingBuf[PWM_HeadBuf] = data;
PWM_HeadBuf = (PWM_HeadBuf+1) & (PWMBUFSIZE-1);
}
Ring Buffer input
case gMcpsDataInd_c:
if( (pMsgIn->msgData.dataInd.msdu[0] == 0) &&
(pMsgIn->msgData.dataInd.msdu[1] == MyShortAddress[1]) &&
(pMsgIn->msgData.dataInd.msdu[2] == MyShortAddress[0]) )
{
for( n=3; n<(pMsgIn->msgData.dataInd.msduLength); n++ )
PWM_PutInRing(pMsgIn->msgData.dataInd.msdu[n]);
inc_packet_counter();
connection_state = CONNECTION_STREAMING;
}
Application MAC
void inc_packet_counter( void )
{
if( packet_counter < 0xFF )
packet_counter++;
long_timer = 0;
}
Watermark
1 byte wide by 512 byte deep Ring Buffer FIFO
uint8_t PWM_GetFromRing(void)
{
uint8_t returnValue;
returnValue = PWM_RingBuf[PWM_TailBuf];
PWM_TailBuf = (PWM_TailBuf+1) & (PWMBUFSIZE-1);
return(returnValue);
}
Ring Buffer Output
interrupt void TPM2_OVERFLOW_ISR(void)
{
uint8_t data;
TPM2SC &= 0x7F; // Read, Clear bit 7, Write
if( packet_counter > 1 )
{
if( (PWM_HeadBuf != PWM_TailBuf) )
{
data = PWM_GetFromRing();
Set_PWM( 2, 0, data );
}
else
packet_counter = 0;
Timer ISR
}
Sample Rate Timer
(TPM2)
}
8 bit PWM
generator in
MCU
Fc = 62Khz
Audio
Amp
Low Pass Filter
External to MCU