Pembahasan teknis mendalam mengenai arsitektur watchdog timer, brown-out reset, dan pemulihan hang firmware di 11 SKU reading pen. Dirancang untuk pembeli OEM.

Diposting Pada: Mar 31, 2026 - 91 Dilihat

Arsitektur Watchdog Timer dan System Reset pada Reading Pen untuk Pembeli B2B

Audiens: Panduan ini ditulis untuk kepala teknik perangkat keras, arsitek firmware OEM, dan teknisi keandalan yang harus memvalidasi perilaku watchdog timer (WDT) dan sistem reset pada SKU pena baca sebelum menyetujui produksi massal. Pembaca sekunder mencakup teknisi layanan lapangan yang men-debug keluhan pena hang dan manajer QA yang merancang profil uji stres untuk pemulihan hang firmware.

Seorang distributor Brasil menghubungi kami pada K1 2026 karena pena T2 miliknya mengalami masalah hang di lapangan dengan tingkat 1,4% per bulan. Hang tersebut muncul berupa LED yang membeku tanpa keluaran audio dan tanpa respons BLE. Kami menarik 12 unit yang hang dari lapangan, memasang debugger JTAG, dan menemukan bahwa MCU telah memasuki kondisi hard-fault karena dereference pointer-null pada firmware pengenalan OID. Timer watchdog seharusnya menangkap hard-fault dan mengatur ulang pena, tetapi watchdog tidak terlayani karena penangan hard-fault itu sendiri adalah sumber dereference. Solusinya adalah memindahkan layanan watchdog ke interupsi timer perangkat keras yang aktif terlepas dari kondisi main-loop. Setiap pena baca dalam katalog kami (B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6) menggunakan timer watchdog, dan panduan ini membahas bagaimana arsitektur WDT memetakan pemulihan hang firmware dan keandalan sistem secara keseluruhan.

1. Dua Arsitektur Watchdog

Kami menggunakan dua arsitektur watchdog di seluruh katalog. Tier ekonomi (B1, B2, F8, P2) menggunakan internal window watchdog timer (WWDT) MCU, yang merupakan down-counter 12-bit yang diclock dari osilator RC internal pada 32 kHz. WWDT harus dilayani dalam jendela 64 md, dan layanan yang terlewat memicu reset sistem. Desain window watchdog menangkap baik infinite loop (yang akan melayani WWDT terlalu lambat) maupun panggilan layanan "terlalu awal" (yang akan melayani WWDT sebelum jendela terbuka).

Tier menengah dan premium (K7, KF1, L5, Q6, Q8, T2, Y6) menggunakan IC watchdog timer perangkat keras eksternal (HWDT) selain WWDT internal. HWDT adalah IC supervisor independen yang memantau reset MCU dan GPIO khusus yang di-toggle oleh firmware. Jika GPIO tidak di-toggle dalam 1,6 detik, HWDT menarik jalur reset ke rendah dan memaksa reset power-on penuh. HWDT menambah $0,06 per unit tetapi menangkap mode kegagalan di mana MCU hidup tetapi terjebak dalam interrupt service routine yang tidak melayani WWDT. Inilah mode kegagalan yang mengenai T2 di lapangan.

Arsitektur dual-watchdog pada SKU menengah dan premium menangkap baik mode kegagalan "main loop hang" (ditangkap oleh WWDT) maupun mode kegagalan "interrupt handler hang" (ditangkap oleh HWDT). SKU ekonomi hanya menangkap mode hang main-loop karena tidak memiliki HWDT.

SKU WWDT HWDT Waktu habis WWDT Waktu habis HWDT Tingkat pemulihan hang
B1 Internal Tidak ada 64 md t/a 92,4%
B2 Internal Tidak ada 64 md t/a 92,4%
F8 Internal Tidak ada 64 md t/a 92,4%
K7 Internal Eksternal 64 md 1,6 dtk 99,4%
KF1 Internal Eksternal 64 md 1,6 dtk 99,4%
L5 Internal Eksternal 64 md 1,6 dtk 99,6%
P2 Internal Tidak ada 64 md t/a 92,4%
Q6 Internal Eksternal 64 md 1,6 dtk 99.4%
Q8 Internal Eksternal 64 ms 1.6 s 99.4%
T2 Internal Eksternal 64 ms 1.6 s 99.6%
Y6 Internal Eksternal 64 ms 1.6 s 99.6%

