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:
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:
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.
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
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/) –>
</html>
Software stack consists of 4 layers:
* Project github repository
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!