You are on page 1of 44

Application Note AS399x

APINote
& GUI Description
Application

AS399x UHF RFID Reader ICs

AS399x Gen2 Compliant UHF RFID


Reader IC
API / GUI Description

Copyright 2011 austriamicrosystems

Table of Contents:
1
2
2.1
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.2
2.3
2.4
2.5
2.6
3
3.1
3.2
3.2.1
3.2.2
3.3
3.3.1
3.3.2
3.4
4

Introduction .................................................................................................. 4
Firmware Architecture .................................................................................. 4
Application Layer....................................................................................................... 6
USB Report-Frame..................................................................................................... 6
USB Reports............................................................................................................... 6
Reader Related USB Reports ..................................................................................... 7
Tag Related USB Reports ........................................................................................ 13
Error Byte................................................................................................................. 19
Protocol Layer - Gen2 .............................................................................................. 21
Protocol Layer - ISO6B............................................................................................ 25
Protocol Layer - AS399x_public.............................................................................. 25
Device Specific Functions........................................................................................ 26
Interface Layer ......................................................................................................... 26
Host Software .............................................................................................27
Installation................................................................................................................ 27
Main Window........................................................................................................... 28
Main Window Menu Entries.................................................................................... 28
Main Window Controls............................................................................................ 31
Reader Configuration: .............................................................................................. 32
Settings Tab:............................................................................................................. 34
Diagnostics Tab........................................................................................................ 36
Regiser Map ............................................................................................................. 38
Disclaimer ...................................................................................................44

www.austriamicrosystems.com/RFID

Rev 2.0

1 - 44

Application Note AS399x


API & GUI Description

Copyright 2011 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 .................................................................................... 8
Table 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 ....................................................... 10
Table 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 ......................................................................................... 12
Table 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
www.austriamicrosystems.com/RFID

Rev 2.0

2 - 44

Application Note AS399x


API & GUI Description

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 ....................................................................................................... 21
Table 62 - AS399x_public Functions....................................................................................... 25
Table 63 - AS399x - Functions ................................................................................................ 26
Table 64 - Interface Layer Functions ....................................................................................... 26
Table 65: Frequency Profiles................................................................................................... 35

Copyright 2011 austriamicrosystems

List of Figures:
Picture 1 - Firmware Program Flow........................................................................................... 5
Picture 2 - Gen2 Tag Singulation............................................................................................. 15
Picture 3 - Error Handling - Read Procedure ........................................................................... 20
Picture 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........................................................................ 33
Picture 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
www.austriamicrosystems.com/RFID

Rev 2.0

3 - 44

Application Note AS399x


API & GUI Description

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 MCU
with minimal effort. The code is organized in layers to maintain a clear structure and to
simplify modifications.

Copyright 2011 austriamicrosystems

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

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 files
may be used. If UART is the desired communication interface the definitions of uart.h, the
initialization 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. Since
that ability is special to 8051 based controllers, firmware programmers need to adapt these
sequences for other micro controllers.
NOTE:
8051 MCUs deactivate pull-ups by writing 0xFF to its port, other controller may deactivate
the pull-ups by writing 0x00.
NOTE:
Keeping the (weak) pull-ups activated during the reading of AS399x registes, could cause
that the STOP-condition is being triggerd (rising edge on IO7 during CLK = low). As a
consequence, the AS399x chip will be disables during the data transfer. For that reason it is
recommended to disable all pull-ups by firmware.

www.austriamicrosystems.com/RFID

Rev 2.0

4 - 44

Application Note AS399x


API & GUI Description

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

usbCommands()

initialization
selftest

USB data packet


availible ?

no

Copyright 2011 austriamicrosystems

usbCommands()
callSendFirmwareHardwareID;
callSendDeviceInfo;
ccallResetCPU;
callAntennaPower;
callWriteRegister;
callReadRegister;
callInventory;
callSelectTag;
callWriteToTag;
callReadFromTag;
callLockUnlock;
callKillTag;
callNXPCommands;
callInventory6B;
callChangeFreq;
callInventoryRSSI;

end

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.

www.austriamicrosystems.com/RFID

Rev 2.0

5 - 44

Application Note AS399x


API & GUI Description

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 report
starts 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).

Copyright 2011 austriamicrosystems

USB Report Name

Report ID outgoing

Report ID incoming

0x10
0x18
0x1A
0x1C
0x57
0x41
0x59
0x55
0x5D
0x31
0x43
0x3F
0x33
0x35
0x47
0x37
0x49
0x3B
0x3D
0x45

