rfid reader uart protocol - isecuretech · specification for rfid reader network interface . ... m...

33
1 - 33 Specification for RFID Reader Network Interface Copyright 2009, NESSLAB Inc., SmarTerminal All rights reserved UHF RFID READER Protocol Aug. 2009 NL- RF1000 V0.1.7

Upload: phamtram

Post on 02-Apr-2018

225 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

1 - 33

Specification for RFID Reader Network Interface

Copyright ⓒ 2009, NESSLAB Inc., SmarTerminal All rights reserved

UHF RFID READER Protocol

Aug. 2009

NL- RF1000 V0.1.7

Page 2: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

2 - 33

Document version

- 2009.01.01 Ver 0.1.1

Protocol first release

Model : NL-RF1000

- 2009.06.30 Ver 0.1.3

Summary

- 2009.07.01 Ver 0.1.6

Add instruction

- 2009.08.11 Ver 0.1.7

Add parameter related to Button and LED GPIO.

Page 3: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

3 - 33

Summary 1. Summary……………………………………………………………….…………… 4

2. SIGNAL …………………………………………………………………………… 5

3. Packet ……………………………………………………………..…………… 6

4. DATA …………………………………….………………………….……………. 7

5. Commend and example ………………………………………….…………… 27

6. Reference …………………………………………………………...………… 32

Page 4: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

4 - 33

1 Summary

This document defines communication method and message between RFID Reader and

Reader control device (HOST) .

Page 5: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

5 - 33

2 SIGNAL

A Device which connected to reader uses signal of RS-232 Level and transfers it from

MSB. (115200 bps, Async, Full duplex, 8bits, No parity) Physical connections are

separated RX, TX which share Ground.

Page 6: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

6 - 33

3 Packet

3.1 Packet structure

STX(0x3E) DATA(ASCII) ETX(0x0d,0x0a)

STX : Start of Packet "0x3E(‘>’)"

DATA : Reader Commend, TAG DATA

ETX : End of Packet “0x0D0A(“\ r\ n)”

※ Each unit is 8bit (octet) Form factor follows network bit orders.

● Main communication port : 5578 ( MAIN Tag Data communication port)

● Control Manager communication port: 5579 ( Reader control port )- [SET,GET]

Control

Page 7: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

7 - 33

4 DATA

P C READER TAG

START

REQ TAG READ

RF

RES TAG READ

(SET/GET CONTROL)

(REPLY)

(STOP)

Page 8: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

8 - 33

1) Outline of communication between Reader and Host

This chapter describes data regulation between reader and HOST. Regulation of Ethernet

and Serial is the same.

1-1) SET CONTROL is value of command to set parameter for running reader (Antenna port

and power setting, etc)

- On Consol ‘ >x ( parameter) (arg1,arg2…) ‘

- On Reader Manager, value for ListBox of set parameter is defined.

1-2) GET CONTROL is a Response from command(‘y’) which checks set value by SET

CONTROL

- On Consol ‘>y (parameter)

- On Reader Manager, value for ListBox of get parameter is defined.

1-3) REQ READER COMMAND are Inventory, Blockread , Write, Lock, Kill, Set, Get

Parameter, Stop commands and parameter is defined due to Block read, Write Lock, Kill

need parameter

1-4) In RESPONSE data regulation is defined which possibly comes during execution of 1-3)

commands.

Page 9: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

9 - 33

2) SET CONTROL

Command to change Control value of Reader from HOST.

Octet 7 6 5 4 3 2 1 0

0 0x78 (‘x’)

1 0x20 (‘ ‘)

2 CONTROL CODE

3 0x20 (‘ ‘)

4 VALUE

- HOST -> Reader

- Function : Change main Control value of reader

- CONTROL CODE/VALUE

CODE

(char)

CODE

(HEX) CONTROL VALUE DEFAULT

b 0x6

2

Buzzer

Switch 0(0x30), 1(0x31) 1(ON)

c 0x6

3

Continue

Mode

0(0x30), 1(0x31)

** Working only Inventory Once

0

(OFF)

d 0x64 All Default Set X X

e 0x65 Antenna State

0~15(0x30~0x3135)