Tingkat pemulihan hang diukur sebagai persentase hang firmware yang menghasilkan reset berhasil dalam 2 detik sejak peristiwa hang. Selisih 7 poin persentase antara SKU ekonomis dan menengah/premium adalah manfaat dual-watchdog.

2. Disiplin Layanan Window Watchdog

Window watchdog harus dilayani dalam jendela waktu yang ketat. Jendela terbuka pada 32 ms setelah pencacah WWDT dimulai dan tertutup pada 64 ms. Melayani WWDT sebelum jendela terbuka atau setelah jendela tertutup memicu reset. Desain jendela melindungi terhadap mode kegagalan "stuck in a fast loop" di mana firmware aktif tetapi tidak membuat kemajuan.

Disiplin layanan pada setiap SKU mengharuskan firmware menulis nilai magic tertentu (0x5A5A5A5A) ke register layanan WWDT dalam jendela tersebut. Nilai magic sengaja tidaktrivial sehingga pointer liar yang menulis lokasi memori secara berurutan tidak secara tidak sengaja melayani WWDT. Kami telah melihat tiga kegagalan lapangan dalam 24 bulan terakhir di mana pointer liar secara kebetulan menulis nilai magic tersebut; WWDT dengan benar mereset pena pada setiap kesempatan.

Pencacah WWDT direset ke nilai awalnya pada setiap layanan yang berhasil. Pencacah dikurangi pada setiap tick clock 32 kHz. Jika pencacah mencapai nol tanpa dilayani, WWDT menghasilkan reset sistem.

3. Watchdog Perangkat Keras Eksternal

HWDT eksternal pada SKU menengah dan premium adalah IC supervisor 4-pin yang memantau jalur reset MCU dan GPIO khusus. HWDT memiliki osilator dan pencacah internal sendiri, independen dari MCU. Pencacah HWDT direset setiap kali firmware mengaktifkan GPIO, yang harus terjadi setidaknya sekali per 1.6 detik. Jika pencacah mencapai nol, HWDT menarik jalur reset ke rendah selama 200 ms dan memaksakan reset power-on penuh.

HWDT juga memantau rel VDD MCU. Jika VDD turun di bawah 2.7 V (ambang brown-out), HWDT menarik jalur reset ke rendah dan menahannya rendah hingga VDD naik kembali di atas 2.85 V. Perlindungan brown-out independen dari detektor brown-out internal MCU, yang memberi kami dua monitor voltase independen.

HWDT berharga $0.06 per unit dan menambah luas PCB 1.2 mm × 1.4 mm. Pada SKU barrel-tipis (F8, K7, KF1, Q6, Q8) HWDT ditempatkan di belakang PCB untuk meminimalkan dampak lebar. Pada SKU yang lebih besar (L5, T2, Y6) HWDT berada di depan PCB.

4. Reset Brown-Out dan Pemulihan Glitch Daya

Reset brown-out (BOR) adalah mekanisme yang berbeda dari watchdog. BOR terpicu ketika voltase suplai turun di bawah ambang (biasanya 2.7 V) dan mereset MCU untuk mencegah eksekusi undervoltage. BOR diimplementasikan di dalam MCU pada setiap SKU dalam katalog.

Ambang BOR diatur ke 2.7 V pada B1, B2, F8, P2 dan 2.85 V pada K7, KF1, L5, Q6, Q8, T2, Y6. Ambang yang lebih tinggi pada SKU menengah dan premium adalah pilihan yang disengaja karena SKU tersebut menggunakan rel digital 1.8 V yang gagal pada 2.7 V. Ambang BOR harus di atas voltase kegagalan rel digital untuk mencegah kerusakan pada logika digital.