0x11
0x19
0x1B
0x1D
0x58
0x42
0x5A
0x56
0x5E
0x32
0x44
0x40
0x34
0x36
0x48
0x38
0x50
0x3c
0x3E
0x46

callSendFirmwareHardwareID
callAntennaPower
writeRegister
callReadRegister
callReadRegisters
callChangeFreq
configGen2
callEnableBootloader
callStartStop
callInventory
callInventoryRSSIInternal
callInventory6B
callSelectTag
callWriteToTag
writeToTag6B
callReadFromTag
readFromTag6B
callLockUnlock
callKillTag
callNXPCommands

Table 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 may
change in future. Windows truncates longer reports and discards shorter reports!

www.austriamicrosystems.com/RFID

Rev 2.0

6 - 44

Application Note AS399x


API & GUI Description

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

Content

0x10(ID)

3(length)

Payload

Table 4- callSendFirmwareHardwareID - outgoing

Payload:
0x00Firmware
0x01Hardware
Byte

2 .. 47

Content

0x11(ID)

length

Zero terminated string

Table 5- callSendFirmwareHardwareID - incoming

2.1.3.2 callAntennaPower

Copyright 2011 austriamicrosystems

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


Byte

Content

0x18(ID)

3(length)
Table 6 callAntennaPower - outgoing

Payload

Payload:
0x00RF-Power OFF
0x01RF-Power ON
Byte

Content

0x19(ID)

3(length)
Table 7 - callAntennaPower - incoming

www.austriamicrosystems.com/RFID

Rev 2.0

0 on success

7 - 44

Application Note AS399x


API & GUI Description

2.1.3.3 writeRegister
This function writes one register of the AS399x.
Byte

Content

0x1A(ID)

5(length)

reg_number
val_0
Table 8 - writeRegister outgoing

val_1

val_2

val_1 and val_2 are used only if reg_number is a deep register (e.g.: Modulator Control
Register).
If reg_number 0x80 a direct command is executed.
Byte

Content

0x1B(ID)

3(length)
Table 9 - writeRegister incoming

0 on success

2.1.3.4 callReadRegister
This function reads one register from the AS399x
Byte

0x1C(ID)
2(length)
Table 10 - callReadRegister - outgoing

Content

reg_number

Copyright 2011 austriamicrosystems

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

Content

0x1D(ID)

6(length)
0x00 on success
val0
Table 11 - callReadRegister - incoming

val1

val2

2.1.3.5 callReadRegisters
This function reads all register in one bulk from AS399x.
Byte

Content

Byte

Content

0x58(ID)

0x57(ID)
Table 12 - callReadRegisters - outgoing

45(length)
reg 0x00
Table 13 - callReadRegisters - incoming

www.austriamicrosystems.com/RFID

Rev 2.0

1(length)

44

reg 0x1F

8 - 44

Application Note AS399x


API & GUI Description

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

3 .. 5

0x41(ID)
length
0x01
Table 14 - callChangeFreq - Get RSSI Level - outgoing

Content

Byte

freq

0x42(ID)
64(length)
I-channel
Table 15 - callChangeFreq - Get RSSI Level - incoming

Content

Q-channel

2.1.3.6.2 Get Reflected Power Level


Byte

3 .. 5

0x41(ID)
length
0x02
Table 16 - callChangeFreq - Get Reflected Power Level - outgoing

Content

Byte

freq

0x42(ID)
64(length)
I-channel
Table 17 - callChangeFreq - Get Reflected Power Level - incoming

Content

Q-channel

2.1.3.6.3 Add frequency to frequency list used for hopping

Copyright 2011 austriamicrosystems

Byte

3 .. 5

length
0x04
freq
rssi_threshhold(dBm)
Content 0x41(ID)
Table 18 - callChangeFreq Add frequency to hopping list - outgoing

Byte
Content

profile_id

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

0x41(ID)
length
Table 20 Clear frequency hopping list - outgoing

Content

Byte

Content

0x42(ID)

64(length)
0xFC on success
Table 21 - Clear frequency hopping list incoming

www.austriamicrosystems.com/RFID

Rev 2.0

0x08

3
0xFF on success

9 - 44

Application Note AS399x


API & GUI Description

2.1.3.6.5 Set frequency hopping related parameters


Byte

Content 0x41(ID)

3 .. 4

5 .. 6

7 .. 8

length
0x10
listeningTime
maxSendingTime
Table 22 Set frequency hopping parameters - outgoing