* Not possible to set if the value is the same as

previous value

*Times needed to set

1

p 0x70 Power Control

50~300 :

(0x30~0x323535)

0~30 : inverse power set

Ex) ant_pwer (0 )

New_ant_pwr = 300 - ant_pwr*10

* Not possible to set if the value is the same as

previous value

213

Page 10: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

10 - 33

* Times needed to set

q 0x71 Q Value (TYPE

C) 0~15(0x30~0x3135) 0 (AUTO)

i 0x69 Memory Read

Option 0(0x30), 1(0x31) 0 (OFF)

r 0x72 IP Address IP Address Value

ex)r 1.2.3.4(0x312E322E332E34)

192.168.1

0.91

y 0x79 Network Packet

Response Option

[Bit] Available duplicated set by bit

0(0x30) : all off

1(0x31) : IP ON

2(0x32) : Tag Time ON

4(0x34) : Tag Flag ON

8(0x38) : Tag RSSI ON

256(0x323536) : Debug Print ON

512(0x353132) : Command Skip

1024(0x31303234) : Switch Variable Format

Control Port

0 (OFF)

2 0x32 Write Antena

Port Set 1(0x31), 2(0x32), 3(0x33), 4(0x34) 1

T 0x54 Tag Operation

Timeout Set

[index] [val] – [DEC]

0 : Block Read Timeout

1 : Block Write Timeout

300

300

t 0x74 ScanTime Set Sec Time(10 msec)

When set “t”, “1S00” is reported as Response. 0

% 0x25 Antena

Parameter

[index] [val] – [DEC]

(01 ~ 04 ) Local Antena Power

(11~19) Det Register

(21) InventoryCycle(count)

(31) Duration(ms)

(99) 0: UpdateDone

1: Change Start

ex)% 01 110

* Before set parameter 99 1

0,0,0,0

1000000..

0

100ms

0

Page 11: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

11 - 33

After set parameter , updated as 99 0

m 0x6d Select Mask

(Bank) [dec] 1~4

(Offset)[dec] 0~

(Count)[dec] 0~

(Mask)[Hex] 32byte

Ex) m 1 32 32 11112222

(bank) (offset) (count) (mask)

g 0x67 Tag Selection

(Target) - enum

TARGET_INVENTORY_S0 = 0

TARGET_INVENTORY_S1 = 1

TARGET_INVENTORY_S2 = 2

TARGET_INVENTORY_S3 = 3

TARGET_SELECTED = 4

(Action) - enum

ACTION_ASLINVA_DSLINVB = 0

ACTION_ASLINVA_NOTHING = 1

ACTION_NOTHING_DSLINVB = 2

ACTION_NSLINVS_NOTHING = 3

ACTION_DSLINVB_ASLINVA = 4

ACTION_DSLINVB_NOTHING = 5

ACTION_NOTHING_ASLINVA = 6

ACTION_NOTHING_NSLINVS = 7

(EnableTruncate)

0,1

q 0x71 Active Algorithm

(Algorithm) – enum

FIXEDQ = 0

DYNAMICQ = 1

DYNAMICQ_ADJUST = 2

DYNAMICQ_THRESH = 3

Default=3

Page 12: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

12 - 33

Q 0x51 Activ Algorithm

Parameter

[index] [val] – [DEC]

[FixedQ]-index

00 : qValue , 01 : retryCount

02 : toggleTarget , 03 : repeatUntilNoTags

[DYNAMICQ, DYNAMICQ_ADJUST ]-

index

10, 20 : startQValue , 11, 22 : minQValue

12, 22 : maxQValue , 13, 23 : retryCount

14, 24 : maxQueryRepCount

15, 25 : toggleTarget

[ DYNAMICQ_THRESH]-index

30 : startQValue , 31 : minQValue

22 : maxQValue , 23: retryCount

34: toggleTarget, 35: thresholdMultiplier

[ONLY SET]

index : 50 - Debug Read Param

index : 80 - Current Param Set

index : 99 - Real Update * Needs time to set

Page 13: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

13 - 33

s 0x73 Tag Group

(Select)

RFID_18K6C_SELECTED_ALL = 0

