RFID Reader 용멀티프로토콜모뎀설계 1 RFID Reader 용멀티프로토콜모뎀설계 Implementation of a Multi-Protocol Baseband Modem for RFID Reader 문전일, 기태훈 1, 배규성 2, 김종배 3 Jeon-Il Moon, Tae-Hun Ki 1, Gyu-Sung Bae 2, Jong-Bae Kim 3 Abstract Radio Frequency Identification (RFID) is an automatic identification method. Information such as identification, logistics history, and specification of products are written and stored into the memory of RFID tags (that is, transponders), and retrieved through RF communication between RFID reader device and RFID tags. RFID systems have been applied to many fields of transportation, industry, logistics, environment, etc in order to improve business efficiency and reduce maintenance cost as well. Recently, some research results are announced in which RFID devices are combined with other sensors for mobile robot localization. In this paper, design of multi-protocol baseband for RFID reader device is proposed, and the baseband modem is implemented into SoC (System On a Chip). The baseband modem SoC for multi-protocol RFID reader is composed of several IP (Intellectual Property) blocks such as multi-protocol blocks, CPU, UART(Universal Asynchronous Receiver and Transmitter), memory, etc. As a result, the SoC implemented with FPGA(Field Programmable Gate Array) is applied to real product. It is shown that the size of RFID Reader module designed with the FPGA becomes smaller, and the SoC chip price for the same function becomes cheap. In addition, operation performance could be the same or better than that of the product with no SoC applied. Keywords : RFID, mobile robot localization, Baseband modem SoC 1. 서론 1) RFID(Radio Frequency Identification) 기술은무선기반의정보교환을통하여개체의정보를판별하여활용하는방식이다. 상기각개체는 RFID 태그 (tag or transponder) 라불리는디바이스 ( 레이블타입, 카드타입, 등 ) 가부착되어있으며, 마스터기능을담당하는리더 (reader) 가태그와정보교환이가능한유효거리내에설치되어시스템적으로운용이된다. RFID 시스템은각종물품에소형태그 (Tag) 를부착해사물의정보와이력및주변환경정보를획득하여처리하는무선인식시스템으로기존의바코드를대체할뿐아니라출입 Received : January 21th, 2009 Accpeted: May 2nd, 2008 이논문은 2007 년도호서대학교의재원으로학술연구비지원을받아수행된연구임 (20070113) 교신저자 : 호서대학교로봇공학과부교수 (jimoon@hoseo.edu) 1 LS산전 ( 주 ) 중앙연구소선임연구원 2 LS산전 ( 주 ) 중앙연구소책임연구원 3 LS산전 ( 주 ) 중앙연구소수석연구원 통제, 교통카드, 유통및물류, 환경관리등에적용되어다양한서비스를제공하고있으며상용통신인프라와융합하여더욱광범위한서비스제공이가능한분야이다. 최근 RFID 디바이스와초음파센서등의타센서시스템과연동하여이동형로봇의위치를파악하거나서비스로봇이주변물체를파악하여서비스하는연구가수행되고있다 [8-11]. RFID 사용주파수는 125KHz~135KHz의저주파대역, 13.56MHz의고주파대역, 433.92MHz, 860~960MHz 의 UHF (Ultra High Frequency, 극초단파 ) 대역, 2.45GHz 의마이크로파대역등이있으며전자파에너지전달방식에따라상호유도방식과전자기파방식으로나눌수있다. 상호유도방식은 13.56MHz 이하의주파수에서코일안테나를이용하여근거리용으로사용되며전자기파방식은 UHF 대역이상의주파수를이용하여중거리용으로사용된다. 특히 UHF 대역은물류유통등을포함한다양한응용에적용하기가가장적
2 로봇학회논문지제 4 권제 1 호 (2009. 3) 합한대역으로현재가장주목받고있다. UHF 대역 RFID 국제표준화는 ISO/IEC에서추진되어지고있으며 EPCglobal은사실상의표준화규격을제시하고있다. 대표적인표준규격으로는 ISO 18000-6 A, ISO 18000-6B [1], EPC Class 0, EPC Class 1 [2], EPC Class 1 Gen2(ISO 18000-6 C) [3,7] 등의표준이제정되어활용중이다. 그림 2-1. RFID Reader device 변화추세 그림 1. UHF 표준별특징 RFID 시스템은산업, 물류분야에서의수요가급속히증가되고있으며 Mobile RFID의등장과함께개인용수요의증가가예상되고있다. 따라서 RFID Reader 는고정형 (Stationary or Fixed type) 에서 Handheld형으로그리고 Mobile형으로소형화가진행되고있다. 이와같이소형디바이스를위해서는다양한표준을동시에지원가능하며컴퓨팅기능을내장한 Multi-protocol RFID reader SoC(System on a Chip) 가필요하다. 최근까지상용화에활용된추세는단일표준프로토콜 ( 예 : EPC Class 1 Gen2) 단위로칩설계에포함시키거나또는 DSP에구현해서사용하고있다. 즉, 멀티프로토콜을칩화해서상용화가가능한연구결과를제시한경우가미진한실정이다. 본연구결과에의하면, 단일프로토콜을구현적용한기존상용제품대비 Reader 사이즈축소설계가가능하며, 양산칩화했을때에가격절감효과가크고, 또한표준알고리즘을소프트웨어로 DSP에구현해서사용하는경우대비체계적이고심도있는검증과정을거쳐서생산된양산칩을사용하는경우가성능상의차이는미세하지만제품의신뢰성측면에서는칩화해서사용하는경우가오류가능성이낮다. 다양한분야에서 RFID 시스템을구성하는장비들 (readers, tags, 기타 ) 의수요창출이예상되는바, Reader 제품의핵심요소인베이스밴드블록의하드웨어요소들 (CPU, UART, 등 ) 과멀티프로토콜 (ISO, EPC) 알고리즘을 IP(Intellectual Property) 화하고 FPGA(Field Programmable Gate Array) 로구현하는연구를수행하고자한다. 본논문에서는 UHF대역의 ISO 18000-6 B, EPC 그림 2-2. RFID Reader 모듈구성그림 2. RFID Reader device 변화추세및 RFID Reader 모듈구성 Class 1, EPC Class 1 Gen 2를지원하는 multi-protocol 알고리즘을포함하는 RFID Reader용 Baseband Modem SoC를설계하였다. 2장에서는 RFID Reader용 baseband 모뎀을설계하고 FPGA기반으로 SoC로구현하는내용과과정을다룬다. 이를위해사전에 RFID 시스템을분석하고 UHF대역 RFID표준을분석한다. 3장에서는설계구현한결과를제시하며, 마지막으로 4장에서결론및향후연구방향을정리하였다. 2.1 RFID 시스템분석 2. 모뎀회로설계 RFID 시스템은크게 Reader와 Tag 그리고 Channel 로구성되어진다. Reader의 TX(Transmission) Digital Block에서는송신 Data를생성해주는 Block과 Modulation Depth를변환할수있는 Block, Raised cosine filter, 그리고 PSK 신호를만들어주는 Hilbert Transform 등으로구성되어져있다. Digital Block에서만들어진신호를 DAC(Digital-to-Analog Converter) 를통해 Analog & RF Block으로전송되어지며 Analog & RF Block은 Mixer 를통해 SSB(Single Side Band transmission,
RFID Reader 용멀티프로토콜모뎀설계 3 단측파대전송 ), DSB(Double Side Band transmission, 양측파대전송 ) 신호를만들어주며안테나를통해 Air로송신한다. 안테나를통해송신된신호는 Free Space Loss가발생되고 Tag의수신부에는 Reader에서송신된신호와반사된신호, AWGN Noise(Additive White Gaussian Noise, 부가적인백색가우시안잡음 ) 등이더해져들어오게된다. Tag에도달된신호는 back-scatter 되어 Reader의수신부로보내지는데 Reader의수신부로는 Tag에서보낸신호와 Tag의신호가반사된신호, AWGN Noise, Reader가보낸신호가반사된신호등이더해져들어오게된다. Reader의 Analog & RF Block에서는 Mixer를통해 Down Converting 해주고 Filter를통해 DC Offset과 Noise를제거해준다. Reader의 Digital Block에서는 DAC를통해 I와 Q 채널신호를받아 Tag 에서송신된 Data를복원시켜준다. 위와같은 RF 시스템에서 Local Oscillator의 Phase Noise와 TX-RX Coupling, Reflection environment, AWGN Noise, DC Offset, I/Q mismatch 등이성능에영향을주게된다 [4]. 이들중에서 DC Offset과 AWGN Noise에대한영향을줄이기위해 Digital Block에서는 Filter를추가하였다. 그림 4. Baseband 신호 그림 5. RF 신호 그림 6. Frame-Sync 구조 그림 7. Preamble 구조 그림 3. RFID System 2.2 UHF 대역 RFID 표준 EPC Class 1 Gen 2 [3] 에서는송신시에 Data를 PIE(Pulse Interval Encoding) encoding한후 DSB-ASK, SSB-ASK, 또는 PR-ASK 방식을사용하며, ISO 18000-6B [1] 와 EPC Class 1 [2] 은 ASK방식을사용한다. EPC Class 1 Gen 2에서는 Reader에서송신되는 Data 의앞부분에 Frame-sync 또는 Preamble이놓이게된다. Preamble은 Query command일때사용되고나머지 Command 는모두 Frame Sync를사용한다. Preamble은 start delimiter, data-0 symbol, RTcal symbol, TRcal symbol로구성되어있으며 Frame sync는 start delimiter, data-0 symbol, RTcal symbol로구성되어있다. Start delimiter는 12.5us +/-5% 이며 RTcal은 Data-0 symbol의길이와 Data-1 symbol의길이를더한길이와같다. Tag에서는 RTcal / 2를계산하여 pivot이라하고 pivot 보다짧은신호가들어오면 data를 0으로판단하고 pivot 보다긴신호가들어오면 data를 1로판단하는데사용한다. TRcal은 Tag의 back-scatter link frequency를결정하는데사용되어진다. Tari는 data-0의 period를의미하며 6.25us, 12.5us, 25us +/- 1% 의값을가질수있다. 송신 Data는 Pulse Interval Encoding 방식을사용하며 Data Rate는최대 160Kbps ~ 20Kbps 를가질수있다. Tag는 back-scatter 방식으로응답을하며 ASK 또는 PSK 방식을사용한다. Encoding은 FM0 또는 Miller Subcarrier 방식을사용한다.
4 로봇학회논문지제 4 권제 1 호 (2009. 3) (1) 그림 8. Pulse Interval Encoding ISO 18000-6B에서는송신시 Machester 방식을이용하며수신시 FM0 방식을이용한다. 송수신 Data Rate 는 10Kbps 또는 40Kbps를갖는다. 그림 9. FM0 Encoding 그림 11. ISO 18000-6 구조도 그림 12. Manchester Encoding 그림 10. Miller Encoding Link frequency(lf) 값은 TRcal값에의해결정되어지는데계산방법은식 (1) 과같으며 DR은 8또는 64/3 값을가질수있다. 따라서 FM0 방식일경우최대 640Kbps~ 40Kbps의 Data Rate 범위를갖게되며, Miller 방식일경우 320Kbps~5Kbps의범위를갖게된다. EPC Class 1에서는송신시 Pulse Width 방식을사용하며수신시에는 FM0 방식을사용한다. 송신 Data Rate는 70.18Kbps 또는 15Kbps 이며수신 Data Rate는 140.35Kbps 또는 30Kbps를갖는다. 표 1. Link Frequency 및 Data Rate 그림 13. EPC Class 1 Data Timing 2.3 RFID Reader Baseband Modem 설계 RFID Reader Baseband Modem 구조는그림 14와같이 Tag에 Data와전력을공급하기위한송신단과 Tag 에서보내온 Data를분석하여 Host에전달하기위한수신단그리고송수신단을제어하기위한제어부와 Host와의인터페이스부로구성되어있다. 위의 RFID Reader Modem을적용한 RFID Reader의구조는그림 1과같으며송수신 Data 외에 Power Amp 를제어할수있는신호와 PLL을제어할수있는
RFID Reader 용멀티프로토콜모뎀설계 5 그림 14. RFID Reader Baseband Modem 구조도 Encoder를사용하며 EPC Class 1 Gen 2에서는 Pulse Interval Encoder가사용되며각각의 Data Rate를변경할수있도록하였다. 송수신을위한컴퓨팅 CPU가내릴수있는 Command 는 Transmit, Transceive, Receive로구성되어있으며 Transmit 은송신, Receive는수신, Transceive는송신후자동으로수신모드로전환되도록동작한다. ISO 18000-6B에서는위의명령외에 Resync, Write Command 가추가된다. Modem State Machine은그림 17과같이상태가천이되며상태값은 TX와 RX을제어하기위해사용되는동시에현재의상태를 System에알려준다. Timer에서는일정시간동안 Tag에서신호의응답이없을경우 Receive Time Out 신호를생성시켜 Reader가다른명령을수행할수있도록 Modem을 IDLE State로옮겨준다. 그림 15. RFID Reader 구조도 Block이추가되어있다. 송신단은그림 16과같이 Manchester Encoder, Pulse Width Encoder, Pulse Interval Encoder, Modem State Machine, FIFO, CRC Generator, TX Frame Generator 등으로구성되어있다. 그림 16. 송신단구조도 TX Data를보내기위해 ISO 18000-6B에서는 Manchester Encoder를사용하고 EPC Class 1에서는 Pulse Width 그림 17. Modem State 천이도 TX FIFO는최대 64Byte까지송신 Data를저장할수있도록설계되었으며 64Byte이상의 Data를송신할경우에는 Transceive나 Transmit 명령수행후 Modem State가 TX 상태에있을때 TX FIFO에송신 Data를추가적으로넣어주는방법으로송신 Data의길이를확장할수있도록설계하였다. 이 TX FIFO는송신을모두마친후자동으로 RX FIFO로전환되도록하였다. IRQ에서는 IRQ Enable Register, Modem State, FIFO State를보고 CPU에 Interrupt를발생시켜주고현재 Interrupt의상태를표시해준다. EPC Class 1 Gen2 에서는 CRC-CCIT( 그림 18) 와 CRC5 ( 그림 19) 를이용하여 CRC를생성하며, ISO 18000-6B 는 CRC Generator에서 CRC-CCIT이용하여 CRC를생성하여 TX DATA의후반에붙여전송하고 EPC Class 1에서는각 Field 마다 1 Bit의 Odd Parity를생성하여
6 로봇학회논문지제 4 권제 1 호 (2009. 3) 그림 18. CRC-CCIT CRC 을조정할수있다. Data & Clock Generator에서는필터에서나온신호를가지고 Data와 Clock을생성시켜주는데 Tag에서보낸신호가 +/-25% ( 그림 21) 와같이변화는신호까지이상없이받아들일수있도록설계되었다. 그림 19. CRC5 전송한다. TX Frame Generator에서는 Preamble, Frame Sync Start Delimiter, 그리고각 Encoder에서생성된 Data와 CRC Data를합해 Analog Front End로신호를전달한다. 수신단에서는 Tag에서보내온신호에서 Preamble 신호를찾은후에이어서수신된 Data를 Decoding 해서 FIFO에저장해주고 Interrupt를통해 CPU에자신의상태를전달해준다. 수신단의구조 ( 그림 20) 는크게 High Pass Filter, Low Pass Filter, Data & Clock Generator, FM0 Decoder, FM0/Miller Decoder, Preamble Detector, Frame End Detector, Collision Detector, CRC Checker, RX FIFO로이루어져있다. 그림 20. 수신단구조도 High Pass Filter는 RF & Analog Front End단으로부터 ADC를통해신호를받아들이며 Analog Front End 에서발생된 DC offset을제거해준다. High Pass Filter 에서나온신호는 Low Pass Filter의입력으로전달되며 Low Pass Filter에서는 Tag에서보낸신호보다빠른주파수의 Noise 신호를제거해줌으로써 Data Decoding 시발생하는오류를방지해준다. 두필터는 CPU를통해 Coefficient 값을변경할수있도록하여필터특성 그림 21. Data Length Tolerance EPC Class 1 Gen 2 및 ISO 18000-6B를위한 FM0 Decoder 에서는 Data & Clock Generator에서보내준 Data와 Clock을가지고각신호 Data 중간에서 Transition이발생하면 0 으로 Transition이발생하지않으면 1 로 Decoding 해준다. EPC Class 1 의경우각 Data 시간에서 Transition이한번발생하면 0 으로 Transition 이세번발생하면 1 로 Decoding 해준다. 8 bit을 Decoding 할때마다 FIFO에 Byte 단위로저장하기위해 Write신호와 8Bit Data를 FIFO에전달해준다. Preamble Detector에서는 Data & Clock Generator로부터 Data와 Clock을받아들여내부에가지고있는 Preamble과 Start delimiter 값을비교하여 FM0 Decoder 와 EPC Class 1 Decoder 에 Synch. 신호를전달해주고이 Synch. 신호는 Data Frame 의시작을알려주는데사용된다. CRC Checker에서는 ISO 1800-6B와 EPC Class 1 모두 CRC-CCTIT CRC를이용하며 Synch. 신호에 CRC를초기화하고 Data의시작부터 Frame End까지 CRC 연산을수행후 Frame End 신호가발생하면계산된 CRC 값보고정상인지에러로판단한다. Collision Detector와 Frame End Detector에서는 Low pass 필터로부터신호를받아들여 Collision 신호와 Frame End 신호를생성시켜주고 Error Flag Register를통해 CRC, Collision, FIFO Overflow 에러등을표시해준다. TX와 RX FIFO는공통으로사용하도록하여칩면적을줄일수있도록설계되었으며 FIFO의상태를 Primary Status Register와 FIFO Length Register를통해표시해준다.
RFID Reader 용멀티프로토콜모뎀설계 7 3. 결과 들을사용할때보다부품가격이 1/5 수준으로감소된다. 3.1 RFID Reader Baseband Modem SoC 구현설계된 RFID Reader Baseband Modem SoC의전체구조도는그림 22와같이 OPB(On chip Peripheral Bus) Multi-protocol RFID Reader, OPB UART 2CH, OPB RF Controller, Microblaze, Interrupt Controller, Memory 등으로구성하였다. SoC설계를위한 CPU는 Xilinx사의 32bit RISC Processor인 Microblaze [5] 를 IP로사용하였으며 System Bus로 Xilinx사에서 IP로제공하는 IBM사의 CoreConnect Technology [6] 를사용하였다. OPB에 Multiprotocol RFID Reader를연결하기위해 OPB Bus Interface를추가하고외부와의통신을위해 OPB Bus Interface 를가진 UART를 2 Channel을추가하였다. 그리고 RF Control 블록을추가하여 RF & Analog Front End 부분을제어할수있도록하였다. 그림 23. 실험시스템구성도 그림 24. 구현한 FPGA 를탑재한 RFID 모듈 그림 22. 설계된 SoC 구조도 3.2 설계결과 Multi-protocol RFID Reader Baseband Modem SoC의구현을위해 Xilinx사의 Spartan 3 XC3S1000 Device와 Xilinx Plaform Studio 7.1i를이용하였으며 42만 FPGA Gate Count 정도차지하였으며최대 90MHz 동작속도를보였다. 테스트보드는위의 SoC와 RF & Analog Front End와 Antenna로구성하였으며 ( 그림 23과그림 24) UART를통해 RFID Reader Host와통신을할수있도록하였다. Firmware는 Host에서 UART를통해내려준명령을해석하여 RFID Reader를 Control 하고 Tag에서받은데이터를 Host로전송해주도록설계하였으며 GCC compiler를이용하여 compile후내부메모리넣어테스트하였다. 설계된 FPGA를제품에적용했을때차지하는공간은동일한기능을갖도록기존상용 chip들로구성된공간대비반으로줄었다. 또한동일성능을기준으로비교할때, 설계된 SoC칩을채용하는경우가기존부품 4. 결론및향후연구방향본연구에서는 UHF 대역의 ISO 18000-6B, EPC Class 1, EPC Class1 Gen2 표준을지원하는 Multiprotocol 알고리즘 block, CPU block, 등의베이스밴드모뎀부의주요블록들을포함하는 RFID Reader 디지털 SoC용 IP들을설계해넣은 FPGA를설계하고검증을수행했다. 결과로써, RFID 디지털부 SoC를구성하는주요 IP 들을확보하고, RFID표준화의양대주축 (ISO, EPC) 의표준인 ISO18000-6B와 EPC Class 1-Gen2를 FPGA에구현함으로써개별프로토콜을 DSP에 C언어로코딩구현했을때보다빠른처리속도가가능하다. 또한, Reader 모듈의소형화로소형, 경량, 저가격 Reader 제품에적용가능하다. 디지털 SoC화를통해 RFID Reader는소형화가가능하며향후다양한분야에서적용될수있을것이다. 휴대형리더, 소형고정형리더, 서비스로봇에필요한로봇의위치인식및주변객체인식을위한소형리더모듈등에사용이확대가
8 로봇학회논문지제 4 권제 1 호 (2009. 3) 능하다. 향후과제로는 FPGA기반으로설계된 SoC를 Fab 개발을통해서 SoC chip을개발하는연구, 그리고 RF와 Analog 부분까지통합 SoC를설계하는연구를수행할계획이다. 참고문헌 [1] ISO/IEC FDIS 18000-6, Information technology automatic identification and data capture techniques - Radio frequency identification for item management air interface - Part 6: Parameters for air interface communications at 860-960 MHz, 2003. [2] 860MHz 930MHz EPC Class I Radio Frequency Identification Tag Radio Frequency & Logical Communication Interface Specification Candidate Recommendation, Version 1.0.1, AUTO-ID CENTER, 2002. [3] EPC Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860 MHz 960 MHz Version 1.0.9, EPCglobal, 2005. [4] System Modeling and Simulation of RFID, Auto- ID Labs at Fundan University. [5] Microblaze processor reference guide, Xilinx, 2005. [6] On-Chip Peripheral Bus Architecture Specification [7] ISO/IEC 18000-6C Information Technology : Radio- Frequency Identification for Item Management - Part 6: Parameters for Air Interface Communications at 860 MHz to 960 MHz - Extensions with Type C. [8] D. Hahnel, W. Burgard, D. Fox, K. Fishkin and M. Philipose, "Mapping and Localization with RFID Technology," IEEE, vol. 1, pp. 1015-1020, April, 2004. [9] Sung-Bu Kim, Dong-Hui Lee, and Jang-Myung Lee, "Indoor Localization Scheme of a Mobile Robot Applying RFID Technology," J. of Control, Automation, and Systems Engineering, vol. 11, no. 12, December, 2005. [10] 나상익, 채희성, 유원필, "RFID 시스템을이용한이동로봇의자율주행 제1회한국지능로봇하계종합학술대회논문집. [11] 최정욱, 오동익, 김승우, "RFID 기술을이용한 CPR 위치측정 2006 제어자동화시스템심포지엄논문집, pp.103-109. 문전일 1984 서울대학교기계설계학과 ( 공학사 ) 1986 한국과학기술원기계공학과 ( 공학석사 ) 1998 Syracuse University, Manufacturing Engineering( 공학박사 ) 1986~1987 LG전자로봇개발팀주임연구원 1987~2003 LG산전 ( 주 ) 중앙연구소임베디드시스템연구팀장 2004~2006 LS산전 ( 주 ) 중앙연구소소장 2007~ 현재호서대학교로봇공학과부교수관심분야 : 로봇지능, 무선기술기반위치인식, Embedded Control, 센서네트워크, SoC 기태훈 2000 중앙대학교전기전자공학과 ( 공학사 ) 2003~ 현재 LS산전 ( 주 ) 중앙연구소선임연구원관심분야 : ASIC & SoC, RFID, USN E mail : thki@lsis.biz 배규성 1992 조선대학교전자공학과 ( 공학사 ) 1994 조선대학교전자공학과 ( 공학석사 ) 1988~ 현재 LS산전 ( 주 ) 중앙연구소책임연구원관심분야 : 필드버스, SoC 및 Mixed ASIC, low-power Design, RFID/USN E mail : ksbaea@lsis.biz
RFID Reader 용멀티프로토콜모뎀설계 9 김종배 1984 중앙대학교전자공학과 ( 공학사 ) 1986 중앙대학교전자공학과 ( 공학석사 ) 1988~ 현재 LS산전 ( 주 ) 중앙연구소수석연구원관심분야 :Mixed ASIC & SOC, 전력용반도체, Motion Control, RFID/USN, Embedded System.