rfid reader uart protocol - isecuretech · specification for rfid reader network interface . ... m...
TRANSCRIPT
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
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.
3 - 33
Summary 1. Summary……………………………………………………………….…………… 4
2. SIGNAL …………………………………………………………………………… 5
3. Packet ……………………………………………………………..…………… 6
4. DATA …………………………………….………………………….……………. 7
5. Commend and example ………………………………………….…………… 27
6. Reference …………………………………………………………...………… 32
4 - 33
1 Summary
This document defines communication method and message between RFID Reader and
Reader control device (HOST) .
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.
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
7 - 33
4 DATA
P C READER TAG
START
REQ TAG READ
RF
RES TAG READ
(SET/GET CONTROL)
(REPLY)
(STOP)
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.
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
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
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
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
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
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
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]
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”)
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
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
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)
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
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
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”)
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
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
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
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
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”.
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
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.
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.
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.
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.
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.