EBRF700을 이용한 RF카드 컨트롤에 대해 설명하겠습니다.

아래는 ISO/IEC14443 type A 카드에 대한 상태 표시도입니다.


POWER-OFF State
최초에 카드는 Power Off 상태에 있습니다. EBRF700 으로 부터 전력공급을 받지 못하고 있는 상태입니다.

IDLE State
카드를 EBRF700에 가져다 대면 카드내부 전력공급이 되면서 PowerOnReset이 일어납니다.
그리고 카드는 IDLE상태로 갑니다.
REQA(Request A), WUPA(WakeUp A) 커맨드를 받을 수 있습니다.

READY State
EBRF700을 통해 REQA또는, WUPA커맨드를 받으면 카드는 Ready상태로 갑니다. 안테나 필드(field)내에 있는 카드들 모두 READY 상태로 진입합니다.

ACTIVE State
EBRF700에서 SELECT 명령을 보내면 안테나 필드내의 카드중 하나의 카드만 SELECT되어 ACTIVE 상태로 진입합니다. 여러카드가 있을 경우 데이터 충돌이 발생 되므로, 이를 방지하는 Anti-Collision 기능을 수행하여 하나의 카드만 select되게 됩니다.
카드가 select되면서 카드의 ID인 UID(Unique IDentifier)가 리턴 되게 됩니다. ISO/IEC14443에는 UID의 사이즈가 4byte, 7byte, 10byte 세종류가 정의되어 있지만 대부분의 카드가 4byte UID를 가집니다.

HALT State
select된 ACTIVE상태의 카드에 HLTA커맨드를 보내면 해당 카드는 HALT State로 진입합니다.
HALT State에서는 WUPA커맨드를 통하여 다시 READY State로 진입할 수 있습니다. 다른 커맨드 에는 동작 하지 않습니다.

ISO/IEC 14443-4
카드가 ACTIVE 상태 일때 RATS(Request Answer to Select)커맨드를 보내어 ISO/IEC14443-4 프로토콜 모드로 갈수 있습니다.
ISO/IE14443-4는 카드의 상위 application프로토콜 이라고 생각 하시면 됩니다.
이후 block단위로 송수신을 하게 됩니다.

Mifare 진입
카드가 ACTIVE 상태 일때 Mifare 모드로 진입 할 수 있습니다.
Mifare Authentication 커맨드를 보내어 Mifare Block에 데이타를 Read/Write 할 수 있습니다.
Mifare Authentication을 하기위해서 카드의 접근하고자 하는 블럭의 Auth Key 6byte를 알아야 합니다.
필요에 따라 CHANGE_AUTHKEY커맨드를 보내어 Auth Key를 변경할 수 도 있습니다.



* EBRF700 Test Program
EBRF700모듈을 테스트 하기 위한 PC용 테스트 프로그램 입니다.
카드 상태에 따른 커맨드를 보낼 수 있으며, 한눈에 전체적인 흐름을 파악 할 수 있습니다.
대부분의 커맨드를 테스트 해 볼 수 있습니다.



아래는 여러카드를 근접 시켰을 때 anti-collision 동작 테스트 입니다.
Posted by E2BOX