USER GUIDE Wireless Production Test Reference – Protocol Specification Document Atmel MCU Wireless Description This document explains the serial protocol used for communication between various blocks of the Wireless Production Test Reference setup. This setup is targeted to run production tests on Atmel® Wireless devices. 42265A−WIRELESS−03/2014 Table of Contents 1. Terms and Abbreviations ................................................................... 3 2. Document Overview ........................................................................... 3 3. Protocol Format ................................................................................. 3 3.1 3.2 3.3 3.4 Messages for Communication between Test PC (pdt_runner) and ATmega256RFR2 Xplained PRO ..................................................................... 4 Messages for Communication between Test PC (pdt_runner) and ZigBit USB10 Messages for Communication between ATmega256RFR2 Xplained PRO and DUT Containing MCU+Transceiver or SoC .................................................... 12 Messages for Communication between ATmega256RFR2 Xplained PRO and ATmega1284P of Production XPRO ............................................................... 15 4. Error Codes...................................................................................... 19 5. Example Test Sequence .................................................................. 20 6. Reference ........................................................................................ 20 7. Revision History ............................................................................... 21 Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 2 1. Terms and Abbreviations DUT: Device Under Test. SoC: System on Chip. 2. Document Overview The following sections explain the protocol used for communication between various blocks in a typical WPTR production system such as: • • • • 3. TEST PC Command Line Tool: “pdt_runner.exe” ATmega256RFR2 Xplained PRO Production XPRO containing: • ATmega1284P • DUT ZigBit® USB Stick: • ATZB-X-233-USB • ATZB-X-212B-USB Protocol Format WPTR uses a common message format for all the communications in the test setup, similar to Atmel Performance Analyzer protocol. • • • • Between Test PC and ATmega256RFR2-XPRO Between Test PC and ZigBit USB Between ATmega256RFR2-XPRO and DUT Between ATmega256RFR2-XPRO and ATmega1284P (on Production XPRO) RX/TX message format: SOT Msg. length Protocol ID Msg. ID Msg. payload EOT (1 byte) (1 byte) (1 byte) (1 byte) (Msg. length – 2) bytes (1 byte) The details of message format are as below: Field Size Values Description SOT 1 byte 0x01 Start of the Transmission Msg. length 1 byte 0- 255 Length of the message including Protocol ID, Msg. ID and Msg. Payload Protocol ID 1 byte 0x00-0xFF Protocol usage based on the Application for WPTR – 0xF0 Msg. ID 1 byte 0x00-0xFF Identification of Message Msg. payload (Msg. length – 2) bytes … Payload for the message. This does not includes Protocol ID and Msg. ID EOT 1 byte 0x04 End of Transmission Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 3 3.1 Messages for Communication between Test PC (pdt_runner) and ATmega256RFR2 Xplained PRO FIXTURE_STATUS_REQ: Message used to request the status of Test Fixture’s Lid, if it is open or close. Message ID: <0x51> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA FIXTURE_STATUS_CONFIRM: Message ID: <0x71> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Fixture Status unsigned integer / 1 byte 0x00-0xFF 0x00- FIXTURE OPEN 0x01- FIXTURE CLOSE PWRM_REQ: Message used to read the registers of current sensor, INA226. Message ID: <0x52> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA PWRM_CONFIRM: Message ID: <0x72> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Bus Voltage 2 byte 0x0000-0xFFFF Bus voltage measurement data. Actual bus Voltage = 1.25mV * value Shunt Voltage 2 byte 0x0000-0xFFFF Shunt voltage measurement data. Actual Shunt Voltage = 2.5µV * value Current Measured 2 byte 0x0000-0xFFFF Current measured value with MSB first, Actual Current = (value * 100)µA Power 2 byte 0x0000-0xFFFF Power delivered to load= 2.5mW * value Calib. 2 byte 0x0000-0xFFFF Calibration register Mask Enable 2 byte 0x0000-0xFFFF Alert configuration For more details of these parameters refer to INA226 datasheets. Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 4 PWR_STATUS_REQ: Message used to check if the DUT caused an over current. If return value is failure, the power supply for the DUT was automatically stopped. Message ID: <0x53> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA PWR_STATUS_CONFIRM: Message ID: <0x73> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE DUT Power Status unsigned integer / 1 byte 0x00-0xFF 0x00- DUT Powered On 0x01- Over Current by DUT PWRC_REQ: Message used to clear the over current protection and switch the DUT off. Message ID: <0x54> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA Note: It is not possible to switch on a DUT, when the error bit is set. It’s recommended to clear the bit, before switch on the DUT. PWRC_CONFIRM: Message ID: <0x74> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE XPRO_FIRMWARE_VERSION_REQ: Message used to get the firmware version of the ATmega256RFR2 Xplained PRO Firmware. Message ID: <0x55> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 5 XPRO_FIRMWARE_VERSION_CONFIRM Message ID: <0x75> Message payload description: Field Type/size Values Description FW Version unsigned integer / 1 byte 0x00-0xFF Firmware version PWR_REQ Message used to enable the power to the DUT. Message ID: <0x56> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA PWR_CONFIRM: Message ID: <0x76> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE ZBDUT_REQ: Message used to indicate the type of DUT to the Xplained PRO. Message ID: <0x57> Message payload description: Field Type/size Values Description Type of DUT unsigned integer / 1 byte 0x00-0xFF 0x01: SOC DUT 0x02: 2.4 GHz Transceiver 0x03: Sub GHz Transceiver ZBDUT_CONFIRM: Message ID: <0x77> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 6 GPIOTEST_REQ: Message used to run the GPIO Test involving Pin Short Test and Continuity test on required pins. The command is implemented only in case of DUT containing MCU+ Transceivers or SoC. Message ID: <0x58> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA GPIOTEST_CONFIRM: Message ID: <0x78> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE String unsigned char ASCII Characters Gives the pins shorted. First byte gives the number of char in the string HWTEST_REQ: Message used to run the UART, TWI, and 32kHz tests in case of DUTs containing MCU+Transceiver or SoC. Message ID: <0x59> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA HWTEST_CONFIRM: Message ID: <0x79> Message payload description: Field Type/size Values Description Test ID unsigned integer / 1 byte 0x00-0xFF 0x00: SUCCESS 0x01: UART Test failed 0x02: TWI Test failed 0x04: 32kHz Crystal Test failed Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 7 XTALCALIB_REQ: Message used to run the Crystal Calibration using ATmega1284P and DUT. The DUT should generate a 4MHz clock output to the ATmega1284P. Message ID: <0x5A> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA XTALCALIB_CONFIRM: Message ID: <0x7A> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE XTAL_TRIM_VALUE unsigned integer / 1 byte 0x00-0x0F XTAL_TRIM value after calibration FREQUENCY Unsigned integer/4 bytes 0x00000000 – 0xFFFFFFFF Actual frequency = value * Calibration Trim Factor measured. By default Trim Factor = 1.000065 RF_PARAM_REQ: Message used to set the transmit power level and the operating channel of the transceiver for RF Tests. Message ID: <0x5B> Message payload description: Field Type/size Values Description POWER unsigned integer / 1 byte 0x00-0xFF Set the Transmit Power level CHANNEL unsigned integer / 1 byte 0x00-0xFF Set the Transceiver Channel RF_PARAM_CONFIRM: Message ID: <0x7B> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 8 RFTEST_REQ: Message used to start the RF Transmission Test. Message ID: <0x5C> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA RFTEST_CONFIRM: Message ID: <0x7C> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE TX_RSSI_VALUE unsigned integer / 1 byte 0x00-0x54 PHY_ED_LEVEL register value from ZigBit USB indicating TX level RX_RSSI_VALUE unsigned integer / 1 byte 0x00-0x54 PHY_ED_LEVEL register value from DUT indicating reception REGISTER_WRITE_REQ: Message used to write the given Transceiver Register Address with the given Parameter value. Message ID: <0x5D> Message payload description: Field Type/size Values Description REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address to be written REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value to be written REGISTER_WRITE_CONFIRM: Message ID: <0x7D> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address written REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value read back from DUT REGISTER_READ_REQ: Message used to read the given Transceiver Register Address. Message ID: <0x5E> Message payload description: Field Type/size Values Description REG_ADDR unsigned long / 2 byte 0x0000-0xFFFF Register Address to be read Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 9 REGISTER_READ_CONFIRM: Message ID: <0x7E> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE REG_ADDR unsigned long / 2 byte 0x0000-0xFFFF Register Address read REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value read back from DUT CRYSTAL_FREQ_READ_REQ: Message used to measure the frequency of the signal given as input to CLKO pin of the Production XPRO board. Message ID: <0x5F> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA CRYSTAL_FREQ_READ_REQ: Message ID: <0x7F> Message payload description: 3.2 Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Crystal frequency unsigned integer / 4 byte 0x000000000xFFFFFFFF Actual frequency = Calibration Trim Factor * value. Default calibration trim factor = 1.000065 Messages for Communication between Test PC (pdt_runner) and ZigBit USB ZIGBITUSB_RF_PARAM_REQ: Message used to set the Transmit Power level and the channel of operation in the ZigBit USB used for RF Test. Message ID: <0x5B> Message payload description: Field Type/size Values Description POWER unsigned integer / 1 byte 0x00-0xFF Set the Transmit Power level CHANNEL unsigned integer / 1 byte 0x00-0xFF Set the Transceiver Channel ZIGBITUSB_RF_PARAM_CONFIRM: Message ID: <0x7B> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 10 ZIGBITUSB_RFTEST_REQ: Message used to put ZigBit USB to receive mode in a particular channel. Message ID: <0x5C> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA ZIGBITUSB_RFTEST_CONFIRM: Message ID: <0x7C> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE ZIGBITUSB_REGISTER_WRITE_REQ: Message used to write to the ZigBit Transceiver Register with the given value. Message ID: <0x5D> Message payload description: Field Type/size Values Description REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address to be written REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value to be written ZIGBITUSB_REGISTER_WRITE_CONFIRM: Message ID: <0x7D> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address written REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value read back ZIGBITUSB_REGISTER_READ_REQ: Read the transceiver register value. Message ID: <0x5E> Message payload description: Field Type/size Values Description REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address to be read Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 11 ZIGBITUSB_REGISTER_READ_CONFIRM: Message ID: <0x7E> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address to be read REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value read back ZIGBITUSB_INFO_REQ: Message used to check whether the ZigBit USB is of correct part number. Message ID: <0x5F> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA ZIGBITUSB_INFO_CONFIRM: Message ID: <0x7F> Message payload description: 3.3 Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE DUT_PART_NUM BER unsigned integer / 1 byte 0x00-0xFF PART_NUM register value from Transceiver Messages for Communication between ATmega256RFR2 Xplained PRO and DUT Containing MCU+Transceiver or SoC RUN_LOOPTEST_REQ: Message used to run the GPIO Test involving Pin Short Test and Continuity test on required pins. Message ID: <0x01> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 12 RUN_LOOPTEST_CONFIRM: Message ID: <0x11> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Pin Combination Unsigned char[N] ASCII Characters String giving the pin shorted. First byte gives the number of char in the string START_PERF_TEST_REQ: Message used to start the RF Transmission Test. Message ID: <0x02> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA START_PERF_TEST_CONFIRM: Message ID: <0x12> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE TX_RSSI_VALUE unsigned integer / 1 byte 0x00-0x54 PHY_ED_LEVEL register value from ZigBit USB indicating TX RSSI RX_RSSI_VALUE unsigned integer / 1 byte 0x00-0x54 PHY_ED_LEVEL register value from DUT indicating RX RSSI RUN_HWTEST_REQ: Message used to run the UART, TWI, and 32kHz tests in case of DUTs containing MCU+Transceiver or SoC. Message ID: <0x03> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA RUN_HWTEST_CONFIRM: Message ID: <0x13> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00: SUCCESS 0x01: FAILURE Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 13 SET_RFPARAM_REQ: Message used to set the transmit power level and the operating channel of the transceiver for RF Tests. Message ID: <0x04> Message payload description: Field Type/size Values Description POWER unsigned integer / 1 byte 0x00-0xFF Set the Transmit Power level CHANNEL unsigned integer / 1 byte 0x00-0xFF Set the Transceiver Channel SET_RFPARAM_CONFIRM: Message ID: <0x14> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE CRYSTAL_CALIB_REQ: Message used to set the XTAL TRIM value of DUT. Message ID: <0x05> Message payload description: Field Type/size Values Description XTAL Trim unsigned integer / 1 byte 0x00-0xFF XTAL TRIM to be assigned; Allowed values depends on DUT. Usually from 0x00-0x0F CRYSTAL_CALIB_CONFIRM: Message ID: <0x15> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE REG_WRITE_REQ: Message used to write the given Transceiver Register Address with the given Parameter value. Message ID: <0x06> Message payload description: Field Type/size Values Description REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address to be written REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value to be written Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 14 REG_WRITE_CONFIRM: Message ID: <0x16> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address written REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value read back from DUT REG_READ_REQ: Message used to read the given Transceiver Register Address. Message ID: <0x07> Message payload description: Field Type/size Values Description REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address to be read REGISTER_READ_CONFIRM: Message ID: <0x17> Message payload description: 3.4 Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE REG_ADDR unsigned integer / 2 byte 0x0000-0xFFFF Register Address read REG_VALUE unsigned integer / 1 byte 0x00-0xFF Parameter Value read back from DUT Messages for Communication between ATmega256RFR2 Xplained PRO and ATmega1284P of Production XPRO CURRENT_CONSUMPTION_REQ: Message used to read the registers of current sensor, INA226 from ATmega1284P. Message ID: <0x08> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 15 CURRENT_CONSUMPTION_CONFIRM: Message ID: <0x18> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x0000-0xFFFF 0x00- SUCCESS 0x01-FAILURE Bus Voltage 2 byte 0x0000-0xFFFF Bus voltage measurement data. Actual bus Voltage = 1.25mV * value Shunt Voltage 2 byte 0x0000-0xFFFF Shunt voltage measurement data. Actual Shunt Voltage = 2.5µV * value Current Measured 2 byte 0x0000-0xFFFF Current measured value with MSB first, Actual Current = (value * 100)µA Power 2 byte 0x0000-0xFFFF Power delivered to load= 2.5mW * value Calib. 2 byte 0x0000-0xFFFF Calibration register Mask Enable 2 byte 0x0000-0xFFFF Alert configuration ENABLE_DUTPWR_REQ: Message ID: <0x09> Message payload description: Message used to enable the DUT Power from ATmega1284P: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA ENABLE_DUTPWR_CONFIRM: Message ID: <0x19> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE RUN_CRYSTAL_CALIB_REQ: Xplained PRO commands the ATmega1284P to run the crystal calibration routine. ATmega1284P runs the calibration routine, chooses an appropriate XTAL TRIM value and responds back. This XTAL TRIM value is then used to change the XOSC_CTRL in DUT. Message ID: <0x0A> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 16 RUN_CRYSTAL_CALIB_CONFIRM: Message ID: <0x1A> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE XTAL_TRIM unsigned integer / 1 byte 0x00-0xFF XTAL Trim value to be assigned to DUT next START_CRYSTAL_CALIB_REQ: Message used to command ATmega1284P to initialize for calibration. Message ID: <0x0B> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA START_CRYSTAL_CALIB_CONFIRM: Message ID: <0x1B> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE READ_CRYSTAL_FREQ_REQ: Message used to read the frequency of the clock signal given to CLKO pin of Production XPRO. Message ID: <0x0C> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA READ_CRYSTAL_FREQ_CONFIRM: Message ID: <0x1C> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE Crystal frequency unsigned integer / 4 byte 0x000000000xFFFFFFFF Actual frequency = Calibration Trim Factor * value. Default calibration trim factor = 1.000065 Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 17 READ_FREQ_CALIB_REQ: Message used to read the crystal calibration results from ATmega1284P of Production XPRO. Message ID: <0x0D> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA READ_FREQ_CALIB_CONFIRM: Message ID: <0x1D> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE XTAL_TRIM_VALUE unsigned integer / 1 byte 0x00-0x0F XTAL_TRIM register value after calibration FREQUENCY Unsigned integer/4 bytes 0x00000000 – 0xFFFFFFFF Actual frequency = value * Calibration Trim Factor measured. Default Trim factor = 1.000065 CLEAR_POWER_ERROR_FLAG_REQ: Message used to clear the error flag due to over current of DUT in ATmega1284P. It also switches the DUT to OFF state. Message ID: <0x0E> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA CLEAR_POWER_ERROR_FLAG_CONFIRM: Message ID: <0x1E> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE GET_JIG_STATUS_REQ: Message used to get the status of the fixture lid from the ATmega1284P. Message ID: <0x0F> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 18 GET_JIG_STATUS_CONFIRM: Message ID: <0x1F> Message payload description: Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0x01 0x00- SUCCESS 0x01-FAILURE Fixture Status unsigned integer / 1 byte 0x00-0x01 0x00- FIXTURE OPEN 0x01- FIXTURE CLOSE GET_POWER_ERROR_FLAG_REQ: Message used to get DUT power status from ATmega1284P. Message ID: <0x10> Message payload description: Field Type/size Values Description Start up parameter unsigned integer / 1 byte 0x00-0xFF Start up parameter to identify the request. Default value is 0xAA GET_POWER_ERROR_FLAG_CONFIRM: Message ID: <0x20> Message payload description: 4. Field Type/size Values Description Status unsigned integer / 1 byte 0x00-0xFF 0x00- SUCCESS 0x01-FAILURE DUT Power Status unsigned integer / 1 byte 0x00-0xFF 0x00- DUT Powered On 0x01- Over Current by DUT Error code Value Description SUCCESS 0x00 Requested Operation has completed successfully FAILURE 0x01 Requested Operation has failed INVALID_CMD 0x02 Invalid Message ID INVALID_ARGUMENT 0x03 Arguments in the request command are wrong VALUE_OUT_OF_RANGE 0x04 Parameter value is out of range TRANSMISSION_FAILURE 0x05 Transmission to ZigBit USB has failed ERR_BAD_DATA 0xFC Data integrity check failed ERR_BUSY 0xF6 Power error flag is set Error Codes Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 19 5. 6. Example Test Sequence SI no. Test name Request to be executed Comments 1 Set DUT Type ZBDUT_REQ DUT type needs to be set before conducting any test 2 Enable DUT Power PWR_REQ Power to the DUT should be enabled before conducting the tests 3 Measure the current consumed PWRM_REQ Verify the current consumed by DUT 4 GPIO Test GPIOTEST_REQ Run pin short and continuity tests on the pins configured in DUT firmware 5 HW Test HWTEST_REQ Check UART, SPI, TWI, 32kHz crystal. Not implemented in DUTs containing only RF transceivers 6 Crystal calibration XTALCALIB_REQ Run the 16MHz crystal calibration. DUT should generate a 4MHz CLKO to Production XPRO 7 RF Test ZIGBITUSB_INFO_REQ ZIGBITUSB_RF_PARAM_REQ ZIGBITUSB_RFTEST_REQ RFTEST_REQ RF_PARAM_REQ Check the ZigBit USB. Configure channel and power in ZigBit USB and DUT. Conduct RF Test. Select the DUT based on the Tx and Rx RSSI values Reference • • WPTR User Guide INA226 Current/Power Monitor: http://www.ti.com/lit/ds/sbos547/sbos547.pdf Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 20 7. Revision History Doc. Rev. Date Comments 42265A 03/2014 Initial document release Wireless Production Test Reference – Protocol Specification Document [USER GUIDE] 42265A−WIRELESS−03/2014 21 Atmel Corporation Atmel Asia Limited Atmel Munich GmbH Atmel Japan G.K. 1600 Technology Drive Unit 01-5 & 16, 19F Business Campus 16F Shin-Osaki Kangyo Building San Jose, CA 95110 BEA Tower, Millennium City 5 Parkring 4 1-6-4 Osaki, Shinagawa-ku USA 418 Kwun Tong Road D-85748 Garching b. Munich Tokyo 141-0032 Tel: (+1)(408) 441-0311 Kwun Tong, Kowloon GERMANY JAPAN Fax: (+1)(408) 487-2600 HONG KONG Tel: (+49) 89-31970-0 Tel: (+81)(3) 6417-0300 www.atmel.com Tel: (+852) 2245-6100 Fax: (+49) 89-3194621 Fax: (+81)(3) 6417-0370 Fax: (+852) 2722-1369 © 2014 Atmel Corporation. All rights reserved. / Rev.: 42265A−WIRELESS−03/2014 Atmel®, Atmel logo and combinations thereof, Enabling Unlimited Possibilities®, ZigBit®, and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others. Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and products descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.