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.html8/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__.html8/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.html8/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.html8/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]