User Tools

Site Tools


projects:rfid

RFID booster pack

The aim of this project is to design and build a breakout board for TI RFID transceiver chip TRF7970a compatible with Stellaris Launchpad.



TRF7970a supports following radio standards:

ISO14443A/B ISO15693
ISO18000-3
(Mode 1)
FeliCa NFC
106 [kbps] 212 [kbps] 424 [kbps] 848 [kbps] 213 [kbps]
424 [kbps]
Type 1-4

Additional project considerations:

  • Simple layout
  • Low cost (2 layer board)
  • Focus on parallel interface and ISO 15693

This is a research project without deadline. I have created the board to explore RFID technology, NOT develop a full product. Do not use for commercial applications. Please visit GitHub for most recent software.

Currently supported technology:

  • ISO15693 single slot anticollision and block read.

Schematics

Hardware

  • Operating voltage 3.3 [V] (Remember to set Chip Status Control Register)
  • Device was designed for use with Launchpad's emulator serial connection. Please do not use DEVICE USB. Pin PD7 is used to sense DEVICE USB bus voltage. If you need to use DEVICE USB please remove resistor R15.
  • Clock output is unused as Stellaris Launchpad does have it's own clocking source.
  • TRF7970a EN2 is permanently pulled high (sleep mode)

RFID Booster pinout

Left header
Desc Pin A Pin B Desc
3V3 VCC 1 1
ASK/OOK 2 2 GND
3 3
4 4
IRQ 5 5
6 6
7 7
Led1 8 8
Led2 9 9
10 10
Right header
Desc Pin A Pin B Desc
EN1 1 1 GND
T1 2 2 MOD
T2 3 3 DATA_CLK
T3 4 4
T4 5 5
T5 6 6
T6 7 7
T7 8 8
T8 9 9
10 10

Please take note that naming is a bit misleading. T8 is the least significant bit and T1 most significant bit.

Pin MUX

BP Pin MCU Pin LP Pin Parallel SPI SS SPI LP Pin 2
ASK/OOK PB5 A2 - - -
IRQ PE4 A5 Interrupt request
LED1 PA5 A8 User LED 1
LED2 PA6 A9 User LED 2
EN1 PF2 D1 Chip enable
MOD PB2 B2 - - -
DATACLK PE0 A3 CLK C3 (PD0)
T1 PF3 D2 I/O 7 MOSI C6 (PD3)
T2 PB3 D3 I/O 6 MISO C5 (PD2)
T3 PC4 D4 I/O 5 - -
T4 PC5 D5 I/O 4 SS - C4 (PD1)
T5 PC6 D6 I/O 3 - -
T6 PC7 D7 I/O 2 VDD VDD
T7 PD6 D8 I/O 1 VDD VSS
T8 PD7 D9 I/O 0 VSS VSS
=================================================

Additionally:

MCU Pin Function
PA0 UART RX
PA1 UART TX

Current revision of the board requires SPI and interface select pins to be connected externally. Code uses SSI1 peripheral for SPI control.

BP - boosterpack; LP - launchpad

Software

All necessary software is located in the MCU. The PC communicates with the kit trough USB UART.

<html> <?xml version=“1.0” encoding=“UTF-8” standalone=“no”?> <!– Created with Inkscape (http://www.inkscape.org/) –>

inline-svg@projects:rfid

</html>

Software stack consists of 4 layers:

  • Hardware abstraction layer
  • Chip support layer
  • RF protocol layer
  • User layer

* Project github repository

Booster pack in action

The sample application is a simple playback control device. Stellaris Launchpad acts as HID USB device sending “Consumer” commands (see USB documentation) to host. Resistor R15 was removed therefore device can be powered without debug USB connection.

Three different tags have different values written in memory. Device is looking for tags in range around every second. If it finds tag, memory content readout is performed. One byte defines tag function (play pause, next track, previous track). If tag remains in the field for more than one read cycle, it is ignored. To use tag function second time in a row just move tag out of range, so device can detect “no tag” condition. After that tag will not be ignored.

This will also work with Linux and Android!

dAkR1WXPeXE?.swf

Next board revision notes

  • SPI only? SS switch?
  • SPI Buffer for tristate line?
  • EN2 pull down for poweroff
  • Fully compatible with small Launchpad
  • Bigger antenna to fit components “inside”

References

NFC

ISO 15693

ISO 14443

Other

Sample project references

projects/rfid.txt · Last modified: 2013/03/18 10:21 by mkucia