Top Banner

of 44

AS399x GUI Description V2.0

Jun 02, 2018

Download

Documents

Caddish Diy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/10/2019 AS399x GUI Description V2.0

    1/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 1 - 44

    Copyright2

    011

    austriamicrosystems

    AS399x Gen2 Compliant UHF RFIDReader IC

    API / GUI Description

    Table of Contents:

    1 Introduction .................................................................................................. 42 Firmware Architecture.................................................................................. 42.1 Application Layer....................................................................................................... 6

    2.1.1 USB Report-Frame..................................................................................................... 6

    2.1.2 USB Reports...............................................................................................................6

    2.1.3 Reader Related USB Reports .....................................................................................7

    2.1.4 Tag Related USB Reports ........................................................................................13

    2.1.5 Error Byte.................................................................................................................19

    2.2 Protocol Layer - Gen2 ..............................................................................................21

    2.3 Protocol Layer - ISO6B............................................................................................25

    2.4 Protocol Layer - AS399x_public.............................................................................. 25

    2.5 Device Specific Functions........................................................................................26

    2.6 Interface Layer ......................................................................................................... 26

    3 Host Software ............................................................................................. 273.1 Installation................................................................................................................273.2 Main Window........................................................................................................... 28

    3.2.1 Main Window Menu Entries.................................................................................... 28

    3.2.2 Main Window Controls............................................................................................31

    3.3 Reader Configuration: .............................................................................................. 32

    3.3.1 Settings Tab:.............................................................................................................34

    3.3.2 Diagnostics Tab........................................................................................................ 36

    3.4 Regiser Map ............................................................................................................. 38

    4 Disclaimer ................................................................................................... 44

    Appl icat ion Note

    AS399x UHF RFID Reader ICs

  • 8/10/2019 AS399x GUI Description V2.0

    2/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 2 - 44

    Copyright2

    011

    austriamicrosystems

    List of Tables:

    Table 1 - Firmware Architecture................................................................................................ 5

    Table 2: Report Frame ............................................................................................................6

    Table 3: USB Reports Overview ............................................................................................. 6

    Table 4- callSendFirmwareHardwareID - outgoing...................................................................7

    Table 5- callSendFirmwareHardwareID - incoming..................................................................7

    Table 6 callAntennaPower - outgoing......................................................................................7

    Table 7 - callAntennaPower - incoming .................................................................................... 7

    Table 8 - writeRegister outgoing............................................................................................. 8

    Table 9 - writeRegister incoming............................................................................................8

    Table 10 - callReadRegister - outgoing......................................................................................8

    Table 11 - callReadRegister - incoming..................................................................................... 8

    Table 12 - callReadRegisters - outgoing.................................................................................... 8Table 13 - callReadRegisters - incoming................................................................................... 8

    Table 14 - callChangeFreq - Get RSSI Level - outgoing...........................................................9

    Table 15 - callChangeFreq - Get RSSI Level - incoming..........................................................9

    Table 16 - callChangeFreq - Get Reflected Power Level - outgoing.........................................9

    Table 17 - callChangeFreq - Get Reflected Power Level - incoming........................................9

    Table 18 - callChangeFreq Add frequency to hopping list - outgoing....................................9

    Table 19 - callChangeFreq Add frequency to hopping list - incoming...................................9

    Table 20 Clear frequency hopping list - outgoing....................................................................9

    Table 21 - Clear frequency hopping list incoming..................................................................9

    Table 22 Set frequency hopping parameters - outgoing .......................................................10

    Table 23 - Set frequency hopping parameters - incoming .......................................................10Table 24 - Get frequency hopping parameters outgoing.......................................................10

    Table 25 - Get frequency hopping parameters incoming......................................................10

    Table 26 - Continuous modulation test outgoing..................................................................10

    Table 27 - Continuous modulation test incoming .................................................................10

    Table 28 configGen2 - outgoing ...........................................................................................11

    Table 29 configGen2 - incoming ..........................................................................................11

    Table 30 - configGen2 - parameter settings............................................................................. 11

    Table 31 - callEnableBootloader outgoing............................................................................ 12

    Table 32 - callEnableBootloader incoming........................................................................... 12

    Table 33 - callStartStop - outgoing ..........................................................................................12

    Table 34 - callStartStop - incoming .........................................................................................12Table 35 - callInventory - outgoing..........................................................................................13

    Table 36 - callInventory - incoming.........................................................................................13

    Table 37 - callInventoryRSSIInternal - outgoing.....................................................................13

    Table 38 - callInventoryRSSIInternal incoming ...................................................................13

    Table 39 - callInventory6B outgoing ....................................................................................14

    Table 40 - callInventory6B incoming ................................................................................... 14

    Table 41 - callSelectTag - outgoing .........................................................................................15

    Table 42 - callSelectTag - incoming ........................................................................................15

    Table 43 - callWriteToTag - outgoing .....................................................................................15

    Table 44 - callWriteToTag incoming.................................................................................... 15

    Table 45 - writeToTag6B - outgoing .......................................................................................16

    Table 46 - writeToTag6B incoming......................................................................................16

  • 8/10/2019 AS399x GUI Description V2.0

    3/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 3 - 44

    Copyright2

    011

    austriamicrosystems

    Table 47 - callReadFromTag - outgoing.................................................................................. 16

    Table 48 - callReadFromTag - incoming ................................................................................. 16

    Table 49 - readFromTag6B - outgoing .................................................................................... 16

    Table 50 - readFromTag6B - outgoing .................................................................................... 16

    Table 51 - callLockUnlock - outgoing.....................................................................................17

    Table 52 - callLockUnlock - incoming .................................................................................... 17

    Table 53 - callKillTag - outgoing.............................................................................................17

    Table 54 - callKillTag - incoming............................................................................................17

    Table 55 - callNXPCommands - EAS command - outgoing ...................................................18

    Table 56 - callNXPCommands - Set / Reset Protect - outgoing..............................................18

    Table 57 - callNXPCommands - Calibrate - outgoing.............................................................18

    Table 58 - callNXPCommands - Change Config - outgoing ...................................................18

    Table 59 - callNXPCommands - incoming.............................................................................. 18

    Table 60: Error Byte.................................................................................................................19

    Table 61 - Gen2 Functions....................................................................................................... 21Table 62 - AS399x_public Functions.......................................................................................25

    Table 63 - AS399x - Functions ................................................................................................ 26

    Table 64 - Interface Layer Functions .......................................................................................26

    Table 65: Frequency Profiles................................................................................................... 35

    List of Figures:

    Picture 1 - Firmware Program Flow...........................................................................................5

    Picture 2 - Gen2 Tag Singulation.............................................................................................15

    Picture 3 - Error Handling - Read Procedure ........................................................................... 20Picture 4 - Error Handling - Write Procedure ..........................................................................20

    Picture 5 - Error Handling - Kill Operation ............................................................................. 20

    Picture 6 - Error Handling - Unlock Operation........................................................................ 20

    Picture 7 - Gen2 - State Diagram .............................................................................................22

    Picture 8 - Gen2 - State Diagram (no password set)... .............................................................22

    Picture 9: Gen2 Anti Collision State Diagram......................................................................24

    Picture 10 - ISO6B - State Diagram.........................................................................................25

    Picture 11: Starting AS399x Reader Suite Setup ..................................................................... 27

    Picture 12: AS399x Reader Suite Main Window ..................................................................28

    Picture 13: Entering Reader Settings and Diagnostics ...........................................................32

    Picture 14 - Advanced Reader Settings Dialog........................................................................33Picture 15: Sensitivity Adjustment...........................................................................................34

    Picture 16 - RSSI Sweep .......................................................................................................... 36

    Picture 17 - Reflected Power Sweep ........................................................................................37

    Picture 18 - Reflected Power Rader Screen ............................................................................. 37

    Picture 19: Entering the Register Map .....................................................................................38

    Picture 20: Reader Register Map............................................................................................. 38

    Picture 21: Entering Tag Settings ............................................................................................ 39

    Picture 22: Tag Settings Window ............................................................................................. 39

    Picture 23: Tag Action .............................................................................................................40

    Picture 24: Advanced Tag Settings Window ............................................................................ 40

    Picture 25: Set New EPC......................................................................................................... 41

    Picture 26: Set Tag Password.................................................................................................. 41

  • 8/10/2019 AS399x GUI Description V2.0

    4/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 4 - 44

    Copyright2

    011

    austriamicrosystems

    Picture 27: Lock and Unlock Tag Memory .............................................................................. 42

    Picture 28: Killing a Tag ......................................................................................................... 42

    Picture 29: Set NXP Command................................................................................................ 42

    Picture 30: Reading and Setting Tag Memory Banks ..............................................................43

    1 Introduction

    This document describes the architecture of the firmware and important functions. For a

    complete reference of implemented functions please refer to the Doxygen documentation.

    2 Firmware Architecture

    The firmware is written in a way that it should be possible to port this code to another MCUwith minimal effort. The code is organized in layers to maintain a clear structure and tosimplify modifications.

    In order to port the firmware to another MCU only the layer directly using the hardware needsto be modified. All hardware initialization functions as well as all functions directly using portsor registers need to be changed and the definitions in the header files (*.h) should beadapted.

    Adapt definitions in parallelinterface.h

    The initializiation functions in parallelinterface.c

    Modify as399x_config.h

    Change or replace the timer.c and timer.h files.

    MCU USB driver needs to be changed.

    The USB driver should be programmed in such a way, that the usb_commands.c and .h filesmay be used. If UART is the desired communication interface the definitions of uart.h, theinitialization and interrupt function in the uart.c file needs to be changed. 8051 based

    microcontrollers have the ability to set a Port pin with a single assembler command. Sincethat ability is special to 8051 based controllers, firmware programmers need to adapt thesesequences for other micro controllers.

    NOTE:8051 MCUs deactivate pull-ups by writing 0xFF to its port, other controller may deactivatethe pull-ups by writing 0x00.

    NOTE:Keeping the (weak) pull-ups activated during the reading of AS399x registes, could causethat the STOP-condition is being triggerd (rising edge on IO7 during CLK = low). As aconsequence, the AS399x chip will be disables during the data transfer. For that reason it is

    recommended to disable all pull-ups by firmware.

  • 8/10/2019 AS399x GUI Description V2.0

    5/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 5 - 44

    Copyright2

    011

    austriamicrosystems

    Interface layer for the application. USB

    communication is implemented in this

    layer.

    Layer in which protocol execution is

    implemented.

    Device specific layer in which

    procedures for the UHF RFID reader IC

    are implemented.

    Low level interface level in which the

    communication of MCU and UHF RFID

    reader IC is implemented.

    Table 1 - Firmware Architecture

    Flow Chart MCU Program:

    Main.c

    initialization

    usbCommands()

    selftest

    usbCommands()

    USB data packet

    availible ?

    callSendFirmwareHardwareID; callSendDeviceInfo;

    ccallResetCPU;

    callAntennaPower;

    callWriteRegister;

    callReadRegister;

    callInventory;

    callSelectTag;

    callWriteToTag;

    callReadFromTag;

    callLockUnlock;

    callKillTag;

    callNXPCommands;

    callInventory6B;

    callChangeFreq;

    callInventoryRSSI;

    end

    no

    Picture 1 - Firmware Program Flow

    Within the main.c the programs starts initialization of timer, USB descriptors, UARTs and

    performs a self test. The operational tasks are polled with in the usbCommands() procedure.

    The usbCommands() procedure scan for one of the USB-OUT Packages that came from the

    Host system.

  • 8/10/2019 AS399x GUI Description V2.0

    6/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 6 - 44

    Copyright2

    011

    austriamicrosystems

    2.1 Application Layer

    After connecting the reader to the computer the reader is automatically installed as a HID

    (Human Interface Device). The USB HID protocol defines different reports. Every reportstarts with its own report ID defining the length and if it is an incoming or an outgoing report.

    2.1.1 USB Report-Frame

    Each report frame starts with a Report ID byte. The second byte defines the length of the

    frame (the ID and the length bytes are included in the length).

    Byte 1 Byte 2 Variable length

    Report ID Frame Length Payload

    Table 2: Report Frame

    2.1.2 USB Reports

    The following table gives an overview of the implemented USB reports. Each USB report

    causes the device to reply with a response frame (incoming report).

    USB Report Name Report ID outgoing Report ID incoming

    callSendFirmwareHardwareID 0x10 0x11

    callAntennaPower 0x18 0x19

    writeRegister 0x1A 0x1B

    callReadRegister 0x1C 0x1D

    callReadRegisters 0x57 0x58

    callChangeFreq 0x41 0x42

    configGen2 0x59 0x5A

    callEnableBootloader 0x55 0x56

    callStartStop 0x5D 0x5E

    callInventory 0x31 0x32

    callInventoryRSSIInternal 0x43 0x44

    callInventory6B 0x3F 0x40

    callSelectTag 0x33 0x34

    callWriteToTag 0x35 0x36writeToTag6B 0x47 0x48

    callReadFromTag 0x37 0x38

    readFromTag6B 0x49 0x50

    callLockUnlock 0x3B 0x3c

    callKillTag 0x3D 0x3E

    callNXPCommands 0x45 0x46Table 3: USB Reports Overview

    It is recommended to send the reports always with the maximal report length of 64 bytes.

    Most reports are already defined in the descriptor with the maximal length. The others maychange in future. Windows truncates longer reports and discards shorter reports!

  • 8/10/2019 AS399x GUI Description V2.0

    7/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 7 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.3 Reader Related USB Reports

    These commands are intended to configure the AS399x and for obtaining information about

    the firmware of the MCU.

    2.1.3.1 callSendFirmwareHardwareID

    This report sends the firmware or the hardware ID to the host computer.

    Byte 0 1 2Content 0x10(ID) 3(length) Payload

    Table 4- callSendFirmwareHardwareID - outgoing

    Payload:

    0x00Firmware

    0x01Hardware

    Byte 0 1 2 .. 47Content 0x11(ID) length Zero terminated string

    Table 5- callSendFirmwareHardwareID - incoming

    2.1.3.2 callAntennaPower

    This report enables or disables the RF power on the RF-output ports.

    Byte 0 1 2

    Content 0x18(ID) 3(length) Payload

    Table 6 callAntennaPower - outgoing

    Payload:

    0x00RF-Power OFF

    0x01RF-Power ON

    Byte 0 1 2

    Content 0x19(ID) 3(length) 0 on success

    Table 7 - callAntennaPower - incoming

  • 8/10/2019 AS399x GUI Description V2.0

    8/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 8 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.3.3 writeRegister

    This function writes one register of the AS399x.

    Byte 0 1 2 3 4 5

    Content 0x1A(ID) 5(length) reg_number val_0 val_1 val_2

    Table 8 - writeRegister outgoing

    val_1and val_2are used only if reg_number is a deep register (e.g.: Modulator Control

    Register).

    If reg_number 0x80 a direct command is executed.

    Byte 0 1 2

    Content 0x1B(ID) 3(length) 0 on success

    Table 9 - writeRegister incoming

    2.1.3.4 callReadRegister

    This function reads one register from the AS399x

    Byte 0 1 2

    Content 0x1C(ID) 2(length) reg_number

    Table 10 - callReadRegister - outgoing

    If a 3-bytes deep register is selected the controller sends back 3 data bytes.

    Byte 0 1 2 3 4 5

    Content 0x1D(ID) 6(length) 0x00 on success val0 val1 val2

    Table 11 - callReadRegister - incoming

    2.1.3.5 callReadRegisters

    This function reads all register in one bulk from AS399x.

    Byte 0 1

    Content 0x57(ID) 1(length)

    Table 12 - callReadRegisters - outgoing

    Byte 0 1 2 44

    Content 0x58(ID) 45(length) reg 0x00 reg 0x1F

    Table 13 - callReadRegisters - incoming

  • 8/10/2019 AS399x GUI Description V2.0

    9/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 9 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.3.6 callChangeFreq

    This report sets, modifies or measures frequency related properties.

    freq comprises 3 bytes and is transmitted in kHz. E.g.: 868000 means 868 MHz.

    2.1.3.6.1 Get RSSI Level

    Byte 0 1 2 3 .. 5

    Content 0x41(ID) length 0x01 freq

    Table 14 - callChangeFreq - Get RSSI Level - outgoing

    Byte 0 1 2 3

    Content 0x42(ID) 64(length) I-channel Q-channel

    Table 15 - callChangeFreq - Get RSSI Level - incoming

    2.1.3.6.2 Get Reflected Power Level

    Byte 0 1 2 3 .. 5

    Content 0x41(ID) length 0x02 freq

    Table 16 - callChangeFreq - Get Reflected Power Level - outgoing

    Byte 0 1 2 3

    Content 0x42(ID) 64(length) I-channel Q-channel

    Table 17 - callChangeFreq - Get Reflected Power Level - incoming

    2.1.3.6.3 Add frequency to frequency list used for hopping

    Byte 0 1 2 3 .. 5 6 7

    Content 0x41(ID) length 0x04 freq rssi_threshhold(dBm) profile_id

    Table 18 - callChangeFreq Add frequency to hopping list - outgoing

    Byte 0 1 2 3

    Content 0x42(ID) 64(length) 0xFC on success 0xFF on success

    Table 19 - callChangeFreq Add frequency to hopping list - incoming

    2.1.3.6.4 Clear frequency list used for hopping

    Byte 0 1 2

    Content 0x41(ID) length 0x08

    Table 20 Clear frequency hopping list - outgoing

    Byte 0 1 2 3

    Content 0x42(ID) 64(length) 0xFC on success 0xFF on success

    Table 21 - Clear frequency hopping list incoming

  • 8/10/2019 AS399x GUI Description V2.0

    10/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 10 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.3.6.5 Set frequency hopping related parameters

    Byte 0 1 2 3 .. 4 5 .. 6 7 .. 8Content 0x41(ID) length 0x10 listeningTime maxSendingTime idleTime

    Table 22 Set frequency hopping parameters - outgoing

    Byte 0 1 2 3

    Content 0x42(ID) 64(length) 0xFC on success 0xFF on success

    Table 23 - Set frequency hopping parameters - incoming

    2.1.3.6.6 Get frequency hopping related parameters

    Byte 0 1 2Content 0x41(ID) length 0x11

    Table 24 - Get frequency hopping parameters outgoing

    Byte 0 1 2 3 4 5 .. 6 7 .. 8

    Content 0x42(ID) 64(length) 0xfe 0xff profile_id listening_time max_sending_time

    9 .. 10 11 .. 13 14 .. 16 17 18 19

    idle_time gui_min_freq gui_max_freq gui_num_freqs rssi_threshold act_num_freqs

    Table 25 - Get frequency hopping parameters incoming

    2.1.3.6.7 Continuous modulation test

    Starts continuous modulation of the RF field for given duration. If duration is set to 0

    continuous modulation is active until the next report is received from GUI.

    Byte 0 1 2 3 .. 5 6 .. 7

    Content 0x41(ID) length 32 don't care duration in ms

    Table 26 - Continuous modulation test outgoing

    Byte 0 1 2 3

    Content 0x42(ID) 64(length) 0xfe 0xff

    Table 27 - Continuous modulation test incoming

  • 8/10/2019 AS399x GUI Description V2.0

    11/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 11 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.3.7 configGen2

    This function sets and reads various gen2 related settings.

    The values are only being set if the proper set_ value is set to 1.

    Byte 0 1 2 3 4 5 6 7

    Content 0x59(ID) length set_lf lf set_coding coding set_session session

    8 9 10 11 12 13

    set_trext trext set_qbegin qbegin set_sensitivity sensitivity

    Table 28 configGen2 - outgoing

    Byte 0 1 2 3 4 5 6 7

    Content 0x5A(ID) 0x40(length) reserved(0) lf reserved(0) coding reserved(0) session

    8 9 10 11 12 13reserved(0) trext reserved(0) qbegin reserved(0) sensitivity

    Table 29 configGen2 - incoming

    Values for the different parameters are:

    Name values

    lf 0 = 40 kHz,

    3 = 80 kHz (not available for AS3992),

    6 = 160 kHz,

    8 = 213 kHz,

    9 = 256 kHz,

    12 = 320 kHz,

    15 = 640 kHz

    coding 0 = FM0,

    1 = Miller2,

    2 = Miller4,

    3 = Miller8

    session 0 = S0,

    1 = S1,

    2 = S2,

    3 = SL

    trext 0 = short preamble, pilot tone,

    1 = long preamble, pilot toneqbegin 0 .. 15. Initial gen2 round is 2^qbegin long

    sensitivity -128 .. 127 (dBm)

    Table 30 - configGen2 - parameter settings

  • 8/10/2019 AS399x GUI Description V2.0

    12/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 12 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.3.8 callEnableBootloader

    This function erases the programmed firmware but does not affect the bootloader. The

    firmware of the device needs to be reprogrammed afterwards.

    Byte 0 1 2 3

    Content 0x55(ID) 4(length) dont_care dont_care

    Table 31 - callEnableBootloader outgoing

    Byte 0 1 2

    Content 0x56(ID) 3(length) 1 on success

    Table 32 - callEnableBootloader incoming

    2.1.3.9 callStartStop

    This function starts/stops the automatic scanning procedure.

    Byte 0 1 2 3

    Content 0x5D(ID) 6(length) update start

    Table 33 - callStartStop - outgoing

    Byte 0 1 2

    current start value

    Content 0x5E(ID) 3(length) Subsequently callInventoryRSSIInternal() result packagesare returned in a dense continuous loop. See there for

    description.

    Table 34 - callStartStop - incoming

  • 8/10/2019 AS399x GUI Description V2.0

    13/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 13 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.4 Tag Related USB Reports

    Transponder related USB reports force the microcontroller and the AS399x to communicate

    with UHF RFID tags. The RF- power at the antenna needs to be enabled and at least one tagshould be in the RF-field coverage of the reader.

    2.1.4.1 callInventory

    This function performs a gen2 protocol inventory round according to parameters given by

    configGen2().

    Byte 0 1 2

    Content 0x31(ID) 3(length) start

    Table 35 - callInventory - outgoing

    start: 1 -> start a new round, 2 -> deliver next tag

    The device reports back all tags in a burst mode.

    Byte 0 1 2 3 4 5 6 .. 6 + epclen

    Content 0x32(ID) length tags_left epclen+pclen pc[0] pc[1] epc

    Table 36 - callInventory - incoming

    With byte 2 the controller reports how many tags are found by the inventory command. After

    issuing the first inventory report and with start-byte = 2 the controller reports back the count

    of tags not inventoried yet. This information is used to inform the host how often he has tocall the inventory command in order to inventory all available tags. The tag information is

    kept in the microcontroller's tag list. No tag information is deleted.

    2.1.4.2 callInventoryRSSIInternal

    This function performs a gen2 protocol inventory round according to parameters given by

    configGen2().

    Byte 0 1 2

    Content 0x43(ID) 3(length) startTable 37 - callInventoryRSSIInternal - outgoing

    start: 1 -> start a new round

    start: 2 -> deliver next tag

    The device reports back all tags in a burst mode.

    Byte 0 1 2 3 4 .. 6 7

    Content 0x44(ID) length tags_left RSSI_value base_freq epclen+pclen

    8 9 10 .. 10 + epclen

    pc[0] pc[1] epcTable 38 - callInventoryRSSIInternal incoming

  • 8/10/2019 AS399x GUI Description V2.0

    14/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 14 - 44

    Copyright2

    011

    austriamicrosystems

    RSSI_value: upper 4 bits I channel, lower 4 bits Q channel

    base_freq: base frequency at which the tag was found.

    With byte 2 the controller reports how many tags are found by the inventory command. Afterissuing the first inventory report and with start-byte = 2 the controller reports back the count

    of tags not inventoried yet. This information is used to inform the host how often he has to

    call the inventory command in order to inventory all available tags. The tag information is

    kept in the microcontroller's tag list. No tag information is deleted.

    2.1.4.3 callInventory6B

    This function performs one inventory round using ISO18000-6b protocol. Reading or writing

    to the tag will not succeed without sending this report first.

    Byte 0 1 2 3 4 .. 11 12

    Content 0x3F(ID) 12(length) start mask word_data start_address

    Table 39 - callInventory6B outgoing

    start: 1 -> start a new round

    start: 2 -> deliver next tag

    mask: Mask value for GROUP_SELECT_EQ command, 0 will select all tags

    start_address: address where data comparision will be started

    word_data: data which will be compared

    Byte 0 1 2 3 4 5 .. 12 13 .. 15

    Content 0x40(ID) 13(length) tags_left rssi(planned) 8(epclen) uid used freq

    Table 40 - callInventory6B incoming

    With byte 2 the controller reports how many tags are found by the inventory command. After

    issuing the first inventory report and with start-byte = 2 the controller reports back the count

    of tags not inventoried yet. This information is used to inform the host how often he has to

    call the inventory command in order to inventory all available tags. The tag information is

    kept in the microcontroller's tag list. No tag information is deleted.

    2.1.4.4 callSelectTag

    Prior to communicate with one tag the host must isolate one of the found tags. The host needs

    to send always all EPC bytes to the controller regardless how long the EPC mask is specified.

    The complete report length is 64 bytes and needs to be taken into account by the host

    The correct sequence to operate that command is shown below:

  • 8/10/2019 AS399x GUI Description V2.0

    15/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 15 - 44

    Copyright2

    011

    austriamicrosystems

    Picture 2 - Gen2 Tag Singulation

    This function singulates a Gen2 tag using the given mask for subsequent operations like

    read/write

    Byte 0 1 2 3 .. 3 + mask_length

    Content 0x33(ID) length mask_length mask

    Table 41 - callSelectTag - outgoing

    Byte 0 1 2

    Content 0x34(ID) 3(length) status (Error Byte)

    Table 42 - callSelectTag - incoming

    2.1.4.5 callWriteToTag

    This function writes to a previously selected Gen2 tag.

    Byte 0 1 2 3 4 .. 7 8 9 .. 9 + 2 * data_len

    Content 0x35(ID) length mem_type address acces_pw data_len data

    Table 43 - callWriteToTag - outgoing

    access_pw: if access password is nonzero the tag will be accessed first

    mem_type:o 0:reserved membank

    o 1:EPC membanko 2:TID membanko 3:USER membank

    data_len: data length in 16-bit words

    In case larger memory banks need to be adressed it is necessary to send consecutive USB

    reports with the start and stop adress set accordingly.

    Byte 0 1 2 3

    Content 0x36(ID) 3(length) status (Error Byte) num_words_writtenTable 44 - callWriteToTag incoming

  • 8/10/2019 AS399x GUI Description V2.0

    16/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 16 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.4.6 writeToTag6B

    This function writes data to a tag using ISO18000-6b protocol command WRITE.

    Byte 0 1 2 .. 9 10 11 12 .. 12+length_to_write

    Content 0x47(ID) length uid addr length_to_write data

    Table 45 - writeToTag6B - outgoing

    Byte 0 1 2

    Content 0x48(ID) 3(length) 0 for success

    Table 46 - writeToTag6B incoming

    2.1.4.7 callReadFromTag

    This function reads from a previously selected gen2 tag.

    Byte 0 1 2 3 4

    Content 0x37(ID) length mem_type address data_len

    Table 47 - callReadFromTag - outgoing

    mem_type:o 0:reserved membanko 1:EPC membanko 2:TID membanko 3:USER membank

    data_len: data length to read in 16-bit words

    In case larger memory banks need to be adressed it is necessary to send consecutive USB

    reports with the start and stop adress set accordingly.

    Byte 0 1 2 3

    Content 0x38(ID) length Status (Error Byte) num_words_read

    Table 48 - callReadFromTag - incoming

    2.1.4.8 readFromTag6B

    This function reads from a tag using ISO18000-6b protocol command READ_VARIABLE.

    Byte 0 1 2 .. 9 10 11

    Content 0x49(ID) 12(length) uid addr length_to_read

    Table 49 - readFromTag6B - outgoing

    Byte 0 1 2 3 4 .. 4+length_to_read

    Content 0x50(ID) 64(length) 0 for success length of data data

    Table 50 - readFromTag6B - outgoing

  • 8/10/2019 AS399x GUI Description V2.0

    17/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 17 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.4.9 callLockUnlock

    This report locks a gen2 tag.

    Byte 0 1 2 3 4 .. 7

    Content 0x3B(ID) 8(length) lock_unlock memory_space access password

    Table 51 - callLockUnlock - outgoing

    lock_unlock:0 Unlock

    1 Lock

    2 Permalock

    3 Lock & Permalock

    memory_space:

    0 Kill password1 Access password

    2 EPC

    3 TID

    Byte 0 1 2

    Content 0x3C(ID) 3(length) Status (Error Byte)

    Table 52 - callLockUnlock - incoming

    2.1.4.10 callKillTag

    This function kills a gen2 tag.

    Byte 0 1 2 .. 5 6

    Content 0x3D(ID) 7(length) kill password recom

    Table 53 - callKillTag - outgoing

    recom: see GEN2 standard: table on "XPC_W1 LSBs and a Tag's recomissioned status"

    Byte 0 1 2

    Content 0x3E(ID) 3(length) Status (Error Byte)Table 54 - callKillTag - incoming

  • 8/10/2019 AS399x GUI Description V2.0

    18/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 18 - 44

    Copyright2

    011

    austriamicrosystems

    2.1.4.11 callNXPCommands

    This function sends special NXP command to NXP gen2 tags.

    2.1.4.11.1 EAS command

    Byte 0 1 2 3 4 .. 7

    Content 0x45(ID) 10(length) 1 eas_on access pw

    Table 55 - callNXPCommands - EAS command - outgoing

    2.1.4.11.2 Set / Reset Protect

    Byte 0 1 2 3 4 .. 7

    Content 0x45(ID) 10(length) 2 set_protect access pw

    Table 56 - callNXPCommands - Set / Reset Protect - outgoing

    2.1.4.11.3 Calibrate

    Byte 0 1 2 3 4 .. 7

    Content 0x45(ID) 10(length) 8 not_used access pw

    Table 57 - callNXPCommands - Calibrate - outgoing

    2.1.4.11.4 Change Config

    Byte 0 1 2 3 4 .. 7 8..9

    Content 0x45(ID) 10(length) 9 not_used access pw config

    Table 58 - callNXPCommands - Change Config - outgoing

    To all NXP related the report the device responds:

    Byte 0 1 2 3 .. 4

    Content 0x46(ID) 5(length) Status (Error Byte) config word (only change config)

    Table 59 - callNXPCommands - incoming

  • 8/10/2019 AS399x GUI Description V2.0

    19/44

  • 8/10/2019 AS399x GUI Description V2.0

    20/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 20 - 44

    Copyright2

    011

    austriamicrosystems

    Picture 3 - Error Handling - Read Procedure

    Picture 4 - Error Handling - Write Procedure

    Picture 5 - Error Handling - Kill Operation

    Picture 6 - Error Handling - Unlock Operation

  • 8/10/2019 AS399x GUI Description V2.0

    21/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 21 - 44

    Copyright2

    011

    austriamicrosystems

    2.2 Protocol Layer - Gen2

    DataType Function

    unsignedgen2SearchForTags(Tag*tags, u8 maxtags, u8 *mask, u8 length, u8 q,bool(*cbContinueScanning)(void),booluseMaskToSelect)

    unsignedgen2SearchForTagsFast(Tag*tags_, u8 maxtags, u8 *mask, u8 length, u8 q,bool(*cbContinueScanning)(void))

    u8 gen2AccessTag(Tag*tag, u8 *password)

    u8 gen2LockTag(Tag*tag, u8 *mask_action)

    u8 gen2KillTag(Tag*tag, u8 *password, u8 rfu)

    u8 gen2WriteWordToTag(Tag*tag, u8 memBank, u8 wordPtr, u8 *databuf)

    u8 gen2NXPChangeConfig(Tag*tag, u8 *databuf)

    u8 gen2ReadFromTag(Tag*tag, u8 memBank, u8 wordPtr, u8 wordCount, u8 *destbuf)u8 gen2SetProtectBit(Tag*tag)

    u8 gen2ReSetProtectBit(Tag*tag, u8 *password)

    u8 gen2ChangeEAS(Tag*tag, u8 value)

    u8 gen2Calibrate(Tag*tag)

    void gen2PrintTagInfo(Tag*tag, u8 epclen, u8 tagNr)

    void gen2Configure (const struct gen2Config *config)

    void gen2Open (const struct gen2Config *config)

    void gen2Close (void)Table 61 - Gen2 Functions

    Before calling any of the functions the AS399x chip needs to be initialized usingas399xInitialize().

    Next the function gen2Open needs to be called for opening a session.

    gen2SearchForTags() should be called to identify the tags in reach. Typically tagsingulation is done next.

    In order to do so gen2SearchForTags() is called again provided a proper mask to

    singulate (select) a tag. In this case only one tag is returned by gen2SearchForTags().

    This tag is then in the Open/Secured state and may be accessed using the other Gen2functions (gen2WriteWordToTag(), gen2ReadFromTag(), ...).

    When finished with gen2 operations this session should be closed using gen2Close().

    State Diagram:

    http://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.html
  • 8/10/2019 AS399x GUI Description V2.0

    22/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 22 - 44

    Copyright2

    011

    austriamicrosystems

    Picture 7 - Gen2 - State Diagram

    State Diagram Tag has no password set:

    Picture 8 - Gen2 - State Diagram (no password set)

  • 8/10/2019 AS399x GUI Description V2.0

    23/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 23 - 44

    Copyright2

    011

    austriamicrosystems

    Typical Use-Case:

    Tag t ags[ 16] ;

    struct gen2Conf i g conf i g = {GEN2_LF_160, GEN2_COD_MI LLER2, GEN2_I I NV_S0,1};

    unsi gned n;

    u8 buf [ 4] ;

    . . .

    as399xI ni t i al i ze( 912000) ;

    gen2Open( &conf i g) ;

    n = gen2SearchForTags( t ags, 16, 0, 0, 4) ;

    i f ( n == 0) return;

    / / Pi ck one of t he t ags based on t he cont ent s of t ags. Here we use t hevery f i rs t t ag

    i f ( gen2ReadFr omTag( t ags+0, MEM_USER, 0, 2, buf ) )

    return;

    buf [ 0] = 0xf f ; buf [ 1] = 0x55; / / change the dat a

    i f ( gen2Wr i t eWor dToTag( t ags+0, MEM_USER, 0, buf ) )

    { / / wr ote back one of t he t wo read wordsgen2Cl ose( ) ;

    return;

    }

    / / . . .

    gen2Cl ose( ) ;

    http://../Transfer/AS399x/SW_Releases/v2.5/html/struct_tag_info__.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8c.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/gen2_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/struct_tag_info__.html
  • 8/10/2019 AS399x GUI Description V2.0

    24/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 24 - 44

    Copyright2

    011

    austriamicrosystems

    One of the more complex flowcharts is the Inventory algorithm in which the 6c anti-collision

    is executed.

    Start

    Wait for Tx

    complete

    Send select

    Wait for Rx

    response

    TX complete Interrupt

    Send query or

    query rep

    No RX Interrupt

    Wait for Tx

    complete

    Wait for

    response

    TX complete Interrupt

    Check slots

    No Rx Interrupt

    Slots left

    Provide

    Inventory List

    no slots left

    Send ACK

    Rx Interrupt

    Wait for Tx

    Complete

    Wait for

    response

    Get EPC from FIFO

    request handle

    Rx Interrupt

    Tx complete IRQ

    No Rx Interrupt

    Wait for Tx

    Complete

    Wait for

    response

    Read Handle

    Rx Interrupt

    Tx complete IRQ

    No Rx Interrupt

    Restart slots

    Picture 9: Gen2 Anti Collision State Diagram

  • 8/10/2019 AS399x GUI Description V2.0

    25/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 25 - 44

    Copyright2

    011

    austriamicrosystems

    2.3 Protocol Layer - ISO6B

    Before calling any of the functions herein the AS399X chip needs to be initialized using

    as399xInitialize(). Thereafter the function iso6bOpen() needs to be called for opening asession.

    The following graph shows several states of an ISO 6B tag as well as their transitions based

    on iso6b* commands:

    Picture 10 - ISO6B - State Diagram

    2.4 Protocol Layer - AS399x_public

    Data Type Function

    u16 as399xInitialize (u32 baseFreq)

    unsigned char as399xReadChipVersion (void)

    void as399xSwitchToIdleMode (void)void as399xSelectLinkFrequency (u8 a)

    void as399xSetBaseFrequency (u8 regs, u32 frequency)

    void as399xMemoryDump (void)

    void as399xAntennaPower (u8 on)

    void as399xGetRSSI (u16 num_of_ms_to_scan, u8 *rawIQ, s8 *dBm)

    void as399xSaveSensitivity ()

    void as399xRestoreSensitivity ()

    s8 as399xSetSensitivity (s8 minimumSignal)

    s8 as399xGetSensitivity (void)

    u16 as399xGetReflectedPower (void)

    void as399xReset (void)

    Table 62 - AS399x_public Functions

    http://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__public_8h.html
  • 8/10/2019 AS399x GUI Description V2.0

    26/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 26 - 44

    Copyright2

    011

    austriamicrosystems

    2.5 Device Specific Functions

    DataType

    Function

    void as399xSingleCommand (u8 command)void as399xContinuousRead (u8 address, s8 len, u8 *readbuf)

    void as399xFifoRead (s8 len, u8 *readbuf)

    u8 as399xSingleRead (u8 address) reentrant

    void as399xWritePredistortion (const u8 *buf)

    void as399xContinuousWrite (u8 address, u8 *buf, s8 len)

    void as399xSingleWrite (u8 address, u8 value)

    voidas399xCommandContinuousAddress (u8 *command, u8 com_len, u8 address, u8 *buf,u8 buf_len)

    u8 as399xGetFIFOStatus (void)

    u8 as399xGetIRQStatus (void)

    void as399xWaitForResponse (u16 waitMask)

    void as399xWaitForResponseTimed (u16 waitMask, u16 ms)

    void as399xEnterDirectMode ()

    void as399xExitDirectMode ()Table 63 - AS399x - Functions

    2.6 Interface Layer

    Data

    TypeFunction

    void initInterface (void)

    void writeReadAS399x (const u8 *wbuf, u8 wlen, u8 *rbuf, u8 rlen, u8 stopMode, u8 doStart)

    void setPortDirect ()

    void setPortNormal ()Table 64 - Interface Layer Functions

    http://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x__com_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.htmlhttp://../Transfer/AS399x/SW_Releases/v2.5/html/as399x_8h.html
  • 8/10/2019 AS399x GUI Description V2.0

    27/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 27 - 44

    Copyright2

    011

    austriamicrosystems

    3 Host Software

    3.1 Installation

    To install the AS399x Reader Suite software click on AS399x Reader Suite Setup x.x.exe.

    A software wizard guides through the installation process:

    Picture 11: Starting AS399x Reader Suite Setup

    After accepting the license agreement and choosing an installation directory the installation of

    the AS399x Reader Suite will begin. The host software uses HID drivers from the Windows

    operating system and therefore no additional driver installation is required.

    To start the AS399x Reader Suite run the AS399xReaderSuite.exe from the chosen

    installation directory or run from windows start menu.

  • 8/10/2019 AS399x GUI Description V2.0

    28/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 28 - 44

    Copyright2

    011

    austriamicrosystems

    3.2 Main Window

    After launching the AS399x Reader Suite starts with the main window:

    Picture 12: AS399x Reader Suite Main Window

    3.2.1 Main Window Menu Entries

    3.2.1.1 Control Menu

    Start Scan: Starts to Scan for tags

    Add Serial Reader: In case UHF RFID reader is connected by UART interface.

    Add Tcp Reader: Not implemented

    Clear Tags: Clears tag list. Useful to clear tags which are not in within the RF-coverage any more.

    Clear Offline Reader: Clears all UHF RFID reader from the list which went offline.

    Handle Actions: Enables actions which could be associated with tags.

  • 8/10/2019 AS399x GUI Description V2.0

    29/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 29 - 44

    Copyright2

    011

    austriamicrosystems

    3.2.1.2 Edit Menu

    Settings: Opens a dialog in order to change the AS399x Reader Suite configuration.

    3.2.1.2.1 Settings

    Display Settings:

    Use Time To Live: Activate/Deactivate the timing definitions for tags list displayed in

    the main window.

    o Show tag inactive after: Time after which the tag is considered to be inactive.Tag EPC number is marked with a gray bar.

    o Show tag out of range after: Time after which the tag is considered to be outof the reader field. Tag EPC number is grayed-out.

    o Delete tag after:Time after which the tag is deleted from the tag list in themain window.

    Show alias name if exists: Use a user defined alias name instead of the EPC number.

    Trace:

    Use Trace:Activates/Deactivates the communication trace.

    Trace Level: Defines the trace detail.

    Scan Options:

    Multiplex Reader:Incase multiple readers are connected to one host system thereader may be set to interleaving operation.

    Read Time: Defines the slot duration of the multiplexed readers.

  • 8/10/2019 AS399x GUI Description V2.0

    30/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 30 - 44

    Copyright2

    011

    austriamicrosystems

    3.2.1.3 View Menu

    Advanced Read Information: Displays additional information about reader and tagcounts.

    Show Alias Names:Display the user defined alias name instead of the EPC number.

    Use Time To Live: Use the timing information in the tag list of the main window.

    Trace Browser: Display the tag browser.

    Tag List: Display the tag list.

    3.2.1.4 Help

    About Reader Tool: Displays the GUI version and austriamicrosystems contactinformation.

  • 8/10/2019 AS399x GUI Description V2.0

    31/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 31 - 44

    Copyright2

    011

    austriamicrosystems

    3.2.2 Main Window Controls

    3.2.2.1 Reader Tabs

    The main window is organized in tabs. The default view is theAll Readerstab. In this tab all

    readers that are connected to the host system are displayed. All EPC numbers of each and

    every read tag for each reader are display also in this tab.

    Additionally each reader has its own reader tab. Inventoried tag information related to thereader is also display in the individual tabs.

    3.2.2.2 Reader Entry

    For every reader entry in the main window additional read information is displayed by

    expanding theReader Informationline.

    # of different tags

    Total read count

    Read rate [tags reads/sec]

    Reader Tabs

    Reader Entr

    Tag Entry

    ControlStart Scan Button

  • 8/10/2019 AS399x GUI Description V2.0

    32/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 32 - 44

    Copyright2

    011

    austriamicrosystems

    With a right click on the reader entry theReader Settings Diagnosticsdialog and theRegister

    Mapmay be opened.

    3.2.2.3 Tag Entry

    Once a tag is read by the reader its EPC number is display in the main window.

    With a right click on the tag entry the Tag AssociationsandAdvanced Tag Settingsdialog

    may be opened.

    3.2.2.4 Start Scan

    By clicking on the Start Scanbutton the reader starts to scan for tags. On the right hand side

    of the scan button is an entry field in order to set the time for automatically stopping the

    scanning function. The progress bar will indicate how much time is left until the scanning

    stops automatically.

    If a zero value is entered the scanning function will continue endlessly.

    3.2.2.5 Control

    Handle Actions:Activate/Deactivate tag actions if associated. The user may associatea certain action if a tag has been successfully read. For example: Play a sound if a

    certain tag has been read.

    Clear Tags: To instantly clear the list of tags in the main window.

    Clear Offline Readers: To instantaneously remove each reader from the list which isin an offline state.

    3.3 Reader Configuration:

    By right-clicking the reader entry a pop-up menu is displayed. Click on Reader Settings and

    Diagnostics to enter the reader configuration:

    Picture 13: Entering Reader Settings and Diagnostics

  • 8/10/2019 AS399x GUI Description V2.0

    33/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 33 - 44

    Copyright2

    011

    austriamicrosystems

    TheAdvanced Reader Settings dialog is organized in two tabs:1. Settings tab where the user may change settings related to the read operation.2. Diagnositcs tab contains features that may help the user to analyze the system

    properties and offers other useful debug tools.

    Picture 14 - Advanced Reader Settings Dialog

  • 8/10/2019 AS399x GUI Description V2.0

    34/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 34 - 44

    Copyright2

    011

    austriamicrosystems

    3.3.1 Settings Tab:

    Inventory Delay: By changing the Inventory Delay [ms] an additional wait time is inserted

    between two consecutive read cycles.To confirm a new value press the Setbutton.Please note that the minimal time delay between two consecutive read cycles is 50ms whichis inherrent to system constrains of human interface devices (HID). Therefore the InventoryDelay adds up with the 50 ms of HID.

    Tag Mode: With this pull- down menu the air interface protocol may be changed.

    Options are:

    Gen 2 (ISO 18000-6c) for fast tag reading

    Gen 2 + RSSI

    ISO 18000-6b

    To apply changes press the Setbutton.

    Output level:The Output levelslider changes the ouput power (register 0x15, bit 4:0). Theoutput power may be changed by 1 dB per step (nominal).

    Sensitivity: The sensitivity slider adjusts the sensitivity of the receiver. The sensitivity slideraffects register 0x05, bit 7 and register 0x0A, bit 7:6 and bit 1:0.

    Picture 15: Sensitivity Adjustment

  • 8/10/2019 AS399x GUI Description V2.0

    35/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 35 - 44

    Copyright2

    011

    austriamicrosystems

    Profile:The Profile pull- down menu offers various UHF RFID frequency band allocations.By changing the frequency profile all other entries in the Frequencies section are presetaccordingly.

    Profile options are shown in the following table:

    Start freq End freq IncrementRSSI

    Threshold.

    Listen

    time

    Idle

    timeMax. allocationProfile

    [MHz] [MHz] [MHz] [dBm] [ms] [ms] [ms]

    Europe 865.7 867.5 0.6 -40 1 0 10000Japan 952.4 953.6 1.2 -87 10 100 4000

    USA 902.75 927.25 0.5 -40 1 0 400

    China

    920.625920.625 924.375 0.75 -40 1 0 10000

    China

    840.125840.125 844.875 0.25 -40 1 0 10000

    Korea 917.3 920.3 0.6 -40 1 0 10000

    Table 65: Frequency Profiles

    The existing frequency profiles are defined in a CSV (Comma Separated Values) file withinthe installation directory (e.g. C:\Program Files\AS399x Reader Suite 1.3.0). Theprofiles.csv file may be modified per user needs or in order to add a new frequency profile.The syntax for adding a new profile is defined as follows:

    Name,StartFreq,StopFreq,Increment,dBm,listenTime,IdleTime,maxAllocationTime

    For example the European frequency profile is defined as:

    Europe,865.7,867.5,0.6,-40,1,0,10000

    Besides changing the frequency profile it is possible to change each Tag response relatedparameter individually. To apply changes press the Setbutton.

    Link frequency: This pull- down menu offers:

    40 kHz

    160 kHz

    213 khz

    256 kHz

    320 kHz

    640 kHz

    To apply changes press the Setbutton.

    Coding: Changes the coding. Options are:

    FM0

    Miller 2

    Miller 4

    Miller 8

    To apply changes press the Setbutton.

    Session: In this pull- down menu the 4 inventoried flags {S0, S1, S2, S3} and the selectedflag (SL) may be chosen. To apply changes press the Setbutton.

  • 8/10/2019 AS399x GUI Description V2.0

    36/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 36 - 44

    Copyright2

    011

    austriamicrosystems

    Q_begin: Definesthe initial number of available anti-collision slots according the function 2Q.By default the interrogator adds a post singulation to identify Tags that have not beendetectected in the first round. Depending on the number of detected collisions the postsingulation may either increase or decrease the Q value. Q may be entered either directly or

    by using the up/down arrows. To apply changes press the Setbutton.

    Pilot tone: Disables/Enables the pilot tone. To apply changes press the Setbutton.

    3.3.2 Diagnostics Tab

    Within the Sweep section it is possible to run different types of frequency sweepmeasurements.

    Start: Enter a start frequency from where the sweep will start in MHz.

    Stop: Enter a stop frequency at which the sweep should stop MHz.

    Mode:Select one of the two available frequency sweep modes:

    RSSI

    Reflected Power

    Increment: Enter a frequency step value at which a measurement should be performed inMHz.

    Sweep: This button starts the frequency Sweep for the defined Mode.

    Once the measurement is completed the result is displayed in a new window.

    Picture 16 - RSSI Sweep

  • 8/10/2019 AS399x GUI Description V2.0

    37/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 37 - 44

    Copyright2

    011

    austriamicrosystems

    Picture 17 - Reflected Power Sweep

    In the Frequency Diagnosis section Continuous Modulation is activated. In this mode thereader transmitts a NAK command continuously. Enter the desired transmit frequency inMHz and a transmit duration in ms. The frequency selected here is independent fromfrequency settings in the Settingstab.

    The Frequency Diagnosis section also contains the Reflected Power Radar.

    Reflected Power Radar:

    The reflected power radar displays the reflected power with the full phase information andthe magnitude by the length of the blue pointer.The frequency may be adjusted for which the measurement should be done. The frequencyset here is not affected by the frequency set in the Settingstab.The I and Q values are internal register values.

    Picture 18 - Reflected Power Rader Screen

  • 8/10/2019 AS399x GUI Description V2.0

    38/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 38 - 44

    Copyright2

    011

    austriamicrosystems

    Direct Commands:A selection menu from which direct commands may be selected and

    transmitted.

    Please note that there is limited used for some commands if additional parameters are needed.

    3.4 Regiser Map

    Right click the reader entry which displays a pop-up menu from which theRegister Mapcan

    be opened:

    Picture 19: Entering the Register Map

    On a click-and-toggle basis the register content can be modified. Gray register contents are

    read- only. A tool tip text with a description of the bit and it purpose is displayed upon

    pointing with the mouse over the respective bit.

    Picture 20: Reader Register Map

  • 8/10/2019 AS399x GUI Description V2.0

    39/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 39 - 44

    Copyright2

    011

    austriamicrosystems

    Tag Configuration

    By right-clicking a tag entry the Tag Settingwindow may be opened.

    Picture 21: Entering Tag Settings

    Within the Tags Settingswindow the user may assign an alias name and/or an action to atag. The action may either be that a tag is represented by a picture or an application start.The duration of the activation time can be specified in the range of 1sec to 30min.

    Picture 22: Tag Settings Window

    In order to display the tag in the main window by its alias name the option Show Alias Namein the View menu or in the Settings window from the Edit menu should be selected.

    To activate the assigned tag action the buttonHandle Actionsshould be pressed down.

  • 8/10/2019 AS399x GUI Description V2.0

    40/44

  • 8/10/2019 AS399x GUI Description V2.0

    41/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 41 - 44

    Copyright2

    011

    austriamicrosystems

    Picture 25: Set New EPC

    Set Password: The user may assign a password for a tag. The types of passwords are:

    Access

    Kill

    Picture 26: Set Tag Password

    Lock Tag: The user may perform certain security actions like locking and unlocking certain

    memory spaces of a tag. Options are:

    Kill password

    Access password

    EPC

    TID

    User

    The security actions are:

    Unlock(Associated memory bank is writeable from either the open or secured states)

    Lock (Associated memory bank is writeable from the secured state but not from theopen state)

    Permalock(Associated memory bank is permanently writeable from either the open orsecured states and may never be locked)

    Lock & Permalock(Associated memory bank is not writeable from any state)

  • 8/10/2019 AS399x GUI Description V2.0

    42/44

  • 8/10/2019 AS399x GUI Description V2.0

    43/44

    Application Note AS399x

    API & GUI Description

    www.austriamicrosystems.com/RFID Rev 2.0 43 - 44

    Copyright2

    011

    austriamicrosystems

    The user may read or set various memory banks of a tag. The Read from Bankpull- down

    menu offers following memory banks to be selected:

    Reserved

    EPC TID

    User

    By pressing the Readbutton the contents of the memory bank is displayed. TheMemory Size

    field shows the size of the respective memory bank in bytes.

    The Usermemory bank may be changed by the user (if proper security settings are set) by

    entering the desired data into the memory table and pressing Setbutton.

    Picture 30: Reading and Setting Tag Memory Banks

  • 8/10/2019 AS399x GUI Description V2.0

    44/44

    Application Note AS399x

    API & GUI Description

    Copyright2

    011

    austriamicrosystems

    4 Disclaimer

    Devices sold by austriamicrosystems AG are covered by the warranty and patent identificationprovisions appearing in its Term of Sale. austriamicrosystems AG makes no warranty, express,statutory, implied, or by description regarding the information set forth herein or regarding the freedomof the described devices from patent infringement. austriamicrosystems AG reserves the right tochange specifications and prices at any time and without notice. Therefore, prior to designing thisproduct into a system, it is necessary to check with austriamicrosystems AG for current information.This product is intended for use in normal commercial applications. Applications requiring extendedtemperature range, unusual environmental requirements, or high reliability applications, such asmilitary, medical life-support or life-sustaining equipment are specifically not recommended withoutadditional processing by austriamicrosystems AG for each application.The information furnished here by austriamicrosystems AG is believed to be correct and accurate.However, austriamicrosystems AG shall not be liable to recipient or any third party for any damages,including but not limited to personal injury, property damage, loss of profits, loss of use, interruption ofbusiness or indirect, special, incidental or consequential damages, of any kind, in connection with orarising out of the furnishing, performance or use of the technical data herein. No obligation or liabilityto recipient or any third party shall arise or flow out of austriamicrosystems AG rendering of technicalor other services.

    Copyright 2011, austriamicrosystems AG,Tobelbaderstrasse 30,8141 Unterpremstaetten, Austria.

    For further information please contact:austriamicrosystems AGBusiness Unit CNCTobelbaderstrasse 30A-8141 UnterpremstaettenAUSTRIATel: +43-(0)3136-500-5473FAX: +43-(0)[email protected]

    For Sales Offices, Distributors and Representatives, please visit:

    http://www.austriamicrosystems.com/contact

    Subject to change without notice

    mailto:[email protected]:[email protected]