NFC: mô-đun liên lạc không tiếp xúc và nguyên lý hoạt động

Tác giả: IT Sectr Đã đăng: 2026-03-23 Thời gian đọc: 8 phút

NFC (Near Field Communication) là công nghệ liên lạc không dây tầm ngắn cho phép trao đổi dữ liệu giữa các thiết bị ở khoảng cách lên đến 10 centimet. NFC được sử dụng trong điện thoại di động để thanh toán không tiếp xúc, truyền tệp và đọc thẻ. Theo Grand View Research, 2025, thị trường chip NFC đã đạt 34,5 tỷ đô la nhờ sự áp dụng hàng loạt NFC trong điện thoại thông minh và cơ sở hạ tầng thanh toán trên toàn thế giới.

Những điểm chính

  • NFC là tiêu chuẩn liên lạc không dây ở tần số 13,56 MHz với phạm vi lên đến 10 cm.
  • Ba chế độ của NFC: đọc/ghi (R/W), peer-to-peer (P2P) và mô phỏng thẻ.
  • NFC khác với Bluetooth ở tốc độ thấp hơn (424 kbps), nhưng không cần ghép nối và hoạt động tức thì.
  • Ăng-ten NFC được tích hợp trong nắp sau hoặc pin của điện thoại thông minh và kết nối với bộ điều khiển qua Secure Element.
  • Thanh toán không tiếp xúc (Google Pay, Apple Pay) là ứng dụng phổ biến nhất của NFC trong thiết bị di động.

NFC là gì?

NFC (Near Field Communication) là tiêu chuẩn truyền dữ liệu không dây tầm ngắn hoạt động ở tần số 13,56 MHz. Công nghệ này dựa trên RFID (Nhận dạng Tần số Vô tuyến) và tương thích ngược với ISO 14444 — tiêu chuẩn cho thẻ thông minh không tiếp xúc. Tốc độ truyền dữ liệu là 106, 212 hoặc 424 kbps tùy thuộc vào chế độ đã chọn.

Không giống như Bluetooth, NFC không yêu cầu quy trình ghép nối — các thiết bị trao đổi dữ liệu ngay lập tức khi đưa lại gần nhau. Khoảng cách liên lạc tối đa là 10 cm, cung cấp khả năng bảo vệ tự nhiên chống lại sự đánh chặn. Theo NFC Forum, công nghệ này được hỗ trợ bởi hơn 3 tỷ thiết bị trên toàn thế giới và con số này đang tăng 15–20% hàng năm.

Tiêu chuẩn NFC được phát triển bởi NFC Forum, một liên minh do Sony, Philips và Nokia thành lập năm 2004. Chiếc điện thoại đầu tiên có NFC (Nokia 6131) ra mắt năm 2006, nhưng việc áp dụng hàng loạt bắt đầu sau khi phát hành Android 4.0 (Ice Cream Sandwich) năm 2011 và ra mắt Apple Pay năm 2014. Ngày nay, hầu hết tất cả điện thoại thông minh có giá trên 150 đô la đều hỗ trợ NFC.

Chế độ hoạt động của NFC trong điện thoại

Bộ điều khiển NFC trong điện thoại thông minh hỗ trợ ba chế độ hoạt động, mỗi chế độ được thiết kế cho một loại tác vụ riêng. Việc chuyển đổi giữa các chế độ diễn ra tự động tùy thuộc vào loại thiết bị tương tác.

Chế độ đọc/ghi (Reader/Writer)

Ở chế độ này, điện thoại hoạt động như một đầu đọc chủ động của thẻ NFC. Khi đưa lại gần thẻ NFC — nhãn dán, vòng đeo tay hoặc áp phích — điện thoại đọc dữ liệu từ bộ nhớ của thẻ. Thẻ chứa từ 48 byte đến 32 KB bộ nhớ và lưu trữ URL, văn bản hoặc lệnh. Android Beam (được thay thế bởi Nearby Share) đã sử dụng chế độ này để truyền liên kết và danh bạ.

Chế độ peer-to-peer (P2P)

Hai thiết bị NFC trao đổi dữ liệu trực tiếp. Một thiết bị đóng vai trò là bên khởi tạo, thiết bị thứ hai là mục tiêu. Tiêu chuẩn LLCP (Giao thức điều khiển liên kết logic) quản lý kết nối và SNEP (Giao thức trao đổi NDEF đơn giản) quản lý định dạng dữ liệu. Chế độ P2P được sử dụng để truyền nhanh danh bạ, liên kết hoặc bắt đầu ghép nối Bluetooth. Tốc độ ở chế độ P2P đạt 424 kbps.

Chế độ mô phỏng thẻ (Card Emulation)

Điện thoại mô phỏng thẻ thông minh không tiếp xúc — thẻ thanh toán, thẻ giao thông hoặc thẻ ra vào. Một thiết bị NFC bên ngoài (thiết bị đầu cuối POS, cổng xoay) tương tác với điện thoại giống như với thẻ nhựa thông thường. Chế độ này được sử dụng trong Apple Pay, Google Pay và Samsung Pay. Bảo mật thanh toán được đảm bảo bởi Secure Element — một chip cách ly lưu trữ dữ liệu thẻ thanh toán.

