NFC 통신중 ISO18092에서는 NFC 기기끼리 양방향 통신이 가능합니다.
양방향 통신의 종류에서도 ActiveP2P와 PassiveP2P 2가지가 있으며, ActiveP2P에 대해 다루려고 합니다.
양방향 통신이다 보니 동시에 되는 것은 아니고, 한번씩 통신을 하게 됩니다.
위 그림처럼 Initiator와 Target이 일정 시간을 두고 Reqest와 Response를 보내어 통신을 하는데,
통신을 위해 RF on off를 각각 하게 됩니다.(Passive P2P의 경우 Initiator가 RF를 필드를 생성합니다.)
통신의 전체적인 흐름을 보게되면 RF 필드를 만드는 initialize부와
ATR , DEP의 Protocol Activation부가 있습니다.
Protocol Command는 아래 그림과 같이 정리되어 있습니다.
위 테이블을 통해 CMD1과 CMD2값이 고정이며, CMD 1과 2를 보고 Initiator인지 Target인지, 어떤 protocol을 전송중인지 판별이 가능합니다.
ATR_REQ는 Attribute Request를 의미합니다.
위 표의 ATR_REQ가 의미하는 값은 아래와 같습니다.
CMD 1 : D4 = ATR
CMD 2 : 00 = REQ
Byte 1~Byte10 : nfcid3i1~10=고유 값(랜덤하게 생성하며, 하나통신에서는 고정값으로 통신합니다.)
Byte 11 : DIDi = 데이터 전송을 위한 ID
Byte 12 : BSi = initiator의 데이터 전송속도 설정 아래 Divisor값을 참조
byte 13 : BRi = initiator의 데이터 받는속도 설정. 마찬가지로 table의 divisor참고
byte 14 : PPI = initiator의 파라메터 설정
bit6과 bit5는 데이터의 길이로 적절한 길이 지정
bit 2는 뒤에 나오는 Optional information 사용시 set
bit 1은 node address사용시 set
Byte 15~ Byte n : G[0]~ G[n] = General byte로 optional information 을 넣음
여기까지가 initiator의 ATR Request에 대한 설명이고, Target의 ATR Response는 아래와 같습니다.
전체적으로 ATR_REQ와 동일하며 CMD 2의 값이 00에서 01로 변경되었습니다.
뒤의 세부 내용은 ATR_REQ와 동일하므로 생략합니다.
'Study > NFC' 카테고리의 다른 글
NFC ISO18092 Active P2P - DEP (Data Exchange Protocol) (0) | 2023.09.25 |
---|---|
NFC통신 (0) | 2021.02.19 |