Table of Contents
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 |
|106 [kbps]||212 [kbps]||424 [kbps]||848 [kbps]|| 213 [kbps] |
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.
- 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
|Desc||Pin A||Pin B||Desc|
|Desc||Pin A||Pin B||Desc|
Please take note that naming is a bit misleading. T8 is the least significant bit and T1 most significant bit.
|BP Pin||MCU Pin||LP Pin||Parallel||SPI SS||SPI||LP Pin 2|
|LED1||PA5||A8||User LED 1|
|LED2||PA6||A9||User LED 2|
|T1||PF3||D2||I/O 7||MOSI||C6 (PD3)|
|T2||PB3||D3||I/O 6||MISO||C5 (PD2)|
|T4||PC5||D5||I/O 4||SS||-||C4 (PD1)|
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
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/) –>
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!
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”