Chế độVí dụ sử dụngYêu cầu Secure Element
Reader/WriterĐọc thẻ NFC có URLKhông
Peer-to-PeerTruyền danh bạ giữa các điện thoạiKhông
Card EmulationThanh toán qua Google Pay

NFC so với Bluetooth: So sánh công nghệ

NFC và Bluetooth LE (Năng lượng thấp) là hai công nghệ liên lạc tầm ngắn thường được so sánh. NFC vượt trội về tốc độ thiết lập kết nối (0,1 giây) và không yêu cầu ghép nối, nhưng kém hơn về tốc độ truyền dữ liệu và phạm vi. Bluetooth LE yêu cầu ghép nối (2–5 giây) nhưng cung cấp tốc độ lên đến 2 Mbps và phạm vi lên đến 100 mét.

Trong thực tế, NFC và Bluetooth không cạnh tranh mà bổ sung cho nhau. NFC được sử dụng để khởi tạo kết nối (handover): chỉ cần đưa điện thoại lại gần thiết bị để NFC truyền các tham số kết nối Bluetooth (NFC Bluetooth Handover). Sau đó, các thiết bị chuyển sang Bluetooth để truyền tệp hoặc luồng âm thanh nhanh chóng.

Kiến trúc phần cứng NFC trong điện thoại thông minh

Mô-đun NFC của điện thoại thông minh bao gồm ba thành phần: bộ điều khiển NFC, ăng-ten NFC và Secure Element (cho các hoạt động an toàn). Bộ điều khiển NFC là một chip riêng biệt hoặc một phần của mô-đun liên lạc kết hợp (NFC + Bluetooth + Wi-Fi, ví dụ WCN3990 từ Qualcomm). Nó quản lý giao diện vô tuyến và các giao thức trao đổi.

Ăng-ten NFC là một cuộn dây in trên chất nền linh hoạt (FPC) hoặc trên vỏ pin. Kích thước ăng-ten là 20×30 mm, số vòng là 3–5. Ăng-ten kết nối với bộ điều khiển qua mạch phối hợp được điều chỉnh ở tần số 13,56 MHz. Theo NXP Semiconductors, hoạt động hiệu quả của ăng-ten yêu cầu tính toán chính xác độ tự cảm và hệ số phẩm chất.

Secure Element (eSE) là một chip mật mã riêng biệt (NXP P71, Samsung S3K) hoặc một khu vực cách ly trong SoC (iSE — Secure Element tích hợp). Nó lưu trữ dữ liệu thẻ thanh toán và thực hiện các hoạt động mật mã cho HCE (Mô phỏng thẻ máy chủ). Secure Element được cách ly khỏi Android/iOS: chỉ có bộ điều khiển NFC mới có thể truy cập nó thông qua lệnh APDU qua bus SWP (Giao thức một dây).

cpp
// Ví dụ lệnh APDU để tương tác với Secure Element
const uint8_t SELECT_APDU[] = {
    0x00, 0xA4, 0x04, 0x00,            // CLA, INS, P1, P2
    0x07,                               // độ dài dữ liệu (7 byte)
    0xA0, 0x00, 0x00, 0x00,             // RID — đã đăng ký
    0x03, 0x10, 0x10,                   // PIX — định danh ứng dụng
    0x00                                // Le — độ dài phản hồi dự kiến
};

// Gửi lệnh qua bộ điều khiển NFC đến Secure Element
NfcStatus nfcStatus = sendApdu(SELECT_APDU, sizeof(SELECT_APDU));

Ứng dụng của NFC trong thiết bị di động

NFC trong điện thoại được sử dụng trong bốn kịch bản chính: thanh toán không tiếp xúc, giao thông, truy cập đối tượng và tự động hóa tác vụ. Ứng dụng phổ biến nhất là hệ thống thanh toán: Apple Pay, Google Pay và Samsung Pay. Chúng sử dụng chế độ mô phỏng thẻ với HCE (Mô phỏng thẻ máy chủ) hoặc Secure Element để mô phỏng thẻ ngân hàng.

Các hệ thống giao thông trên toàn thế giới (Tàu điện ngầm Moscow, London Tube, New York MTA) chấp nhận thanh toán NFC qua ví di động. Tại Nhật Bản, công nghệ FeliCa (Sony) dựa trên NFC đã được sử dụng cho giao thông, mua sắm và truy cập văn phòng từ năm 2004. Các điện thoại thông minh có chip FeliCa, như iPhone cho thị trường Nhật Bản, hỗ trợ Suica và PASMO.

Thẻ NFC cho phép tự động hóa các kịch bản “ngôi nhà thông minh”: đưa điện thoại lại gần thẻ bên cạnh giường — báo thức sẽ bật và thông báo sẽ tắt. Trên Android, điều này được thực hiện qua Android Beam / NFC Tools, trên iOS — qua Shortcuts và trình kích hoạt NFC. Một số điện thoại thông minh cũng sử dụng NFC cho sạc nhanh — tiêu chuẩn Qi sử dụng NFC để nhận dạng bộ sạc.