Byte

Content

0x42(ID)

idleTime

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

0x41(ID)
length
Table 24 - Get frequency hopping parameters outgoing

Content

0x11

Byte

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

Copyright 2011 austriamicrosystems

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

Content

0x41(ID)

Byte
Content

3 .. 5

6 .. 7

length
32
don't care
Table 26 - Continuous modulation test outgoing

0x42(ID)
64(length)
0xfe
Table 27 - Continuous modulation test incoming

www.austriamicrosystems.com/RFID

Rev 2.0

duration in ms

3
0xff

10 - 44

Application Note AS399x


API & GUI Description

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

Content

0x59(ID)

length

set_lf

lf

set_coding

coding

set_session

session

10

11

12

13

set_trext

trext

set_qbegin

qbegin

set_sensitivity

sensitivity

Table 28 configGen2 - outgoing


Byte
0
Content
0x5A(ID)
8
9
reserved(0)
trext

1
2
3
4
5
6
0x40(length) reserved(0) lf reserved(0) coding reserved(0)
10
11
12
13
reserved(0) qbegin
reserved(0)
sensitivity

7
session

Table 29 configGen2 - incoming

Values for the different parameters are:


Name
lf

Copyright 2011 austriamicrosystems

coding

session

trext
qbegin
sensitivity

values
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
0 = FM0,
1 = Miller2,
2 = Miller4,
3 = Miller8
0 = S0,
1 = S1,
2 = S2,
3 = SL
0 = short preamble, pilot tone,
1 = long preamble, pilot tone
0 .. 15. Initial gen2 round is 2^qbegin long
-128 .. 127 (dBm)

Table 30 - configGen2 - parameter settings

www.austriamicrosystems.com/RFID

Rev 2.0

11 - 44

Application Note AS399x


API & GUI Description

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
Content

0
0x55(ID)

1
4(length)

2
dont_care

3
dont_care

Table 31 - callEnableBootloader outgoing


Byte
Content

0
0x56(ID)

1
3(length)

2
1 on success

Table 32 - callEnableBootloader incoming

2.1.3.9 callStartStop
This function starts/stops the automatic scanning procedure.
Byte
Content

0
0x5D(ID)

1
6(length)

2
update

3
start

Table 33 - callStartStop - outgoing


Byte

2
current start value

Content

0x5E(ID)

3(length)

Subsequently callInventoryRSSIInternal() result packages


are returned in a dense continuous loop. See there for
description.

Copyright 2011 austriamicrosystems

Table 34 - callStartStop - incoming

www.austriamicrosystems.com/RFID

Rev 2.0

12 - 44

Application Note AS399x


API & GUI Description

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 tag
should 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
Content

0
0x31(ID)

1
3(length)

2
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
Content

0
0x32(ID)

1
length

2
tags_left

3
epclen+pclen

4
pc[0]

5
pc[1]

6 .. 6 + epclen
epc

Table 36 - callInventory - incoming

Copyright 2011 austriamicrosystems

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.2 callInventoryRSSIInternal
This function performs a gen2 protocol inventory round according to parameters given by
configGen2().
Byte
Content

0
0x43(ID)

1
3(length)

2
start

Table 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
Content
8
pc[0]

0
0x44(ID)
9
pc[1]

1
2
3
length
tags_left
RSSI_value
10 .. 10 + epclen
epc

4 .. 6
base_freq

7
epclen+pclen

Table 38 - callInventoryRSSIInternal incoming

www.austriamicrosystems.com/RFID

Rev 2.0

13 - 44

Application Note AS399x


API & GUI Description

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. 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.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
Content

0
0x3F(ID)

1
12(length)

2
start

3
mask

4 .. 11
word_data

12
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
Content

0
0x40(ID)

1
13(length)

2
tags_left

3
rssi(planned)

4
8(epclen)

5 .. 12
uid

13 .. 15
used freq

Copyright 2011 austriamicrosystems

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:

www.austriamicrosystems.com/RFID

Rev 2.0

14 - 44

Application Note AS399x


API & GUI Description

Picture 2 - Gen2 Tag Singulation

This function singulates a Gen2 tag using the given mask for subsequent operations like
read/write
Byte
Content

0
0x33(ID)

1
length

2
mask_length

3 .. 3 + mask_length
mask

Table 41 - callSelectTag - outgoing


Byte
Content

0
0x34(ID)

1
3(length)

2
status (Error Byte)

Table 42 - callSelectTag - incoming