NULL = 1

RFID_18K6C_SELECTED_OFF = 2

RFID_18K6C_SELECTED_ON = 3

(Session)

RFID_18K6C_INVENTORY_SESSION_S0 = 0

RFID_18K6C_INVENTORY_SESSION_S1 = 1

RFID_18K6C_INVENTORY_SESSION_S2 = 2

RFID_18K6C_INVENTORY_SESSION_S3 =3

(Target)

RFID_18K6C_INVENTORY_

SESSION_TARGET_A = 0

RFID_18K6C_INVENTORY_

SESSION_TARGET_B=1

0,0,0

v 0x76 Version info

Read Only

0 : Reader Verison

3 : R000 Version

4 : R1000 Library Version

5 : H/W Version

9: Reader State Read

R1000_INIT 1 R1000_READY 2 R1000_QUERY 3

R1000_SELECT 4 R1000_PSOTSELECT 5

R1000_WRITE 6 R1000_BANKREAD 7 R1000_LOCK 8 R1000_KILL 9 R1000_TEST 10 R1000_TAGMODE 50 R1000_XXXX 13

G LED On off

Control

11 : Serial(Embedded) LED

12 : Serial(Embedded) LED

21,22,23… (Reserved)

Ex) >G 11 0 (off) , >G 11 1(on)

>G 12 0( off), >G 11 1(on)

H/W

version

dependent

Page 14: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

14 - 33

2-1) Buzzer Switch : Set Buzzer On/Off.

VALUE 0 1

Buzzer Switch Off On

※ Every number of Value corresponds with ASCII code

Example) 0 -> 0x30, 1 -> 0x31

2-2) Continue Mode : When executing One Tag Read EPC(Type C) Command, if Continue

Mode is ON(‘1’), Reader keeps to read and to transmit TAGID to terminal until STOP

Command(‘0x33’) even if read Tag once.

VALUE 0 1

Continue Mode Off On

2-3) All Default Set : Set all Control Value as Default

2-4) Antenna State : Set Antenna port.

2-5) Power Control : Change power level of Reader transmission.

ANT 4 ANT 3 ANT 2 ANT 1 VALUE

OFF OFF OFF ON 1

OFF OFF ON OFF 2

OFF OFF ON ON 3

OFF ON OFF OFF 4

OFF ON OFF ON 5

OFF ON ON OFF 6

OFF ON ON ON 7

ON OFF OFF OFF 8

ON OFF OFF ON 9

ON OFF ON OFF 10

ON OFF ON ON 11

ON ON OFF OFF 12

ON ON OFF ON 13

ON ON ON OFF 14

ON ON ON ON 15

Page 15: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

15 - 33

※ Set power level

Power Level

(Parameter)

300 299 … 250 … 150

dBm 30.0 29.9 … 25.0 … 15.0

2-6) Q Algorithm :

Change Q Algorithm which determines Q Range for Type C Multi Read.

(Default is recommended)

[FixedQ] :

Single Q value Generic Algorithm

Slot Size => 2^q

[DYNAMICQ]

Min, up to Max Inventory

Q=execute Inventory up to Q minimum

[DYNAMICQ_ADJUST ]

Same as Dynamic Q

Use QueryAdjust Command to control Q value

[ DYNAMICQ_THRESH]

Same as DynamicQ_ADJUST

Having Multiplier

※ Default Q Algorithm [ DYNAMICQ_THRESH]

Page 16: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

16 - 33

2-7) Memory Read Option : Use for getting response of READ USER MEMORY(Type B), BANK SELECT

READ(Type C) including TAGID. This Value is 1(ON), reader transfers TAGID first then transfer

Memory Data.

VALUE 0 1

Memory Read Option Off On

Ex) Reader response : “>1T3000111122223333444455556666”(TAGID) ->

“>1T12345678”(Memory Data)

2-8) Ethernet IP Address : Use for changing Ethernet IP Address from current set.

Ethernet IP

Address

xxx .

(0x2E)

xx

x

.

(0x2E)

xx

x

.

(0x2E)

xx

x