Mode kegagalan halus yang kami lihat di lapangan adalah "voltage glitch" yang disebabkan oleh koneksi USB-C yang longgar. Ketika kabel bergerak, voltase VBUS dapat turun ke 3.5 V selama 50 ms, yang berada di atas ambang BOR tetapi di bawah voltase operasi amplifier class-D. Amplifier menghasilkan bunyi pop, dan MCU melihat interupsi palsu yang dapat memicu hard fault. Perbaikannya adalah kapasitor bulk 22 µF pada pin VBUS USB-C ditambah debounce perangkat lunak pada interupsi pop amplifier. Kami menambahkan keduanya ke firmware K7, KF1, Q6, Q8 pada Q3 2024 dan tingkat hard fault turun sebesar 78%.

5. Hard Fault Handler dan Log Alasan Reset

Ketika MCU memasuki hard fault, hard fault handler menjalankan serangkaian langkah sebelum WWDT mereset MCU. Langkah-langkahnya: (1) tulis alasan reset ke log flash, (2) tulis register PC dan LR yang bermasalah ke log flash, (3) aktifkan GPIO HWDT untuk menunjukkan fault, (4) masuk ke loop tak terhingga untuk membiarkan WWDT mereset MCU.

Log alasan reset disimpan dalam sektor flash khusus 4 KB yang dipertahankan lintas reset. Log dapat menampung hingga 64 peristiwa reset sebelum melingkar. Log diekspor melalui USB untuk diagnostik lapangan. Kami menggunakan log ini secara ekstensif dalam debugging lapangan kami: ketika pelanggan melaporkan hang, kami meminta log alasan reset, yang memberi tahu kami jenis hard fault (null pointer, divide by zero, undefined instruction, dll.) dan PC yang bermasalah.

Hard fault handler sendiri adalah mode kegagalan potensial. Masalah T2 Brasil di atas adalah hard fault handler yang mendereferensikan null pointer, yang mencegah WWDT dilayani. Kami memperbaiki ini dengan memindahkan kode tulis-flash hard fault handler ke fungsi terpisah yang diverifikasi aman-pointer, dan dengan menambahkan interupsi timer perangkat keras yang mengaktifkan GPIO HWDT terlepas dari status loop utama. Interupsi timer perangkat keras menembak setiap 800 ms dan merupakan interupsi prioritas tertinggi dalam sistem.

Tip pembeli: Ketika mengaudit pemasok pena baca, minta format log alasan reset dan kode sumber hard fault handler. Pemasok yang belum memikirkan keamanan pointer dalam hard fault handler adalah pemasok yang belum melihat cukup kegagalan lapangan untuk belajar.

6. Cold Start vs Warm Start vs POR

Ada tiga jenis reset dalam katalog: cold start (power-on reset setelah siklus daya penuh), warm start (reset dari WWDT atau HWDT setelah hang), dan POR (power-on reset setelah brown-out). Setiap jenis reset memiliki urutan startup yang berbeda.

Cold start menginisialisasi PMIC, RTC, sensor OID, dan radio BLE. Dibutuhkan 1.8 detik untuk menyelesaikan. Warm start melewati inisialisasi RTC (karena status RTC dipertahankan) dan membutuhkan 1.1 detik. POR menginisialisasi semuanya termasuk RTC dan membutuhkan 2.4 detik.

Perilaku indikator LED berbeda menurut jenis reset. Cold start menunjukkan LED hijau selama 2 detik lalu mati. Warm start menunjukkan LED kuning selama 1 detik lalu mati. POR menunjukkan LED merah selama 3 detik lalu mati, yang menunjukkan peristiwa brown-out.

Log alasan reset mencatat jenis reset bersama dengan nilai PC dan LR. Jenis reset ditulis ke log sebagai bidang 2-bit: 00 = cold start, 01 = warm start, 10 = POR, 11 = reserved.

7. Log Alasan Reset dan Diagnostik Lapangan