2.1.4.5 callWriteToTag
This function writes to a previously selected Gen2 tag.

Copyright 2011 austriamicrosystems

Byte
0
1
2
Content 0x35(ID) length mem_type

3
address

4 .. 7
acces_pw

8
data_len

9 .. 9 + 2 * 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 membank
o 2:TID membank
o 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
Content

0
0x36(ID)

1
3(length)

2
status (Error Byte)

3
num_words_written

Table 44 - callWriteToTag incoming

www.austriamicrosystems.com/RFID

Rev 2.0

15 - 44

Application Note AS399x


API & GUI Description

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

0
0x47(ID)

1
length

2 .. 9
uid

10
addr

11
length_to_write

12 .. 12+length_to_write
data

Table 45 - writeToTag6B - outgoing

Byte
Content

0
0x48(ID)

1
3(length)

2
0 for success

Table 46 - writeToTag6B incoming

2.1.4.7 callReadFromTag
This function reads from a previously selected gen2 tag.
Byte
Content

0
0x37(ID)

1
length

2
mem_type

3
address

4
data_len

Table 47 - callReadFromTag - outgoing

mem_type:
o 0:reserved membank
o 1:EPC membank
o 2:TID membank
o 3:USER membank
data_len: data length to read in 16-bit words

Copyright 2011 austriamicrosystems

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
Content

0
0x38(ID)

1
length

2
Status (Error Byte)

3
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
Content

0
0x49(ID)

1
12(length)

2 .. 9
uid

10
addr

11
length_to_read

Table 49 - readFromTag6B - outgoing


Byte
Content

0
0x50(ID)

1
64(length)

2
0 for success

3
length of data

4 .. 4+length_to_read
data

Table 50 - readFromTag6B - outgoing

www.austriamicrosystems.com/RFID

Rev 2.0

16 - 44

Application Note AS399x


API & GUI Description

2.1.4.9 callLockUnlock
This report locks a gen2 tag.
Byte
Content

0
0x3B(ID)

1
8(length)

2
lock_unlock

3
memory_space

4 .. 7
access password

Table 51 - callLockUnlock - outgoing

lock_unlock:
0 Unlock
1 Lock
2 Permalock
3 Lock & Permalock

memory_space:
0 Kill password
1 Access password
2 EPC
3 TID

Byte
Content

0
0x3C(ID)

1
3(length)

2
Status (Error Byte)

Table 52 - callLockUnlock - incoming

2.1.4.10

callKillTag

This function kills a gen2 tag.

Copyright 2011 austriamicrosystems

Byte
Content

0
0x3D(ID)

1
7(length)

2 .. 5
kill password

6
recom

Table 53 - callKillTag - outgoing

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

0
0x3E(ID)

1
3(length)

2
Status (Error Byte)

Table 54 - callKillTag - incoming

www.austriamicrosystems.com/RFID

Rev 2.0

17 - 44

Application Note AS399x


API & GUI Description

2.1.4.11

callNXPCommands

This function sends special NXP command to NXP gen2 tags.


2.1.4.11.1 EAS command
Byte
Content

0
0x45(ID)

1
10(length)

2
1

3
eas_on

4 .. 7
access pw

Table 55 - callNXPCommands - EAS command - outgoing

2.1.4.11.2 Set / Reset Protect


Byte
Content

0
0x45(ID)

1
10(length)

2
2

3
set_protect

4 .. 7
access pw

Table 56 - callNXPCommands - Set / Reset Protect - outgoing

2.1.4.11.3 Calibrate
Byte
Content

0
0x45(ID)

1
10(length)

2
8

3
not_used

4 .. 7
access pw

Table 57 - callNXPCommands - Calibrate - outgoing

2.1.4.11.4 Change Config


Byte
Content

0
0x45(ID)

1
10(length)

2
9

3
not_used

4 .. 7
access pw

8..9
config

Table 58 - callNXPCommands - Change Config - outgoing

To all NXP related the report the device responds:


Byte
Content

0
0x46(ID)

1
5(length)

2
Status (Error Byte)

3 .. 4
config word (only change config)

Copyright 2011 austriamicrosystems

Table 59 - callNXPCommands - incoming

www.austriamicrosystems.com/RFID

Rev 2.0

18 - 44

Application Note AS399x


API & GUI Description

2.1.5 Error Byte


Some report frames which are sent from the controller to the host computer include an error
byte:
Value Error-Code Name

Description

0x00 GEN2_OK

No Error

0x01 GEN2_ERR_REQRN

Error sending ReqRN.

