Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
June 26, 2009 REX2 HOST TO READER PROTOCOL
1
REX2 HOST TO READER PROTOCOL
3ALogics
June 26, 2009 REX2 HOST TO READER PROTOCOL
2
1. Serial 통신 조건
Baud Rate: 9600
Data Bits: 8
Stop Bits: 1
Parity Bits: None
Host to REX2 Data format: Hex
REX2 to Host Data format: Hex
2. 통신 포맷
Host to REX2
(Hex)
STX REXADDR Protocol Command Length DATA1 ….. DATAn. CheckSum ETX
0xAA 0x28 0xnn 0xnn 0xnn 0xnn 0xnn 0xnn 0xFF
Host에서 REX2에 명령의 줄 때 위와 같은 포맷으로 주어야 한다. Length은 보내는 데이터의 개수
를 나타낸다.
-STX : start bit (0xAA)
-REXADDR : address bit (0x28)
-Protocol : reader setting (0x01)
14443A (0x02)
15693 (0x04)
-checksum : REXADDR_n/Protocol_n/command_n/length_n/data_n/ETX_n
Host to REX2의 checksum은 ETX를 포함한다.
Checksum Error : 0xDx
REX2 to Host
(Hex)
STX REXADDR Protocol Command Length DATA1 ….. DATAn. CheckSum ETX
0xAA 0x28 0xnn 0xnn 0xnn 0xnn 0xnn 0xnn 0xFF
Host 명령을 수행한 후 REX2응답은 위와 같은 포맷으로 Host에 보내 준다. 호스트에서 보내온
명령어의 REXADDR, Protocol, Command는 동일한 데이터 값이다.
-DATA1이 A5이면 ACK로 success 이고, DATA1이 BC이면 NACK 로 error이다
June 26, 2009 REX2 HOST TO READER PROTOCOL
3
-checksum : REXADDR_n/Protocol_n/command_n/length_n/data_n/
REX2 to Host 의 checksum은 Host to REX2와 달리 ETX를 제외한다.
Checksum Error : 0xDx
3. REX2 Flow
시작
HOSTCommand
ALL UID 인식
Host Commad Host 명령 수신 및 실행
YES
NO
ALL UID 인식
REX2은 ALL UID 인식 동작을 한다. 호스트에서 명령이 올 때까지 ALL UID 인식동작을 한다. 호스
트에서 명령을 수신하면 호스트 명령 수행 루틴에서 있으면서 호스트 명령어를 계속 기다린다.
이 상태에서 ALL UID인식 명령이 오면 호스트 명령 수행 루틴에서 나오게 된다.
4. REX2 Control 명령어 포맷(HOST 명령어) 4.1 Parallel Interface 명령
June 26, 2009 REX2 HOST TO READER PROTOCOL
4
MCU와 TRH033M-S의 interface를 parallel 로 통신으로 setting 하는 명령어
호스트 명령어: AA 28 01 01 00 D7 FF (hex)
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x01 0x01 0x00 0xD7 0xFF
REX2 응답: AA 28 01 01 01 A5 8C FF (hex)
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x01 0x01 0x01 0xA5 0x8c 0xFF
4.2 SPI Interface 명령
MCU와 TRH033M-S의 interface를 SPI 로 통신으로 setting 하는 명령어
호스트 명령어: AA 28 01 02 00 D4 FF (hex)
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x01 0x02 0x00 0xD4 0xFF
REX2 응답: AA 28 01 02 01 A5 8F FF (hex)
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x01 0x02 0x01 0xA5 0x8F 0xFF
4.3 TRH033M-S Register Write 명령
TRH033M-S Register Write 명령
호스트 명령어: AA 28 01 03 02 register address write value checksum FF (hex)
STX REXADDR Protocol Command Length DATA1 ….. DATAn. CheckSum ETX
0xAA 0x28 0x01 0x03 0x02 0xnn 0xnn 0xnn 0xFF
REX2 응답: AA 28 01 03 01 A5 8E FF (hex)
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x01 0x03 0x01 0xA5 0x8E 0xFF
June 26, 2009 REX2 HOST TO READER PROTOCOL
5
4.4 TRH033M-S Register Read 명령
TRH033M-S Register Read 명령
호스트 명령어: AA 28 01 04 01 register address checksum FF (hex)
STX REXADDR Protocol Command Length DATA1 ….. DATAn. CheckSum ETX
0xAA 0x28 0x01 0x04 0x01 0xnn 0xnn 0xnn 0xFF
REX2 응답: AA 28 01 04 01 register value checksum FF (hex)
STX REXADDR Protocol Command Length DATA1 ….. DATAn. CheckSum ETX
0xAA 0x28 0x01 0x04 0x01 0xnn 0xnn 0xnn 0xFF
4.5 ALL UID 인식 명령
지원하는 프로토콜의 모든 UID 인식
호스트 명령어: AA 28 01 05 00 D3 FF (hex)
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x01 0x05 0x00 0xD3 0xFF
ISO14443A 카드 인식
REX2 응답: AA 28 01 05 05 02 UID1 UID2 UID3 UID4 checksum FF
STX REXADDR Protocol Command Length DATA1 DATAn CheckSum ETX
0xAA 0x28 0x01 0x05 0x05 0x02 UID1 UID2 UID3 UID4 0xnn 0xFF
ISO14443B 카드 인식
REX2 응답: AA 28 01 05 05 03 UID1 UID2 UID3 UID4 checksum FF
STX REXADDR Protocol Command Length DATA1 DATAn CheckSum ETX
0xAA 0x28 0x01 0x05 0x05 0x03 UID1 UID2 UID3 UID4 0xnn 0xFF
ISO15693 카드 인식
REX2 응답: AA 28 01 05 09 04 UID1 UID2 UID3 UID4 UID5 UID6 UID7 UID8 checksum FF
STX REXADDR Protocol Command Length DATA1 DATAn CheckSum ETX
0xAA 0x28 0x01 0x05 0x09 0x04 UID1 UID2 UID3 UID4
UID5 UID6 UID7 UID8
0xnn 0xFF
5. ISO14443A 명령어 포맷
June 26, 2009 REX2 HOST TO READER PROTOCOL
6
5.1 ISO14443A Register setting 명령
호스트 명령어: AA 28 02 01 00 D4 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x01 0x00 0xD4 0xFF
REX2 응답: AA 28 02 01 A5 8F FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x01 0x01 0xA5 0x8F 0xFF
5.2 REQA 명령
호스트 명령어: AA 28 02 02 00 D7 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x02 0x00 0xD7 0xFF
REX2 응답:
카드 응답이 있을 때: AA 28 02 02 02 ATQA1 ATQA2 checksum FF
STX REXADDR Protocol Command Length DATA1 DATA2 CheckSum ETX
0xAA 0x28 0x02 0x02 0x02 ATQA1 ATQA2 0xnn 0xFF
카드 응답이 없을 때: AA 28 02 02 01 BC 95 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x02 0x01 BC 0x95 0xFF
5.3 Anti-collision & Select 명령
1) Cascade level 1명령
호스트 명령: AA 28 02 03 00 D6 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x03 0x00 0xD6 0xFF
REX2 응답:
카드 응답이 있을 때:
AA 28 02 03 05 UID1 UID2 UID3 UID4 BCC checksum FF
June 26, 2009 REX2 HOST TO READER PROTOCOL
7
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x03 0x05 UID1 UID2 UID3
UID4 BCC
0xnn 0xFF
AA 28 02 03 01 SAK checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x02 0x01 SAK 0xnn 0xFF
카드 응답이 없을 때: AA 28 02 03 01 BC 94 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x03 0x01 BC 0x94 0xFF
2) Cascade level 2 명령
호스트 명령: AA 28 02 04 00 D1 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x04 0x00 0xD1 0xFF
REX2 응답:
카드 응답이 있을 때:
AA 28 02 04 05 UID1 UID2 UID3 UID4 BCC checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x04 0x05 UID1 UID2 UID3
UID4 BCC
0xnn 0xFF
AA 28 02 04 01 SAK checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x04 0x01 SAK 0xnn 0xFF
카드 응답이 없을 때: AA 28 02 04 01 BC 93 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x04 0x01 BC 0x93 0xFF
3) Cascade level 3 명령
호스트 명령: AA 28 02 05 00 D0 FF
STX REXADDR Protocol Command Length CheckSum ETX
June 26, 2009 REX2 HOST TO READER PROTOCOL
8
0xAA 0x28 0x02 0x05 0x00 0xD0 0xFF
REX2 응답:
카드 응답이 있을 때:
AA 28 02 05 05 UID1 UID2 UID3 UID4 BCC checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x05 0x05 UID1 UID2 UID3
UID4 BCC
0xnn 0xFF
AA 28 02 05 01 SAK checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x05 0x01 SAK 0xnn 0xFF
카드 응답이 없을 때: AA 28 02 05 01 BC 92 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x05 0x01 BC 0x92 0xFF
5.4 HLTA 명령
호스트 명령: AA 28 02 06 00 D3 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x06 0x00 0xD3 0xFF
REX2 응답: AA 28 02 06 01 A5 88 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x06 0x01 0xA5 0x88 0xFF
5.5 WUPA 명령
호스트 명령: AA 28 02 07 00 D2 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x07 0x00 0xD2 0xFF
REX2 응답:
카드 응답이 있을 때: AA 28 02 07 02 ATQA1 ATQA2 checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x07 0x02 ATQA1 ATQA2 0x0n 0xFF
June 26, 2009 REX2 HOST TO READER PROTOCOL
9
카드 응답이 없을 때: AA 28 02 07 01 BC 90 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x07 0x01 BC 0x90 0xFF
5.6 ISO14443A 명령
호스트 명령: AA 28 02 08 00 DD FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x08 0x00 0xDD 0xFF
REX2 응답:
카드 응답이 있을 때: AA 28 02 08 04 UID1 UID2 UID3 UID4 checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x08 0x04 UID1 UID2 UID3
UID4
0xnn 0xFF
5.7 ISO14443A Loop 명령
호스트 명령: AA 28 02 09 00 DC FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x02 0x09 0x00 0xDC 0xFF
카드 응답이 있을 때: AA 28 02 09 04 UID1 UID2 UID3 UID4 checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x09 0x04 UID1 UID2 UID3
UID4
0xnn 0xFF
June 26, 2009 REX2 HOST TO READER PROTOCOL
10
6. ISO15693 명령어 포맷
6.1 ISO15693 Register setting 명령
호스트 명령어: AA 28 04 01 00 D2 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x04 0x01 0x00 0xD2 0xFF
REX2 응답: AA 28 04 01 A5 89 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x04 0x01 0x01 0xA5 0x89 0xFF
6.2 ISO15693 Inventory 명령
호스트 명령: AA 28 04 02 00 D1 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x04 0x02 0x00 0xD1 0xFF
REX2 응답:
카드 응답이 있을 때:
AA 28 04 02 08 UID1 UID2 UID3 UID4 UID5 UID6 UID7 UID8 checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x04 0x02 0x08 UID1 UID2 UID3
UID4 UID4 UID5
UID6 UID7 UID8
0xnn 0xFF
카드 응답이 없을 때: AA 28 04 02 01 BC 93 FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x02 0x04 0x01 BC 0x93 0xFF
6.3 ISO15693 Stay Quiet 명령
호스트 명령: AA 28 04 03 00 D0 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x04 0x03 0x00 0xD0 0xFF
June 26, 2009 REX2 HOST TO READER PROTOCOL
11
REX2 응답: AA 28 04 03 01 A5 8B FF
STX REXADDR Protocol Command Length DATA1 CheckSum ETX
0xAA 0x28 0x04 0x03 0x01 0xA5 0xD0 0xFF
6.4 Read single block
호스트 명령어: AA 28 04 04 03 02 20 block_number checksum FF
STX REXADDR Protocol Command Length DATA1 DATA2 DATA3 CheckSum ETX
0xAA 0x28 0x04 0x04 0x03 02 20 block_number 0xnn 0xFF
카드 응답이 있을 때:
AA 28 04 04 05 DATA1 DATA2 DATA3 DATA4 DATA5 checksum FF
STX REXADDR Protocol Command Length DATA1 DATA2 DATA3
DATA4 DATA5
CheckSum ETX
0xAA 0x28 0x04 0x04 0x05 DATA1 DATA2
DATA3 DATA4
DATA5
0xnn 0xFF
카드 응답이 없을 때: AA 28 04 04 01 BC 95 FF
STX REXADDR Protocol Command Length DATA1 DATA2 DATA3 CheckSum ETX
0xAA 0x28 0x04 0x04 0x01 BC 0x95 0xFF
6.4 Write single block
호스트 명령어:
AA 28 04 04 07 02 21 block_number DATA1 DATA2 DATA3 DATA 4 checksum FF
STX REXADDR Protocol Command Length DATA1-7 CheckSum ETX
0xAA 0x28 0x04 0x04 0x07 02 21 block_number
DATA1 DATA2
DATA3 DATA 4
0xnn 0xFF
카드 응답이 있을 때:
AA 28 04 04 01 DATA1 checksum FF
STX REXADDR Protocol Command Length DATA1 CheckSum ETX
0xAA 0x28 0x04 0x04 0x01 DATA1 0xnn 0xFF
카드 응답이 없을 때: AA 28 04 04 01 BC 95 FF
June 26, 2009 REX2 HOST TO READER PROTOCOL
12
STX REXADDR Protocol Command Length DATA1 CheckSum ETX
0xAA 0x28 0x04 0x04 0x01 BC 0x95 0xFF
6.5 Read multiple blocks
호스트 명령어:
AA 28 04 04 04 02 23 First_block_number Number_of_blocks checksum FF
STX REXADDR Protocol Command Length DATA1-4 CheckSum ETX
0xAA 0x28 0x04 0x04 0x04 First_block_number
Number_of_blocks
0xnn 0xFF
카드 응답이 있을 때: AA 28 04 04 0n DATA1…..DATAn checksum FF
STX REXADDR Protocol Command Length DATA1-n CheckSum ETX
0xAA 0x28 0x04 0x04 0x0n DATA1…..DATAn 0xnn 0xFF
카드 응답이 없을 때: AA 28 04 04 01 BC 95 FF
STX REXADDR Protocol Command Length DATA1 CheckSum ETX
0xAA 0x28 0x04 0x04 0x01 BC 0x95 0xFF
6.6 ISO15693
호스트 명령: AA 28 04 05 00 D6 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x04 0x05 0x00 0xD6 0xFF
REX2 응답: AA 28 04 05 08 UID1 UID2 UID3 UID4 UID5 UID6 UID7 UID8 checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x04 0x05 0x08 UID1 UID2 UID3
UID4 UID4 UID5
UID6 UID7 UID8
0xnn 0xFF
카드 응답이 없을 때 : AA 28 04 05 01 BC 94 FF
STX REXADDR Protocol Command Length DATA1 CheckSum ETX
0xAA 0x28 0x04 0x05 0x01 BC 0x94 0xFF
6.7 ISO15693 Loop
June 26, 2009 REX2 HOST TO READER PROTOCOL
13
호스트 명령: AA 28 04 06 00 D5 FF
STX REXADDR Protocol Command Length CheckSum ETX
0xAA 0x28 0x04 0x06 0x00 0xD5 0xFF
REX2 응답: AA 28 04 06 08 UID1 UID2 UID3 UID4 UID5 UID6 UID7 UID8 checksum FF
STX REXADDR Protocol Command Length DATA CheckSum ETX
0xAA 0x28 0x04 0x06 0x08 UID1 UID2 UID3
UID4 UID4 UID5
UID6 UID7 UID8
0xnn 0xFF