Log alasan reset adalah salah satu alat diagnostik lapangan kami yang paling berguna. Kami telah menggunakannya untuk mendiagnosis 18 mode kegagalan lapangan yang berbeda pada 2025, termasuk:

  • Hard fault dalam pengenalan OID (masalah T2 Brasil)
  • Brown-out selama burst amplifier class-D (perbaikan kapasitor bulk 22 µF)
  • Hard fault dalam rekoneksi BLE (masalah Q6 negara Teluk)
  • Hard fault dalam inisialisasi ulang codec audio (masalah K7 Mesir)
  • Brown-out selama negosiasi kontrak USB PD (masalah L5 Arab Saudi)

Setiap mode kegagalan ini didiagnosis dalam waktu kurang dari 48 jam menggunakan log alasan reset. Alternatifnya adalah siklus 4–6 minggu untuk hipotesis, perbaikan, dan penerapan ulang.

Log alasan reset diekspor melalui USB menggunakan perintah khusus vendor. Ekspor memakan waktu 1.2 detik dan menghasilkan file biner 4 KB yang diurai oleh alat diagnostik kami ke format yang dapat dibaca manusia. Kami menyediakan alat ekspor ini kepada pembeli OEM yang ingin menjalankan diagnostik lapangan mereka sendiri.

8. Cakupan Tes Watchdog dalam QA

Setiap batch produksi K7, KF1, L5, Q6, Q8, T2, dan Y6 melewati tes watchdog 12 unit sebelum pengiriman. Tes memaksakan hard fault dengan menulis nilai PC yang tidak valid ke firmware dan memverifikasi bahwa HWDT mereset pena dalam 2 detik. Tes juga memaksakan brown-out dengan menghubungsingkatkan rel VDD ke ground selama 50 ms dan memverifikasi bahwa BOR mereset pena dan log alasan reset mencatat peristiwa POR.

Pada 2025 kami menahan 2 lot dari 168 untuk kegagalan tes watchdog. Kedua kegagalan dilacak ke batch buruk IC supervisor HWDT dari pemasok Tier-2. Pemasok telah mengubah revisi silikon IC tanpa pemberitahuan, dan revisi baru memiliki ambang brown-out 2.6 V alih-alih 2.85 V. Kami menolak kedua lot dan kembali ke pemasok Tier-1 yang terkualifikasi untuk run produksi berikutnya.

9. Downtime Akibat Watchdog dan Pengalaman Pengguna

Reset watchdog tidak terlihat oleh pengguna jika terjadi selama mode shelf atau pemutaran audio. Reset memakan waktu 1.1 detik dan pengguna menganggapnya sebagai jeda singkat. Jika reset terjadi selama transfer file BLE aktif, transfer gagal dan host harus mencoba lagi. Jika reset terjadi selama pemindaian OID, hasil pemindaian hilang dan pengguna harus memindai ulang.

Tingkat reset watchdog yang terlihat pengguna pada SKU menengah dan premium adalah 0.04% per sesi aktif, yang berarti kira-kira satu reset per 2.500 pemindaian. Pada SKU ekonomis, tingkatnya adalah 0.7% per sesi aktif, atau satu reset per 143 pemindaian. Selisih 17× adalah manfaat dual-watchdog pada tingkat pengalaman pengguna.

Bagi pembeli OEM yang menerjunkan pena dalam demo retail, tingkat reset yang terlihat pengguna adalah metrik kritis. Demo retail yang mereset sekali per 143 pemindaian tidak layak secara komersial. Kami merekomendasikan SKU dual-watchdog (K7, KF1, L5, Q6, Q8, T2, Y6) untuk penerapan retail apa pun.

10. Peta Jalan 12 Bulan ke Depan untuk Teknologi Watchdog dan Reset

Kami sedang melacak tiga peningkatan watchdog yang akan hadir di katalog pada Q4 2026. Pertama, hardware watchdog timer dengan timeout 200 md (sebagai pengganti 1,6 dtk) pada SKU premium mendatang yang akan menangkap mode hang yang lebih cepat. Kedua, arsitektur MCU dual-core pada SKU premium mendatang yang menggunakan satu core untuk tugas yang berhadapan dengan pengguna dan satu core untuk tugas housekeeping; core housekeeping melayani WWDT dan dapat mengatur ulang core pengguna saat terjadi fault. Ketiga, log reset watchdog yang terhubung ke cloud yang mengunggah log alasan reset ke server cloud pada koneksi BLE berikutnya, memungkinkan diagnostik jarak jauh tanpa intervensi pengguna.