Ví dụ mã: Đọc thẻ NFC trên Android

Android cung cấp API để xử lý thẻ NFC thông qua Hệ thống Intent. Khi đưa thẻ lại gần điện thoại, hệ thống tạo một intent với thẻ và ứng dụng nhận dữ liệu ở định dạng NDEF (Định dạng trao đổi dữ liệu NFC). Dưới đây là ví dụ về một Activity đọc URL hoặc văn bản từ thẻ NFC.

kotlin
class NfcReaderActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_nfc)
        handleNfcIntent(intent)
    }

    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        handleNfcIntent(intent)
    }

    private fun handleNfcIntent(intent: Intent) {
        if (intent.action == NfcAdapter.ACTION_NDEF_DISCOVERED) {
            val rawMessages = intent
                .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
            rawMessages?.forEach { rawMsg ->
                val msg = rawMsg as NdefMessage
                msg.records.forEach { record ->
                    val payload = String(record.payload)
                    println("NFC data: $payload")
                }
            }
        }
    }
}

Để làm việc với NFC, cần khai báo quyền android.permission.NFC trong tệp kê khai và cấu hình bộ lọc intent cho ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED hoặc ACTION_TAG_DISCOVERED. Android tự động lọc thẻ NFC theo loại bản ghi NDEF — điều này cho phép ứng dụng chỉ phản hồi với các thẻ có loại MIME hoặc tiền tố URL cụ thể. Lưu ý rằng ăng-ten NFC thường nằm ở phần trên của mặt sau điện thoại — để đọc thẻ, hãy đưa phần trên của điện thoại lại gần thẻ.

Câu hỏi thường gặp

Có cần bật NFC để thanh toán qua Google Pay không?

Có, để thanh toán không tiếp xúc, NFC phải được bật trong cài đặt điện thoại. Google Pay tự động kích hoạt NFC khi đưa lại gần thiết bị đầu cuối, ngay cả khi màn hình tắt (trên các thiết bị có Android 10+ và đã cài đặt Google Wallet). Đối với Apple Pay, NFC tự động bật và không yêu cầu kích hoạt thủ công.

Phạm vi hoạt động của NFC là bao xa?

Phạm vi tiêu chuẩn của NFC lên đến 10 centimet. Trong thực tế, để có kết nối đáng tin cậy, nên đưa điện thoại đến khoảng cách 2–4 cm từ đầu đọc. Phạm vi ngắn hơn làm cho NFC an toàn hơn Bluetooth — kẻ tấn công không thể đọc dữ liệu từ xa.

Có thể bị nhiễm virus qua NFC không?

Về mặt lý thuyết, thẻ NFC có thể chứa liên kết đến trang web độc hại, nhưng điều này yêu cầu hành động của người dùng — nhấp vào liên kết. Lây nhiễm tự động qua NFC là không thể vì công nghệ không hỗ trợ thực thi mã hoặc cài đặt tệp mà không có xác nhận. Hệ điều hành Android và iOS chặn các hành động NFC có khả năng nguy hiểm.

Làm thế nào để kiểm tra điện thoại có NFC không?

Trên Android: mở Cài đặt → Kết nối → NFC (hoặc tìm kiếm “NFC” trong cài đặt). Trên iPhone: tất cả các mẫu từ iPhone 6 trở lên đều hỗ trợ NFC. Một số nhà sản xuất đánh dấu vỏ hoặc hộp bằng ký hiệu NFC. Bạn cũng có thể sử dụng ứng dụng NFC Check từ Play Market để chẩn đoán.

NFC có làm hao pin điện thoại không?

NFC chỉ tiêu thụ năng lượng ở chế độ hoạt động — trong quá trình truyền dữ liệu. Ở chế độ chờ, bộ điều khiển NFC hầu như không tiêu thụ điện (0,01 mA). Bật NFC không ảnh hưởng đến thời lượng pin của điện thoại. Điều này khác với Bluetooth, tiêu thụ năng lượng ngay cả ở chế độ chờ.

Tổng kết

  • NFC là tiêu chuẩn liên lạc không dây ở tần số 13,56 MHz với phạm vi lên đến 10 cm và tốc độ lên đến 424 kbps.
  • Ba chế độ của NFC: Reader/Writer (đọc thẻ), Peer-to-Peer (trao đổi dữ liệu), Card Emulation (mô phỏng thẻ cho thanh toán).
  • Thanh toán không tiếp xúc là ứng dụng chính của NFC trong điện thoại thông minh qua Google Pay, Apple Pay và Samsung Pay.
  • NFC không cần ghép nối — kết nối được thiết lập trong 0,1 giây, nhanh hơn Bluetooth.
  • Kiến trúc phần cứng bao gồm bộ điều khiển NFC, ăng-ten FPC và Secure Element cho các giao dịch an toàn.
  • Thẻ NFC được sử dụng để tự động hóa các kịch bản: tắt tiếng điện thoại, khởi chạy ứng dụng, điều khiển nhà thông minh.
  • API NFC Android cho phép đọc thẻ NDEF qua Hệ thống Intent với bộ lọc theo loại dữ liệu.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm