Download presentation
Presentation is loading. Please wait.
Published byHenriette Gehrig Modified over 6 years ago
1
Radio Frequency Identification and Near Field Communication
RFID & NFC Radio Frequency Identification and Near Field Communication 11/12/2018 Chao GAO, VAMK
2
RFID tag A system to identify a person/product/thing, etc.
Each "thing" is implanted with a "tag", in different forms. Paper tag, EPC tag, Inlay tag, Glue tag, Key tag, Glass tube tag, Disc tag, Pocket tag. Several classes of tag: Class 0: passive read-only, non-programmable Class 1: passive read-only, programmable Class 2: passive read-write, 56kB memory Class 3: semi-passive read-write, powered by battery Class 4: active Class 5: active, can communicate with other class 5 tags. microchip antenna 11/12/2018 Chao GAO, VAMK
3
Tag Information: EPC Most common (and standard) information in a tag is Electronic Product Code (EPC). Most versions of EPC is 64- or 96-bit long, divided into 4 parts: Header: 8 bits, identifies the length, type, version of EPC Domain manager: 28 bits, identifies the manufacturer Object class: 24 bits, identifies a product's stock keeping unit (SKU), e.g., different size/color of a T-shirt. Serial number: 36 bits, identifies each instance of product. Header 8 bits Domain manager 28 bits Object class 24 bits Serial number 36 bits 11/12/2018 Chao GAO, VAMK
4
RFID Frequencies ISO-18000 specifies operating frequencies of RFID:
ISO-18000v2: Low-frequency 135kHz, typically used for animal tracking because it is affected much by water or metal. ISO-18000v3: High-frequency 13.56MHz, typically used in short range such as book tracking in library. ISO-18000v4: Microwave 2.45GHz ISO-18000v6: Ultra-high frequency MHz, offers longer range of reading ISO-18000v7: Ultra-high frequency 433MHz Higher frequencies require smaller size antennas. 11/12/2018 Chao GAO, VAMK
5
How it works (Passive) A passive RFID tag has no power. It couples energy emitted from a RFID reader. Inductive coupling or magnetic coupling requires the tag to be very close to the reader (1cm) so that enough energy can be (inductively) coupled. Backscatter coupling uses a backscatter (reflective) antenna, the tag is designed so that data is superimposed into (usually ASK modulation) the carrier wave and reflected back to the reader. Because of its mechanism, the range can be up to 100 meters. RFID reader RFID Reader Antenna Circuits RFID tag Magnetic field 11/12/2018 Chao GAO, VAMK
6
How it works (Collision Avoidance)
When there are multiple RFID-ed products scanned by the same reader, a Slotted Teminating Adaptive Collection (STAC) protocol is used in HF tags. The number of slots cannot be very big (increased delay). More sophisticated anti-collision protocols can be seen in [Klair, 2010]. Reading cycle RFID Reader F Slot1 Slot2 Slot3 Slot4 Slot5 Slot6 Slot7 Slot8 SlotX SlotN F Each tag generates a random number between 1 and N 11/12/2018 Chao GAO, VAMK
7
Near Field Communications
NFC Near Field Communications 11/12/2018 Chao GAO, VAMK
8
What is NFC? Based on ISO (which is a RFID standard), and ISO (known as NFCIP-2). Most smartphones, credit cards/bank cards, discount coupons/gift cards, bus cards have chosen NFC. It uses loop antennas (near field) between two NFC devices to communicate with each other. The memory of NFC tags is usually much bigger than RFID tags, able to store URLs, business cards, pictures, brochures in PDF format, etc. Working frequency is 13.56MHz (same as RFID HF). Data rate kbps. Modulation is ASK and PSK. 11/12/2018 Chao GAO, VAMK
9
Operating Modes of NFC Devices
Reader/Writer Mode Peer to Peer Mode Card Emulation Mode
10
NDEP/NDEF NFC Data Exchange Protocol/Format 11/12/2018 Chao GAO, VAMK
11
NFC Programming in Andriod
Write a tag with URL import android.nfc.*; import android.nfc.tech.MifareClassic; import android.nfc.tech.Ndef; import android.nfc.tech.NdefFormatable; import android.nfc.tech.NfcA; protected void onNewIntent(Intent intent) { super.onNewIntent(intent); if (mNfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) { Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); NdefMessage ndefMessage = getNoteAsNdef(); if (ndefMessage != null) { writeTag(getNoteAsNdef(), tag); } else { toast("Expection. Try Again"); } private NdefMessage getNoteAsNdef() { //… prepare necessary values for URL String url = " NdefRecord rtdRecord = NdefRecord.createUri(url); return new NdefMessage(new NdefRecord[] { rtdRecord }); } 11/12/2018 Chao GAO, VAMK
12
boolean writeTag(NdefMessage message, Tag tag) {
int size = message.toByteArray().length; try { Ndef ndef = Ndef.get(tag); if (ndef != null) { ndef.connect(); if (!ndef.isWritable()) { toast("Error:Tag can not be write"); return false; } if (ndef.getMaxSize() < size) { toast("Error:Data payload is overflow. "); return false; ndef.writeNdefMessage(message); toast("write successful!"); alertDialog.dismiss(); ndef.close(); return true; } else { //… return false; catch (Exception e) { toast("Error: Write data failure"); return false; 11/12/2018 Chao GAO, VAMK
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.