7/23 성공회대학교 it 대학원 유상신 [email protected] epcglobal class1 gen2 spec

25
7/23 성성성성성성 IT 성성성 성성성 [email protected] EPCglobal Class1 Gen2 Spec

Post on 19-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

7/23

성공회대학교 IT 대학원

유상신[email protected]

EPCglobal Class1 Gen2 Spec

2성공회대학교 IT 대학원

Tag memory

논리적으로 4 개의 메모리 뱅크로 구성

3성공회대학교 IT 대학원

Reserved memory Kill password Access password

EPC memory 00h ~ 0Fh : CRC-16 10h ~ 1Fh : Protocol-control (PC) 20h ~ : 태그가 부착된 물체를 식별하기 위한 EPC 코드

TID memory 00h ~ 07h : 8-bit ISO/IEC 15963 할당 클래스 식별자 , EPCglobal 은 111000102 07h ~ 1Fh : 태그의 추가 정보나 사용자 명령의 식별을 위한

정보 1Fh ~ : 태그와 공급업체의 특정 정보를 저장

User memory 사용자에 의해 정의된 사용자의 특정 데이터 저장

Tag memory

4성공회대학교 IT 대학원

모든 메모리 공간은 논리적으로 0 에서 시작 물리적인 메모리구조는 제조업체에 따른다 . 메모리 접근 명령

Membank parameter 저장공간 (bank) 선택

00 Reserved , 01 EPC , 10 TID , 11 User Address parameter EBV(extensible bit vector ) format 을 저장공간내의 특정 메모리

위치를 선택 Write 명령 시 한번에 16 비트 (1 word) 를 씀 BlockWrite,BlockErase 명령의 경우에는 동시에 다수의 word 접근

가능

Tag memory

5성공회대학교 IT 대학원

kill password 32-bit Reserved 메모리 00h ~ 1Fh Default 0 Zero, 구현되지 않았을 시

kill 동작을 하지 않는다 . Non zero

리더기는 kill password 의 한번 사용으로 , 태그를 kill 함 . Read/write 를 영구히 잠근다 .

Tag memory - Reserved

6성공회대학교 IT 대학원

Access password 32-bits Reserved 메모리 20h ~ 3Fh Default 0 Zero 혹은 미구현

access password 동작을 하지 않는다 .(permanently read/write locked)

Non zero secured 상태로 변하기 전에 access password 를 리더기에게

요청한다 .

Tag memory

7성공회대학교 IT 대학원

CRC-16 Cyclic redundancy check( 순환잉여검사 ) 리더기의 R=>T 명령 , 태그의 T=>R 응답결과를 보호 . CRC-16 생성하기 위해 CRC-16 precursor 를 생성 . Inventory 동작 동안 backscatter 하는 PC bits 와 EPC 를

보호 . EPC + PC 에 대하여 계산 수행 , 값의 변화 시 재계산

EPC 메모리 00h ~ 0Fh 로 계산된 CRC-16 매핑 오류가 없을 경우 나머지 (Residue) 는 1D0Fh.

Tag memory – EPC bank

8성공회대학교 IT 대학원

Protocol-control (PC) bits Inventory 동작 동안 응답 (backscatter) 하는 태그의

Physical-layer 정보를 포함 . 16 PC bits - EPC 메모리의 10h 부터 1Fh 에 저장

Bits 10h ~ 14h : 태그가 응답 (backscatter) 하는 PC+EPC 의 길이

Bits 15h ~ 16h : RFU(Class-1 태그를 위해 002 에 설정 ) Bits 17h ~ 1Fh : NSI(numbering system identifier)

Default 0000h 응답이 잘리게 되면 Pc bits 을 대신하여 태그는 000002 을

사용

Tag memory

9성공회대학교 IT 대학원

EPC 부착된 태그로 물체를 식별하는 전자 제품 코드 EPC 메모리 20h 부터 저장 리더기는 마스크에 EPC 의 전체나 일부분을 포함하는 Select

명령을 발생한다 . 리더기는 태그가 PC,EPC,CRC-16 을 응답 (backscatter)

하도록 하는 ACK 명령을 발생시킨다 . 리더기는 EPC 의 일부 혹은 전체를 읽도록 Read 명령을 발생 .

Tag memory

10성공회대학교 IT 대학원

Sessions and inventory flags

4 개의 세션 (S0,S1,S2,S3) 이 태그에서 제공되고 , 리더에서 지원됨 태그들은 한 Inventory 단계 동안에는 하나의 세션에만 참여 가능 . 태그들은 각 세션에 대해 독립적인 inventoried flag 를 유지 . 4 개의 inventory flag 들은 A 와 B 의 값을 가진다 . Inventory 단계의 시작 시 리더기는 4 개의 세션 중 하나의 세션에서