ex) 3Eh 78h 20h 72h 20h 31h 39h 32h 2Eh 31h 36h 38h 2Eh 31h 30h 2Eh 39h 31h

(“>x r 192.168.10.91\ r\ n”)

2-9) IP Info Option : Option for receiving reader response with IP Address. If the option is set, reader

responses ‘>’+ ‘I(0x49)’ + IP Address + ‘A(0x41)’ + ANT Port Number + TAGID in order.

VALUE 0 1

IP Info Option Off On

Ex) Reader response :

“>I192.168.10.91A1T3000111122223333444455556666“

- Example) 3Eh 78h 20h 65h 20h 31h 35h 0Dh 0Ah (“>x e 15\ r\ n”)

Page 17: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

17 - 33

3) GET CONTROL

Command to read Control value from terminal to Reader.

HOST -> Reader (Command)

Octet 7 6 5 4 3 2 1 0

0 0x79 (‘y’)

1 0x20 (‘ ‘)

2 CONTROL CODE

Reader -> HOST (Reply)

Octet 7 6 5 4 3 2 1 0

0 CONTROL CODE 1

1 VALUE 1 (variable)

2 . . .

3 0x20 (‘ ‘)

4 CONTROL CODE 2

5 VALUE 2 (variable)

6 . . .

7 0x20(‘ ‘)

8 CONTROL CODE X

9 VALUE X (variable)

10 . . .

- HOST <-> Reader

- Function : Read Control value which set on reader currently.

- CONTROL CODE : Same as CONTROL CODE of 2) SET CONTROL and add one item as

below

Page 18: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

18 - 33

3-1) All Control Value : Get every Control Value which set on reader currently.

3-2) ETC. : Get pertinent Control Value which set currently.

- Response : Reader responses attaching current set Value to behind of each Control

Code.

3-3) All Control Value : Response every Control Value

‘b’ + ‘value’ + ’ ‘ + ‘c’ + ‘value’ + ’ ‘ + ‘e’ + ‘value’ + ‘ ‘ + ‘p’ + ‘value’ + ‘ ‘ +

‘q’ + ‘value’ . . .

※ Classify each Control Code by 0x20(‘ ‘)

3-4) ETC. : Response Code and Value per each Command. Ex) ‘p’ + ‘value’

- Example) GetControl Command : 3Eh 79h 20h 65h 0Dh 0Ah (“>x e\ r\ n”)

Reply : 3Eh 65h 31h 35h 0Dh 0Ah (“>e15\ r\ n”)

CODE

(char)

CODE

(HEX) CONTROL VALUE

a 0x61 All CONTROL VALUE X

Page 19: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

19 - 33

4) REQ READER COMMAND

HOST transmits command to enable the reader to read TAG. Reader provides command to read

TAG to each protocol per Type.

4-1) ONE TAG READ UID/EPC, this command is used to READ EPC(Type C) if there’s only one

TAG.

4-2) MULTI TAG READ UID/EPC, This command is to READ preventing collision which is

occurred by responses coming from Multi TAG.

4-3) READ USER MEMORY/BANK SELECT READ, Used for reading Certain Tag memory bank.

4-4) WRITE USER MEMORY/BANK SELECT WRITE, Used for writing DATA to certain memory bank.

If it’s Type C, 4byte unit Data ( based on ASCII code) can be wrriten.

4-5) BANK SELECT LOCK, Used for set BANK SELECT READ/WRITE/LOCK command to be used

for the user who know Access Password of TAG.

4-6) TAG KILL command is to make TAG unable to be used anymore. Once KILL is done,

there’s no way to undo the command. (for more information refer to chapter 5)

Reader sends RES TAG READ message which related to each command as for response of REQ

TAG READ.

Octet 7 6 5 4 3 2 1 0

0 COMMAND CODE

1 0X20

2 PARAMETER 1(VARIABLE)

3 0X20

4 PARAMETER 2(VARIABLE)

5 0X20

6 PARAMETER 3(VARIABLE)

Page 20: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

20 - 33

7 0X20

8 PARAMETER 4(VARIABLE)

- HOST -> Reader

- Function : Command for Reader to read TAG.

- COMMAND CODE

CODE

(char)