0x02 GEN2_ERR_ACCESS

Error sending Access password.

0x03 GEN2_ERR_KILL

Error sending Kill.

0x04 GEN2_ERR_NOREPLY

Error no reply received.

0x05 GEN2_ERR_LOCK

Error locking command.

0x06 GEN2_ERR_BLOCKWRITE

Error Blockwrite.

0x07 GEN2_ERR_BLOCKERASE

Error Blockerase.

0x08 GEN2_ERR_READ

Error Reading.

0x09 GEN2_ERR_SELECT

Error when selecting tag.

Copyright 2011 austriamicrosystems

0x0A GEN2_ERR_CHANNEL_TIMEOUT Error RF channel timed out.


0x80 Other Error

Catch-all for errors not covered by other codes.

0x83 Memory Overrun

The specified memory location does not exist or the


EPC length field is supported by the Tag

0x84 Memory locked

The specified memory location is locked and/or


permalocked and is either nor writeable or not
readable.

0x8B Insufficient power

The Tag has insufficient power to perform the


memory write operation.

0x8F Non-specific error

The Tag does not support error-specific codes

0xFF

No response from the Tag (time out)

Table 60: Error Byte

www.austriamicrosystems.com/RFID

Rev 2.0

19 - 44

Application Note AS399x


API & GUI Description

Picture 3 - Error Handling - Read Procedure

Copyright 2011 austriamicrosystems

Picture 4 - Error Handling - Write Procedure

Picture 5 - Error Handling - Kill Operation

Picture 6 - Error Handling - Unlock Operation


www.austriamicrosystems.com/RFID

Rev 2.0

20 - 44

Application Note AS399x


API & GUI Description

2.2

Protocol Layer - Gen2

Data
Type

Function

gen2SearchForTags (Tag *tags, u8 maxtags, u8 *mask, u8 length, u8 q,


unsigned

bool(*cbContinueScanning)(void), bool useMaskToSelect)

gen2SearchForTagsFast (Tag *tags_, u8 maxtags, u8 *mask, u8 length, u8 q,


unsigned
u8
u8
u8
u8
u8
u8
u8
u8
u8
u8
void
void
void
void

Copyright 2011 austriamicrosystems

bool(*cbContinueScanning)(void))

gen2AccessTag (Tag *tag, u8 *password)


gen2LockTag (Tag *tag, u8 *mask_action)
gen2KillTag (Tag *tag, u8 *password, u8 rfu)
gen2WriteWordToTag (Tag *tag, u8 memBank, u8 wordPtr, u8 *databuf)
gen2NXPChangeConfig (Tag *tag, u8 *databuf)
gen2ReadFromTag (Tag *tag, u8 memBank, u8 wordPtr, u8 wordCount, u8 *destbuf)
gen2SetProtectBit (Tag *tag)
gen2ReSetProtectBit (Tag *tag, u8 *password)
gen2ChangeEAS (Tag *tag, u8 value)
gen2Calibrate (Tag *tag)
gen2PrintTagInfo (Tag *tag, u8 epclen, u8 tagNr)
gen2Configure (const struct gen2Config *config)
gen2Open (const struct gen2Config *config)
gen2Close (void)
Table 61 - Gen2 Functions

Before calling any of the functions the AS399x chip needs to be initialized using
as399xInitialize().
Next the function gen2Open needs to be called for opening a session.
gen2SearchForTags() should be called to identify the tags in reach. Typically tag
singulation 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 Gen2
functions (gen2WriteWordToTag(), gen2ReadFromTag(), ...).
When finished with gen2 operations this session should be closed using gen2Close().

State Diagram:

www.austriamicrosystems.com/RFID

Rev 2.0

21 - 44

Application Note AS399x


API & GUI Description

Picture 7 - Gen2 - State Diagram

Copyright 2011 austriamicrosystems

State Diagram Tag has no password set:

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

www.austriamicrosystems.com/RFID

Rev 2.0

22 - 44

Application Note AS399x


API & GUI Description

Typical Use-Case:
Tag tags[16];
struct gen2Config config = {GEN2_LF_160, GEN2_COD_MILLER2, GEN2_IINV_S0,
1};
unsigned n;
u8 buf[4];
...
as399xInitialize(912000);
gen2Open(&config);
n = gen2SearchForTags(tags,16,0,0,4);
if ( n == 0) return;
//Pick one of the tags based on the contents of tags. Here we use the
very first tag
if (gen2ReadFromTag(tags+0, MEM_USER, 0, 2, buf))
return;
buf[0] ^= 0xff; buf[1]^= 0x55; // change the data