A 혹은 B Tag 값을 갖는 태그들을 선택한다 . 두 개 이상의 리더기는 하나의 공통적인 태그군에 대해 독립적인

목록을 만들기 위해 세션들을 사용한다 . 하나의 세션에서 inventory round 에 참여중인 태그들은 다른

session 을 위한 inventoried flag 를 사용 혹은 변경할 수 없다 . Session 은 태그들이 여러 리더기와 각 inventoried flag 를

연결하도록 해줌

11성공회대학교 IT 대학원

Sessions and inventory flags

12성공회대학교 IT 대학원

리더기 #1 은 세션 S2, #2 는 세션 S3 를 통해 태그들과 동작할 때 time-interleaved basis 로 동작함 . 리더기 #1 은 세션 S2 의 모든 태그들이 value B 가 될 때까지

반복한다 . 다음에 B -> A 로 가면서 목록화한다 . 리더기 #2 는 세션 S3 의 모든 태그들이 value A 가 될 때까지

반복한다 . 다음에 A -> B 로 가면서 목록화한다 .

이와 같은 다단계 접근을 통해 태그들의 초기 inventoried flag 의 상태와 관계없이 해당 영역에 있는 모든 태그들을 각 리더기들이 독립적으로 목록화할 수 있다 .

Sessions and inventory flags

13성공회대학교 IT 대학원

각 태그들의 inventoried flag 는 다음과 같은 유지시간을 갖는다 .(power up 시 0 을 기준으로 함 )

Sessions and inventory flags

14성공회대학교 IT 대학원

Selected flag

태그들은 Select command 를 이용해서 조정되는 selected flag, SL 를 구현

쿼리 (Query) 명령의 SEL 파라미터 호출기가 SL 이 asserted 혹은 deasserted 된 태그의 목록화하거

나 , flag 를 무시하거나 , SL 값에 상관없이 태그를 목록화하는 것을 가능하게 함

SL 은 특정 세션에 상관없이 , 모든 태그에 적용 SL 은 표와 같은 유지시간 이상 태그가 전원을 잃지 않으면 , 원래의

저장 값에 따라 power on. 그 이상인 경우는 deasserted(~SL)

2 ms 이내에 SL flag 의 설정이 가능 태그는 전원이 공급될 때마다 그것의 SL 플래그를 재설정

(refresh) 하여 전력을 잃을 때 마다 그것의 SL 플래그는 지속 시간을 가지게 한다 .

유지시간 – 앞의 표 참조

15성공회대학교 IT 대학원

Tag states and slot counter

Ready state Arbitrate state Reply state Acknowledged state Open state Secured state Killed state Slot counter

16성공회대학교 IT 대학원

Tag states and slot counter

Ready state Killed state 도 아니고 아직 아무 Inventory round 에도

참여하지 않는 energized 태그들을 위한 보류상태 (holding state) 라고 볼 수 있음

에너지가 공급되는 RF 필드로 태그가 들어가면 , 죽지 않은 태그는 ready state 로 들어간다 .

이는 다음 조건을 만족하는 Query command 를 수신할 때까지 ready state 에 머문다 . Inventoried parameter (Query 명령에서 명시된 session 에

대한 ) 와 sel 파라미터가 현재 가지고 있는 값들과 일치하는 경우 매칭이 되는 태그는 RNG 로부터 Q-bit 넘버를 얻어와서 , 슬롯

카운터 (slot counter) 로 load, 만약 넘버가 0 이 아니면 arbitrate 상태로 천이하고 , 0 이면 reply 상태로 변한다 .

Killed 상태를 제외한 상태의 태그가 전원을 잃는다면 전원을 되찾을 때 ready 로 돌아온다 .

17성공회대학교 IT 대학원

Tag states and slot counter

Arbitrate state 현재 inventory round 에 있지만 , slot counter 의 값이 0 이 아닌

태그들을 위한 “ holding state” QueryRep 명령을 받을 때마다 슬롯의 카운터 감소하다가 , 0 이 되면

reply 상태로 천이 Slot value 가 0 인 상태에서 reply state 에서 arbitrate state 로

천이하는 경우에는 다음 QueryRep 명령을 받을 때 , 슬롯의 카운터 값이 0 에서 7FFF 로 감소

Reply state 이 상태로 진입하면서 태그들은 RN16 을 반송한다 (backscatter) 태그가 유효한 ACK 를 수신하면 PC, EPC, CRC-16 값을 반송하면서

