NFC Controller
A dedicated IC in smartphones and readers that manages NFC protocol stack, handles RF modulation/demodulation, and interfaces with the device's main processor. Examples include NXP PN7150, STMicro ST25R series.
What Is an NFC Controller?
An NFC controller is a dedicated integrated circuit installed in smartphones, payment terminals, and other active NFC devices that manages the complete NFC protocol stack. Unlike a passive tag chip that only responds to external fields, the NFC controller actively generates the 13.56 MHz RF field, handles signal modulation and demodulation, manages protocol timing, and interfaces with the host processor.
Role in the NFC System
The controller sits between the NFC antenna and the host processor:
- RF field generation: Driving the antenna at 13.56 MHz to energize passive tags.
- Modulation/demodulation: Encoding data using ASK modulation and Modified Miller coding; decoding load modulation from tags.
- Protocol handling: Managing anti-collision sequences and ISO 14443 / ISO 15693 state machines.
- Mode management: Switching between reader/writer, card emulation, and peer-to-peer modes.
Major NFC Controllers
| Controller | Manufacturer | Interface | Key Features |
|---|---|---|---|
| PN7150 | NXP | I2C | Full NCI, all modes |
| PN7160 | NXP | SPI/I2C | Lower power, faster startup |
| ST25R3916 | STMicroelectronics | SPI | Auto antenna tuning, EMVCo certified |
| ST25R3917 | STMicroelectronics | SPI | NFC-V extended range |
NCI (NFC Controller Interface)
Modern controllers implement the NFC Forum's NCI specification, a standardized command interface between controller and host processor. NCI abstracts hardware differences, allowing the same driver to work with different controller chips. It defines commands for RF discovery, data exchange, mode selection, and power management.
NFC Controller vs NFC Chip
| Aspect | NFC Controller | NFC Chip (Tag IC) |
|---|---|---|
| Power | Externally powered (battery/USB) | Powered by reader's RF field |
| Role | Initiator — generates RF field | Responder — modulates field |
| Cost | $1-$10 | $0.05-$1.50 |
| Modes | All three NFC modes | Tag response only |
Integration in Smartphones
The NFC controller is typically connected to the application processor via I2C or SPI. Apple uses a custom controller integrated with their secure enclave. Android devices commonly use NXP PN-series controllers with Google's NFC stack handling NDEF dispatch and HCE.
Related Terms
Related Content
NFC for Beginners: Your First Project
Getting Started…spec, and wrote it to the tag's EEPROM via the phone's NFC controller. Now tap the tag again with your phone's screen on — the…
NFC with Arduino and Raspberry Pi
ProgrammingESP32 NFC Development
Programming…with NCI Stack (Production) The PN7150 implements the NCI (NFC Controller Interface) standard, making it the correct choice for…
NFC Reader Modules Compared
HardwareNFC in Public Transit
IndustryPN532 Complete Guide
Reader ICsPN532 Complete Guide: NXP's Most Popular NFC Controller The PN532 is NXP's most widely deployed NFC nfc-controller…
PN7150 NFC Controller Guide
Reader ICsPN7150 NFC Controller: NXP's NCI-Based Controller The PN7150 is NXP's…
ST25R NFC Reader IC Guide
Reader ICs…ST25R's higher output power. PN532 Complete Guide PN7150 NFC Controller Guide NFC Antenna Matching Guide NFC Reader Firmware…
Frequently Asked Questions
The NFC glossary is a comprehensive reference of technical terms, acronyms, and concepts used in Near Field Communication technology. It is designed for developers, product managers, and engineers who work with NFC and need clear definitions of terms like NDEF, APDU, anti-collision, and ISO 14443.
Each glossary term is cross-referenced with related NFC chips, standards, and other terms. For example, the term 'AES-128' links to chips that support AES encryption (NTAG 424 DNA, DESFire EV2/EV3), and the term 'ISO 14443' links to all chips compliant with that standard.
Yes. NFCFYI provides glossary definitions in 15 languages including English, Korean, Japanese, Chinese, Spanish, Portuguese, Hindi, Arabic, French, Russian, German, Turkish, Vietnamese, Indonesian, and Thai. Use the language selector in the header to switch languages.