Copyright 2011 austriamicrosystems

if (gen2WriteWordToTag( tags+0, MEM_USER, 0,


{ // wrote back one of the two read words
gen2Close();
return;
}

buf))

//...
gen2Close();

www.austriamicrosystems.com/RFID

Rev 2.0

23 - 44

Application Note AS399x


API & GUI Description

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

Start
Send select
Wait for Tx
complete
TX complete Interrupt
Wait for Rx
response
No RX Interrupt
Send query or
query rep

Wait for Tx
complete
Slots left

TX complete Interrupt

No Rx Interrupt

Rx Interrupt

Wait for
response

Send ACK

No Rx Interrupt
Wait for Tx
Complete

Check slots
no slots left

Tx complete IRQ

Copyright 2011 austriamicrosystems

No Rx Interrupt
Provide
Inventory List

Wait for
response
Rx Interrupt
Get EPC from FIFO
request handle

Restart slots
Wait for Tx
Complete
Tx complete IRQ
Wait for
response
Rx Interrupt
Read Handle

Picture 9: Gen2 Anti Collision State Diagram

www.austriamicrosystems.com/RFID

Rev 2.0

24 - 44

Application Note AS399x


API & GUI Description

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 a
session.
The following graph shows several states of an ISO 6B tag as well as their transitions based
on iso6b* commands:

Copyright 2011 austriamicrosystems

Picture 10 - ISO6B - State Diagram

2.4

Protocol Layer - AS399x_public

Data Type

u16
unsigned char
void
void
void
void
void
void
void
void
s8
s8
u16
void

Function

as399xInitialize (u32 baseFreq)


as399xReadChipVersion (void)
as399xSwitchToIdleMode (void)
as399xSelectLinkFrequency (u8 a)
as399xSetBaseFrequency (u8 regs, u32 frequency)
as399xMemoryDump (void)
as399xAntennaPower (u8 on)
as399xGetRSSI (u16 num_of_ms_to_scan, u8 *rawIQ, s8 *dBm)
as399xSaveSensitivity ()
as399xRestoreSensitivity ()
as399xSetSensitivity (s8 minimumSignal)
as399xGetSensitivity (void)
as399xGetReflectedPower (void)
as399xReset (void)
Table 62 - AS399x_public Functions

www.austriamicrosystems.com/RFID

Rev 2.0

25 - 44

Application Note AS399x


API & GUI Description

2.5

Device Specific Functions

Data
Type

void
void
void
u8
void
void
void

as399xSingleCommand (u8 command)


as399xContinuousRead (u8 address, s8 len, u8 *readbuf)
as399xFifoRead (s8 len, u8 *readbuf)
as399xSingleRead (u8 address) reentrant
as399xWritePredistortion (const u8 *buf)
as399xContinuousWrite (u8 address, u8 *buf, s8 len)
as399xSingleWrite (u8 address, u8 value)
as399xCommandContinuousAddress (u8 *command, u8 com_len, u8 address, u8 *buf,
u8 buf_len)
as399xGetFIFOStatus (void)
as399xGetIRQStatus (void)
as399xWaitForResponse (u16 waitMask)
as399xWaitForResponseTimed (u16 waitMask, u16 ms)
as399xEnterDirectMode ()
as399xExitDirectMode ()
Table 63 - AS399x - Functions

void
u8
u8
void
void
void
void

2.6

Function

Interface Layer

Data
Type

initInterface (void)
writeReadAS399x (const u8 *wbuf, u8 wlen, u8 *rbuf, u8 rlen, u8 stopMode, u8 doStart)
setPortDirect ()
setPortNormal ()
Table 64 - Interface Layer Functions

Copyright 2011 austriamicrosystems

void
void
void
void

Function

www.austriamicrosystems.com/RFID

Rev 2.0

26 - 44

Application Note AS399x


API & GUI Description

3 Host Software

3.1

Installation

Copyright 2011 austriamicrosystems

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.

www.austriamicrosystems.com/RFID

Rev 2.0

27 - 44

Application Note AS399x


API & GUI Description

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

Copyright 2011 austriamicrosystems

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 RFcoverage 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.

www.austriamicrosystems.com/RFID

Rev 2.0

28 - 44

Application Note AS399x


API & GUI Description

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:

Copyright 2011 austriamicrosystems

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 out
of 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 the
main 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 the
reader may be set to interleaving operation.
Read Time: Defines the slot duration of the multiplexed readers.