CODE

(HEX)

COMMAND PROTOCOL

TYPE

PARA METER

e 0x65 ONE TAG READ EPC C -

f 0x66 MULTI TAG READ EPC C -

g 0x67 MULTI TAG READ EPC

(RESET) C -

r 0x72 BANK SELECT READ C 1, 2, 3, (4)

w 0x77 BANK SELECT WRITE C 1, 2, 3, (4)

l 0x6C BANK SELECT LOCK C 1, 2, (3)

k 0x6B TAG KILL C 1

3 0x33 STOP C -

- -

Control Command

0 0x30 System Command - 예제 >0 reboot –f (Rebooting)

@ Tag Select -

~ Tag Write - 0x1111222233334444455556666

$ Device Control - 0: usb disconnect

Page 21: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

21 - 33

1: usb connect

3: R1000 open

4:R1000 Close

5:R1000 reset

v Profile Change -

- PARAMETER

COMMAND PARA 1 PARA 2 PARA 3 PARA 4

BANK

SELECT

READ

(TYPE C)

MemBank

‘0’(0x30)

: Reserved

‘1’(0x31)

: EPC

‘2’(0x32)

: TID

‘3’(0x33)

: User

WordPtr

‘0’(0x30)

~

‘7’(0x37)

Length

‘1’(0x31)~

‘6’(0x36)

(Access

Password)

(8 Byte)

BANK

SELECT

WRITE

(TYPE C)

Write Data

(4 Byte 이상)

Ex) “1234”

(0x31323334)

(Access

Password)

(8 Byte) Ex)

“12345678”

(0x3132333435

363738)

BANK SELECT LOCK

(TYPE C)

MASK

(4 Byte)

Ex) “0030”

(0x30303330)

ACTION

(4 Byte)

Ex) “0020”

(0x30303230)

(Access

Password)

(8 Byte)

X

TAG KILL

(TYPE C)

KILL

PASSWORD

(8 Byte) Ex)

“12345678”

(0x31323334353

63738)

X X X

NOTIFY X X X X

※ BANK SELECT WRITE(TYPE C) is able to Write 4byte unit (ex 31h 32h 33h 34h) (Based on

ASCII code). Both Two Command don’t need to assign length of Data, put Parameter to needed

Page 22: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

22 - 33

data per unit.

※ Available to omit Access Password.

- Response : RES TAG READ

- Example)

1) ONE TAG READ EPC : 3Eh 65h 0Dh 0Ah (“>e\ r\ n”)

2) MULTI TAG READ EPC : 3Eh 66h 0Dh 0Ah (“>f\ r\ n”)

3) BANK SELECT READ : 3Eh 72h 20h 31h 20h 32h 20h 31h 0Dh 0Ah

(“>r 1 2 1\ r\ n”)

4) BANK SELECT WRITE :

3Eh 77h 20h 31h 20h 34h 20h 31h 31h 31h 31h 32h 32h 32h 32h 33h 33h 33h

33h 34h 34h 34h 34h 0Dh 0Ah (“>w 1 4 1111222233334444\ r\ n”)

5) BANK SELECT LOCK :

3Eh 6Ch 20h 30h 30h 33h 30h 20h 30h 30h 32h 30h 0Dh 0Ah

(“>l 0030 0020\ r\ n”)

6) TAG KILL :

3Eh 6Bh 20h 31h 32h 33h 34h 35h 36h 37h 38h 0Dh 0Ah

(“>k 12345678\ r\ n”)

7) BANK SELECT WRITE + Access Password

3Eh 77h 20h 31h 20h 34h 20h 31h 31h 31h 31h 20h 31h 32h 33h 34h 35h 36h

37h 38h 0Dh 0Ah (“>w 1 4 1111 12345678\ r\ n”)

8) NOTIFY :

3Eh 6Eh 0Dh 0Ah

(“>n\ r\ n”)

Page 23: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

23 - 33

5) RESPONSE TAG READ DATA When Reader reads TAG as response of command to TAG, TAGID is transmitted by string.

If Command is MULTI TAG READ UID/EPC or Continue Mode, Multiple TAGIDs needs to