acknowledged state 로 천이 태그가 invalid ACK 나 응답을 수신하는데 실패 시

Arbitrate state 로 천이

18성공회대학교 IT 대학원

Tag states and slot counter

Acknowledged state 수신하는 command 에 따라 killed 를 제외한 어떤 상태로도

천이 가능함 Open state

access password <>0 인 Acknowledged state 의 태그 Req-RN 명령의 수신 시에 새로운 RN16 을 backscattering

하면서 open 상태로 변함 이때 만들어진 RN16(handle 이라 함 ) 은 다음에 이어지는

리더기와 태그간의 송수신 메시지에 사용됨 Lock 를 제외한 모든 access 명령을 실행 가능 수신되는 명령에 따라 Acknowledged state 를 제외한 어떤

상태로도 천이 가능 태그 응답과 리더기 전송사이의 최대 지연에는 제한 없음 .

19성공회대학교 IT 대학원

Tag states and slot counter

Secured state access password = 0 인 Acknowledged state 의 태그

Req-RN 명령의 수신 시에 새로운 RN16 을 backscattering 하면서 secured state 로 천이

이때 만들어진 RN16(handle 이라 함 ) 은 다음에 이어지는 리더기와 태그간의 송수신 메시지에 사용됨

Open state 에 있는 access password <>0 인 태그인 경우에는 유효한 Access 명령 ( 동일한 handle 을 이용 ) 을 수신하는 경우

secured state 로 천이 모든 access 명령이 실행 가능 수신되는 명령에 따라 open state 나 acknowledged

상태를 제외한 모든 상태로 천이가 가능하다 태그 응답과 리더기 전송 사이의 최대 지연에는 제한 없음 .

20성공회대학교 IT 대학원

Tag states and slot counter

Killed state password<>0 인 Open 혹은 secured state 에 있는 태그는 다음의

정보를 가진 kill command 수신 시에 killed state 로 천이 Kill Password valid handle

영구히 태그를 disable Killed state 의 태그는 리더기에게 알리고 , 이후 리더기로 응답 하지

않음 . Slot counter

15 bits counter Query or QueryAdjust command 수신 시에 (0 ~ 2**Q-1) 사이의

값을 RNG 에서 구하여 slot counter 에 preload Q 는 (0,15) 범위의 정수

Query 는 Q 를 명시하는데 Q 는 QueryAdjust 를 통해 modify QueryRep command 의 수신 시에 태그는 슬롯 카운트를 감소 0000h 로 감소한 후에 7FFFFh 로 롤 오버 (roll over)

21성공회대학교 IT 대학원

22성공회대학교 IT 대학원

Tag random or pseudo-random number generator

태그들은 난수 혹은 의사 난수 생성 (RNG) 를 실행 RF field 의 세기 , R->T link rate, 태그에 저장된 데이터에 관계없이

다름의 조건을 만족해야 함 RNG 를 사용해서 16 bit 난수 (RNG-16) 을 발생시킴 태그는 2 개의 RN16 을 일시적으로 저장할 수 있어야 함

Probability of a single RN16 j 에 대하여 RN16=j 을 갖는 RNG 로부터의 RN16 의 확률은 0.8/216 <

P(RN16=j) < 1.25/216 의 범위 Probability of simultaneously identical sequences

10,000 개의 태그들에 달하는 태그 군에서 , 두 개 이상의 태그가 동시에 같은 RN16 을 생성하는 확률은 0.1% 보다 작다 ,

Probability of predicting an RN16 표 6.3 에서 Tr 의 끝 10ms 이후로 태그의 RNG 로부터 구한 RN16 의

예측 확률은 만약 이전에 수행된 RNG 의 결과들을 안다면 0.025% 보다 크지 않다 .

23성공회대학교 IT 대학원

Managing Tag populations

태그 군의 관리는 다음의 3 과정으로 이루어 진다 .

24성공회대학교 IT 대학원

Managing Tag populations

Select inventory 와 access 를 위하여 하나의 태그 군을 리더기가

선택하는 과정 특정 태그 군을 선택하기 위하여 하나 이상의 Select 명령을

사용

25성공회대학교 IT 대학원

Managing Tag populations

Inventory 리더기가 태그를 식별하는 과정 리더기는 4 개의 세션 중에 하나에서 Query 명령을

전함으로써 inventory round 를 시작 inventory 단계는 한번에 오직 한 세션에서만 동작

Access 개별적인 태그들과 transact 하는 과정 (read/write) Access 하기 위해서는 유일하게 식별되어져야 함 Access 는 여러 명령으로 구성 그 중 일부는 R=>T 연결의 one-time-pad 기반의 cover-

coding 을 사용