www.austriamicrosystems.com/RFID

Rev 2.0

29 - 44

Application Note AS399x


API & GUI Description

3.2.1.3 View Menu

Advanced Read Information: Displays additional information about reader and tag
counts.
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.

Copyright 2011 austriamicrosystems

3.2.1.4 Help

About Reader Tool: Displays the GUI version and austriamicrosystems contact
information.

www.austriamicrosystems.com/RFID

Rev 2.0

30 - 44

Application Note AS399x


API & GUI Description

3.2.2 Main Window Controls

Reader Tabs
Reader Entry
Tag Entry

Control

Copyright 2011 austriamicrosystems

Start Scan Button

3.2.2.1 Reader Tabs


The main window is organized in tabs. The default view is the All Readers tab. 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 the
reader 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 the Reader Information line.
# of different tags
Total read count
Read rate [tags reads/sec]

www.austriamicrosystems.com/RFID

Rev 2.0

31 - 44

Application Note AS399x


API & GUI Description

With a right click on the reader entry the Reader Settings Diagnostics dialog and the Register
Map may 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 Associations and Advanced Tag Settings dialog
may be opened.

3.2.2.4 Start Scan


By clicking on the Start Scan button 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

Copyright 2011 austriamicrosystems

3.3

Handle Actions: Activate/Deactivate tag actions if associated. The user may associate
a 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 is
in an offline state.
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

www.austriamicrosystems.com/RFID

Rev 2.0

32 - 44

Application Note AS399x


API & GUI Description

Copyright 2011 austriamicrosystems

The Advanced 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

www.austriamicrosystems.com/RFID

Rev 2.0

33 - 44

Application Note AS399x


API & GUI Description

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 Set button.
Please note that the minimal time delay between two consecutive read cycles is 50ms which
is inherrent to system constrains of human interface devices (HID). Therefore the Inventory
Delay 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 Set button.

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

Copyright 2011 austriamicrosystems

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

Picture 15: Sensitivity Adjustment

www.austriamicrosystems.com/RFID

Rev 2.0

34 - 44

Application Note AS399x


API & GUI Description

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 preset
accordingly.
Profile options are shown in the following table:
Profile
Europe
Japan
USA
China
920.625
China
840.125
Korea

[MHz]
0.6
1.2
0.5

RSSI
Threshold.
[dBm]
-40
-87
-40

Listen
time
[ms]
1
10
1

Idle
time
[ms]
0
100
0

924.375

0.75

-40

10000

840.125

844.875

0.25

-40

10000

917.3

920.3

0.6

-40

10000

Start freq

End freq

Increment

[MHz]
865.7
952.4
902.75

[MHz]
867.5
953.6
927.25

920.625

Max. allocation
[ms]
10000
4000
400

Table 65: Frequency Profiles

The existing frequency profiles are defined in a CSV (Comma Separated Values) file within
the installation directory (e.g. C:\Program Files\AS399x Reader Suite 1.3.0). The
profiles.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

Copyright 2011 austriamicrosystems

Besides changing the frequency profile it is possible to change each Tag response related
parameter individually. To apply changes press the Set button.

Link frequency: This pull- down menu offers:


40 kHz
160 kHz
213 khz
256 kHz
320 kHz
640 kHz
To apply changes press the Set button.
Coding: Changes the coding. Options are:
FM0
Miller 2
Miller 4
Miller 8
To apply changes press the Set button.
Session: In this pull- down menu the 4 inventoried flags {S0, S1, S2, S3} and the selected
flag (SL) may be chosen. To apply changes press the Set button.

www.austriamicrosystems.com/RFID

Rev 2.0

35 - 44

Application Note AS399x


API & GUI Description

Q_begin: Defines the 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 been
detectected in the first round. Depending on the number of detected collisions the post
singulation 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 Set button.
Pilot tone: Disables/Enables the pilot tone. To apply changes press the Set button.

3.3.2 Diagnostics Tab


Within the Sweep section it is possible to run different types of frequency sweep
measurements.
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 in
MHz.
Sweep: This button starts the frequency Sweep for the defined Mode.

Copyright 2011 austriamicrosystems

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

Picture 16 - RSSI Sweep

www.austriamicrosystems.com/RFID

Rev 2.0

36 - 44

Application Note AS399x


API & GUI Description

Picture 17 - Reflected Power Sweep

