DRM103 Designer Reference Manual Devices Supported: MMA7361L MMA7455L MMA7660FC Document Number: DRM103 Rev. 2 11/2009 Safety of Radio Frequency Energy The manufacturer has evaluated the transmitter for safe operation for uncontrolled use in the general population. The measured power density at 1 cm is under the threshold established by the FCC and is not required to be tested for specific absorption rate. The manufacturer instructs the user that the transmitter should not be handled or placed near the body continuously for more than 30 minutes while operating. USA: NOTE: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures: – Reorient or relocate the receiving antenna. – Increase the separation between the equipment and receiver. – Connect the equipment into an outlet on a circuit different from that to which the receiver is connected. – Consult the dealer or an experienced radio/TV technician for help. This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. Changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate the equipment. The antenna(s) used for this transmitter must not be co-located or operating in conjunction with any other antenna or transmitter. Canada: This digital apparatus complies with Canadian ICES-003. Cet appareil numérique est conforme à la norme NMB-003 du Canada. Europe: Compliant (CE) Rev. 2 Contents Chapter 1 Introduction 1.1 Introduction ................................................................................................................................... 11 Chapter 2 ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction 2.1 Introduction ................................................................................................................................... 13 2.2 Features of ZSTAR3 ...................................................................................................................... 15 2.3 Featured Products ......................................................................................................................... 15 2.3.1 Triple Axis Analog Accelerometer MMA7361L .................................................................. 15 2.3.2 Triple Axis Digital Accelerometer MMA7455L ................................................................... 16 2.3.3 Triple Axis Digital Accelerometer MMA7660FC ................................................................ 17 2.3.4 The SiP (System in Package) MC13213 .......................................................................... 18 Chapter 3 ZSTAR3 Sensor Board Description 3.1 Board Overview ............................................................................................................................. 21 3.2 Accelerometric Sensor SW Controller ........................................................................................... 23 3.2.1 Multi Sensor Support Software Model .............................................................................. 23 3.2.2 Auto Calibration Process .................................................................................................. 24 3.2.3 Analog Sensor Software Support ..................................................................................... 24 3.2.4 Digital Sensor Software Support ....................................................................................... 24 3.2.5 Power Management .......................................................................................................... 25 3.2.6 MC13213 Modem Power Management Features ............................................................. 27 3.3 ZSTAR Sensor Board Hardware Overview ................................................................................... 27 3.3.1 Sensors Power Supply ...................................................................................................... 27 3.3.2 Analog Sensor Connection ............................................................................................... 27 3.3.3 MMA7455L Sensor Connection ........................................................................................ 28 3.3.4 MMA7660FC Sensor Connection ..................................................................................... 29 3.3.5 BDM (Background Debug Mode) Connections ................................................................. 29 3.3.6 Button Connections .......................................................................................................... 29 3.3.7 MC13213 RF Interface ...................................................................................................... 30 3.3.8 Clocking Options for the MC13213 ................................................................................... 31 3.3.9 LED Indicator .................................................................................................................... 31 3.3.10 Power Supply .................................................................................................................. 31 3.4 New PCB Revision 00288_04 ....................................................................................................... 32 3.5 Bill of Materials .............................................................................................................................. 33 3.6 ZSTAR3 Schematic - revision 00288_02 ....................................................................................... 36 3.7 ZSTAR3 Schematic - Revision 00288_04 ..................................................................................... 37 Chapter 4 USB Stick Board Description 4.1 Board Overview ............................................................................................................................. 39 DRM103, Rev. 2 Freescale Semiconductor 3 Chapter 5 Software Design 5.1 Introduction ................................................................................................................................... 41 5.2 Simple Media Access Controller (SMAC) ...................................................................................... 41 5.2.1 SMAC Features ................................................................................................................ 41 5.2.2 Modifications of SMAC for ZSTAR3 RF Protocol .............................................................. 41 5.2.2.1 New Targets Added to SMAC ............................................................................... 42 5.2.2.2 New Functions Added to SMAC ........................................................................... 42 5.3 The ZSTAR3 RF Protocol .............................................................................................................. 42 5.3.1 ZSTAR3 RF Protocol Features ......................................................................................... 42 5.3.2 Zpacket Format ................................................................................................................. 43 5.3.2.1 Network Number (NetNum) .................................................................................. 43 5.3.2.2 RX Strength .......................................................................................................... 44 5.3.2.3 Zcommand ........................................................................................................... 44 5.3.2.4 Zdata .................................................................................................................... 45 5.3.3 Original ZSTAR Zcommand Description ........................................................................... 45 5.3.4 ZSTAR3 Protocol Zcommand Description ........................................................................ 45 5.3.4.1 ZSTAR3_DATA ..................................................................................................... 45 5.3.4.2 ZSTAR3_ACK ....................................................................................................... 45 5.3.4.3 ZSTAR3_CONNECT ............................................................................................ 45 5.3.4.4 ZSTAR3_ION ........................................................................................................ 46 5.3.4.5 ZSTAR3_PYLON .................................................................................................. 46 5.3.5 ZSTAR3 Protocol SubCommands Description ................................................................. 46 5.3.5.1 ZSTAR3_GUI ........................................................................................................ 46 5.3.5.2 ZSTAR3_MODE ................................................................................................... 46 5.3.5.3 ZSTAR3_OFF ....................................................................................................... 46 5.3.5.4 ZSTAR3_GSEL .................................................................................................... 46 5.3.5.5 ZSTAR3_DATARATE ............................................................................................ 47 5.3.5.6 ZSTAR3_NETNUM ............................................................................................... 47 5.3.5.7 ZSTAR3_FLAG ..................................................................................................... 47 5.3.6 ZSTAR3 RF Protocol Description ..................................................................................... 47 5.3.6.1 Typical One Period of ZSTAR3 RF Protocol ......................................................... 48 5.3.6.2 The ZSTAR3 RF protocol LED indication ............................................................. 49 5.4 ZSTAR3 USB Protocol - Extended STAR Protocol ........................................................................ 50 5.4.1 Subset of Original STAR Protocol Commands ................................................................. 50 5.4.2 Subset of Original ZSTAR Protocol Commands ............................................................... 51 5.4.3 Subset of Newly Added ZSTAR3 Protocol Commands ..................................................... 52 5.4.4 Burst Mode ....................................................................................................................... 54 5.4.5 Automatic Self-Calibration ................................................................................................ 55 5.5 Compatibility with Original ZSTAR ................................................................................................ 55 5.6 Bootloader ..................................................................................................................................... 55 5.6.1 Switch to Bootloader Procedure ....................................................................................... 55 5.6.2 Bootloading Procedure ..................................................................................................... 56 5.7 Tri-application Software on the USB Stick ..................................................................................... 58 5.7.1 CDC - Virtual Serial Port Application ................................................................................ 59 5.7.2 HID - Mouse Application ................................................................................................... 59 5.7.3 HID - Keyboard Application ............................................................................................... 60 5.7.4 Application Switching ........................................................................................................ 61 DRM103, Rev. 2 4 Freescale Semiconductor 5.8 ZSTAR PC library .......................................................................................................................... 62 Chapter 6 Application Setup 6.1 ZSTAR3 Installation Procedure ..................................................................................................... 65 6.1.1 USB stick Installation ........................................................................................................ 65 6.1.2 AN2295 Bootloader Drivers Installation ............................................................................ 68 Chapter 7ZSTAR3 GUI 7.1 Installation ..................................................................................................................................... 71 7.2 ZSTAR3 GUI ................................................................................................................................. 74 7.2.1 Features of ZSTAR GUI .................................................................................................... 74 7.2.2 The ZSTAR3 GUI Main Controls ....................................................................................... 75 7.2.2.1 USB Data Flow Monitor ........................................................................................ 75 7.2.3 Sensor Board Overview Screen ....................................................................................... 76 7.2.4 RF Overview Screen ......................................................................................................... 77 7.2.5 General Sensor Tasks ...................................................................................................... 78 7.2.5.1 Scope Demo Application ...................................................................................... 79 7.2.5.2 Acquire Data Demo Application ........................................................................... 80 7.2.6 Tilt Tasks ........................................................................................................................... 81 7.2.6.1 Filtered Tilt Demo Application .............................................................................. 82 7.2.7 Motion Tasks ..................................................................................................................... 83 7.2.8 Freefall Task ...................................................................................................................... 84 7.2.9 Shock Tasks ...................................................................................................................... 85 7.2.10 MMA7455L Tasks ........................................................................................................... 86 7.2.10.1 Sensor Registers Demo Application ................................................................... 87 7.2.11 MMA7660FC Tasks ........................................................................................................ 88 7.2.11.1 Orientation Detection Demo Application ............................................................ 89 7.2.11.2 Tap Detection Demo Application ........................................................................ 90 7.2.11.3 Power management control box of the MMA7660FC ......................................... 91 7.2.12 Freescale Web Links. ...................................................................................................... 92 7.3 The ZSTAR3 GUI Update USB Stick Software Utility .................................................................... 93 7.3.1 Update Process (Manual Start) ........................................................................................ 93 Appendix A References DRM103, Rev. 2 Freescale Semiconductor 5 DRM103, Rev. 2 6 Freescale Semiconductor Figures The ZSTAR Demo Migration Photo (CR2032 batteries for comparison) .................................... 11 ZSTAR3 Sensor Board ............................................................................................................... 13 ZSTAR3 Block Diagram.............................................................................................................. 14 Block diagram of MMA7455L...................................................................................................... 17 Block diagram of MMA7660FC ................................................................................................... 18 ZSTAR3 Sensor Board Overview ............................................................................................... 21 Sensor Board Block Diagram...................................................................................................... 22 ZSTAR3 Sensor Board Software Overview ................................................................................ 23 Transmission/Sleep Cycle Details with a Basic 30 Hz Data Rate............................................... 26 BDM Connector Layout............................................................................................................... 29 ZSTAR3 Antenna Layout ............................................................................................................ 30 Connection Between Antenna and RF Modem........................................................................... 31 The new revision of ZSTAR3 sensor PCB vs. old one ............................................................... 32 USB stick Board Overview.......................................................................................................... 39 The USB Stick Software Overview ............................................................................................. 40 Zpacket Format........................................................................................................................... 43 ZSTAR3_PYLON Zdata Format ................................................................................................. 46 ZSTAR3 RF Protocol Period....................................................................................................... 48 CDC Application Signs (device manager, indication LED) ......................................................... 59 Mouse Application Signs (device manager, indication LED) ...................................................... 60 Keyboard Application Signs (device manager, indication LED).................................................. 61 PC Software Composition Overview........................................................................................... 62 Example Demo Application Based on zstarlib.dll........................................................................ 63 Installation Files .......................................................................................................................... 71 Start of the Installation ................................................................................................................ 72 Second Step of the Installation Process - Select Destination Directory...................................... 73 Last step of the Installation Process ........................................................................................... 74 The ZSTAR3 GUI Main Controls ................................................................................................ 75 USB Data Flow Monitor .............................................................................................................. 75 Main Sensor Board Overview Screen of the GUI ....................................................................... 76 RF Overview Screen................................................................................................................... 77 The General Sensor Tasks Screen............................................................................................. 78 Scope Window Application ......................................................................................................... 79 Acquire Data Window ................................................................................................................. 80 The Tilt Tasks Screen. ................................................................................................................ 81 Filtered Tilt Demo Application ..................................................................................................... 82 The Motion Tasks Screen ........................................................................................................... 83 The Freefall Task Screen............................................................................................................ 84 The Shock Tasks Screen............................................................................................................ 85 The MMA7455L Tasks Screen ................................................................................................... 86 Sensors Registers Application Screen........................................................................................ 87 The MMA7660FC Tasks Screen................................................................................................. 88 The MMA7660FC Orientation Application Screen ...................................................................... 89 The MMA7660FC Tap Detection Application Screen ................................................................. 90 The MMA7660FC power management control box .................................................................... 91 The Links Screen ........................................................................................................................ 92 Update Software Procedure - Step 1 .......................................................................................... 93 Update Software Procedure - Step 2 .......................................................................................... 93 Update Software Procedure - Step 3 .......................................................................................... 94 Update Software Procedure - Step 4 .......................................................................................... 94 Update Software Procedure - Step 5 .......................................................................................... 95 Original Bootloader Application................................................................................................... 95 Tables Sensor Board Bill of Materials - MMA7361LT Sensor Version .................................................. 33 Sensor Board Bill of Materials - MMA7455L Sensor version ..................................................... 34 Sensor Board Bill of Materials - MMA7660FC Sensor version .................................................. 35 Original ZSTAR Commands Zcommand List ............................................................................. 44 ZSTAR3 Main Commands Zcommand List ............................................................................... 44 ZSTAR3 Subcommands Zcommand List ................................................................................... 45 Legend of Colors ........................................................................................................................ 50 Original STAR Commands ......................................................................................................... 51 Legend of Colors ........................................................................................................................ 51 Legend of Colors ........................................................................................................................ 52 Original ZSTAR Commands ...................................................................................................... 52 New ZSTAR3 Commands (general commands) ........................................................................ 53 New ZSTAR Commands (Digital Sensor part) ........................................................................... 54 Introduction Chapter 1 Introduction 1.1 Introduction This paper describes the next generation of a Wireless Sensing Triple Axis Reference Design (ZSTAR). This demo represents a wireless demonstration of the 3-axes accelerometer sensors, the MMA7455L (RD3172MMA7455L), the MMA7361L (RD3172MMA7361L) and the MMA7660FC (RD3172MMA7660FC) from Freescale. ZSTAR3 is the successor to the previous Freescale demo ZSTAR and is fully compatible with it. The Demo is built on a new generation of Freescale parts and brings some new extended functionalities. The reference design will enable you to see how Freescale's accelerometers can add additional functionality to applications in various industries. The accelerometer measurements can be grouped into 6 sensing functions - Fall, Tilt, Motion, Positioning, Shock and Vibration - for multifunctional applications. The RD3172MMA7455L / RD3172MMA7361L / RD3172MMA7660FC development tool offers robust wireless communication using the powerful, easy-to-use 2.4 GHz frequency transceiver and microcontroller in the one package MC13213. Without any changes on board, it can be made with pin to pin compatibility allowing implementation of the MC13214 for ZigBee® wireless applications. Only the sensor board was updated completely, as the receiver used is still the USB stick from the previous generation of ZSTAR, but new software was developed that supports all the new functionalities. ZSTAR3 ZSTAR Figure 1-1. The ZSTAR Demo Migration Photo (CR2032 batteries for comparison) DRM103, Rev. 2 Freescale Semiconductor 11 Introduction DRM103, Rev. 2 12 Freescale Semiconductor ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction Chapter 2 ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction 2.1 Introduction The Wireless Sensing Triple Axis Reference Design (ZSTAR3) was designed as a new generation of the previous ZSTAR (RD3152MMA7260Q) demo. A 2.4 GHz Radio Frequency (RF) link is also used in this new demo and its based on the new solution modem and microcontroller in one package MC13213 family. It’s used for connection between the sensor and PC, allowing visualization of key accelerometer applications as in the previous demo. Figure 2-1. ZSTAR3 Sensor Board The demo consists of two boards (a new one and an older one with new software): • Sensor Board (or remote board) is a new board designed for demonstrating Freescale’s new 3-axes accelerometer solution for digital (MMA7455L, MMA7660FC) and analog (MMA7361LT) accelerometric data sensing, and the 2.4 GHz RF modem with an HCS08 microcontroller in a one package solution as an easy design for remote sensors. • USB stick, with the MC13191 RF front-end, and the HC08 family MCHC908JW32 for the USB communication. This board is used from the older ZSTAR demo, but with new software. Both sides communicate over the RF medium utilizing the freely available lightly modified software stack Simple Media Access Control (SMAC) from Freescale. DRM103, Rev. 2 Freescale Semiconductor 13 ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction ZSTAR3 Sensor Board MC13213 MMA7361LT/ MMA7455L 2.4GHz ZSTAR3 GUI MC13191 HC908JW32 ZSTAR USB Stick Figure 2-2. ZSTAR3 Block Diagram DRM103, Rev. 2 14 Freescale Semiconductor ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction 2.2 • • • • • • • • • • • • • • • 2.3 Features of ZSTAR3 Sensing acceleration in 3 axes Handles digital and analog sensors Wireless communication with sensors through the 2.4 GHz band RF protocol supports 16 sensors per one USB stick (receiver) Star topology of the RF network Data rate of a sensor is 30, 60 or 120 Hz Typical wireless range is 20 m, two walls or one floor Auto calibration function of the sensor USB communication on the receiver part — Virtual serial port - interface for the GUI and serial port terminal — HID class - mouse for windows — HID class – keyboard (game controller) 8-bit/16-bit working modes 3 push buttons on the sensor board Current consumption: — in normal run mode: 1.8 - 3.9 mA, depending on the actual data rate — in sleep mode: less than 900 nA Power consumption depends on the current output values of the sensor. At a standstill, the board transmits only every 10th packet Sensor Board is powered by a coin-sized CR2032 3 V battery Small size board fits a circular plastic box. Featured Products This demo consists of several Freescale products whose main features are listed below. It is made up of two accelerometers, because the sensor board can be assembled with digital or analog Freescale accelerometers. 2.3.1 Triple Axis Analog Accelerometer MMA7361L The MMA7361LT is a low power, low profile capacitive micromachined accelerometer featuring signal conditioning, a 1-pole low pass filter, temperature compensation, self-test, 0g-detect which detects linear freefall, and g-Select which allows for the selection between 2 sensitivities. Zero-g offset and sensitivity are factory set and require no external devices. The MMA7361LT includes a sleep mode that makes it ideal for handheld battery powered electronics. Features: • 3 x 5 x 1.0 mm LGA-14-pin package • Low current consumption: 400 µA • Sleep mode: 3 µA • Low voltage operation: 2.2 V - 3.6 V DRM103, Rev. 2 Freescale Semiconductor 15 ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction • • • • • • • • • 2.3.2 High sensitivity (800 mV/g at 1.5g) Fast turn on time (0.5 ms enable response time) Self-test for freefall detect diagnosis 0g-Detect for freefall protection Signal conditioning with low pass filter Robust design, high shocks survivability RoHS compliant Environmentally preferred product Low cost Triple Axis Digital Accelerometer MMA7455L The MMA7455L is a digital output (I2C/SPI), low power, 3 x 5 x 0.8 mm low profile package capacitive micromachined accelerometer featuring signal conditioning, a low pass filter, temperature compensation, self-test, configured to detect 0g through interrupt pins (INT1 or INT2), and pulse (click) detect for quick motion detection. The 0g offset can be customer calibrated using assigned 0g registers and g-Select which allows for command selection of 3 sensitivities (2g/4g/8g). Zero-g offset and sensitivity are factory set and require no external devices. The MMA7455L includes a standby mode that makes it ideal for handheld battery powered electronics. Features: • Digital output (I2C/SPI) for processor system performance • Low-profile 14-pin 3 x 5 x 0.8 mm LGA package • LGA volume is 77 percent smaller than a Quad Flat No-Lead (QFN) package • XYZ: three axes of sensitivity in one device (2g, 4g, 8g) • Low current consumption: 400 µA • Standby mode: 5 µA • Low-voltage operation: 2.4 V - 3.6 V • Customer assigned registers for offset calibration • Programmable threshold interrupt output • Level detection for motion recognition (shock, vibration, freefall) • Single or double click (pulse) recognition • High sensitivity — 64 LSB/g at 2g — 64 LSB/g at 8g in 10-bit mode DRM103, Rev. 2 16 Freescale Semiconductor ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction Figure 2-3. Block diagram of MMA7455L 2.3.3 Triple Axis Digital Accelerometer MMA7660FC The MMA7660FC is a Digital Output (I2C), very low power, low profile capacitive micro machined accelerometer featuring a low pass filter, compensation for 0g offset and gain errors, and conversion to 6bit digital values at a user configured output data rate. The device can be used for sensor data changes, product orientation, and gesture detection through an interrupt pin (INT). The device is housed in an extremely small 3 x 3 x 0.9 mm DFN package. Features: • Digital Output (I2C) • 3 x 3 x 0.9 mm DFN package • Low Power Current Consumption — Off Mode: 0.4 µA — Standby Mode: 2 µA — Active Mode: Configured down to 47 µA • Low Voltage Operation: 2.4 V – 3.6 V • 3-Axis ±1.5 g MEMS Sensor and CMOS Interface Controller Built Into One Package • Configured Output Data Rate From 1 to 120 Samples A Second • Auto Wake/Sleep Feature for Low Power Consumption • Tilt Orientation Detection for Portrait/Landscape Capability • Gesture Detection Including Shake Detection and Pulse Detection • Robust Design, High Shocks Survivability (10,000 g) • RoHS Compliant • Environmentally Preferred Product • Low Cost DRM103, Rev. 2 Freescale Semiconductor 17 ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction Figure 2-4. Block diagram of MMA7660FC 2.3.4 The SiP (System in Package) MC13213 The MC13213 System in Package (SiP) integrates the MC9S08GT MCU with the MC1320x transceiver into a single 9 x 9 mm LGA package. The MC13213 provides 60 K Flash memory and 4 K of RAM. By using the IEEE® 802.15.4 Compliant MAC, or BeeStack™ ZigBee Protocol Stack, the MC13213 is an ideal solution for sensing and control applications that require mesh networking. Features: • 40 MHz HCS08 low-voltage, low-power core • 60 KB Flash and 4KB RAM memory • Seven addressing modes for the CPU • Multiple 16-bit timers • 2 V to 3.4 V operating voltage with on chip voltage regulator • -40 to +85 °C operating temperature • Low external component count • Requires a single 16 MHz crystal • Programmable frequency clock output for MCU • Auto-trim feature for crystal accuracy • Eliminates the need for external variable capacitors • Allows for automated production frequency calibration • 9 x 9 x 1 mm 71-pin LGA package • RoHS compliant • Up to 38 GPIO’s DRM103, Rev. 2 18 Freescale Semiconductor ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction • • • • • • • • • • • • • • • • • • • • 8-bit port KeyBoard Interrupt (KBI) 8-channel 10-bit Analog-to-Digital Converter (ADC) Two independent Serial Communication Interfaces (SCI) supporting up to 115.2 kBaud Inter-integrated circuit (I2C) with 100 kbps maximum bus loading Internal Clock Generator (ICG) at 100 kHz or 16 MHz (including internal reference generator) Low-voltage detection In-circuit debug and Flash programming available via on-chip background debug module (BDM) Programmable Low Voltage Interrupt (LVI) Common On-chip Processor (COP) watchdog timer Operates in the 2.4GHz band 250 kbps O-PQSK modulation 16 selectable channels 0 dBm nominal output power Programmable from -27 dBm to +3 dBm Receive sensitivity of -92 dBm (typical) at 1% PER Integrated transmit/receive switch Supports single-ended or full differential operation Supports external Low-Noise Amplifier (LNA) and/or Power Amplifier (PA) Three lower power modes for increased power life Supports streaming and data processing modes Software Features: • • • Simple MAC — Small memory footprint (< 4 KB) — Supports point-to-point and star network configurations — ANSI C source code IEEE 802.15.4 compliant MAC — Supports star, mesh and cluster tree topologies — Supports beaconed and non-beaconed networks — Supports Guaranteed Time Slots (GTS) for predicable latency — 128-bit Asymmetric Encryption Standard (AES) — Object Code BeeStack ZigBee Protocol Stack — ZigBee 2006 Compliant Platform — Object Code DRM103, Rev. 2 Freescale Semiconductor 19 ZSTAR3 Wireless Sensing Triple Axis Reference Design Introduction DRM103, Rev. 2 20 Freescale Semiconductor Chapter 3 ZSTAR3 Sensor Board Description 3.1 Board Overview The Sensor Board utilizes a small footprint size dual-layer Printed Circuit Board (PCB) containing all the necessary circuitry for both accelerometer sensors and transferring data over a Radio Frequency (RF). Buttons MC13213 Crystal MMA7455L / MMA7361LT LED indicator PCB antennas Lithium battery on the opposite side Figure 3-1. ZSTAR3 Sensor Board Overview1 1. This is valid for 00288_02 PCB revision (black edition). For new revision (00288_04) see chapter 3.4 New PCB Revision 00288_04. DRM103, Rev. 2 Freescale Semiconductor 21 ZSTAR3 Sensor Board Description The board is powered by a Lithium coin-sized CR2032 battery. The block diagram of the board is as follows: Power MC13213 SiP - System in Package MCU + RF MMA7455L MMA7660FC MMA7361LT Antenna Accelerometer CR2032 Lithium Battery Figure 3-2. Sensor Board Block Diagram1 Figure 3-3 shows in more detail, how different software and hardware modules cooperate with each other. The main task of the Sensor Board is to: • Periodically wake-up from power saving mode • Measure all three XYZ acceleration values from the Sensor • Compose a data frame using simple The ZSTAR3 RF Protocol • Use Simple Media Access Controller (SMAC) to send this data frame over the RF link • Go to sleep. This basic loop repeats 30 times per second (period is 33.333 ms) providing nearly a real-time response from the Sensor. 1. The MMA7660FC is supported by new PCB with revision code 00288_04. DRM103, Rev. 2 22 Freescale Semiconductor ZSTAR3 Sensor Board Description LED GPIO Buttons KBI GPIO Sensor I2C Data Buffer RF Protocol Handler S M A C RF modem 2.4GHz Sensor data collector and driver ADC Figure 3-3. ZSTAR3 Sensor Board Software Overview For the Sensor Board operation, several of the MC13213’s hardware modules are used: Analog-to-Digital Converter (ADC), Synchronous Peripheral Interface (SPI), External Interrupt Request (IRQ), Keyboard Interrupts and General Purpose Input/Output (GPIO). 3.2 Accelerometric Sensor SW Controller Reading of the XYZ levels and all other operations with sensor is dependent on the currently assembled sensor. The ZSTAR3 sensor board supports two types of Freescale accelerometric sensors, analog (MMA7361L) and digital (MMA7455L, MMA7660FC1). The assembled sensor is powered by the MCU I/O pins, because the solution achieves lowest power consumption in sleep mode. 3.2.1 Multi Sensor Support Software Model All common sensor control functions are physically created as a single functions. Each type of sensor has own function designed for sensor needs. The main software only uses volatile pointers to these functions, which are assigned within program initialization, by the Recognise_Sensor()function. This function recognizes an assembled sensor and assigns the correct function address of functions to the volatile RAM pointers. For example, in this way the analog sensor uses the ADC to read XYZ sensor values of sensor and the digital sensor uses the digital interface, but in the source code there is only one line: p_Read_Accelerometer((void*) &(accel_data[0].x)). 1. The MMA7660FC is supported by new PCB with revision code 00288_04. DRM103, Rev. 2 Freescale Semiconductor 23 ZSTAR3 Sensor Board Description 3.2.2 Auto Calibration Process The software uses for both types of sensor an auto calibration process to get the offset calibration values. It uses a simple 0g X, 0g Y, +1g Z auto calibration method. The sensor board runs the auto calibration process for each g scale of the sensor, and thus uses an individual set of calibration values for each g scale. For more details, see Freescale application note AN3447, “Implementing Auto-Zero Calibration Techniques for Accelerometers” at www.freescale.com. 3.2.3 Analog Sensor Software Support The 3-axis accelerometer sensor MMA7361L provides three separate analog levels for the X, Y and Z axis. These outputs are ratiometric, which means that the output offset voltage and sensitivity will scale linearly with the applied supply voltage. This is a key feature when interfacing to a microcontroller with A/D converter reference levels tied to a power supply, because it provides a system level cancellation of supply induced errors in the analog-to-digital conversion process. During the analog-to-digital conversion in the microcontroller, 10-bit resolution is used. MC13213 A/D channels 0, 1 and 2 are connected to X (channel 1), Y (channel 2) and Z (channel 0) outputs of the MMA7361L. The microcontroller’s APCTL1 register enables these ADC channels for I/O pin control by the ADC module. The ADCCFG register controls the selected mode of operation, clock source, clock divide, and configuration for low power or long sample times. The MMA7361L sensor implements a digital output for the freefall detection module. This output is connected directly to the KeyBoard Interrupt (KBI) module and it’s used as the default source for freefall detection. 3.2.4 Digital Sensor Software Support The ZSTAR3 sensor board provides support for sensors with digital interface. The interface contains pins routed to KBI, I2C and general GPIO pins. So the interface can handle hardware I2C bus1, or any other standard that can be handled by GPIO pins controlled by software. Also the KBI interface can supports interrupt signals of used sensors. 1. This is valid for 00288_04 PCB revision (red edition). See chapter 3.4 New PCB Revision 00288_04. The old one version of PCB 00288_02 doesn’t provide external pull-up’s on I2C bus. DRM103, Rev. 2 24 Freescale Semiconductor ZSTAR3 Sensor Board Description 3.2.5 Power Management A CR2032 Lithium battery provides a fairly limited charge for such a real-time-like demo that demands frequent transmissions. Some sort of power management has to be implemented in order to keep the current consumption at a reasonable level. Typically, current consumptions of the Sensor Board components are as follows: • SiP - System in Pack MC13213 — 2.4GHz transceiver of the MC13213 – in Off mode, 200 nA – in Hibernate mode, 2.3 μA – in Doze mode, 35 μA – in Idle mode, 500 μA – in Transmit mode, 30 mA – in Receive mode, 37 mA — 8-bit microcontroller of the MC13213 – in Stop3 mode, 700 nA – in Wait mode, 560 μA – in Run mode, 6.5 mA • Tri-axial accelerometers — low-g tri-axial analog sensor MMA7361L – in Sleep mode, 3 μA – in Normal mode, 400 μA — low-g tri-axial digital sensor MMA7455L – in Sleep mode, 5 μA – in Normal mode, 400 μA — low-g tri-axial digital sensor MMA7660FC1 – in Sleep mode, 2 μA – in Normal mode, Configurable down to 47 μA It is obvious that in a battery operated application care must be taken to ensure the lowest possible current consumption, especially when the maximum current (provided by the battery) is somehow limited. A CR2032 Lithium battery cannot provide current in the range of 40 mA for long periods of time. To alleviate high current surges, an additional large capacitor has been designed. For transmission and reception using the MC13213, a specific scheme has been used to ensure the battery is not depleted or overloaded, targeting a 30 samples per second (33 ms period) transmission rate. For better power management, the software uses a system of skipping transmission if sensor output data is the same or very similar to the last transmitted sample. The maximum count of skip transmissions is 10, then sensor data is always transmitted. Every received transmission from the sensor board clears the time-out counter in the USB stick. The ZSTAR3 sensor board typically opens a receive window every 10th period (~333 ms) to maintain synchronization with the USB stick (Communication Master) and to receive possible control data from the master. 1. The MMA7660FC is supported by new PCB with revision code 00288_04. DRM103, Rev. 2 Freescale Semiconductor 25 ZSTAR3 Sensor Board Description The following scheme for one transmission/sleep cycle is used for a typical data transfer: MC13213 MCU: Stop Run Set up new message and set RF modem Run Stop Stop Plan next RX window MC13213 RF MODEM: RX Doze TX Doze Transmit time depends on sensor index Received Master Pylon Message time data transmitted Sensor being measured NOT TO SCALE Figure 3-4. Transmission/Sleep Cycle Details with a Basic 30 Hz Data Rate As shown in the Figure 3-4, microcontroller parts of the sensor board remain most of the time in Doze/Stop modes, in which the total current consumption is below 450 μA. Most of this power consumption is from a sensor that is always in run mode. The sensor runs because its wake-up time is longer than the ZSTAR3 measure period. The current consumption of the transmitter is ~30 mA at that time, but only for a short period of time (typically ~600 μs by 30 Hz). In order to keep the sensor board informed of the connection status (for example, if the data-receiving side - USB stick - is out of range, disconnected, etc.) and still synchronize with the master, the reception has to be turned on after the data has been transmitted. This is not really required within each loop cycle, and in the actual implementation only on every 10th loop is the receive window opened (receiver is enabled to receive the synchronization ZSTAR3_PYLON message). More in Section 5.3, The ZSTAR3 RF Protocol description. The reception window is larger to fit any incoming receive data and the current consumption is also higher during reception, so this portion of current consumption would be one of the largest if the ZSTAR3_PYLON message was received in every loop cycle. The “optional receive” feature allows huge power savings, whilst still keeping synchronization of ZSTAR3 network data from the data-receiving side. DRM103, Rev. 2 26 Freescale Semiconductor ZSTAR3 Sensor Board Description 3.2.6 MC13213 Modem Power Management Features The MC13213 modem provides several power saving modes. One of them is called Doze mode in which the MC13213 modem crystal oscillator remains active. An internal timer comparator is functional too, providing a power efficient and accurately timed way of waking-up the application after a specified time. This feature is fully utilized within the sensor board. The microcontroller calculates the time period for which the application should be in power saving mode, then fills in the timer comparator registers in the modem, and the microcontroller goes into Stop mode (modem into Doze mode). Once the timer reaches the pre-programmed time (a timer compare occurs), the modem’s IRQ signal is asserted which brings the microcontroller out of the Stop mode. There are various scaling possibilities that allow periods from a few μs up to 1073 seconds (~17 minutes) to be programmed, without intervention by the microcontroller. 3.3 ZSTAR Sensor Board Hardware Overview This section describes the Sensor Board in terms of hardware design. The MC13213 SiP drives only the analog or digital tri-axial sensor. Because both the analog and the digital sensors use only one footprint, all necessary pins for both the sensors need to be connected, and these connections have to be a logical fit. 3.3.1 Sensors Power Supply The sensors are powered by microcontroller I/O pins. This can be done because the sensors consume less than 0.5 mA. Three output pins connected together are used to supply the analog VDD power pin of the sensor. This three pin option holds down any dynamics changes in voltage with different current consumptions of the sensor. The main feature of this solution is a secure current, when the complete board is in deep sleep mode (the entire board consumes less than 1 μA). Thus the ZSTAR3 doesn’t need to use sleep modes for the sensors. For more details see Section 3.3.1, Sensors Power Supply. 3.3.2 Analog Sensor Connection The MMA7361L sensor outputs are connected to the AD0, AD1, and AD2 inputs of analog-to-digital converter via RC filters, formed by internal resistors in the sensor and the C13, C14, C15 external capacitors. These filters are recommended, to minimize clock noise from the switched capacitor filter circuit inside the sensor. Once the software filtering is employed, these RC filters may be completely omitted. The MMA7361L provides four further digital signals g-select, Self-test, 0g-detect and Sleep. All these pins are also routed into the microcontroller, but only the g-select and the 0g-detect are controlled by the current version of the ZSTAR3 software. DRM103, Rev. 2 Freescale Semiconductor 27 ZSTAR3 Sensor Board Description 3.3.3 MMA7455L Sensor Connection The MMA7455L sensor is controlled by a digital interface and two interrupts pins. The digital interface takes 4 wire that provide both interfaces - I2C and SPI. These pins are routed to general I/O pins and an I2C microcontroller module. The board doesn’t provide external pull-up resistors and so an I2C module can’t be used. This option saves battery energy in deep sleep mode, but the hw is prepared for testing the sensor with an I2C hardware module once the user adds external resistors.1 • pin 13 - SDA/SDO/SDI - I2C data, SPI data input/output • pin 12 - SDO - SPI data output • pin 14 - SCL/SPC - I2C clock, SPI clock • pin 7 - CS - Chip select The two interrupts pins INT1/DRDY and INT2 are routed directly to the KBI module of the microcontroller. This option allows building software on interrupt events. The signals use internal pull-up resistors inside the microcontroller. • pin 8 - INT1/DRDY - interrupt 1 output, Data Ready output • pin 2 - INT2 - interrupt 2 output For the digital sensor, a 0R resistor is placed on footprints C13 and C15 from BOM and schematic. These two resistors ground pin2 and pin4 of the digital sensor. 1. This is valid for 00288_02 PCB revision (black edition). For new revision (00288_04) see chapter 3.4 New PCB Revision 00288_04. DRM103, Rev. 2 28 Freescale Semiconductor ZSTAR3 Sensor Board Description 3.3.4 MMA7660FC Sensor Connection1 The MMA7455L sensor is controlled by a digital interface and interrupt pin. The digital interface takes 2 wires that provide I2C interface. These pins are routed to I2C microcontroller module. The board are populated external pull-up resistors that are supplied by one pin of MCU. This option allows switch off power on I2C bus and by this way save energy of battery. • pin 7 - SDA - I2C data • pin 6 - SCL - I2C clock The interrupt pin INT is routed directly to the KBI module of the microcontroller. This option allows building software on interrupt events. The signals use internal pull-up resistors inside the microcontroller. • pin 5 - INT - interrupt output The MMA7660FC part doesn’t need any additional part on board mounted. 3.3.5 BDM (Background Debug Mode) Connections A J2 connector has a non-standard footprint primarily intended for in-factory programming and testing via “spring-needle” type of connections. The J2 connector carries all standard signals for Background Debug Mode communication so if required, one may solder wires and a standard 2 x 3 pins 2.54 mm (100 mil) pitch header for regular BDM re-programming. The pin numbering is shown in Figure 3-5. 1 2 3 4 5 6 Figure 3-5. BDM Connector Layout 3.3.6 Button Connections The three buttons (S1, S2 and S3) are connected directly to pins PTA0, PTA6 and PTA7. All these pins have internal pull-up resistors, and are part of the Keyboard Interrupt module, therefore allow a direct microcontroller wake-up from the Stop modes. 1. The MMA7660FC is supported by new PCB with revision code 00288_04. DRM103, Rev. 2 Freescale Semiconductor 29 ZSTAR3 Sensor Board Description 3.3.7 MC13213 RF Interface The RF interface (antenna) was designed with the cost and board size in mind. Among several designs, the PCB layout antenna was in the main consideration (cost). Of several PCB antenna designs available for the 2.4 GHz band (F-antenna, dipole, loop), the loop antenna has been selected mainly because of the size required on the PCB. The MC13213 transceiver provides an internal antenna switch for RF IN (receive) and PA OUT (transmit) RF paths, so can use a single simple loop antenna. The antenna was designed as a “smile” layout, 10.7 x 24.3 mm (420 x 960 mil), made of 1.25 mm (50 mil) wide trace of copper. Figure 3-6. ZSTAR3 Antenna Layout The matching is provided by L1 coil. L2 and L3 coils bias the transmitter output transistors to the CT_Bias level. DRM103, Rev. 2 30 Freescale Semiconductor ZSTAR3 Sensor Board Description The inductors used in this design are from TDK: • L1 (3.3 nH) MLG1608B3N3DT • L2, L3 (22 nH) MLG1608B22NJT Figure 3-7. Connection Between Antenna and RF Modem 3.3.8 Clocking Options for the MC13213 Although accurate timing provided by the MC13213 internal transceiver is available, an internal oscillator (ICG) in the MC13213 microcontroller is used as the main clock source for the microcontroller. This option was chosen, because the main software uses the Real Time Interrupt (RTI) module, and this module can not run in MCU Stop mode from an external clock source. The protocol related timing is derived from RF modem timers, and the microcontroller itself is clocked from an internal oscillator. The microcontroller clock runs with 20 MHz on the bus. 3.3.9 LED Indicator On the design only one LED is used, because the ZSTAR3 board is designed to fit a plastic box that has only one position for a light indicator. The LED is connected with the current limiting serial resistor R1 directly to the microcontroller PTC5 pin. 3.3.10 Power Supply The sensor board is powered by a Lithium coin-sized battery. The primary choice was the popular CR2032. A surface mounted SMTU series battery holder from Renata™ is placed on the underside of the PCB. The SMTU series holders provide (by mechanical construction) battery reverse protection, so no additional circuitry is required. A large tantalum capacitor (C1, 220 μF/4 V) improves the response of the power supply to current peaks caused by reception or transmission. The coin-sized Lithium CR2032 batteries are targeted at a maximum continuous discharge current in the range of 3 mA. Such a large capacitor helps to supply enough current to the MC13213 during a receive/transmit without significant VDD voltage drops. The design doesn’t have any main power switch, thus switch on is done by pressing any button on the board and switch off is done by software (Time-out, Out of range, RF protocol command). DRM103, Rev. 2 Freescale Semiconductor 31 ZSTAR3 Sensor Board Description 3.4 New PCB Revision 00288_04 The new PCB revision allows assembly new MMA7660FC sensor on ZSTAR3 sensor board design and adds the external pull-up’s resistors on I2C bus. I2C Pull-Up’s MMA7660FC MMA7361L MMA7455L footprint 00288_04 00288_02 Figure 3-8. The new revision of ZSTAR3 sensor PCB vs. old one Figure 3-8 shows the differences between two ZSTAR3 sensors boards. The new revision brings only a two big changes: • MMA7660FC support - on board is added footprint for MMA7660FC device and one filter capacitor. • Hardware I2C support - on board are added the footprints for I2C pull-up’s resistors. These resistors are supplied by pin of MCU (PTC4) for better options with power management on board. The all changes on board only add new features and keeps all original functionality of demo. So the board in latest version can supports these sensors: • MMA7361LT: ±1.5g, ±6g Three Axis Low-g Analog Micromachined Accelerometer • MMA7341LT: ±3g, ±11g Three Axis Low-g Analog Micromachined Accelerometer • MMA7331LT: ±4g, ±12g Three Axis Low-g Analog Micromachined Accelerometer • MMA7455LT: ±8g, ±2g, ±4g Three Axis Low-g Digital Micromachined Accelerometer • MMA7660FC: ±1.5g Three Axis Low-g Digital Micromachined Accelerometer DRM103, Rev. 2 32 Freescale Semiconductor ZSTAR3 Sensor Board Description 3.5 Bill of Materials Table 3-1. Sensor Board Bill of Materials - MMA7361LT Sensor Version Item Quantity Reference Part Manufacturer Manufacturer Order Code 1 1 BATT1 battery holder CR2032 Renata SMTU 2032-1 2 1 C1 220μF/4V AVX TAJB227M004R 3 3 C2, C3, C12 6.8pF TDK C1608CH1H070D 4 7 C4, C5, C6, C7, C8, C9, C10 100nF TDK C1608JB1H104K 5 2 C11, C16 1μF TDK C1608JB1A105KB 6 3 C13, C14, C15 10nF TDK C1608CH1E103J 7 1 L1 3.3nH TDK MLG1608B3N3DT 8 2 L2, L3 22nH TDK MLG1608B22NJT 9 1 D1 Kingbright KP-1608SEC Kingbright KP-1608SEC 10 1 J1 BDM + serial N/A 11 1 X1 16MHz NX2520SA NDK NX2520SA 16MHz EXS00A-02940 Specification n° EXS10B-07228 12 1 R1 150R TYCO RN73F1J150RBTG 13 3 S1, S2, S3 switch SKRP Alps SKRPADE010 (or SKRPACE010 or SKRPABE010) 14 1 U1 MC13213 Freescale MC13213 15 1 U2 MMA7361LT Freescale MMA7361LT 16 5 C17, C18, R2, R3, U3 NA NA NA DRM103, Rev. 2 Freescale Semiconductor 33 ZSTAR3 Sensor Board Description Table 3-2. Sensor Board Bill of Materials - MMA7455L Sensor version Item Quantity Reference Part Manufacturer Manufacturer order code 1 1 BATT1 battery holder CR2032 Renata SMTU 2032-1 2 1 C1 220μF/4V AVX TAJB227M004R 3 3 C2, C3, C12 6.8pF TDK C1608CH1H070D 4 8 C4, C5, C6, C7, C8, C9, C10, C17 100nF TDK C1608JB1H104K 5 2 C11, C16 1μF TDK C1608JB1A105KB 6 3 C13, C15 0R PHYCOMP 232270296001 7 1 L1 3.3nH TDK MLG1608B3N3DT 8 2 L2, L3 22nH TDK MLG1608B22NJT 9 1 D1 Kingbright KP-1608SEC Kingbright KP-1608SEC 10 1 J1 BDM + serial N/A 11 1 X1 16MHz NX2520SA NDK NX2520SA 16MHz EXS00A-02940 Specification n° EXS10B-07228 12 1 R1 150R TYCO RN73F1J150RBTG 13 2 R2, R3 1K TYCO RN73F1J1K0BTDF 14 3 S1, S2, S3 switch SKRP Alps SKRPADE010 (or SKRPACE010 or SKRPABE010) 15 1 U1 MC13213 Freescale MC13213 16 1 U2 MMA7455L Freescale MMA7455L 17 3 C14, C18, U3 NA NA NA DRM103, Rev. 2 34 Freescale Semiconductor ZSTAR3 Sensor Board Description Table 3-3. Sensor Board Bill of Materials - MMA7660FC Sensor version Item Quantity Reference Part Manufacturer Manufacturer order code 1 1 BATT1 battery holder CR2032 Renata SMTU 2032-1 2 1 C1 220μF/4V AVX TAJB227M004R 3 3 C2, C3, C12 6.8pF TDK C1608CH1H070D 4 7 C5, C6, C7, C8, C9, C10, C18 100nF TDK C1608JB1H104K 5 1 C11 1μF TDK C1608JB1A105KB 6 1 L1 3.3nH TDK MLG1608B3N3DT 7 2 L2, L3 22nH TDK MLG1608B22NJT 8 1 D1 Kingbright KP-1608SEC Kingbright KP-1608SEC 9 1 J1 BDM + serial N/A 10 1 X1 16MHz NX2520SA NDK NX2520SA 16MHz EXS00A-02940 Specification n° EXS10B-07228 11 1 R1 150R TYCO RN73F1J150RBTG 12 2 R2, R3 1K TYCO RN73F1J1K0BTDF 13 3 S1, S2, S3 switch SKRP Alps SKRPADE010 (or SKRPACE010 or SKRPABE010) 14 1 U1 MC13213 Freescale MC13213 15 1 U3 MMA7660FC Freescale MMA7660FC 16 7 C4, C13, C14, C15, C16, C17, U2 NA NA NA DRM103, Rev. 2 Freescale Semiconductor 35 10nF 10nF NA C14 C15 C17 GND GND 100nF GND C6 100nF C7 g-select 0g_detect INT1 switch2 switch1 switch3 SDO GND 28 27 XTAL2 XTAL1 72 45 6 60 61 7 8 9 10 11 70 47 71 48 49 50 51 GND RESET BDM LED1 12 13 14 15 16 17 18 19 62 63 64 1 2 3 4 5 100nF 0R self_test SCL/SPC VDD_mcu VDD 100nF 1 C5 MCU_CLK GND S3 1 3 2 4 Alps SKRP S2 1 3 2 4 Alps SKRP 1 3 2 4 Alps SKRP S1 MCU + RF 0R 10nF C13 0R Ion PTG0/BKGD/MS PTG1/XTAL PTG2/EXTAL CLKOo RESET MC13211 Exposed Pad XTAL2 XTAL1 VDD VDDAD VREFH VREFL GND VDDA VDDLO1 VDDLO2 VDDD VDDVCO VBATT VDDINT PAO_M PAO_P TINJ_M RFIN_P RFIN_M CT_Bias SM ATNBi IRQ/IRQo GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7 PTB0/AD0 PTB1/AD1 PTB2/AD2 PTB3/AD3 PTB4/AD4 PTB5/AD5 PTB6/AD6 PTB7/AD7 PTE0/TxD1 PTE1/RxD1 PTE2/CEBi PTE3/MISOo PTE4/MOSIi PTE5/SPICLK PTD1/RXTXENi PTD2 PTD3/RSTBi PTD4 PTD5 PTD6 PTD7 PTC0/TxD2 PTC1/RxD2 PTC2/SDA PTC3/SCL PTC4 PTC5 PTC6 PTC7 PTA0/KBD0 PTA1/KBD1 PTA2/KBD2 PTA3/KBD3 PTA4/KBD4 PTA5/KBD5 PTA6/KBD6 PTA7/KBD7 U1 GND C4 100nF VDD_mcu 33 30 29 22 31 32 23 39 38 37 36 35 34 40 46 69 44 43 42 41 24 25 26 52 53 54 55 56 57 58 59 20 21 68 67 66 65 C17 See BOM GND GND 100nF C8 GND SLEEP GND 100nF C9 DVdd_mcu Z-axis Y-axis X-axis TXD RXD GND C16 1uF DVdd_mcu GND 100nF C10 VDD 1uF C11 SDO SDA SCL GND 1 13 12 14 7 10 11 8 C12 6.8PF L3 22nH SDO 1self_test 1SCL/SPC self_test SDO SCL/SPC SLEEP INT1 g-select L2 22nH GND C14 C15 See BOM L1 3.3nH Antenna Battery/Renata CR2032 GND VDD 1 1 SLEEP ZSTAR3 GND + GND VDD GND D1 LED 150R R1 LED1 TXD RXD BDM 4 C2 3 C3 XTAL2 16MHz NX2520SA X1 XTAL1 GND 6.8PF 6.8PF CLOCK SOURCE LED J1 BDM RESET Freescale Semiconductor Roznov CSC 1. maje 1009 756 61 Roznov p.R., Czech Republic, Europe C1 220uF/4V GND BDM Petr Gargulak Author: Design Name: D:\CCWORK\B01119_VIEW_DEV\ICONN\IC116 - ZSTAR2 - LOW-COST 2.4GHZ AND Rev 1.0 Schematic Name: SCHEMATIC1 Size A4 1 1 Modify Date: Friday, November 16, 2007 Sheet of 2005 G lB i I f ti C i ht F l POPI St t Title GND 0g_detect 1INT1 1 VDD_mcu DVdd_mcu X-axis Y-axis Z-axis 0g_detect BATT1 GND CS INT1 INT2 5 6 1 2 3 4 9 POWER SOURCE GND See BOM GND See BOM C13 Xout,GND Yout,NC Zout,Addr0 0g - detect,INT2 Self_test,SDA/SDI/SDO NC, SDO VSS,GND NC,SCL/SPC VDD,AVdd Sleep, CS NC, DVdd_IO g-select, NC NC, NC NC, INT1/DRDY X-axis Sensor Mercury U2 MERCURY/ION Y-axis SENSOR Z-axis SENSOR SOURCE CAPACITORS 1 2 2 4 6 1 3 5 36 1 3.6 2 BOM Changes analog/digital ZSTAR3 Sensor Board Description ZSTAR3 Schematic - Revision 00288_02 DRM103, Rev. 2 Freescale Semiconductor SDA GND 100nF C7 GND 28 27 XTAL2 XTAL1 72 45 6 60 61 7 8 9 10 11 70 47 71 48 49 50 51 12 13 14 15 16 17 18 19 62 63 64 1 2 3 4 5 GND RESET BDM LED1 SCL/SPC IIC_PULL_UP VDD_mcu GND 100nF GND C6 g-select 0g_detect INT1 switch2 switch1 switch3 SDO AVdd_Tron DVdd_Tron 1K R3 VDD_mcu SDA VDD 100nF 1 C5 MCU_CLK GND 1 3 2 4 Alps SKRP S3 1 3 2 4 Alps SKRP S2 1 3 2 4 Alps SKRP S1 MCU + RF 1K R2 SCL/SPC PTG0/BKGD/MS PTG1/XTAL PTG2/EXTAL CLKOo RESET MC13211 Exposed Pad XTAL2 XTAL1 VDD VDDAD VREFH VREFL GND VDDA VDDLO1 VDDLO2 VDDD VDDVCO VBATT VDDINT PAO_M PAO_P TINJ_M RFIN_P RFIN_M CT_Bias SM ATNBi IRQ/IRQo GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7 PTB0/AD0 PTB1/AD1 PTB2/AD2 PTB3/AD3 PTB4/AD4 PTB5/AD5 PTB6/AD6 PTB7/AD7 PTE0/TxD1 PTE1/RxD1 PTE2/CEBi PTE3/MISOo PTE4/MOSIi PTE5/SPICLK PTD1/RXTXENi PTD2 PTD3/RSTBi PTD4 PTD5 PTD6 PTD7 PTC0/TxD2 PTC1/RxD2 PTC2/SDA PTC3/SCL PTC4 PTC5 PTC6 PTC7 PTA0/KBD0 PTA1/KBD1 PTA2/KBD2 PTA3/KBD3 PTA4/KBD4 PTA5/KBD5 PTA6/KBD6 PTA7/KBD7 U1 GND C4 100nF 33 30 29 22 31 32 23 39 38 37 36 35 34 40 46 69 44 43 42 41 24 25 26 52 53 54 55 56 57 58 59 20 21 68 67 66 65 C17 100nF GND 100nF C8 GND SLEEP GND GND C18 100nF GND 100nF C9 DVdd_mcu Z-axis Y-axis X-axis TXD RXD GND C16 1uF DVdd_mcu AVdd_Tron GND 100nF C10 VDD 1uF C11 SDO SDA SCL GND C12 6.8PF L3 22nH 1 SDO 1SDA 1SCL/SPC 13 12 14 7 SDA SDO SCL/SPC SLEEP INT1 10 11 8 g-select L2 22nH GND GND C14 10nF GND C15 INT1 10nF CS INT2 5 6 1 2 3 4 9 L1 3.3nH INT1 AVdd_tron GND GND SDA SCL/SPC DVdd_Tron GND GND + GND D1 LED 150R R1 LED1 TXD RXD BDM 4 C2 3 C3 XTAL2 16MHz NX2520SA X1 XTAL1 GND 6.8PF 6.8PF CLOCK SOURCE LED J1 BDM RESET Freescale Semiconductor Roznov CSC 1. maje 1009 756 61 Roznov p.R., Czech Republic, Europe C1 220uF/4V GND VDD BDM Author: Petr Gargulak Design Name: D:\CCWORK\B01119_VIEW_DEV\ICONN\IC116 - ZSTAR2 - LOW-COST 2.4GHZ AND Rev 0 Schematic Name: SCHEMATIC1 Size A4 1 1 Modify Date: Tuesday, December 09, 2008 Sheet of 2005 General Business Information Copyright Freescale POPI Status: ZSTAR3 GND BATT1 CR2032 VDD POWER SOURCE 10 9 8 7 6 1 GND 1 SLEEP 1INT1 1 0g_detect VDD_mcu DVdd_mcu X-axis Y-axis Z-axis 0g_detect N/C2 DVdd DVss SDA SCL TRON N/C0 N/C1 AVdd AVss INT Title 1 2 3 4 5 U3 SENSOR - TRON Antenna GND C13 10nF Xout,GND Yout,NC Zout,Addr0 0g - detect,INT2 Self_test,SDA/SDI/SDO NC, SDO VSS,GND NC,SCL/SPC VDD,AVdd Sleep, CS NC, DVdd_IO g-select, NC NC, NC NC, INT1/DRDY X-axis VDD_mcu U2 MERCURY/ION SENSOR - MERCURY OR ION Y-axis SENSOR SOURCE CAPACITORS Z-axis 2 4 6 1 3 5 IIC_PULL_UP 1 2 Freescale Semiconductor 1 3.7 2 IIC HW - PULL UP'S ZSTAR3 Sensor Board Description ZSTAR3 Schematic - Revision 00288_04 DRM103, Rev. 2 37 ZSTAR3 Sensor Board Description DRM103, Rev. 2 38 Freescale Semiconductor Chapter 4 USB Stick Board Description 4.1 Board Overview The USB stick board used is the same as in the original ZSTAR demo, but with new software. For more hardware details, please check the RD3152MMA7261 Reference Design manual on www.freescale.com PCB Antennas MC13191 LED Indicators Button MCHC908JW32 USB “A” type plug Figure 4-1. USB stick Board Overview DRM103, Rev. 2 Freescale Semiconductor 39 USB Stick Board Description LEDs Sensors Data GPIO PC protocol handler MC13191 RF modem 2.4 GHz SPI S M A C USB driver RF Protocol Handler USB USB port Figure 4-2. The USB Stick Software Overview Figure 4-2 shows, in more detail, how different software and hardware modules co-operate with each other. There are two main tasks of the USB stick board: • receive the data from the MC13191 transceiver and store it in RAM buffer • handle the USB module communication, decode and provide the data from the RAM buffer. These two are somewhat independent and the only common point between them is the accelerometer and button data buffer in RAM. The RF software communicates with the Sensor Board and retrieves the latest accelerometer data. This is stored in RAM and can be independently read by the PC application via the USB link. The protocol employed on the PC side is just a subset of the Original ZSTAR that is built on simple STAR protocol used in the original RD3112MMA7260Q demo. The protocol is described in section Section 5.4, ZSTAR3 USB Protocol - Extended STAR Protocol. For the USB stick board operation, several MCHC908JW32 hardware modules are used: USB 2.0 Full-speed (USB), Synchronous Peripheral Interface (SPI), Keyboard Interrupt (KBI) and a General Purpose Input/Output (GPIO). DRM103, Rev. 2 40 Freescale Semiconductor Chapter 5 Software Design 5.1 Introduction This section describes the design of the ZSTAR3 software blocks. The software description comprises these topics: • Section 5.2, Simple Media Access Controller (SMAC) modifications description • ‘Air’ Section 5.3, The ZSTAR3 RF Protocol description • Serial Section 5.4, ZSTAR3 USB Protocol - Extended STAR Protocol description • AN2295 Section 5.6, Bootloader (over USB) implementation notes 5.2 Simple Media Access Controller (SMAC) The SMAC is a simple ANSI C based code stack available as sample source code which can be used to develop proprietary RF transceiver applications using the MC1319x and MC1321x. 5.2.1 • • • • • • • • 5.2.2 SMAC Features Compact footprint: — 4K FLASH — 10 bytes (+ maximum packet length) RAM — As low as 16 kHz bus clock Can be used to demonstrate coin cell operation for a remote control MC1319x/MC1321x compatible Very-low power, proprietary, bi-directional RF communication link ANSI C source code targeted at the HCS08 core and portable to almost any CPU core (including 4-bit) Low priority IRQ Sample application included, extremely easy to use Liberally commented Modifications of SMAC for ZSTAR3 RF Protocol The development of the ZSTAR software is based on the free SMAC stack available from Freescale. The SMAC version used was 4.2. To the SMAC has been added three new target files for the Original USB stick / sensor and for the new ZSTAR3 sensor board. Furthermore, a couple of new functions were added to this SMAC version. A fully detailed description of the SMAC is in the SMAC Reference Manual (SMACRM.pdf), available together with SMAC source code. DRM103, Rev. 2 Freescale Semiconductor 41 Software Design 5.2.2.1 New Targets Added to SMAC A modification of the SMAC for individual application were done by target files that exact defines all pins and peripheries. For the ZSTAR3 project purposes was added to the SMAC three new targets: • MC1319XZSTAR_USB.c/h - these files describes the Original ZSTAR USB stick board • ZSTAR_SENSOR.c/h - these files describes the Original ZSTAR and the ZSTAR2 Sensor board • MC1321XZSTAR3.c/h - these files describes the ZSTAR3 Sensor board 5.2.2.2 New Functions Added to SMAC The original SMAC doesn’t have any advanced transceiver time operations implemented, such as delayed transmit / receive and others. The ZSTAR3 RF protocol is based on these functionalities, and so they had to be implemented. A list of the new functions in the SMAC MAC layer: • UINT32 MLMEGetActualTime(void) - function returns the current value of the freely running main counter in the modem • UINT32 MLMEGetTimeStamp(void) - function returns the time value of last received message • UINT32 MLMEComputeDelay(UINT32 u32StartTime, UINT32 u32Delay) - function computes a new time with delay • UINT8 MLMEDelayTransceiver(UINT32 u32Time, UINT32 u32TimeOut, tTxPacket *psPacket,tRxPacket *psRxPacket, UINT8 u8mode) - the most important new function. This function provides delayed transmit and receive with time-out, doze modes, and general time interrupt generation 5.3 The ZSTAR3 RF Protocol The ZSTAR3 uses a simple time based protocol for an RF transfer of information between sensor boards and the USB receiver. The protocol is based on a simple star topology for a communication network, with one master point (USB stick) and slaves (sensor boards). It provides time slots for up to 16 sensors. Main data of a load contains acceleration (X, Y and Z axis) and basic status data. The protocol is built on top of modified Section 5.2, Simple Media Access Controller (SMAC) drivers that are available for the MC1319x and MC1321x transceivers families. It is bidirectional, allowing the set up of independent connections for up to 16 ZSTAR3 demos, together in one RF space (thus, up to 256 sensor boards). All data is transferred in so-called Zpackets. This protocol is primarily targeted at simple demo purposes, allowing a fast transfer of the accelerometer data in short packets with minimum overheads and with minimum battery loads (most of the receive windows eliminated, short transmit packets, etc.). 5.3.1 • • • • • • • • • ZSTAR3 RF Protocol Features Based on modified Freescale SMAC library Star network topology One coordinator for the network (master) - NOT ZigBee coordinator Support for up to 16 sensors (slaves) Network main period is 30 Hz (33.333 ms) Data capture designed network Identification Network number (NetNum) Automatic/Manual selection of communication channels Collect all RSSI (Receive Signal Strength Indicator) information on communication DRM103, Rev. 2 42 Freescale Semiconductor Software Design 5.3.2 Zpacket Format The ZSTAR Zpacket is contained inside the MC1319x/MC1321x standard packet structure, which is consistent with the IEEE 802.15.4 Standard. The SMAC library transparently adds a 16 bit Packet control field (see chapter 7.2.1.1 of IEEE 802.15.4 Standard specifications) to differentiate packets from ZigBee and other standards. The Zpacket becomes a payload data for the SMAC standard packet and contains the following fields: • Section 5.3.2.1, Network Number (NetNum) • Section 5.3.2.2, RX Strength • Section 5.3.2.3, Zcommand • Section 5.3.2.4, Zdata MC1319x/MC1321x Packet Structure Preamble SFD SFD (Start of Frame Delimiter) FLI (Frame Length Indicator) FCS (Frame Check Sequence) Payload Data FLI FCS SMAC Packet Structure Packet control field SMAC payload ZSTAR3 Zpacket Structure Network number RX strength Zcommand Zdata Figure 5-1. Zpacket Format 5.3.2.1 Network Number (NetNum) The ZSTAR3 uses for RF network identification an ID number called the NetNum. It is placed in FLASH memory of each participant of the ZSTAR3 RF protocol. The USB stick randomly generates it at the first time of its life cycle and it can be changed by a command from the PC. The sensor board has this number erased from manufacture and it is set up with the first valid packet received in the ZSTAR3 RF protocol format. The network number in the sensor board can be cleared by pressing all the buttons together during a board wake-up sequence or by a command from the USB stick. Packets with different Network numbers are simply ignored. This field is 16 bits long. DRM103, Rev. 2 Freescale Semiconductor 43 Software Design 5.3.2.2 RX Strength This field reports the strength of the last received packet on the other end of the connection. This value simply tells us how well the other side receives ‘our packets’. This can be used by transmission power management functions to change the transmission power so the other party receives packets with enough strength. The values reported are retrieved using the MLMELinkQuality() SMAC primitive. This field is 8 bits long. 5.3.2.3 Zcommand The ZSTAR3 demo protocol uses a couple of simple commands to establish and maintain the data flow between the Sensor Board and the USB stick. The command is carried in Section 5.3.2.3, Zcommand field and is 8 bits long. The commands are defined as listed in Table 5-1, Table 5-2, and Table 5-3. Table 5-1. Original ZSTAR Commands Zcommand List ZCommand ZCommand Code Direction Zdata ZSTAR_BROADCAST ‘b’ (0x62) USB stick to Sensor Board none ZSTAR_ACK ‘a’ {0x61) USB stick to Sensor Board none ZSTAR_CALIB ‘k’ (0x6B) USB stick to Sensor Board calibration data to Sensor Board ZSTAR_STATUS ‘s’ (0x73) USB stick to Sensor Board g-range selection data to Sensor Board ZSTAR_CONNECT ‘c’ (0x63) Sensor Board to USB stick calibration data from Sensor Board Sensor Board to USB stick accelerometer values, temperature and bandgap voltage, button levels, g-range selection ZSTAR_DATA ‘d’ (0x64) Table 5-2. ZSTAR3 Main Commands Zcommand List ZCommand ZCommand Code Direction Zdata ZSTAR3_PYLON 0xA0 USB stick to Sensor Board Status and optional subcommand ZSTAR3_DATA 0x50 Sensor Board to USB stick Accelerometers values, status info ZSTAR3_ACK 0x60 Sensor Board to USB stick none ZSTAR3_CONNECT 0x40 Both Calibration data, board info ZSTAR3_ION 0x70 Sensor Board to USB stick Optional return read data from ION DRM103, Rev. 2 44 Freescale Semiconductor Software Design Table 5-3. ZSTAR3 Subcommands Zcommand List ZCommand ZCommand Code Direction Zdata ZSTAR3_GUI ‘g’ (0x67) USB stick to Sensor Board none ZSTAR3_MODE ‘m’ {0x6D) USB stick to Sensor Board Set up data of new mode ZSTAR3_OFF ‘o’ (0x6F) USB stick to Sensor Board none ZSTAR3_GSEL ‘s’ (0x73) USB stick to Sensor Board g-range selection data to Sensor Board ZSTAR3_DATARATE ‘d’ (0x64) USB stick to Sensor Board new data rate ZSTAR3_FLAG ‘f’ (0x66) USB stick to Sensor Board none 5.3.2.4 Zdata The Section 5.3.2.4, Zdata field follows the Section 5.3.2.3, Zcommand field and may be empty if the actual command doesn’t require any additional data. The data format is dependent on the Section 5.3.2.3, Zcommand. A detailed description is in the next chapter. 5.3.3 Original ZSTAR Zcommand Description For a more detailed description of original ZSTAR Zcommands check RD3152MMA7260Q reference design manual ZSTARRM, Reference Design Manual - Original ZSTAR Demo (RD3152MMA7260Q) RDM. 5.3.4 ZSTAR3 Protocol Zcommand Description All commands in the direction sensor board to the USB stick are replenished (lower 4 bits) by information on the sensor index. 5.3.4.1 ZSTAR3_DATA With this command the sensors send measured data on to the USB stick. This is the most frequently used sensor board RF command. 5.3.4.2 ZSTAR3_ACK This command is used by the sensor to acknowledge successfully received USB stick subcommand. 5.3.4.3 ZSTAR3_CONNECT With this command the sensor board sends calibration data on to the USB stick. The command is also used to start communication between the sensor board and the USB stick. DRM103, Rev. 2 Freescale Semiconductor 45 Software Design 5.3.4.4 ZSTAR3_ION This command is specially designed to meet all the special requirements of the digital sensor device1. 5.3.4.5 ZSTAR3_PYLON This is the main, and practically, the only command of the USB stick. This command is used as a net synchronization message and it’s the only way to get data and other sub commands to the individual sensor boards. This command is replenished in protocol with mode of operation information (8/16 bits communication). The Subcommand and data in the subcommand fields are not mandatory. Zdata Bytes: 0 2 1 List of active sensors Selected sensor 3 Subcommand 4... Data depends on sub commands Figure 5-2. ZSTAR3_PYLON Zdata Format 5.3.5 ZSTAR3 Protocol SubCommands Description This group of subcommands relates to the main USB stick RF ZSTAR3_PYLON command. All these subcommands can only be sent as an extension of ZSTAR3_PYLON. Subcommands are the only way to get data and the majority of commands from the USB stick to individual sensors. 5.3.5.1 ZSTAR3_GUI This command is designed only to clear the timeout counter2 in the sensor board and thus keep the sensor board awake. The sensor board answers with the ZSTAR3_ACK command. 5.3.5.2 ZSTAR3_MODE This command is used only with the ION device mounted on sensor board. The command switches individual digital work modes of the digital sensor. The sensor board answers with the ZSTAR3_ACK command. 5.3.5.3 ZSTAR3_OFF This command switches off the sensor board. This is only available on those sensor boards without a mechanical power switch. 5.3.5.4 ZSTAR3_GSEL This command switches the current g range of the sensor to a new one. The sensor board answers with the ZSTAR3_ACK command. 1. ZSTAR3 with assembled MMA7455L, MMA7660FC. 2. Each sensor board without a mechanical power switch has an implemented automatic switch off function when a 2 minute timeout overflows. DRM103, Rev. 2 46 Freescale Semiconductor Software Design 5.3.5.5 ZSTAR3_DATARATE This command switches the current data rate for reading the sensor data to a new one. The sensor board answers with a ZSTAR3_ACK command. 5.3.5.6 ZSTAR3_NETNUM This command changes the NetNum (ID of the ZSTAR3 RF network) in the sensor board. The sensor board answers with the ZSTAR3_ACK command. 5.3.5.7 ZSTAR3_FLAG This is a special additional subcommand that is used only with the initial ZSTAR_BROADCAST command to recognize an RF protocol type - Original ZSTAR RF or ZSTAR3 RF Protocol. It was added only for compatibility purposes between the ZSTAR3 demo and the original ZSTAR. 5.3.6 ZSTAR3 RF Protocol Description The ZSTAR3 RF protocol is based on a star RF network topology. The USB stick is the master of the network and the sensor boards are slaves. The entire network runs within the time based RF protocol, thus each device in the ZSTAR3 RF network has its own time slot in each basic period of the network to transmit. Reception time is a little different, all the sensor boards open receive window at some time and try to catch synchronization/data transmission sent from the master, but the USB stick (master) opens a receive window for the whole time that a sensor boards transmits its own data. The ZSTAR3 devices runs within simple state machine: 1. Init state - the devices initializes all necessary hardware peripherals and software drivers. After initialization is complete, the state machine jumps to the Broadcast state. 2. Broadcast state: this is a little bit outdated state that is kept only for compatibility of the ZSTAR3 protocol with the original ZSTARs running the original protocol. — Master (USB stick) - the ZSTAR3 protocol needs only to find out the free channel for the prepared RF network, but because the ZSTAR3 demo supports original ZSTAR RF protocol, then this state is important only for compatibility of the ZSTAR3 demo. — Slave (sensor board) - In this state the sensor board is looking for the ZSTAR3 communication. And when it finds the RF communication with the right NetNum number and its time position is free, the sensor board jumps to the Run State of the RF protocol. In other cases, it jumps to the Sleep state. 3. Compatibility state with original ZSTAR: — Master (USB stick) - the USB stick of the ZSTAR3 supports the original ZSTAR RF protocol and this state provides it. For more details check the manual for the original ZSTAR ZSTARRM, Reference Design Manual - Original ZSTAR Demo (RD3152MMA7260Q) RDM. — Slave (sensor board) - the sensor board software contains this state and it can support the original ZSTAR too. All sensor boards are ordered with prohibited compatibility mode, because the compatibility mode causes a lot of problems when the demo runs in the same RF space as any original ZSTAR. DRM103, Rev. 2 Freescale Semiconductor 47 Software Design 4. ZSTAR3 Protocol run state: — Master (USB stick) - the master is periodically transmits synchronization ZSTAR3_PYLON messages and then is receives all incoming messages from the sensor boards within the same NetNum. In this state the master collects all necessary information about connection status of all the sensor boards and other sensor payloads. — Slave (sensor board) - In this state the slave periodically opens a receive window to catch a master synchronization message, measures sensor data and transmits the measured data within its own time slot window to the air (master). 5. Sleep State: — Master (USB stick) - Doesn’t have this state. — Slave (sensor board) - When the sensor board goes into this state, it switches off all peripheries on the board and inside the microcontroller and prepares the entire board for the least power consumption. 5.3.6.1 Typical One Period of ZSTAR3 RF Protocol The ZSTAR3 RF protocol (in normal run mode) period starts with a ZSTAR3_PYLON message from the master. In an ideal case, all active slaves have an opened receive window and catch the incoming ZSTAR3_PYLON message from the master. When the slaves receive this synchronization message, all measure sensor output values at the same time. Then they prepare future transmissions, each in its unique time. This time depends on the index of each slave device. In the meantime, the master prepares a new receive window and opens it right before the first prospective message from Slave 0, and this window stays open until the time for all 16 devices elapses. When the master catches any message from the slaves, it processes it and immediately opens a new receive window if the last message isn’t from the 16th Slave device. Slave 0 Tx Rx MCU Slave 1 Tx Rx MCU Slave 8 Tx Rx MCU Master Tx Rx MCU SMAC Interrupts ZSTAR3 RF Protocol Typical Period Figure 5-3. ZSTAR3 RF Protocol Period DRM103, Rev. 2 48 Freescale Semiconductor Software Design 5.3.6.2 The ZSTAR3 RF protocol LED indication The USB stick has three LED’s that indicate actual state of demo. First two LED’s have assign function to RF protocol, the third one indicate state of USB communication and current running USB application (serial port, mouse or keyboard). The first two LED’s allows user to check current state of demo: • Broadcast state - in this state the ZSTAR3 USB Stick software is looking for the any sensor in range and also is looking for the best possible channel for communication: — RF channel scout out - LED1 blinks very slowly two times, LED2 is switched off — ZSTAR3 sensor scout out - LED1 is switched off, LED2 blinks very bright and fast • RF network run state - this is normal work state of ZSTAR3 network. In this state LED1 blinks in depends on received data messages from sensor, it could blink lightly irregular. LED2 blinks very fast, but less bright as in broadcast mode. Also the sensor board has a LED indicator of its current status. It has only a one LED that can tell to user a few states of demo: • LED is Off - Demo board sleeps. • LED is lightly blinking with frequency 6.5 Hz - Demo is in broadcast mode and it’s looking for USB Stick. This state follows after wake-up of board. • LED is brightly blinking with frequency 17 Hz - Demo is still in broadcast mode, but it founds own ZSTAR3 network (with right NetNum) and its position/index is occupied by any other sensor. • LED is lightly blinking with frequency 30 Hz - Demo is in run mode and it communicate with USB Stick. DRM103, Rev. 2 Freescale Semiconductor 49 Software Design 5.4 ZSTAR3 USB Protocol - Extended STAR Protocol The ZSTAR3 demo uses a subset of the original ZSTAR demo protocol commands. The Original ZSTAR is built on the STAR demo protocol. This way, most of the software originally developed for the RD3152MMA7260Q (ZSTAR) and RD3112MMA7260Q (STAR) is also usable with the ZSTAR3 demo. The STAR demo communicates over the RS232 serial line with a simple text-based protocol. The same protocol is used in ZSTAR/ZSTAR3 for communication between the USB stick and a PC (over a virtual serial port). The PC application sees the same interface (serial port) and the same protocol as if a STAR demo was connected. The ZSTAR3 uses extended STAR/ZSTAR protocol to provide all the new features. Because the ZSTAR3 can serves up to 16 connected sensor boards, all commands that work with the sensor boards are communicated with one selected board by the ‘N’ command from Section 5.4.3, Subset of Newly Added ZSTAR3 Protocol Commands. 5.4.1 Subset of Original STAR Protocol Commands The ZSTAR3 software contains all unchanged original STAR commands. Some commands can send extended information in the ZSTAR3 mode - the ZSTAR3 USB protocol extends some original commands when the PC sends any command from a new subset of the command table. This extended information returns to the PC information resulting from individual commands. Table 5-4. Legend of Colors Legend Red Direction PC -> USB stick Blue Direction USB stick -> PC, regular data Magenta Direction USB stick -> PC, extended data DRM103, Rev. 2 50 Freescale Semiconductor Software Design Table 5-5. Original STAR Commands Extended Asynchronous Answer Normal Command Note Command Detail of Command Data Length tx/rx (B) ‘R’ ‘N’ 1, 1 - - Reset to 8 bit mode ‘V’ ''x' value 'y' value 'z' value 1,61 - - Read acceleration data ‘G’ g-select value 1, 1 - - g-select read ‘g’ g-select value, ‘G’, result 2, 0, 2 {'g',result,index} 7 g-select write ‘K’ ''X' g(0) g(1) 'Y' g(0) g(1) 'Z' g(0) g(1) 1,. 92 - - read calibration values3 ‘k’ xg(0), xg(1), yg(0), yg(1), zg(0), zg(1), ‘K’, result 74, 0, 2 {'k',result,index} 7 write calibration values5 Detail Length rx (B) 1 Length of reply with measured data depends on current work mode, 8/16bits. 6 bytes for 8 bits, 9 bytes for 16 bit mode Length of reply with calibration values depends on current work mode, 8/16bits. 9 bytes for 8 bits, 15 bytes for 16 bit mode 3 If a connected sensor has the ZSTAR3 protocol, then this command returns ideal calibration constants 4 Length of the calibration data command depends on current work mode, 8/16bits. 7 bytes for 8 bits, 13 bytes for 16 bit mode 5 If a connected sensor has ZSTAR3 protocol, then the calibration data command isn’t important 2 5.4.2 Subset of Original ZSTAR Protocol Commands The ZSTAR3 software contains all slightly changed original ZSTAR commands. Table 5-6. Legend of Colors Legend Red Direction PC -> USB stick Blue Direction USB stick -> PC, regular data DRM103, Rev. 2 Freescale Semiconductor 51 Software Design Table 5-7. Original ZSTAR Commands Extended Asynchronous Answer Normal Command Note Command Detail of Command Data Length tx/rx (B) ‘r’ ‘z’ 1, 1 - - Reset to 16 bit mode ‘v’ 'x' value 'y' value 'z' value 's' status 't' temperature 'b' bangap 1,17 - - Read extended 16 bits acceleration data1 Text information about project 1, - - - Return text information about ZSTAR project Debug information 1, - - - Switch on sending debug information 1,0 - - Switch off sending debug information ‘Q’ 2, - - - Debug auto calibration command Sensor RSSI, USB RSSI 1, 2 - - Read Receive Strength Signal Indicators ‘I’ ‘U’ ‘u’ ‘Q’ ‘S’ 1 Detail Length rx (B) ZSTAR3 RF protocol does not support bandgap and temperature values, so when the USB stick runs with the ZSTAR3 RF protocol this command always returns zeros in these fields 5.4.3 Subset of Newly Added ZSTAR3 Protocol Commands This table describes all newly added ZSTAR3 commands. There are two tables, one for general commands and the second specially designed for digital sensors. Some commands returns extended information resulting from individual commands. Table 5-8. Legend of Colors Legend Red Direction PC -> USB stick Blue Direction USB stick -> PC, regular data DRM103, Rev. 2 52 Freescale Semiconductor Software Design Table 5-9. New ZSTAR3 Commands (general commands) Normal Command Detail of Command Data Length tx/rx (B) Note Command ‘A’ ‘a’, channel 1, 2 return actually selected RF channel channel, ‘A’ 2,1 set new RF channel, channel > 15 means automatically selection by USB stick ‘B’ ‘b’, Working State 1, 2 Get actual working state of ZSTAR ‘C’ ‘c’ 1, 1 Simple HandShake ‘H’ ‘h’, netnum 1,. 3 Read Net ID number of RF communication ‘h’ netnum, ‘H’ 3, 1 Set new Net ID number of RF communication ‘M’ datarate, ‘m’, result 2, 2 Set new data rate of sensor ‘m’ datarate 1, 1 Read actual data rate of sensor ‘N’ sensor index, ‘n’, result 2, 2 Change focus of communication to new sensor index sensor index, connected sensors mask 1, 3 Read index of focused sensor and mask of connected sensors ‘O’ 'X' calibration offset 'Y' calibration offset 'Z' calibration offset 1, 6 Get true calibration offset values generated by auto calibration process ‘W’ sensor type,board type, sensor subtype, ZSTAR version 1, 5 Read information about type of board, sensor and USB stick ‘X’ burst sensor mask, ‘x’, connected sensors mask 3, 3 Switch on burst mode of ZSTAR ‘x’ ‘X’ 1, 1 Switch off burst mode of ZSTAR ‘Z’ ‘z’ 1, 1 Go to Bootloader device ‘a’ ‘n’ DRM103, Rev. 2 Freescale Semiconductor 53 Software Design Table 5-10. New ZSTAR Commands (Digital Sensor part) Extended Asynchronous Answer Normal Command Note Length tx/rx (B) Detail Length rx (B) Command Detail of Command data ‘J’ address of reg, length of data, new values of reg 1-6 bytes, 'j', result 3-9, 2 {‘J’,result,index} 7 Direct access into ION registers, write ‘j’ address of reg, length of reading, 'J', result 3, 2 {‘j’,result,data 2 - 8 x2 Bytes} 9-23 Direct access into ION registers, read LDTH, SetByte, 'l', result 3, 2 {‘L’,result,index} 7 Level threshold detection switch on 'L', result 1, 2 {‘l’,result,index} 7 Level threshold detection switch off ‘P’ PDTH, PW, LT, TW, Setbyte, ‘p’, result 6,2 {‘P’,result,index} 7 Pulse detection switch on ‘p’ 'P', result 1, 2 {‘p’,result,index} 7 Pulse detection switch off Digital interface, ‘<‘, result 2, 2 {‘>’,result,index} 7 Change type of digital interface on communication with ION ‘>’, Digital interface 1, 2 - - Read type of digital interface on communication with ION L’ ‘l’ ‘>’ ‘<’ 5.4.4 Burst Mode A new mode for the ZSTAR USB communication is burst mode. The burst mode is designed to simplify the reading process of new acceleration data. In the burst mode, the USB stick sends all newly received acceleration data from the individual enabled sensor boards without any request command from the PC. Burst mode content: • time of receipt - 24 bits time information with a 4 μs step • manage byte - contains the current data rate, mode 8/16 bits and the index of the sensor board • acceleration data + data status - this field can be repeated, to repeat up to 4 samples depending on the current data rate. This is the main part of the burst mode packet. • Status - contains information on the selected g range, buttons status and events of the last sample The Burst mode frame format examples: [ttttttmmxxyyzzddss] - 8 bits 30 Hz frame [ttttttmmxxxxyyyyzzzzddss] - 16 bits 30 Hz frame [ttttttmmxxxxyyyyzzzzddxxxxyyyyzzzzddxxxxyyyyzzzzddxxxxyyyyzzzzddss] - 16 bits 120 Hz frame - longest case of burst communication where: t - receive time, m - manage byte, x- acceleration in X axis, y- acceleration in Y axis, z- acceleration in Z axis, d - data status byte, s - frame status byte, [ - start char, and ] is end char of the frame. Real example of a burst mode frame: ”[BBBCDCA0D0001400400000D6002C00410000D9002D003D0000E1002F003D000020]”. DRM103, Rev. 2 54 Freescale Semiconductor Software Design 5.4.5 Automatic Self-Calibration For the purpose of easier automatic calibration of the ZSTAR demo without a PC GUI, the additional Calibration command ‘Q’ (0x51) has been added. This command is usually issued over a terminal (e.g. HyperTerminal) software. The user is required to place the Sensor Board into a horizontal position (for example on a desk), in which the Earth’s gravity will induce a maximum acceleration in the Z axis. The first command ‘Q’ sent to the USB stick only prepares the user for the auto calibration process by text help, and the second command ‘Q’ in the line starts the auto calibration process of the sensor board. 5.5 Compatibility with Original ZSTAR The new ZSTAR3 and the new USB stick sw are fully compatible with the original ZSTAR on USB communication, thus can be used in all application designed for the original ZSTAR. For example, the demo application RD3152MMA7260Q_SW. Compatibility was achieved by keeping all the original commands in the USB communication protocol. The USB stick provides a compatibility mode with the original ZSTAR RF protocol. If the first received ZSTAR packet in broadcast mode is from a sensor board with original software, the USB stick is switched to the Compatibility mode and starts the original ZSTAR RF protocol. When compatibility mode is active, no other sensor can’t be connected. 5.6 Bootloader There’s bootloader software implemented in MCHC908JW32 microcontroller. The bootloader is based on AN2295, Application Note - Developer’s Serial Bootloader for M68HC08 and HCS08 MCUs and AN2295SW related software. The original AN2295 bootloader targets serial connections between the PC and applications, and since the MCHC908JW32 implements a virtual serial port application, the USB version of the AN2295 bootloader has been created to allow reprogramming of Flash memory in the USB stick. The USB virtual serial port software is fully described in AN3153, Application Note - Using the Full-Speed USB Module on the MCHC908JW32. The MCHC908JW32 bootloader implements the same virtual serial port but under a different PID (the PC sees that serial port as a different application from ZSTAR). The bootloader drivers installation guide can be found in Section 6.1.2, AN2295 Bootloader Drivers Installation. 5.6.1 Switch to Bootloader Procedure The Bootloader in the ZSTAR can be started by the following procedure: 1. Unplug the USB stick from the USB port 2. Press the button on the USB stick 3. Keep the button pressed and plug the USB stick back into the USB port 4. Release the button. DRM103, Rev. 2 Freescale Semiconductor 55 Software Design 5.6.2 Bootloading Procedure The easiest way to Flash the newest firmware onto a USB stick is to use the ZSTAR3 GUI application and through this application open a Bootloader COM port1. But if you want to proceed to the Bootloader procedure manually, then follow the next steps. 1. Find on the installation CD the folder with binaries: 2. Start (double-click) the CMD.EXE shortcut, and a command line window should appear: 1. For more details check Chapter 7 of this Manual. DRM103, Rev. 2 56 Freescale Semiconductor Software Design 3. Now type: hc08sprg [bootloader com port number] [binary (S file) that you want to bootload], just like this: hc08sprg.exe com8 accelerometer_v2_ZSTARJW32-new-DUALBOOT.S19 4. Press ENTER and initial bootloader communication will start: DRM103, Rev. 2 Freescale Semiconductor 57 Software Design If this screen does not appear, remove the USB stick and start from the beginning. The bootloader disappears (in Device Manager) and the newly loaded software starts to execute. Using this procedure, the software in the USB stick can be changed anytime. 5.7 Tri-application Software on the USB Stick The USB stick provides three different USB devices that can be changed in run-time. A list of the ZSTAR3 USB Devices: • CDC (Communication Device Class) - virtual serial port. • HID (Human Interface Device) - Mouse device • HID (Human Interface Device) - Keyboard device. DRM103, Rev. 2 58 Freescale Semiconductor Software Design 5.7.1 CDC - Virtual Serial Port Application This is the main application of the ZSTAR3 project. Only this application can provide the ZSTAR3 USB protocol (extended STAR protocol) commands and run all the functions and features of the ZSTAR3 demo. When CDC application is active LED3 blinks are depending on USB communication activity. Figure 5-4. CDC Application Signs (device manager, indication LED) 5.7.2 HID - Mouse Application A second application of the ZSTAR USB stick is a computer mouse demo. This application looks like a real USB mouse. Movement of the cursor on screen is done very simply by tilting the sensor board in axes XY. The first two buttons on the sensor board have the same functions as buttons on a real mouse. The third button, introduced on the new ZSTAR3 sensor boards, substitutes the wheel of a real mouse. When this button is pushed, the cursor stops moving on the screen, and the USB stick starts to generate wheel movement from the Y axis. Only the sensor board with index 0 can work as an input device.When Mouse application is active, LED3 is blinking fast (15 Hz) DRM103, Rev. 2 Freescale Semiconductor 59 Software Design . Figure 5-5. Mouse Application Signs (device manager, indication LED) 5.7.3 HID - Keyboard Application The third application has a very specific target end application, mainly as a controller for simple PC games that are controlled by the keyboard. This application looks like a general USB keyboard. The USB stick simulates the pressing of keys on the keyboard through the tilt of the sensor boards. The ZSTAR3 recognizes four steps of tilt and can thus generate the frequency and duty cycle of the pressed keys. This feature helps for better game control. The ZSTAR in this mode supports the first 6 sensor boards indexes. Each index has a four key assignment shown in the table below: Index Up Down Left Right 0 w s a d 1 t g f h 2 i k j l 3 z x c v 4 b n m p 5 1 2 3 4 DRM103, Rev. 2 60 Freescale Semiconductor Software Design A very nice freeware game that we used for testing is GeneRally from the http://generally.rscsites.org/ site. When Keyboard application is active, LED3 is blinking slow (4 Hz). Figure 5-6. Keyboard Application Signs (device manager, indication LED) 5.7.4 Application Switching All embedded applications can be switched by just a quick press of the button on the USB stick (with the USB stick inserted into the USB slot). The applications will appear and disappear accordingly. In order for the ‘tilt’ mouse application to work, the sensor board must be calibrated correctly (e.g. using RD3152MMA7260Q_SW.exe, The ZSTAR3 GUI application or the Section 5.4.5, Automatic Self-Calibration procedure). DRM103, Rev. 2 Freescale Semiconductor 61 Software Design 5.8 ZSTAR PC library The ZStarlib library (zstarlib.dll) is tool which provides API (Application Interface) to manage all ZSTAR functionalities as reading sensor output values, setting up all the ZSTAR3 parameters, managing sensors and also provides the various events (data ready, calibration end, ZSTAR state changed etc.). PC The ZSTAR3 GUI User application dynamic linked library interface zstarlib.dll C#.NET ZSTAR PC library ZStar3 class ZStarSensor class Index 0 Control Methods Example: GetXyzDataFast(); Properties Example: RealX; TypeBoard; Burst data FIFO buffer 1 Control Methods Example: OpenPort(Int32); AutoCalibrateAll(); 2 Properties Example: ActiveSensorsCount; ZStarState; 15 Events Example: OnBurstDataReceived; OnActiveSensorsChanged; Virtual ComPort usbser-zstar.sys USB Figure 5-7. PC Software Composition Overview DRM103, Rev. 2 62 Freescale Semiconductor Software Design It was developed in C# language, so it is based on Microsoft.NET Framework. The ZStarlib package also contains help file and source code of the simple demo application. The ZSTAR3 GUI application is based on this library and shows the most of its possibilities. Figure 5-8. Example Demo Application Based on zstarlib.dll DRM103, Rev. 2 Freescale Semiconductor 63 Software Design DRM103, Rev. 2 64 Freescale Semiconductor Chapter 6 Application Setup 6.1 6.1.1 ZSTAR3 Installation Procedure USB stick Installation First of all, we have to install the USB stick on your PC. Please follow the next steps. 1. Plug the USB stick into a USB slot. The ‘Found New Hardware’ announcement should appear: 2. Then the installation wizard starts for new hardware. Choose “Install from a list or special location“ DRM103, Rev. 2 Freescale Semiconductor 65 Application Setup 3. Point to the Installation CD as the driver path: 4. Installation should continue: DRM103, Rev. 2 66 Freescale Semiconductor Application Setup 5. If you are asked to stop or continue installation because the drivers are not certified by Microsoft, select the “Continue Anyway” button. 6. Installation should successfully finish. DRM103, Rev. 2 Freescale Semiconductor 67 Application Setup 7. Check whether a new serial port (ZSTAR Tri-axial Demo) has appeared in your Device Manager (Right click My Computer on the Desktop > Properties, Hardware tab, Device Manager button): 6.1.2 AN2295 Bootloader Drivers Installation This procedure assumes that ZSTAR Demo drivers are already installed. The drivers are false common for the bootloader (= are already present in Windows folders). If not, the procedure will be identical to the ZSTAR drivers installation. 1. Press the Button on the USB stick and insert it into a USB connector (keeping the button pressed when inserted). The following window appears: DRM103, Rev. 2 68 Freescale Semiconductor Application Setup 2. The PC searches for an appropriate driver (as in the ZSTAR Demo, in some instances a folder with the drivers (star.inf and usbser-zstar.sys) needs to be selected), then the following window should appear: 3. Just click Yes, and the bootloader port will be installed (as seen in the Device manager): 4. Right click My Computer on the Desktop > Properties, Hardware tab, Device Manager button. DRM103, Rev. 2 Freescale Semiconductor 69 Application Setup 5. A similar setup should be observed: 6. Note down the COM port number (here, COM8); this is the port number of the Bootloader Once the software in the USB stick needs to be updated, the Bootloader can be invoked anytime, just by pressing the button while inserting the USB stick into the USB slot. DRM103, Rev. 2 70 Freescale Semiconductor Chapter 7 ZSTAR3 GUI The ZSTAR3 demo brings a new GUI that supports all the new features and functions of the new ZSTAR3. It’s distributed as a complete installation package with all the necessary files, including the Microsoft.NET Framework package. 7.1 Installation 1. Run the setup.exe file in the installation directory to start installing the ZSTAR3 GUI on the computer. Figure 7-1. Installation Files DRM103, Rev. 2 Freescale Semiconductor 71 ZSTAR3 GUI 2. On first screen of ZSTAR3 installation process only press the “Next“ button. Figure 7-2. Start of the Installation DRM103, Rev. 2 72 Freescale Semiconductor ZSTAR3 GUI 3. In this step, select the destination directory and some other possibilities and press the “next” button. Please follow all the next steps to get to the end of the installation process. Figure 7-3. Second Step of the Installation Process - Select Destination Directory DRM103, Rev. 2 Freescale Semiconductor 73 ZSTAR3 GUI 4. Final step of the installation process. Figure 7-4. Last step of the Installation Process 7.2 ZSTAR3 GUI The ZSTAR3 GUI is a specially designed PC application for Freescale ZSTAR demos. It fully supports all the new functionalities of the ZSTAR demo and all available ZSTAR family sensor boards. 7.2.1 • • • • • • • • Features of ZSTAR GUI Shows 16 sensors per screen. Displays basic information for each sensor, including the current acceleration values and freefall events. Easy selection of an active sensor board. Detailed window of the focused sensor board on the overview screen. RF page showing all RF settings and information. RF settings such as the Netnum and the RF channel are modifiable via this screen. Lots of various demos of typical accelerometer applications or Freescale sensor presentations. User help through about screens in the demo windows. Update function for older ZSTAR USB sticks. The GUI can reflash all older USB stick boards with the newest software that is compatible with the older sensor boards. USB data flow monitor DRM103, Rev. 2 74 Freescale Semiconductor ZSTAR3 GUI 7.2.2 The ZSTAR3 GUI Main Controls This panel is visible on all tabs of the ZSTAR3 GUI application. It shows the most important controls and information of ZSTAR demo. 6 4 2 1 5 3 Figure 7-5. The ZSTAR3 GUI Main Controls The GUI main controls1: 1. USB stick connection panel 2. The ZSTAR resolution switch of 8/16 bits 3. Resetting the ZSTAR hardware 4. USB data flow monitor 5. Log file controls 6. Information on the total count of connected sensor boards and the currently selected one. 7.2.2.1 USB Data Flow Monitor This is a special window designed for monitoring the data rates of communication via the USB interface2. The window shows all basic information of the current USB load and it draws a graph of the last 40 seconds. Figure 7-6. USB Data Flow Monitor 1. Red numbers in the picture mark individual controls described in the list below. 2. Only user payload - ZSTAR data. DRM103, Rev. 2 Freescale Semiconductor 75 ZSTAR3 GUI 7.2.3 Sensor Board Overview Screen 1 4 3 2 5 7 5 7 6 5 7 7 7 5 7 5 7 7 7 7 7 Figure 7-7. Main Sensor Board Overview Screen of the GUI The GUI main sensor board overview controls1: 1. Detailed panel of the selected sensor board. 2. Current accelerometric data in graphical and text form. 3. Current tilt of the selected board in graphical and text form. 4. Basic settings of the selected sensor board. 5. Active sensor boards. 6. Currently connected sensor board. 7. Select an active sensor board. 8. Free slots for Sensor boards. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 76 Freescale Semiconductor ZSTAR3 GUI 7.2.4 RF Overview Screen 3 2 1 9 7 4 4 5 8 6 Figure 7-8. RF Overview Screen The GUI RF overview controls1: 1. Current working state of the ZSTAR demo. 2. Information on the last measured activity on individual RF channels. 3. Flags for other detected ZSTAR communication on other channels. 4. Currently used RF channel. 5. RF channel change control. 6. Netnum of RF communication change control. 7. RSSI2 information of all connected sensors. 8. Scope of RSSI information from selected sensor board. 9. Version of the Demo. 1. Red numbers in the picture mark individual controls described in the list below. 2. Receive signal strength information. DRM103, Rev. 2 Freescale Semiconductor 77 ZSTAR3 GUI 7.2.5 General Sensor Tasks 1 2 3 4 Figure 7-9. The General Sensor Tasks Screen The GUI General sensor tasks controls1: 1. Calibration screen - This screen allows a more detailed calibration of the sensor on the selected sensor board. 2. Acquire data screen - This ZSTAR application acquires data on all connected the sensors into an Excel or text file. 3. Raw data screen - This screen shows basic data of the sensor board in general text format. 4. Scope window - This is a useful window that shows acceleration in various formats selectable by the user. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 78 Freescale Semiconductor ZSTAR3 GUI 7.2.5.1 Scope Demo Application This demo application shows graphical output of measured and computed values from the selected sensor board. It can show unchanged raw data received directly from the sensors or computed values in g. This window also provides computed absolute values from all three axes. All computed values can be displayed as filtered. 2 3 4 5 1 6 Figure 7-10. Scope Window Application The Scope window application controls1: 1. Data source selection - Select which data will be displayed, RAW or REAL. 2. Raw data panel - in this panel you can select which axes will be displayed. 3. Real data panel - in this panel you can select which axes will be displayed. 4. Filtered real data panel - in this panel you can select which filtered axes will be displayed and pick the average filter. 5. The g range select control - this control allow changing g range of sensor in run-time of scope window. 6. Data rate change control - this control allow changing data rate of sensor in run-time of scope window. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 Freescale Semiconductor 79 ZSTAR3 GUI 7.2.5.2 Acquire Data Demo Application This application is designed to acquire all measured data from the sensors. It allows selecting the sensors to acquire, selecting the data rate for reading acceleration values, selecting which data will be saved and the output of measured data. There are two choices of output: • Directly to the Microsoft Excel application (tested on Microsoft Excel 2003 version). • To a CSV file - the GUI saves all measured data into a text file that can be imported to Excel or another tabular application. The capture time is not restricted. Figure 7-11. Acquire Data Window DRM103, Rev. 2 80 Freescale Semiconductor ZSTAR3 GUI 7.2.6 Tilt Tasks 1 2 3 4 5 6 Figure 7-12. The Tilt Tasks Screen. The GUI Tilt tasks controls1: 1. Tilt XYZ screen - Window shows the tilt of all axes. Selectable normal / filtered values. 2. Filtered tilt - This ZSTAR application shows the differences between normally measured tilt and filtered. 3. Tilt 2 Axes screen - This is a special demo application that shows how to get from two axes a full range of 0° - 360° tilt. 4. Portrait/Landscape screen - This demo shows one of a couple of tilt detection applications for a PDA. 5. PDA Scrolling screen - This demo shows one of a couple of tilt detection applications for a PDA. 6. About box - This about box contains various information on the Tilt accelerometer applications. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 Freescale Semiconductor 81 ZSTAR3 GUI 7.2.6.1 Filtered Tilt Demo Application This demo window shows differences between measured tilt values and those software filtered. This demo uses a basic average filter algorithm. On the screen is placed four panels: • Currently measured tilt indicator. • Filtered value of the currently measured value indicator. • Setting box - select a measured accelerometer axis and choose an average filter of up to 128 samples. • Scope showing differences between current and filtered values through time. Figure 7-13. Filtered Tilt Demo Application DRM103, Rev. 2 82 Freescale Semiconductor ZSTAR3 GUI 7.2.7 Motion Tasks 1 2 3 Figure 7-14. The Motion Tasks Screen The GUI Motion tasks controls1: 1. Anti-Theft screen - Window shows accelerometer possibilities in Anti - Theft applications. 2. Battery saver screen - This is a demo that shows how accelerometers can be used in some specific applications to save the battery. 3. About box - This about box contains various information on Motion accelerometer applications. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 Freescale Semiconductor 83 ZSTAR3 GUI 7.2.8 Freefall Task 1 2 Figure 7-15. The Freefall Task Screen The GUI Freefall tasks controls1: 1. Freefall screen - Demo show accelerometer possibilities for Freefall detection. 2. About box - This about box contains various information on Freefall accelerometers applications. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 84 Freescale Semiconductor ZSTAR3 GUI 7.2.9 Shock Tasks 1 2 3 4 Figure 7-16. The Shock Tasks Screen The GUI Shock tasks controls1: 1. Shipping and handling screen - This demo shows how accelerometers can be used in Shipping. 2. Threshold Detection screen - This window shows the measurement of g threshold by accelerometers. 3. Shock Detection screen - This window shows the measurement the g peaks by accelerometers. 4. About box - This about box contains various information on Shock accelerometer applications. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 Freescale Semiconductor 85 ZSTAR3 GUI 7.2.10 MMA7456L Tasks This tab contains demo especially designed for the Freescale digital accelerometer sensor (ION) MMA7456L. 1 2 3 Figure 7-17. The MMA7456L Tasks Screen The GUI MMA7456L tasks controls1: 1. Sensor registers screen - This demo shows all registers inside a digital sensor in a user friendly format. 2. Level Threshold Detection screen - This window shows the measurement of g threshold by digital accelerometers. 3. Pulse Detection screen - This window shows the measurement of g pulses by digital accelerometers. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 86 Freescale Semiconductor ZSTAR3 GUI 7.2.10.1 Sensor Registers Demo Application This is a specially designed window that shows all internal registers of the MMA7455L accelerometer. It is split into two main parts: • The left half contains a list of all registers in the MMA7455L accelerometer and their values in hex format. At the bottom of this panel are placed two check boxes. The first is an Auto Select option, that allows fast mode selection of an individual register, and the second option allows for an automatic refresh value of the selected register. • Content of the right half is dependent on the left. It shows details of the selected register in a friendly format. Active options are displayed in white color. The Links screen. Figure 7-18. Sensors Registers Application Screen DRM103, Rev. 2 Freescale Semiconductor 87 ZSTAR3 GUI 7.2.11 MMA7660FC Tasks This tab contains demo especially designed for the Freescale digital accelerometer sensor (TRON) MMA7660FC. 1 2 3 4 5 Figure 7-19. The MMA7660FC Tasks Screen The GUI MMA7660FC tasks controls1: 1. Sensor registers screen - This demo shows all registers inside a digital sensor in a user friendly format. 2. Orientation demo screen - This window shows the orientation detection capability of MMA7660FC accelerometer. 3. Shake demo screen - This window shows the shake detection capability of MMA7660FC accelerometer. 4. Slide show demo screen - This window shows the shake detection capability of MMA7660FC accelerometer on simple slide show. 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 88 Freescale Semiconductor ZSTAR3 GUI 5. Tap detection demo screen - This window shows the tap detection capability of MMA7660FC accelerometer. 7.2.11.1 Orientation Detection Demo Application This is demo application that shows automatic orientation detection capability of MMA7660FC. It is split into two main parts: • The upper part of window shows is main part of orientation detection demo. In this area are placed a four main information: — Picture of cell phone - the main visual item of application. It shows current orientation of sensor. — Sensor Orientation box - it shows in text format the current state of the MMA7660FC tilt register. — Tilt register box - it shows current value of the MMA7660FC tilt register in hexadecimal format. — Ring mode box - this is demonstration of automatic control of ring mode in cell phones • The second part of application is Power management control box of the MMA7660FC. The Links screen. Figure 7-20. The MMA7660FC Orientation Application Screen DRM103, Rev. 2 Freescale Semiconductor 89 ZSTAR3 GUI 7.2.11.2 Tap Detection Demo Application This is demo application that shows tap detection capability of MMA7660FC. This is very simple demo that detect a single and double tap/click. The demo simulated the music player application controlled by taps, so it starts play a music when double click occur, single click stops the music playback. It is split into two main parts: • The upper part of window shows is main part of tap detection demo. There is a few items: — Tap detection settings box - this box allows set up all possible ability of the MMA7660FC tap detection settings. for more information check the MMA7660FC data sheet. — Status area (right part of application) - in this area are placed text information about current state of application. • The second part of application is Power management control box of the MMA7660FC. The Links screen. Figure 7-21. The MMA7660FC Tap Detection Application Screen DRM103, Rev. 2 90 Freescale Semiconductor ZSTAR3 GUI 7.2.11.3 Power management control box of the MMA7660FC The MMA7660FC accelerometer provides a basic power management that allows control of internal sensor sample rate and sleep function. The Power Management control box allows sets all control items in sensor and also provides basic status information of sensor. 7 4 2 1 8 5 9 3 6 Figure 7-22. The MMA7660FC power management control box The MMA7660FC power management box controls:1 1. Status information that show current state of the MMA7660FC device Active/Sleep 2. Sample rate of sensor in active mode 3. Sample rate of sensor in sleep mode 4. Time-out of Active mode 5. 16 times extension of time-out 6. Tilt filter control 7. SetUp Sensor Button - this button updates the MMA7660FC by current sets value of this box 8. The theoretical value of sensor power consumption 9. The hexadecimal value of impacted the MMA7660FC registers 1. Red numbers in the picture mark individual controls described in the list below. DRM103, Rev. 2 Freescale Semiconductor 91 ZSTAR3 GUI 7.2.12 Freescale Web Links. Figure 7-23. The Links Screen This screen contains a couple of interesting links on Freescale and its accelerometric sensors. DRM103, Rev. 2 92 Freescale Semiconductor ZSTAR3 GUI 7.3 The ZSTAR3 GUI Update USB Stick Software Utility The ZSTAR3 GUI can easily upgrade firmware in the USB stick by Bootloader capatibility. There are two different ways to start upgrade utility: • Self-start-up - the GUI always checks the software version of the USB stick with an open port action. If it finds an older version than it has, the GUI displays an information message which asks user to start the software update utility. • Manual start - the GUI can directly open a registered Bootloader Com port. 7.3.1 Update Process (Manual Start) 1. For a manual start, select the Bootloader Com port1 from the Comport list and press the Open button. Select right ComPort Then Open this port Figure 7-24. Update Software Procedure - Step 1 2. When the GUI shows an Information message box about the Update procedure, click the OK button to continue. Figure 7-25. Update Software Procedure - Step 2 1. Bootloader port is started by the procedure described in Section 5.6.1, “Switch to Bootloader Procedure. DRM103, Rev. 2 Freescale Semiconductor 93 ZSTAR3 GUI 3. Now the GUI shows the Update window. Here you must select the correct type of the currently connected ZSTAR USB stick. Select type of the USB stick Figure 7-26. Update Software Procedure - Step 3 4. When you select the correct type of USB stick, the GUI knows which files it has and offers the latest version of available software. Available version File name of available version Figure 7-27. Update Software Procedure - Step 4 DRM103, Rev. 2 94 Freescale Semiconductor ZSTAR3 GUI 5. Now you can press the ReFlash button. The GUI starts looking for an available Bootloader port. Figure 7-28. Update Software Procedure - Step 5 6. When the GUI finds a Bootloader port, the original bootload procedure starts. Please wait till the end of the bootloader process. Figure 7-29. Original Bootloader Application When the Update process finishes successfully, close the update window and start to enjoy all the new features that brings new version of the ZSTAR firmware. DRM103, Rev. 2 Freescale Semiconductor 95 ZSTAR3 GUI DRM103, Rev. 2 96 Freescale Semiconductor Appendix A References The following documents can be found on the Freescale web site: http://www.freescale.com. 1. 2. 3. 4. AN2295, Application Note - Developer’s Serial Bootloader for M68HC08 and HCS08 MCUs AN3153, Application Note - Using the Full-Speed USB Module on the MCHC908JW32 AN3447, Application Note - Implementing Auto-Zero Calibration Technique for Accelerometers AN3837, Application Note - Setting up the MMA7660FC for Orientation, Shake, Auto-Wake/Sleep and Tap Detection 5. AN3838, Application Note - How to use the MMA7660FC with a Microcontroller to do Software Enhancements to Change Orientation Detection Trip Points 6. AN3839, Application Note - MMA7660FC Board Mounting Guidelines 7. AN3840, Application Note - Setting up the MMA7660FC to Orientation Detection 8. AN3841, Application Note - Performing Offset Calibration using the MMA7660FC 9. ZSTARRM, Reference Design Manual - Original ZSTAR Demo (RD3152MMA7260Q) RDM 10. MC9S08QG8, Data Sheet 11. MCHC908JW32, Data Sheet 12. MMA7260QT, Data Sheet 13. MMA7361LT, Data Sheet 14. MMA7455L, Data Sheet 15. MMA7660FC, Data Sheet 16. MC13191, Data Sheet 17. MC13213, Data Sheet DRM103, Rev. 2 Freescale Semiconductor 97 References DRM103, Rev. 2 98 Freescale Semiconductor How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 2100 East Elliot Road Tempe, Arizona 85284 1-800-521-6274 or +1-480-768-2130 www.freescale.com/support Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) www.freescale.com/support Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku, Tokyo 153-0064 Japan 0120 191014 or +81 3 5437 9125 [email protected] Asia/Pacific: Freescale Semiconductor China Ltd. Exchange Building 23F No. 118 Jianguo Road Chaoyang District Beijing 100022 China +86 10 5879 8000 [email protected] For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 1-800-441-2447 or +1-303-675-2140 Fax: +1-303-675-2150 [email protected] Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters that may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals”, must be validated for each customer application by customer’s technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. 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. 2009. All rights reserved. DRM103 Rev. 2 11/2009