Express Controls ZWP500 Quick Start Manual

Z-wave production programmer & tester

Advertisement

Quick Links

PC
ENET
ZWP500
Z-Wave Production Programmer & Test Platform
Sigma Designs Z-Wave SoCs/Module Programmer
FLASH & NVM Programmer
Production Test Platform
Firmware Validation Platform
Programmable in Python or C
SmartStart enabled with QRCode label printing
Fully Customizable
Validation Services Available
Overview
The ZWP500 is a robust and reliable programmer for the
Sigma Designs 500 series of Z-Wave modules. A high-
speed SPI bus interface programs the Z-Wave module in
seconds. The ZWP500 is designed to operate on the
factory production floor with a fanless design and push-
button operation. The Raspberry Pi Linux computer is
augmented with a PSoC5 microcontroller to provide the
most accurate and fastest programming times possible.
A Z-Wave module with a programmable RF attenuator
allows the ZWP500 to fully test the RF parameters of the
target DUT. A 1ppm accurate crystal calibrates every
device for optimal RF performance.
The Python API enables customizable production
programming and testing. Program each NVR with a
unique AES-128 Security S2 DSK pin code or other
custom fields. Set the LOCK bits to prevent unauthorized
access to the firmware. Have your team develop the test
code or let the experts at Express Controls do it for you.
February 2018
ZWP500
ARM
SPI
CPU
TIMING
ENGINE
UART
PSoC5
ENET
Quad ARM A7
1GB /8GB MEMORY
Raspian LINUX
RASPBERRY Pi3
Bringing
the Internet of Things (IoT) to Life
Z-Wave Production Programmer & Tester
2.0V-4.5V
VIO
SPI
UART
Atten
SMA
Features
Sigma Designs 500 Series FLASH Programmer
-
Standard Sigma 12 pin programming header
o
SPI interface for programming
o
UART interface for debug
-
NVR and external NVM programming & test
-
1ppm Crystal RF Calibration
-
SmartStart QRCode generation & printing
-
Fanless protective enclosure
Production Test Platform
-
Customizable Python interface
-
Scanner interface for serial number or DSK
-
Label printer interface for DSK
-
Camera interface for LCD screen testing
Z-Wave ZM5202 Module onboard
-
Programmable RF Attenuator with SMA
Python API
-
Customizable Programming API or GUI
-
Sample test scripts for production testing
Programmable Power Supply
-
+2.0V to +4.5V 300mA
-
Resolution 100uV, 100 uAmps
Raspberry Pi based controller
-
1.2GHz Quad ARM CPU running Linux
-
1GB RAM - 8GB FLASH microSD
-
Ethernet, WiFi, HDMI and USB connectivity
-
Control locally or remotely via VNC
Ordering information:
ZWP500-AU – Programmer/Tester (908Mhz US)
ZWP500-AE – Programmer/Tester (868Mhz EU)
ZWP500-AH – Programmer/Tester (921Mhz ANZ)
ZWP500-DV – DevKit Interface Board
ZWP500-SVC - ZWP500 Services & Customization
ZWP500
www.ExpressControls.com
ZM5x0x
1

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ZWP500 and is the answer not in the manual?

Questions and answers