In the Frequency Diagnosis section Continuous Modulation is activated. In this mode the
reader transmitts a NAK command continuously. Enter the desired transmit frequency in
MHz and a transmit duration in ms. The frequency selected here is independent from
frequency settings in the Settings tab.
The Frequency Diagnosis section also contains the Reflected Power Radar.

Copyright 2011 austriamicrosystems

Reflected Power Radar:

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

Picture 18 - Reflected Power Rader Screen

www.austriamicrosystems.com/RFID

Rev 2.0

37 - 44

Application Note AS399x


API & GUI Description

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 the Register Map can
be opened:

Picture 19: Entering the Register Map

Copyright 2011 austriamicrosystems

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

www.austriamicrosystems.com/RFID

Rev 2.0

38 - 44

Application Note AS399x


API & GUI Description

Tag Configuration
By right-clicking a tag entry the Tag Setting window may be opened.

Picture 21: Entering Tag Settings

Copyright 2011 austriamicrosystems

Within the Tags Settings window the user may assign an alias name and/or an action to a
tag. 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 Name
in the View menu or in the Settings window from the Edit menu should be selected.

To activate the assigned tag action the button Handle Actions should be pressed down.

www.austriamicrosystems.com/RFID

Rev 2.0

39 - 44

Application Note AS399x


API & GUI Description

Picture 23: Tag Action

Copyright 2011 austriamicrosystems

By right-clicking a tag entry the Advanced Tag Settings window may be opened.

Picture 24: Advanced Tag Settings Window

This screen allows you to view tag details and to individually change the tag properties.
SET EPC: The user may set a new tag EPC.

www.austriamicrosystems.com/RFID

Rev 2.0

40 - 44

Application Note AS399x


API & GUI Description

Picture 25: Set New EPC

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

Copyright 2011 austriamicrosystems

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 the
open state)
Permalock (Associated memory bank is permanently writeable from either the open or
secured states and may never be locked)
Lock & Permalock (Associated memory bank is not writeable from any state)

www.austriamicrosystems.com/RFID

Rev 2.0

41 - 44

Application Note AS399x


API & GUI Description

Picture 27: Lock and Unlock Tag Memory

KILL: The user may kill a tag by entering the Kill Password.

Copyright 2011 austriamicrosystems

Picture 28: Killing a Tag

Additional to the Gen2 protocol specific functions NXP commands are also available.
Options are:
Set Read Protect
Unset Read Protect
Change EAS ON
Change EAS OFF
Calibrate

Picture 29: Set NXP Command

www.austriamicrosystems.com/RFID

Rev 2.0

42 - 44

Application Note AS399x


API & GUI Description

The user may read or set various memory banks of a tag. The Read from Bank pull- down
menu offers following memory banks to be selected:
Reserved
EPC
TID
User
By pressing the Read button the contents of the memory bank is displayed. The Memory Size
field shows the size of the respective memory bank in bytes.
The User memory bank may be changed by the user (if proper security settings are set) by
entering the desired data into the memory table and pressing Set button.

Copyright 2011 austriamicrosystems

Picture 30: Reading and Setting Tag Memory Banks

www.austriamicrosystems.com/RFID

Rev 2.0

43 - 44

Application Note AS399x


API & GUI Description

4 Disclaimer
Devices sold by austriamicrosystems AG are covered by the warranty and patent identification
provisions 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 freedom
of the described devices from patent infringement. austriamicrosystems AG reserves the right to
change specifications and prices at any time and without notice. Therefore, prior to designing this
product 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 extended
temperature range, unusual environmental requirements, or high reliability applications, such as
military, medical life-support or life-sustaining equipment are specifically not recommended without
additional 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 of
business or indirect, special, incidental or consequential damages, of any kind, in connection with or
arising out of the furnishing, performance or use of the technical data herein. No obligation or liability
to recipient or any third party shall arise or flow out of austriamicrosystems AG rendering of technical
or other services.

Copyright 2011 austriamicrosystems

Copyright 2011, austriamicrosystems AG,


Tobelbaderstrasse 30,
8141 Unterpremstaetten, Austria.
For further information please contact:
austriamicrosystems AG
Business Unit CNC
Tobelbaderstrasse 30
A-8141 Unterpremstaetten
AUSTRIA
Tel: +43-(0)3136-500-5473
FAX: +43-(0)3136-500-4141
wireless@austriamicrosystems.com
For Sales Offices, Distributors and Representatives, please visit:
http://www.austriamicrosystems.com/contact
Subject to change without notice

www.austriamicrosystems.com/RFID

Rev 2.0

44 - 44

You might also like