Kami akan mempublikasikan laporan lanjutan setelah 200 md HWDT dikirim dalam uji coba lapangan. Sementara itu, arsitektur watchdog di seluruh katalog kami sudah matang, tervalidasi dengan baik, dan didukung dengan baik, dan kami mengundang setiap pembeli OEM yang memiliki persyaratan keandalan khusus untuk menghubungi tim pena baca ODM kami untuk kajian kelayakan.

Minta Penawaran Harga — Dapatkan Respons Pabrik dengan Cepat

Watchdog Timeout Window (seconds)

Reset Reason Distribution Across 47,000+ Field Units (2025)

Bacaan Terkait

Minta Penawaran Harga — Dapatkan Respons Pabrik dengan Cepat

Frequently Asked Questions

Apa arsitektur watchdog timer pada reading pen?
SKU ekonomis (B1, B2, F8, P2) menggunakan window watchdog timer internal dengan jendela servis 64 md. SKU kelas menengah dan premium (K7, KF1, L5, Q6, Q8, T2, Y6) menggunakan arsitektur dual-watchdog dengan WWDT internal ditambah IC supervisor HWDT eksternal yang memantau GPIO khusus dan rel VDD. Arsitektur dual-watchdog menangkap baik hang pada main-loop maupun hang pada interrupt handler.
Seberapa cepat reading pulih dari hang firmware?
Pada SKU dual-watchdog, HWDT mereset pena dalam 1,6 detik sejak kejadian hang. Log alasan reset mencatat register PC dan LR yang bermasalah. Tingkat reset yang terlihat pengguna selama sesi aktif adalah 0,04% pada SKU dual-watchdog dan 0,7% pada SKU ekonomis. SKU dual-watchdog 17× lebih kecil kemungkinannya mengganggu sesi pengguna dengan reset.
Berapa ambang brown-out reset pada reading pen?
Ambang BOR adalah 2,7 V pada B1, B2, F8, P2 dan 2,85 V pada K7, KF1, L5, Q6, Q8, T2, Y6. SKU menengah dan premium menggunakan ambang yang lebih tinggi karena memiliki rel digital 1,8 V yang gagal di bawah 2,7 V. HWDT pada SKU menengah dan premium menambahkan monitor voltase independen kedua pada 2,85 V.
Mengapa beberapa reading pen mengalami hang di lapangan dan bagaimana cara memperbaikinya?
Kondisi firmware hang terjadi ketika MCU memasuki status hard-fault akibat dereferensi penunjuk kosong, pembagian dengan nol, atau instruksi yang tidak terdefinisi. Masalah T2 di Brasil disebabkan oleh penanganan hard-fault yang mendereferensikan penunjuk kosong, sehingga WWDT tidak dapat dilayani. Solusinya adalah memindahkan kode tulis-flash pada penanganan hard-fault ke fungsi terpisah yang aman terhadap penunjuk, serta menambahkan interupsi pewaktu perangkat keras yang mengaktifkan GPIO HWDT setiap 800 ms tanpa bergantung pada kondisi main-loop.
Apakah log alasan reset dapat diekspor untuk diagnostik?
Ya. Log alasan reset diekspor melalui USB menggunakan perintah spesifik vendor. Ekspor memakan waktu 1,2 detik dan menghasilkan file biner 4 KB yang diurai oleh alat diagnostik kami ke dalam format yang dapat dibaca manusia. Log mencatat jenis reset (cold start, warm start, POR), PC yang bermasalah, register LR, dan stempel waktu. Kami telah menggunakannya untuk mendiagnosis 18 modus kegagalan lapangan yang berbeda pada tahun 2025.
Keranjang Anda
Cookie membantu meningkatkan pengalaman Anda di situs ini. Kebijakan Cookie
Chat on WhatsApp