Overview of the ZigBee Smart Energy capabilities of the TI Smart Meter Board and In-home Display Reference Designs. From Smart Grid Electronics Forum, San Jose, CA, October 2010
1. TI Smart Meter Board
Zin Thein Kyaw
Texas Instruments- Metering BU
Smart Grid Electronics Forum
October 18-20, 2010
San Jose, CA
2. Agenda
• Introduction
• ZigBee Smart Energy 101
• Example SE HAN Network
• Anatomy of the Smart Meter Board
• Anatomy of the In-Home Display
• Exchanging messages between host processor
and ZigBee module
• Conclusion
3. Introduction
• Texas Instruments “smart meter board” showcases embedded
processing, metrology, and communication modules for NAN
(neighborhood) and HAN (home area) networks
• Measures a real load on the mains connection and
communicate the reading to any in home display using ZigBee
• The ZigBee module uses the ZigBee Smart Energy profile for
over-the-air application level messaging
• Examine use cases for ZigBee Smart Energy as a
communications protocol in the home area network with some
ZigBee Smart Energy 101
• Discuss how to tunnel application level messages between the
host processor and the ZigBee module to achieve
communication between the smart meter and the in-home
display
4. ZigBee Smart Energy 101
• ZigBee Smart Energy is a ZigBee Alliance public
application profile that defines commands and attributes
for the following device types:
– Energy Service Portal (ESP) – The ESP is the device that acts as
a gateway into the home and manages the ZigBee Smart Energy
HAN
– In-Premise Display (IPD) – The IPD is a device that presents
energy consumption data and price information to the end user
either by text or graphical means
– Metering Device – These are typically metering devices such as
gas, water, and heat meters
5. ZigBee Smart Energy 101 (cont.)
• Programmable Communicating Thermostat (PCT) – Device used to
control the cooling and heating systems of the home
• Load Control Device – A device such as a pool pump or water heater
that is capable of receiving demand response and load control events
from the utility head end
• Smart Appliance – Like a load control device, a smart appliance
could be a washer, dryer, oven that is capable of receiving demand
response or pricing events from the utility head end
• Range Extender – A range extender has no other purpose than to be
a router device for other devices in the HAN
6. ZigBee Smart Energy 101 (cont.)
• A cluster is a ZigBee term for a collection of commands
and attributes specific to a particular behavior
• In ZigBee Smart Energy, the following clusters are
supported:
– Price – Provides functionality to convey price information from the
utility head end
– Demand Response and Load Control (DRLC) - Provides
functionality for devices such as thermostats and other devices
that perform load control
– Simple Metering - Provides functionality to retrieve usage data
from electric, gas, water metering devices
7. ZigBee Smart Energy 101 (cont.)
• Message – Provides functionality to deliver text messages
• Time – Provides functionality to synchronize time between the time
server (ESP) and other devices. UTC is used as the common time
base
• Key Establishment – Provides functionality for establishing a link key
for secure application level communication between pairs of devices
8. Example SE HAN Network
In remise isplay hows onsumption, rice ignals
P D s c p s
and ext messages rom SP
t f E
• All communication with the ESP
(e-meter) is secured at the
In‐Premise Display (IPD)
application layer with the link
ESP Sends PCT L oad Control Event to c ontrol HVAC key established via Certificate
Based Key Establishment
Programmable
Communicating
(CBKE)
Thermostat (PCT)
• AES-128 block cipher is used to
Smart ppliances hows rice, ext
A s p
messages rom SP
f E
t
encrypt packets, the key is the
established link key
ESP (E‐Meter) Smart Appliance
Simple etering evice eports urrent
M D R C
Summation elivered ttribute eriodically
D A P
Simple Metering Device
(Gas, Water, Heat)
9. Anatomy of the Smart Meter Board
• To provide real time metering
updates to the ZigBee module,
the applications processor can
use either UART or SPI
• A device such as a ZigBee
Smart Energy in-home display
(IHD) can query the smart
meter board for metering data
such as instantaneous demand
• This information is delivered to
the in-home display as the
InstantaneousDemand attribute
(defined within the ZigBee
Smart Energy Profile’s simple
metering cluster)
10. Anatomy of the In-Home Display
• IHD reference design based on
the MSP430F4619 and the
CC2530 ZigBee SoC (System-
on-Chip)
• The ZigBee Smart Energy
firmware inside the CC2530 is
queries the smart meter board
for the instantaneous demand
and output the values to the
MSP430 application processor
via UART
• The MSP430 displays the
instantaneous demand value on
the LCD
11. System Block Diagram
Smart Meter
Board Read Attribute Request for In‐Home Display
Instantaneous Demand
ZB Read Attribute Response for ZB MSP430
Instantaneous Demand
MSP430 LCD
LCD
LOAD
• Shows system level interaction between the Smart Meter Board and
the In-Home Display using the ZigBee Smart Energy Profile
• The IHD performs a read attribute request to query for the
instantaneous demand attribute, receives the value in the read
attribute response, then tunnels the data to the MSP430 which
displays it on the LCD
• The protocol used by the host processor to facilitate this transaction is
discussed next
12. Exchanging messages between host processor
and ZigBee module
• The TI Z-Stack provides a transport layer to allow
a host processor to exchange application data
with the application inside the ZigBee module
• This transport layer is called the “Z-stack Monitor
and Test API”, or “MT” for short
• The protocol format discussed here assumes
UART communications, although SPI can be
supported as well with some minor differences to
the protocol format (i.e. SOF and FCS bytes are
not required for SPI mode)
13. Exchanging messages between host processor
and ZigBee module (cont.)
• SOF (Start of Frame): This is a one byte field with value equal to 0xFE
that defines the start of each general serial packet
• MT CMD (Monitor Test Command): This contains 1 byte for the length
of the actual data, 2 bytes for the MT command Id, and the data
ranging from 0-250 bytes
• FCS (Frame Check Sequence): This is a one byte field that is used to
ensure packet integrity. This field is computed as an XOR of all the
bytes in the message starting with LEN field and through the last byte
of data. The receiver XORs all the received data bytes as indicated
above and then XORs the received FCS field. If the sum is not equal
to zero, the received packet is in error
14. Exchanging messages between host processor
and ZigBee module (cont.)
• To tunnel messages into the Z-Stack /****************************************************************
* @fn esp_ProcessAppMsg
application, the host processor uses the *
APP_MSG MT command * @brief Process MT SYS APP MSG to retrieve link key
*
* @param msg - pointer to message
*
* @return none
*/
static void esp_ProcessAppMsg( uint8 *msg )
{
• The host processor application can create switch (msg[6])
{
its own payload format within the case SET_INST_DEMAND: // set attribute data for instantaneous
highlighted “Message” field that has an demand
espInstantaneousDemand = BUILD_UINT24(msg[7], msg[8],
associated “MsgLen” msg[9]);
• In this example, the Z-Stack application break;
case USER_DEFINED_CMD:
sees a ‘SET_INST_DEMAND’ in the first // do something
byte of the “Message” payload to mean }
break;
that this is a set of the local }
InstantaneousDemand attribute
• The MSP430 sends this command every
couple of seconds to update this attribute
in the ZigBee module
• The ZigBee module on the IHD
asynchronously queries for this attribute
over the air using a “read attribute
request”
15. Exchanging messages between host processor
and ZigBee module (cont.)
• The ZigBee module on the IHD shuttles the payload data to the MSP430 for
display using the DEBUG_MSG MT command
• The DEBUG_MSG MT command is a very convenient way to tunnel application
messages received over the ZigBee network back to the host processor
• In this example, the response to the read attribute request containing the
instantaneous demand metering data is sent via UART using the DEBUG_MSG
packet format
• The Z-stack application can call the following API function at any time to tunnel
application payload messages to the host processor:
– MT_BuildAndSendZToolResponse(((uint8)MT_RPC_CMD_AREQ | (uint8)MT_RPC_SYS_DBG),
MT_DEBUG_MSG, METER_DATA_LEN, meterData);
16. Conclusion
• Provided an overview of the ZigBee Smart Energy
application profile and examined use cases in the
HAN
• Discussed the system level interactions between
the smart meter board and in-home display to
provide current consumption data to the user
• Discussed how to use the Z-Stack MT Interface,
which provides an easy way to tunnel messages
to and from a host processor
17. References
• ZigBee Smart Energy Profile Specification,
075356r15ZB_AMI_PTG-AMI_Profile
Specification.pdf, ZigBee Alliance
• ZigBee Specification, 053474r17ZB_TSC-ZigBee-
Specification.pdf, ZigBee Alliance
• Z-Stack Smart Energy Developer’s Guide,
SWRA216, Texas Instruments
• Z-Stack Monitor and Test API, SWRA198, Texas
Instruments