be transmitted, in this case Reader transmits TAGID in real time. When reader succeeded

to write TAG, transmits Success(“01”) code, when it gets error code from TAG, transmits

error code.

If Reader failed to detect TAG, it keeps trying to read, use STOP(>3\ r\ n) command if

it’s necessary.

Octet 7 6 5 4 3 2 1 0

0 ANT PORT

1

REPLY CODE

REPLY_CODE 'C' (response)

REPLY_TAGID 'T' (Tag id )

REPLY_MSCTR 'M' (Tag time )

REPLY_FLAG 'F' (Tag Status-padding)

REPLY_R_P 'R' (Tag rssi)

REPLY_TIMEOVER 'S' (Tag Read Time Over) ** Scan Time transmitted only when set(refer to “t” parameter )

REPLY_BUTTON 'G' (Button Pressed)

2 DATA1

3 DATA2

4 . . .

- HOST <- Reader

- Function : Response Message of REQ TAG READ

- ANT PORT : ANT Port number ‘1’(0x30)~’4’(0x34) which reads TAG

Page 24: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

24 - 33

- REPLY CODE : Classify TAG ID Data and TAG Response Code

5-1) 0x54(‘T’)

In case of data that Reader sends is the DATA of TAG Memory

Example) EPC, TID, UID, USER MEMORY, etc.

5-2) 0x43(‘C’)

In case of getting response code from TAG.

- DATA : Response per each READER COMMAND of REQ TAG READ

5-3) ONE TAG READ UID

Transmitting UID(64bits) of TAGID by 16 Byte

Example) 3Eh 31h 54h (30h 31h… 30h) 0Dh 0Ah

※ TAG(TYPE C) is composited by 8byte and transmitted by ASCII code when

transmitted from reader to terminal. Therefore TAGID(16byte) is double up.

(Example “01” -> “3031”)

5-4) MULTI TAG READ UID

Keep Transmitting TAGID. In other words, it transmits Packet (including STX,ETX)

Whenever there’s response from TAG.

Close the event Once STOP Command(‘>3\ r\ n’) received after transmission.

Example) 3Eh 31h 54h 30h 31h… 30h 0Dh 0Ah

3Eh 34h 54h 30h 32h… 33h 0Dh 0Ah

.

5-5) ONE TAG READ EPC

Transmission TAGID which including PC(16bits) and EPC(0~96bits) of EPC Bank.

※ Length of EPC TYPE C(Gen2.) is depending on TAG, Reader transmits EPC as 0~96bit by

relaying on TAG response.

※ Reader transmits more than 2byte Hex value converting as ASCII code, therefore actual

TAGID transmission is more than 4byte.

Example) PC 16bits“0800” + EPC 32bits(“12345678”) ->

3Eh 31h 54h 30h 38h 30h 30h 31h 32h 33h 34h 35h 36h 37h 38h 0Dh 0Ah

16 Byte(UID)

PC+EPC

Page 25: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

25 - 33

5-6) MULTI TAG READ EPC

Frequent Transmitting Multiple TAGID. In other words, transmitting packet whenever

response coming from TAG, closing when STOP Command(‘>3\ r\ n’) received.

Example) 3Eh 31h 54h 30h 31h… 30h 0Dh 0Ah

3Eh 33h 54h 30h 32h… 33h 0Dh 0Ah

.

※ DATA length is variable due to possibility of responses coming from TAG in different EPC

length.

5-7) USER MEMORY READ/BANK SELECT READ

Transmitting Length set DATA to each parameter.

Example) 3Eh 31h 54h (30h 31h… 30h) 0Dh 0Ah

5-8) USER MEMORY WRITE/BANK SELECT WRITE/BANK SELECT LOCK/TAG KILL

Transmitting response code from TAG (2 Octet)

Example) 3Eh 31h 43h 30h 31h 0Dh 0Ah (Success)

※ If TAG in LOCK receives wrong Access Password from Reader, no response comes. But

reader tries to access without Access password, responses as Memory Locked.

variable length data

Page 26: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

26 - 33

6) STOP

This message is for that Reader needs to exit during TAG command.

Octet 7 6 5 4 3 2 1 0