Summary of Contents for Express Controls ZWP500

  • Page 1 Raspberry Pi based controller A Z-Wave module with a programmable RF attenuator 1.2GHz Quad ARM CPU running Linux allows the ZWP500 to fully test the RF parameters of the 1GB RAM - 8GB FLASH microSD target DUT. A 1ppm accurate crystal calibrates every Ethernet, WiFi, HDMI and USB connectivity device for optimal RF performance.
  • Page 2: Table Of Contents

    SmartStart QRCode Label Printer ............................6 Hardware Connections ................................7 Z-Wave Programming Cable ............................... 7 Z-Wave Antenna .................................. 7 Sigma DevKit Interface Board – ZWP500-DV ........................7 Raspberry Pi.................................... 9 PSoC PlugIn Board ................................10 Serial Port ..................................10 USB Ports ..................................10 HDMI Port ..................................
  • Page 3 Product Validation Example Python Application ....................... 14 Production Testing ................................14 Production Testing Example Python Application....................... 14 Manufacturing Data Logging ............................. 14 ZWP500 Interface ................................. 14 PSoC Commands ................................14 AcquireDUT ................................... 15 Calibrate ..................................15 FirmwareUpdate ................................15 FlashDownload ................................
  • Page 4 ZWP500 ™ Z-Wave Production Programmer & Tester www.ExpressControls.com References .................................... 24 Warrantee & Copyright ................................24 Document History .................................. 25 February 2018 Bringing the Internet of Things (IoT) to Life...
  • Page 5: Overview

    ZWP500 as a guide. The ZWP500 is can be used for software validation to verify there are no bugs in each release of firmware. The full power of high level programming languages like Python or C can be used to test every button press and Z-Wave command class with each firmware revision.
  • Page 6: Typical Zwp500 Setup

    SmartStart QRCode Label Printer The ZWP500 has the ability to generate the required SmartStart QR Code labels for both the device and the package. The QRCode requires customization to fit on the desired label but the sample SensorPIR project can be used as a guide.
  • Page 7: Hardware Connections

    UART pins but is otherwise pin compatible. Pins 2 and 5 are usually a no-connect on other programmers but the ZWP500 uses these pins to connect to a DUT board with I2C GPIO expanders or other I2C devices to enable complete control and measurement of the DUT.
  • Page 8 Z-Wave 500 series product using the ZWP500. The SensorPIR project from the Sigma SDK is pre- loaded on the ZWP500 and an icon to program and test it is on the Desktop. Double click on the SensorPIR icon and a terminal window comes up.
  • Page 9: Raspberry Pi

    The DevKit board has two I2C GPIO expanders (PCAL9535A) at I2C address 20 and 21. These can be controlled using the ZWP500 commands I2CSend and I2CGet. See the sample SensorPIR.py Python code for an example. The PCAL chip command structure is the I2C Slave address, then a command byte which is a register address, then optionally another data byte or two or perform an I2C read.
  • Page 10: Psoc Plugin Board

    HDMI Port An HDMI port on the ZWP500 should be connected to a monitor to enable the user to interface with the software on the ZWP500. The recommended resolution is 1280x1024 which is the default setting. The RPi supports many other resolutions and most monitors will work.
  • Page 11: Sigma 500 Series Rf Calibration

    Non-Volatile Register (NVR) Fields The values stored in the NVR are programmed using the ZWP500 and cannot be changed by the firmware on the DUT itself. The NVR contains a number of fields required for Z-Wave operation including the calibration values, the module type and the S2 security keys.
  • Page 12: Override Value

    ZWP500 ™ Z-Wave Production Programmer & Tester www.ExpressControls.com The values to be programmed in the NVR are defined in the <project>.ini file in the [nvr] section. All of the defined fields in the Sigma NVR document SDS12467 are supported. The defined fields allow for fields that are more than one byte to be programmed.
  • Page 13: Lock Bits

    TXPOW values in the hex file. The hex file is downloaded once into the ZWP500. Once it has been loaded it is stored internally and does not need to be downloaded with each DUT making the programming process fast.
  • Page 14: Programmer Example Python Application

    The ZWP500 is primary a tool for programming the firmware into each 500 series DUT during production. The firmware hex file is downloaded into the ZWP500 and then a simple short command is used to apply the proper VIO voltage for...
  • Page 15: Acquiredut

    The NVR is ERASED during the calibration process. It is REQUIRED to read the NVR prior to running a calibration and to restore the NVR afterward. Do NOT run a calibration alone. The ZWP500 has a high precision crystal and is able to accurately measure and set the CCAL value.
  • Page 16: Flashdownload

    The FlashXXX commands are not normally needed by most users who can rely on the Python code included with the ZWP500. The FlashXXX commands are documented here for users who want to fully customize the platform for their own needs. Typically the sample Python code is used to provide higher level functions for programming.
  • Page 17: Flashread 0Xxxxx:0Yyyyy

    FlashCRC Returns the four byte CRC in the downloaded hex file, the computed CRC and the DUT CRC if the DUT is acquired. Typically this command is used to ensure the proper hex file is downloaded into the ZWP500. Example: FlashCRC<cr>...
  • Page 18: Help

    ZWP500 ™ Z-Wave Production Programmer & Tester www.ExpressControls.com of the programming cable are dedicated to the SPI bus used for programming the DUT and accessing the external NVM. Pins 2, 5, 11 and 12 however are generally available for use and can be used to sense or drive test points on the DUT. If more than 4 pins are needed, an I2C bus GPIO expander can be placed on the DUT test board.
  • Page 19: Ledset Rgb

    Green, Blue) can be turned ON with a 1 or off with a 0. The RGB value must be three digits of either 0 or 1. Invalid values will return a ?. The LED on the ZWP500 can be used to indicate to the operator that the DUT is passed (green) or failed (red) or that the programming/testing is underway (any of the other colors).
  • Page 20: Nvrget

    ZWP500 ™ Z-Wave Production Programmer & Tester www.ExpressControls.com setting the NVM to a new value it is recommended to do an NVMGet to verify the data was properly set. The entire NVM can be reset to all ones with the command “NVMSet R”.
  • Page 21: Resetdut [0]

    Set the RF attenuation to the hexadecimal value DD in the range from 0x00 (minimum) to 0x7F (maximum attenuation). The ZWP500 contains a pair of Digital Step Attenuators (DSA) on the RF path from the Z-Wave chip to the antenna SMA connector.
  • Page 22: Uartsend Dd

    ZWaveSend DD… The Sigma SerialAPI command DD is sent to the ZWP500 Z-Wave chip. This command can be any SerialAPI command and the data required with it. The SerialAPI frame is automatically built around the SerialAPI command. The SOF, length and checksum are wrapped around the command.
  • Page 23: Troubleshooting

    The upgrade will typically ask if it is OK to update because the Express Controls ZWP500 build is not on a “verified” server which is OK.
  • Page 24: Python Sample Application

    Warrantee & Copyright If within two (2) years from the date of purchase, this product fails due to a defect in material or workmanship, Express Controls LLC will repair or replace it, as its sole option, free of charge. This warranty is extended to the original household purchaser only and is not transferable. This warranty does not apply to: (a) damage to units caused by accident, dropping or abuse in handling, acts of God or any negligent use;...
  • Page 25 ZWP500 ™ Z-Wave Production Programmer & Tester www.ExpressControls.com Document History Revision Date Description 1.1.00 2/18/2018 Initial Beta Version February 2018 Bringing the Internet of Things (IoT) to Life...

Table of Contents