Khalayak Sasaran: Pembangun firmware terbenam, pembangun aplikasi mudah alih, dan jurutera QA OEM yang perlu memahami cara pen baca menjadualkan pemberitahuan BLE pada pelayan GATTnya, sebab selang sambungan lebih penting daripada nombor throughput, dan cara pen pulih daripada pemberitahuan yang terputus tanpa merosakkan aliran acara OID.
Pelayan GATT pen baca ialah subsistem yang paling kerap digunakan dalam keseluruhan firmware. Pada firmware Q6/Q8 3.3.1, pelayan GATT mengendalikan sehingga 312 pemberitahuan sesaat semasa penggunaan puncak (ketukan OID berterusan ditambah telemetri VU audio ditambah acara bateri). Pada firmware F8 3.1.2, puncak ialah 184 pemberitahuan sesaat. Pelayan mesti beratur, memadan, memecahkan dan menghantar semula dalam semua keadaan ini tanpa sekali-kali menyekat saluran paip acara OID.
Artikel ini menjelaskan seni bina pelayan GATT, polisi penjadualan pemberitahuan, model langganan CCCD, interaksi antara MTU dan selang sambungan, mekanisme pemulihan paket yang hilang, dan pendikit telemetri yang boleh disesuaikan mengikut jenama.
1. Seni Bina Pelayan
Pelayan GATT beroperasi dalam satu utas khas dalam RTOS pen. Pada Q6/Q8, RTOS ialah FreeRTOS 10.3.1; pada F8 ialah Zephyr 3.2.0; pada K7/KF1 ialah FreeRTOS 8.2.0. Keutamaan utas ditetapkan pada tahap kedua tertinggi dalam sistem, tepat di bawah utas gangguan penderia OID.
| Komponen | RAM | ROM | Nota |
|---|---|---|---|
| Pelayan GATT | 4.2 KB | 12.8 KB | Jadual servis + ciri |
| Baris Gilir Pemberitahuan | 6.0 KB | 1.4 KB | 24 slot × 256 bait |
| Jadual CCCD | 1.6 KB | 0.4 KB | 32 pelanggan |
| Enjin MTU | 0.8 KB | 2.4 KB | Pemecahan L2CAP |
Jumlah kos RAM subsistem GATT ialah 12.6 KB pada firmware Q6/Q8 3.3.1, yang muat dalam 32 KB yang diperuntukkan untuk tindanan BLE.
2. Baris Gilir Pemberitahuan
Baris gilir pemberitahuan mempunyai 24 slot, setiap satu 256 bait. Slot diisi oleh sumber acara OID (16 bait setiap ketukan, lihat TC-058) dan oleh penjana telemetri (saiz berubah-ubah). Slot dialirkan keluar oleh utas pelayan GATT apabila selang sambungan berlalu.
| Metrik Baris Gilir | Nilai pada Q6/Q8 | Nilai pada F8 | Nilai pada K7/KF1 |
|---|---|---|---|
| Bilangan slot | 24 | 16 | 12 |
| Saiz slot | 256 bait | 128 bait | 96 bait |
| Kadar pengaliran keluar | 312/s | 184/s | 96/s |
| Kadar pengisian (puncak) | 280/s | 152/s | 72/s |
| Margin | 11% | 17% | 25% |
Jika baris gilir penuh, pen menggunakan polisi tekanan balik: ia terlebih dahulu menggugurkan slot telemetri tertua, kemudian menggugurkan acara OID pendua, kemudian menggugurkan telemetri VU. Ketukan OID itu sendiri tidak pernah digugurkan, kerana kehilangan ketukan bermakna pengguna melihat main balik audio yang hilang, yang merupakan kegagalan UX yang serius.
3. Model Langganan CCCD
Setiap ciri Notify atau Indicate pada pen mempunyai Client Characteristic Configuration Descriptor (CCCD). Hos menulis 0x0001 untuk mengaktifkan Notify atau 0x0002 untuk mengaktifkan Indicate. Pen menyimpan keadaan langganan per rakan dalam rekod bon.
| Ciri | Keadaan Lalai pada Sambungan Pertama | Selepas Berlangganan |
|---|---|---|
| 0x2A4D (ketukan OID) | Notify dilumpuhkan | Notify diaktifkan |
| 0x2A19 (Bateri) | Notify dilumpuhkan | Notify diaktifkan |
| 8E0C0003 (Status Kamus) | Notify dilumpuhkan | Notify diaktifkan |
| 8E0C0005 (Telemetri) | Notify dilumpuhkan | Indicate diaktifkan |
| 8E0C0007 (Audio VU) | Notify dilumpuhkan | Notify diaktifkan |
Perkara halus: ciri Telemetri ialah Indicate, bukan Notify. Indicate memerlukan ACK daripada hos, yang menjamin penghantaran. Kami membuat pilihan ini kerana kehilangan telemetri tidak boleh diterima untuk QA. Kosnya ialah penalti kependaman kecil (1.2 ms tambahan) tetapi keuntungan kebolehpercayaan itu berbaloi.
4. Keputusan Selang Sambungan
Selang sambungan BLE dirundingkan antara pen dan hos. Pen memilih selang 15 ms; ia menerima apa-apa sahaja dari 7.5 ms hingga 4 s. Hos mencadangkan nilai; pen mengembalikan nilai pilihannya dalam Permintaan Kemas Kini Parameter Sambungan.
| Selang | Kependaman Pemberitahuan | Throughput (PHY 1 MB) | Kos Bateri (T2) |
|---|---|---|---|
| 7.5 ms | 3.75 ms purata | 220 KB/s | 12.4 mA |
| 15 ms | 7.5 ms purata | 110 KB/s | 6.2 mA |
| 30 ms | 15 ms purata | 55 KB/s | 3.1 mA |
| 100 ms | 50 ms purata | 16 KB/s | 0.9 mA |
| 1 s | 500 ms purata | 1.6 KB/s | 0.1 mA |
Selang 15 ms ialah lalai pengeluaran kami. Ia mengimbangi throughput dengan bateri. Penggunaan sekolah yang mengutamakan responsif berbanding masa jalan akan melihat kependaman hujung-ke-hujung 6.4 ms. Penggunaan rumah yang mengutamakan masa jalan berbanding responsif akan melihat 30 ms.
5. Perundingan MTU
Pen memilih MTU sebanyak 247 bait (maksimum BLE 5.0 untuk bukan-DLE). Ia menerima mana-mana MTU dari 23 hingga 247. MTU menentukan berapa bait pemberitahuan tunggal dimasukkan dalam satu paket L2CAP.
| MTU | Laporan OID setiap Selang | Pecahan |
|---|---|---|
| 23 | 1 laporan (dipotong) | Ya |
| 64 | 3 laporan | Tidak |
| 128 | 7 laporan | Tidak |
| 185 | 11 laporan | Tidak |
| 247 | 15 laporan | Tidak |
Permintaan MTU pen dihantar dalam 100 ms pertama sambungan. Hos yang mengabaikan permintaan memaksa pen menggunakan MTU 23 bait, yang memecah setiap laporan dan memakan bateri. Kami telah menghantar 47,000+ pen dan 4 daripada 38 aplikasi rakan kongsi mengabaikan permintaan MTU. Empat aplikasi itu ditandakan dalam papan pemuka QA kami.
6. Algoritma Penumpukan Pemberitahuan
Untuk meminimumkan masa radio, pelayan GATT menumpuk pemberitahuan ke dalam satu paket L2CAP apabila jumlah muatan muat. Algoritma penumpukan berjalan sekali setiap selang sambungan:
1. Kosongkan barisan pemberitahuan ke dalam penimbal kelompok
2. Semasa saiz_kelompok + saiz_laporan_seterusnya <= MTU:
a. Tambahkan laporan seterusnya ke dalam kelompok
b. Tandakan laporan sebagai dihantar
3. Hantar kelompok sebagai satu paket L2CAP
4. Jika barisan masih mempunyai laporan yang belum dihantar:
a. Tunggu selang sambungan seterusnya
Pada firmware Q6/Q8 3.3.1, algoritma penumpukan memuat purata 8.4 laporan setiap paket pada MTU 185 bait. Radio dihidupkan selama ~3.2 ms setiap selang sambungan. Pada firmware F8 3.1.2, puratanya ialah 6.1 laporan setiap paket.
7. Mekanisme Pemulihan Paket Yang Hilang
BLE Notify tidak menghantar semula. Jika satu paket hilang, hos tidak tahu ia telah dihantar. Pen mengendalikannya dengan:
- Mengekalkan nombor jujukan dalam muatan laporan OID.
- Mencatatkan setiap pemberitahuan yang dihantar dengan nombor jujuannya ke dalam penimbal telemetri QA.
- Menyediakan ciri penunjuk "Laporan Hilang" 8E0C000A-7B3C-4F8E-9F4D-2C8B5A1E0001 yang boleh dibaca oleh hos atas permintaan.
Aplikasi hos, apabila mengesan jurang dalam nombor jujukan, boleh:
- Melakukan bacaan manual pada keadaan kamus.
- Membandingkan ID halaman kamus yang terakhir dilihat dengan halaman semasa untuk mengesan acara yang terlepas.
- Secara pilihan, langgan semula ciri OID untuk menetapkan semula secara paksa.
Untuk 99.4% kejadian paket hilang, pengguna tidak menyedari kehilangan tersebut kerana acara seterusnya tiba dalam 15 ms dan saluran audio tidak terjejas.
8. Pendikit Telemetri
Pemberitahuan telemetri ialah ciri yang paling memakan jalur lebar. Secara lalai, pen menghantar telemetri pada 0.5 Hz (setiap 2 s). Pelanggan OEM boleh meminta kadar yang lebih tinggi (sehingga 10 Hz) dengan menetapkan bit khusus jenama dalam ciri ID jenama.
| Kadar Telemetri | Jalur Lebar | Kos Bateri (Q6/Q8) | Kes Penggunaan |
|---|---|---|---|
| 0.1 Hz | 0.05 KB/s | +0.1 mA | Pen rumah |
| 0.5 Hz (lalai) | 0.25 KB/s | +0.3 mA | Standard ODM |
| 1 Hz | 0.5 KB/s | +0.6 mA | Program sekolah |
| 5 Hz | 2.5 KB/s | +2.4 mA | Ujian tekanan QA |
| 10 Hz | 5.0 KB/s | +4.8 mA | Nyahpepijat kejuruteraan |
Seorang pentadbir IT sekolah yang memerlukan data kesihatan pen masa nyata akan menetapkan bit khusus jenama untuk membolehkan telemetri 1 Hz. Ini menelan kos ~3% bateri pada Q6 (900 mAh), yang boleh diterima untuk program bilik darjah.
9. Ciri Audio VU
Ciri VU audio 8E0C0007-7B3C-4F8E-9F4D-2C8B5A1E0001 ialah apungan 4-bait (ketepatan tunggal IEEE 754) yang mewakili tahap output audio semasa. Ia dihantar pada 30 Hz pada firmware Q6\/Q8 3.3.1 apabila TTS aktif. Aplikasi hos menggunakannya untuk memaparkan bar VU kecil di skrin.
| Model | Kadar VU | Lebar Jalur VU | Kos Bateri |
|---|---|---|---|
| Q6\/Q8 | 30 Hz | 0.12 KB\/s | +0.2 mA |
| L5 | 30 Hz | 0.12 KB\/s | +0.2 mA |
| T2 | 60 Hz | 0.24 KB/s | +0.4 mA |
| Y6 | 60 Hz | 0.24 KB/s | +0.4 mA |
| F8 | Tiada | — | 0 |
VU dilumpuhkan pada F8 dan P2 untuk menjimatkan bateri. Pada T2/Y6 kadar digandakan kerana model tersebut mempunyai OLED untuk menghasilkan animasi yang lebih lancar.
10. Ujian Tekanan yang Dijalankan pada Setiap Firmware
| Ujian | Tempoh | Kriteria Lulus |
|---|---|---|
| Ketukan OID berterusan selama 1 jam | 3,600 ketukan | 0 laporan hilang |
| Bateri pada 10 Hz selama 24 jam | 864,000 peristiwa | Tiada limpahan baris gilir |
| Putus sambungan + sambung semula 100 kitaran | 100 kitaran | Pasangan semula dalam <1.5 s |
| 8 ikatan peer + sambungan berurutan | 8 kitaran | Semua 8 peer menyambung semula |
| MTU 23 dipaksa oleh hos | 5 min | Tiada limpahan penimbal |
Jika mana-mana ujian gagal, firmware ditolak. Merentasi 86 keluaran firmware sejak 2023, 3 gagal ujian ketukan berterusan (limpahan baris gilir) dan 1 gagal ujian MTU-23 (limpahan penimbal). Kesemuanya telah dibaiki sebelum keluaran semula.
11. Bagaimana Ini Berhubung dengan Artikel Lain
TC-061 berada di tengah-tengah saluran paip BLE. TC-057 mentakrifkan lapisan HID di atas. TC-058 mentakrifkan deskriptor di bawahnya. TC-059 mentakrifkan model pasangan yang membolehkan hos melanggan. TC-060 mendokumentasikan skema yang dilaksanakan oleh pelayan ini. TC-062 merangkumi laluan Wi-Fi selari. TC-063 merangkumi penemuan LAN. TC-064 merangkumi CoAP, protokol yang berjalan melalui laluan LAN.
13. Bacaan Berkaitan
- Pen Baca USB HID dan HID melalui GATT
- Deskriptor Laporan HID dan Halaman Penggunaan Pen Baca
- Pasangan Bluetooth Pen Baca SSP Pasangan Mudah Selamat
- Reka Bentuk UUID Ciri Perkhidmatan BLE Pen Baca
- Mekanisma Kemaskini Firmware OTA Pen Baca
- Kadar Sampel Telemetri Pen Baca
- Penggunaan Kuasa dan Ujian Masa Jalan Pen Baca
- Format dan Edisi Fail Kamus Pen Baca
14. Telemetri Pengeluaran, Data Lapangan, dan Buku Panduan Pembeli
Merentasi 86 keluaran firmware yang dihantar sejak 2023, log pelayan GATT kami menunjukkan penurunan berterusan dalam peristiwa limpahan baris gilir pemberitahuan. Barisan firmware semasa — B1/B2 pada 2.4.7, F8 pada 3.1.2, K7/KF1 pada 1.9.5, L5 pada 4.2.0, P2 pada 2.0.3, Q6/Q8 pada 3.3.1, dan T2/Y6 pada 2.6.4 — mengekalkan kadar limpahan bergulung 1 jam di bawah 0.06 peratus merentasi 47,000+ unit yang digunakan di 47 negara. Angka itu penting kerana satu limpahan di meja sekolah yang sibuk bermakna satu kod OID yang terlepas dan seorang kanak-kanak yang memandang pen yang senyap, yang sebenarnya tiket sokongan yang tidak dikehendaki oleh mana-mana pengimport.
14.1 Throughput Dunia Sebenar vs Kelas Sambungan
Carta di bawah memplotkan throughput pemberitahuan berterusan purata yang kami ukur pada pen pengeluaran semasa suite tekanan 5 peringkat. Nilai datang daripada 1,200 ujian (100 unit × 12 binaan firmware) yang dikumpul antara S2 2025 dan S1 2026 di dalam kebuk anechoic kami pada 23°C dan 55 peratus RH.
14.2 Latensi Pemberitahuan Merentasi Model pada Persentil ke-95
Profil latensi berubah dengan ketara apabila anda bergerak daripada K7 dan KF1 peringkat permulaan kepada L5 dan T2 kelas utama kerana teras Cortex-M4F yang lebih pantas mempunyai 8 KB penimbal pemberitahuan berbanding 2 KB pada Cortex-M0+. Pembeli yang mengendalikan armada 5,000+ pen dalam program sekolah biasanya mengambil berat tentang persentil ke-95 lebih daripada min kerana latensi ekor mendorong kelembapan yang dirasakan pada aplikasi pengiring ibu bapa.
| Model | Teras | Penimbal | Min (ms) | p95 (ms) | p99 (ms) | Limpahan / jam |
|---|---|---|---|---|---|---|
| K7 | Cortex-M0+ | 2 KB | 38 | 86 | 142 | 0.12% |
| KF1 | Cortex-M0+ | 2 KB | 36 | 82 | 138 | 0.11% |
| B1 | Cortex-M4F | 4 KB | 24 | 54 | 96 | 0.04% |
| B2 | Cortex-M4F | 4 KB | 22 | 51 | 92 | 0.04% |
| F8 | Cortex-M4F | 4 KB | 26 | 58 | 101 | 0.05% |
| Q6 | Cortex-M4F | 4 KB | 23 | 52 | 95 | 0.04% |
| Q8 | Cortex-M4F | 4 KB | 21 | 49 | 89 | 0.03% |
| L5 | Cortex-M4F | 8 KB | 14 | 32 | 58 | 0.01% |
| T2 | Cortex-M4F | 8 KB | 12 | 28 | 52 | 0.01% |
| Y6 | Cortex-M4F | 8 KB | 13 | 30 | 55 | 0.01% |
| P2 | Cortex-M0+ | 2 KB | 41 | 92 | 156 | 0.14% |
14.3 Peraturan Keputusan Pembeli
Tip pembeli: Jika saluran pengedaran anda memasangkan pen dengan aplikasi pendamping ibu bapa yang menghantar pings setiap 5 saat (corak biasa untuk penjejak pembacaan K-3), pilih L5 atau T2 dengan penimbal 8 KB. Kependaman p95 32 ms mengekalkan respons yang dirasakan di bawah 50 ms, iaitu ambang "segera" manusia. Model kemasukan seperti P2 akan membocorkan 0.14 peratus pemberitahuan setiap jam pada kadar tersebut dan peti masuk sokongan anda akan merasainya dalam suku pertama.
14.4 Liputan Pensijilan Blok Radio BLE
Radio yang membawa pemberitahuan ini ialah blok yang sama yang diuji di bawah pengisytiharan pelbagai bidang kuasa kami. CE-RED (EN 300 328 v2.2.2), FCC Part 15.247, UKCA-RER, RCM (AS/NZS 4268), KC (KN 301 489-1/-17), dan ISED RSS-247 merangkumi jalur 2,402 - 2,480 MHz dengan PHY 1M, 2M, dan Coded. EN 71-1/-2/-3, ASTM F963-17, CPSIA, dan PROP 65 merangkumi perumah, magnet, dan dakwat. GCC (kelulusan SFDA untuk Arab Saudi), ESMA (UAE), SNI (Indonesia), NOM (Mexico), dan INMETRO (Brazil) merupakan lapisan akses pasaran tambahan yang routinely digunakan semula oleh klien pengimport kami. Setiap kumpulan membawa Laporan Pemeriksaan Jenis 38 halaman dan nombor siri seunit yang memetakan kepada pengembara QA.
14.5 Rujukan Silang Dalaman dan Laluan Pembacaan
Untuk mekanik gandingan huluan lapisan GATT, lihat Gandingan Bluetooth Pen Bacaan SSP Secure Simple Pairing. Untuk reka bentuk UUID yang menentukan ciri mana yang memegang pemberitahuan ini, lihat Reka Bentuk UUID Ciri Perkhidmatan BLE Pen Bacaan. Untuk saluran OTA yang menulis semula kod ini di lapangan, lihat Mekanisme Kemaskini Firmware OTA Pen Bacaan. Untuk format fail kamus yang mengalir melalui pemberitahuan ini apabila edisi buku OID baharu dihantar, lihat Format Fail Kamus dan Edisi Pen Bacaan. Untuk bahagian pengeluar program ini, lihat Perkhidmatan Kejuruteraan Pen Bacaan ODM dan Pembuatan Pen Bacaan OEM.
CTA: Tentukan kelas firmware GATT yang sesuai untuk pasaran anda dengan menghantar sasaran kependaman, SLA p95, dan campuran kelas sambungan anda kepada kami. Minta sebut harga dengan perkataan "GATT-PERF" dan kami akan memulangkan dossier penanda aras 6 halaman setiap model serta sebut harga integrasi firmware harga tetap dalam masa 24 jam. Pen stok neutral sedia pada MOQ 500, larian label peribadi berjenama bermula pada MOQ 3,000 dengan masa pendahuluan 4 minggu dari kelulusan karya seni.