0 0x33

- HOST -> Reader

- Function : Message to forced exit TAG command.

- ‘3’(0X33) : STOP(Forced exit)

- Example) 3Eh 33h 0Dh 0Ah (‘>3\ r\ n’)

-In Console >3 or >stop, >STOP

Page 27: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

27 - 33

5 Usage examples of Other command

☞ BANK SELECT LOCK - Use BANK SELECT LOCK Command :

'l [Mask(4byte)] [Action(4byte)]'(6Ch 20h XXh XXh XXh XXh 20h XXh XXh XXh XXh)

<Permission>

0 : RFID_18K6C_TAG_PWD_PERM_ACCESSIBLE,

1 : RFID_18K6C_TAG_PWD_PERM_ALWAYS_ACCESSIBLE,

2 : RFID_18K6C_TAG_PWD_PERM_SECURED_ACCESSIBLE,

3 : RFID_18K6C_TAG_PWD_PERM_ALWAYS_NOT_ACCESSIBLE,

4 : RFID_18K6C_TAG_PWD_PERM_NO_CHANGE

* Mask :

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Kill Perm Access Perm Epc Perm Tid Perm

3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0

* Action :

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

User Perm

3 2 1 0

***** Initial value is 4444 0004 for test ****

Lock Permission 0 : Possible to change Permission (Possible to access with AccessPwd as 0)

Lock Permission 2 : Possible to Read/Write (Access Pwd should be needed)

※ Lock Command can be executed either AccessPwd is ‘0’ or having AccessPwd.

※ PWD bit of Kill Pwd, AccessPwd is 1, unable to Read/Write without Access Pwd, otherwise

only not possible to write.

※ If set Lock Permission as 3, unable to Write/Read even if knowing Password.

※ If change Lock Permission as 3, it’s not able to change as 0 or 2 permanently.

※ When transmitting Mask, Action to reader, data should be encoded as ASCII code as other

command. Ex) if Mask is “0030”, it should be changed as “0x30303330”.

Page 28: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

28 - 33

※ Lock Scenario 1 :

Permission 2

It is possible to Write/Password read in certain memory and after change Permission as 0 then

possible to Write/ Password read. Therefore, it’s possible to make unable to Write/Password

Read primarily, if change Permission as 0 anyone could Write or Password Read.

※ Lock Scenario 2 :

Permission 1,3

In order to Write/Password Read in certain memory, Access Password is definetly necessary.

It is possible to Write/Password Read if put Access Password(Based on ASCII code 8 Byte) to

last parameter per each command(BANK SELECT READ/WRITE/LOCK).

● Read Lock Bit which set on TAG using BANK SELECT READ Command

: In order to Lock bit of TAG, use Bank Select Read Command “>r 0 4 1”. It’s above 10bits

among respond 16bits.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Kill Pwd AccessPwd EPC TID User

Pwd Lock pwd lock pwd lock pwd lock pwd Lock

Ex) Reader Reply : “>1T0300” -> TID Pwd, Lock Enable

● Read TAG AccessPwd using BANK SELECT READ Command

: Use “>r 0 2 2 (XXXXXXXX)” Command. Pwd Enable TAG should include Access Password

8Byte (XXXXXXXX).

Ex) Reader Reply : “00000000”(0x3030303030303030) -> Because AcessPwd is ‘0’, Lock

Command can be executed without Password.

● Change AccessPwd using BANK SELECT WRITE Commmand

: Use “>w 0 2 XXXXXXXX (XXXXXXXX)”

※ If Pwd is enabled in Lock bit of AccessPwd, it’s possible to change new Pwd as including

current Pwd into BANK SELECT WRITE Command parameter 4, but it should be doneby 2byte in

one time, possibility of write correctly, no proper response. Therefore it’s not recommended. In

this case, it is recommended that disable Pwd in AccessPwd and executing..

- Example of limiting TAG Access using Access Password

1. Enter data by BANK SELECT WRITE command. Ex)>w 1 2 11112222333344445555

2. Enter ACCESS Password by BANK SELECT WRITE command. Ex)>w 0 2 12345678

Page 29: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

29 - 33

3. Enable ACCESS Password, EPC BANK Password by BANK SELECT LOCK including ACCESS

Password. Ex)>l 00a0 00a0 12345678

4. Possible to change data by BANK SELECT WRITE including ACCESS Password.

Ex)>w 1 2 6666777788889999aaaa 12345678

※ Above usages are only example.

☞ TAG KILL - Use TYPE C KILL Command :

'>k [password(8byte)]'(6Bh XXh XXh XXh XXh XXh XXh XXh XXh)

* password : KILL Password is saved on Reserved Memory(MemBank 0) No. 0 (High),

No.1(Low). If KILL Password is all ‘0’, not possible to KILL. Therefore KILL Password should be

not ‘0’ in order to use KILL function. KILL Password is possible to save using Bank Select Write,

and readable using Bank Select Read.

Ex1) Read KILL Password : “>r 0 0 2 (XXXXXXXX)” -> Reader response : “00000000”

Ex2) Save KILL Password : “>w 0 0 12345678 (XXXXXXXX)” -> Reader response : “01”

Ex3) KILL : “>k 12345678(0x6B203132333435363738)” -> Reader response : “01”

※ Response for KILL Command should be coming as “01” but sometimes no response at all

depending on network environment. Therefore make sure to check not only waiting for the

response.

※ Please be sure that Once KILL TAG cannot be able to be changed.

Page 30: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

30 - 33

☞ TAG SELECT Example) one tag selection

s 3 0 0

g 4 0 0

m 1 32 32 0x11112222

On EPC CODE (30001111222299998888777), only 11112222 32bit is Masked and Only the TAG

which masked responses.

Page 31: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

31 - 33

[ERROR CODE]

1C01: Success

1C05: Tag Response error

1C0A: Tag Response error

1C22: Read,Write Timeout

1C99 : Set parameter error

1C11 : Reader Power Error(4byte response)

(System Error - Antenna Det H/W Error)

0x11 – Short supply of power

0x11 – Other 4 byte error code transmission.

Page 32: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

32 - 33

6 References

[Limitations on operation]

* How to manage in case of Network disconnection during Query.

- If it’s unable to reconnect and Reader status is Query by using CM port, Reboot using CM

port. .( >0 reboot –f )

*Parameter change is not possible during Tag Operation.

* Timeout is not applied in case of forced writing command.

[How to use function]

1. How to communicate with Reader in protocol

(Please refer to C# example program)

1) Make a Connection using 5578 port.( Changeable in necessary )

2) Send Command ‘f’ to read TAG >f 0x0d, 0x0a

3) Reader response

>1T30003031…….

>1T30001234……Data is coming.

4) Power setting x Use command ( >x p 250 ) Antenna setting( >x e 3 )

5) Use y command to check setting value.

Power setting ( >y p ) -> Reader response p200

6) Command to operate RFID Reader

Inventory(f), read(r) , write(w), kill(k), lock(l) etc.

7) Things must know when Parameter setting.

- Unable to change parameter during Tag Operation.

- Getting parameter set Using 5579 port.

- When disconnected with 5578 port, Tag Operation is stopped automatically.

Page 33: RFID READER UART Protocol - iSecureTech · Specification for RFID Reader Network Interface . ... m 1 32 32 11112222 (bank) (offset) (count) ... xxx . (0x2E) xx x . (0x2E) xx

33 - 33

-If use ‘t’ parameter, it stops automatically after setting time is orver.

-Setting value is able to be initialized by using ‘d’ parameter.

2. How to use RSSI

- Set parameter ‘y 8 ‘

(Tag Response)

>1T3000111122223333444455556666

>1T3000111122223333444455556666

of

>1T3000111122223333444455556666

>1R008A

>1T3000111122223333444455556666

>1R0089

3. How to use Inventory once

- On Reader Manager -> Configuration -> Antenna Ports

Set value of Inventory Cycle Time as 200

Set value of Antenna Duration Time as 0

- Algorithm

Set value of Toggle Target as 0

- Press Inventory Once after Apply.

- (Caution) In order to execute Inventory properly after test, set Parameter ‘d’, then set

antenna value.