Parcourez l'architecture du micrologiciel du stylo de lecture sur les B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 et Y6 : bootloader, décodeur OID, pipeline MP3, OTA et gestion de l'alimentation.

Publié le: déc. 10, 2025 - 215 Vues

Architecture du micrologiciel du stylo de lecture expliquée : Du démarrage au décodage MP3

Public : Cet article s'adresse aux ingénieurs firmware, aux chefs de produits OEM et aux acheteurs techniques qui doivent comprendre l'architecture du firmware du stylo de lecture sur les plateformes B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 et Y6, couvrant le chargeur d'amorçage, le pilote du capteur, le pipeline du décodeur OID, la pile MP3, le flux de mise à jour OTA et la gestion de l'alimentation.

Le firmware du stylo de lecture est un petit système embarqué avec des contraintes temps réel étonnamment strictes. Le stylo doit sortir d'un état de sommeil profond, se verrouiller sur un motif de points OID, exécuter la correction d'erreurs Reed-Solomon, récupérer une trame MP3 et lire l'audio dans un délai de 95 à 180 millisecondes. Atteindre cette latence de manière fiable sur un BOM de 3,8 à 14,5 $ nécessite un partitionnement minutieux du firmware. Ci-dessous, nous parcourons chaque couche, du chargeur d'amorçage au DAC audio, et nous précisons les différences exactes entre nos 11 modèles actifs.

1. Le chargeur d'amorçage : 16 Ko qui détermine tout le reste

Chaque stylo de lecture est livré avec un chargeur d'amorçage en deux étapes. L'étape 1 est une région mask-ROM de 16 Ko sur le MCU principal qui s'exécute en premier et valide la signature de l'étape 2. L'étape 2 est le micrologiciel d'application de 256 Ko stocké dans la flash SPI. La signature est ECDSA-P256 avec une clé racine d'usine ; les clients OEM reçoivent une sous-clé par marque afin que le firmware d'une marque ne puisse pas être chargé sur le matériel d'une autre marque. La vérification de signature prend 380 ms sur B1 / B2 / F8 / P2 et 240 ms sur K7 / KF1 / L5 / Q6 / Q8 / T2 / Y6.

Le temps de démarrage du démarrage à la « lecture prête » est de 1,2 seconde sur B1 / B2 / F8 / P2, de 0,8 seconde sur K7 / KF1 / Q6 / Y6 et de 0,6 seconde sur L5 / Q8 / T2. Le chemin de démarrage est : étape 1 (vérification de signature) -> étape 2 (init RTOS) -> init du pilote du capteur -> init du codec audio -> inactif. Nous n'exécutons aucune pile réseau au démarrage. Il n'y a pas de Wi-Fi ou de Bluetooth sur aucun des 11 modèles, ce qui maintient la surface du micrologiciel minuscule.

Les versions actuelles du micrologiciel sont B1 / B2 2.4.7 ; F8 3.1.2 ; K7 / KF1 1.9.5 ; L5 4.2.0 ; P2 2.0.3 ; Q6 / Q8 3.3.1 ; T2 / Y6 2.6.4. Ces versions sont stables sur le terrain et ont été livrées dans 86 versions de micrologiciel depuis 2023.

2. Le système d'exploitation en temps réel : FreeRTOS avec un planificateur personnalisé

Tout le micrologiciel du stylo de lecture fonctionne sur FreeRTOS 10.4 avec un planificateur sans tick personnalisé. Il y a quatre tâches persistantes : (1) tâche de capteur à 200 Hz priorité 5, qui interroge le capteur d'image CMOS et pousse les images dans un tampon circulaire de 12 images ; (2) tâche de décodage à 30 Hz priorité 4, qui extrait les images, exécute la binarisation, la détection de grille, le décodage Reed-Solomon et la recherche dans le dictionnaire ; (3) tâche audio à 1 kHz priorité 6, qui gère le pipeline de décodage MP3 et alimente le DAC ; (4) tâche inactive à priorité 0, qui gère les transitions d'état d'alimentation.

Les priorités des tâches sont inversées intentionnellement afin que la tâche audio préempte tout. Un tampon audio bloqué provoque un glitch audible ; un décodage bloqué retarde simplement la reconnaissance de quelques millisecondes. La tâche de décodage s'exécute uniquement lorsque la tâche du capteur signale qu'une image est disponible. La tâche inactive se réveille sur une interruption matérielle du capteur tactile.

Parmi les 11 modèles, la configuration RTOS diffère à deux endroits : le mode tickless idle est désactivé sur B1, B2, F8 et P2 pour économiser 4 Ko d'espace de code ; il est activé sur K7, KF1, L5, Q6, Q8, T2 et Y6. La deuxième différence concerne la taille du tampon audio : 24 Ko sur B1 / B2 / F8 / P2 et 64 Ko sur L5 / Q8 / T2. Des tampons plus grands réduisent les interruptions audio sur le L5 car il alimente un amplificateur de 1 W qui consomme davantage de courant instantané.

Modèle Tickless RTOS Tampon audio Temps de démarrage Taille du code
B1 / B2 Non 24 Ko 1,2 s 612 Ko
F8 / P2 Non 24 Ko 1,2 s 588 Ko
K7 / KF1 Oui 32 Ko 0,8 s 720 Ko
Q6 / Y6 Oui 32 Ko 0,8 s 740 Ko
L5 / Q8 / T2 Oui 64 Ko 0,6 s 980 Ko

3. Le module décodeur OID : 48 Ko de C à virgule fixe

Le décodeur OID est le code le plus critique en termes de performances sur le stylo. Il est écrit en C à virgule fixe (pas de virgule flottante) et se compile en environ 48 Ko de code ARM Thumb-2 sur les cœurs Cortex-M4 utilisés dans B1, B2, F8, K7, KF1, P2, Q6 et Y6, et en 52 Ko sur les cœurs Cortex-M7 utilisés dans L5, Q8 et T2.

Le module décodeur contient sept sous-routines : binariser, détecter la grille, corriger la perspective, décoder RS, hacher, rechercher dans le dictionnaire et récupérer le décalage audio. Chacune s'exécute dans une tranche de temps déterministe. Sur le Cortex-M4 à 168 MHz, la binarisation prend 8 ms pour une fenêtre 32x32 ; la détection de grille 12 ms ; le décodage RS 18 ms ; le hachage plus la recherche 14 ms ; total 52 ms. Sur le Cortex-M7 à 240 MHz, ces chiffres passent à 5 ms, 7 ms, 11 ms, 8 ms ; total 31 ms. Les modèles L5 / Q8 / T2 sont livrés avec la version M7, ce qui leur permet d'atteindre le chiffre de latence de bout en bout de 95 ms.

La table de recherche du dictionnaire est créée à la compilation du micrologiciel à partir du manifeste de contenu. Pour un livre bilingue de 32 pages avec 600 fichiers audio, la table fait environ 8,4 Ko. Pour une encyclopédie de 96 pages avec 4 200 fichiers audio, la table fait 58,8 Ko. La table est stockée dans la même flash SPI que les actifs audio et est chargée paresseusement dans la RAM selon les besoins.

Conseil pour l'acheteur : Si votre livre contient plus de 4 000 fichiers audio uniques, n'utilisez pas les stylos B1, B2, F8, P2 ou K7. La table de recherche du dictionnaire dépasse 56 Ko et la RAM de 64 Ko sur ces plateformes ne peut pas contenir l'ensemble de travail, ce qui déclenche des relectures de flash et ajoute 30 à 60 ms de latence. Restez sur L5, Q8, T2 ou Y6 pour les programmes à haute densité de contenu.

4. Le pipeline MP3 : décodeur Helix et alimentation DMA

Une fois que la recherche dans le dictionnaire renvoie un décalage et une longueur audio, le micrologiciel transfère au pipeline MP3. Le pipeline utilise le décodeur MP3 Helix, une implémentation à virgule fixe de RealNetworks qui occupe 28 Ko d'espace de code et fonctionne sur chaque modèle. Le décodeur produit du PCM 16 bits 44,1 kHz, qui est alimenté vers le DAC intégré via DMA.

Le DMA est configuré pour un transfert double tampon avec un tampon de 512 échantillons sur B1 / B2 / F8 / P2 / K7 / KF1 et un tampon de 1 024 échantillons sur L5 / Q8 / T2 / Y6. Le tampon DMA plus grand sur les stylos plus grands réduit le risque de famine de tampon lorsque la tâche de décodage préempte la tâche audio. La protection contre la famine est intégrée : si le tampon DMA descend en dessous de 25 %, le micrologiciel abaisse momentanément la priorité du décodage MP3 d'un cran pour donner plus de temps CPU à la tâche audio.

Les fréquences d'échantillonnage audio prises en charge sont 8, 16, 22,05, 32, 44,1 et 48 kHz. Les débits de 32 kbps mono à 320 kbps stéréo sont décodés. En pratique, nous livrons le contenu à 128 kbps stéréo pour la narration de haute qualité et 64 kbps mono pour les effets sonores. Un livre de 32 pages avec 600 fichiers audio à 128 kbps représente en moyenne 0,9 à 1,1 Go d'audio ; compressé dans la flash SPI, cela représente environ 380 à 460 Mo après encodage Helix. La flash de 4 Mo sur B1 / B2 / F8 / P2 est réservée à l'image du micrologiciel uniquement ; les actifs audio résident sur une puce flash distincte de 4 Go ou 8 Go sur K7 / KF1 / Q6 / Y6, ou sur une puce de 16 Go sur L5 / Q8 / T2.

Pour plus de détails sur l'encodage audio, voir l'article sur le codec audio du stylo de lecture et la compression MP3. Pour le côté OID, voircomment fonctionne la technologie du stylo de lecture OID.

5. Gestion de l'alimentation : cinq états, un objectif

Les stylos de lecture sont alimentés par batterie et expédiés dans 47 pays, dont beaucoup ont une électricité intermittente. Le micrologiciel définit cinq états d'alimentation. (1) Expédition : sommeil profond à 8 µA, batterie préservée pendant 18 mois. (2) Arrêt : sommeil profond à 12 µA, l'interrupteur marche-arrêt est électronique et non mécanique sur tous les modèles sauf T2. (3) Veille : 1,2 mA, interrogation du capteur à 5 Hz pour la détection tactile, prêt en 8 ms. (4) Actif : 60 à 180 mA selon le chemin audio. (5) Charge : 380 mA en crête, entrée USB-C 5 V sur chaque modèle sauf P2 (micro-USB) et T2 (USB-C plus prise CC).

La transition entre Veille et Actif est déclenchée par une interruption tactile d'un capteur capacitif intégré dans la pointe du stylo. L'interruption se déclenche lorsque l'utilisateur entre en contact avec la page ; la tâche du capteur réveille les pipelines de décodage et audio. Le temps de bout en bout réveil-et-décodage sur L5, Q8 et T2 est de 95 ms ; sur B1, B2, F8, K7, KF1, P2, Q6 et Y6, il est de 120 à 180 ms.

L'autonomie de la batterie est le chiffre phare sur chaque fiche technique : B1 5,0 h, B2 5,5 h, F8 4,5 h, K7 / KF1 6,0 h, L5 8,5 h, P2 4,0 h, Q6 6,5 h, Q8 7,0 h, T2 14 h, Y6 11 h. Celles-ci sont mesurées à 50 % du volume, cycle de service de 12 % (utilisation typique pour enfant), avec le capteur en interrogation continue. L'utilisation réelle varie ; l'article sur la sécurité des batteries lithium-polymère du stylo de lectureL'article couvre la chimie cellulaire sous-jacente et le profil de charge.

6. Mises à jour OTA : USB uniquement par conception

Nous délibérément n'incluons pas de Wi-Fi ni de Bluetooth sur aucun stylo de lecture. La raison est double : coût BOM et confidentialité des données des enfants. Sans radio, le stylo ne peut pas transmettre les données d'utilisation, ce qui maintient la conformité COPPA, GDPR-K et PIPL simple. Les mises à jour sont donc en USB uniquement sur chaque modèle. L'utilisateur branche le stylo sur un ordinateur, exécute une application de mise à jour de bureau de 12 Mo, et la nouvelle image du micrologiciel est poussée en 35 à 60 secondes.

Pour les clients OEM, nous fournissons une application de mise à jour personnalisable construite avec Electron. L'application vérifie la signature du micrologiciel, affiche la progression et efface le cache du dictionnaire. Pour les programmes B2B de 3 000+ unités, nous proposons également un outil de flashage en usine qui programme 12 stylos en parallèle sur un hub USB, terminant un lot de 12 unités en 7 minutes.

OTA via USB maintient le coût BOM bas (pas de puce Wi-Fi, pas d'antenne, pas de blindage RF) et l'empreinte de certification réduite (pas de FCC ID, pas de test radio RED). Pour plus d'informations sur les implications de certification, consultez le guide de mise à jour de certification du stylo de lecture après modification du produit guide d'achat et le guide de stratégie de mise à jour logicielle du stylo de lecture.

7. Pipeline de construction : du manifeste au binaire signé

Le pipeline de construction du micrologiciel prend trois entrées : (1) le manifeste de contenu, un CSV listant chaque chemin de fichier audio, la langue cible et les coordonnées de page ; (2) la configuration de marque OEM, un fichier JSON avec la clé de marque, le certificat de signature et les chaînes UI ; (3) la version de base du micrologiciel, actuellement l'une des 11 branches versionnées ci-dessus. Le pipeline s'exécute dans notre système CI et produit un binaire micrologiciel signé en 4 heures pour un livre typique de 32 pages.

Les étapes du pipeline sont : (1) normalisation audio à -16 LUFS ; (2) encodage MP3 à 128 kbps stéréo ou 64 kbps mono ; (3) génération de la table de dictionnaire ; (4) génération de parité Reed-Solomon ; (5) linkage du micrologiciel avec la configuration de marque ; (6) signature ECDSA ; (7) hachage et emballage. Les étapes 1 à 4 prennent 90 minutes pour une bibliothèque audio de 1 Go. Les étapes 5 à 7 prennent 15 minutes. Total : environ 105 minutes temps réel pour un livre personnalisé typique.

Pour les clients OEM à fort volume, le pipeline de construction est disponible en tant qu'API en libre-service. Un livre de 32 pages avec 600 fichiers audio retourne un binaire micrologiciel signé en environ 95 minutes via l'API. Nous avons effectué 86 versions de micrologiciel depuis 2023 sur la base installée de 47 000+ stylos.

Reading Pen Firmware Build Pipeline (Custom OEM Book)

8. Gestion des pannes et récupération

Le micrologiciel du stylo de lecture est conçu pour être récupérable. Le bootloader en deux étapes avec signature ECDSA signifie qu'une image d'application corrompue est détectée au démarrage et le stylo revient à la récupération de l'étape 2. Le mode récupération est une image minimale de 4 Ko qui peut reflasher l'application via USB. Sur 47 000+ stylos expédiés, le mode récupération a été déclenché 0,07% du temps, presque toujours en raison d'une perte d'alimentation USB pendant une mise à jour.

Le micrologiciel implémente également un timer watchdog de 4 secondes. Si une tâche ne parvient pas à envoyer un heartbeat, le watchdog réinitialise le cœur Cortex-M. Les tâches capteur, décodeur et audio envoient toutes des heartbeats selon leur cadence naturelle ; la tâche inactive n'est pas surveillée car elle est autorisée à dormir indéfiniment.

La fiabilité sur le terrain, mesurée sur la base installée, est de 99,4% sur 24 mois pour B1, B2, F8, K7, KF1, P2, Q6 et Y6, et de 99,6% pour L5, Q8 et T2. L'écart de 0,2 point est attribuable à la base de code plus grande et à la température de fonctionnement plus élevée de l'amplificateur 1 W dans la famille L5. Pour la méthodologie QA, consultez le guide des normes de test de vieillissement du stylo de lecture guide d'achat et le guide de dépannage du stylo de lecture.

9. Stratégie de localisation : 12 langues, une seule base de code

Nous expédions 12 versions linguistiques du micrologiciel : anglais, espagnol, français, allemand, italien, portugais, arabe, hébreu, russe, chinois simplifié, chinois traditionnel et japonais. La localisation ne se limite pas aux chaînes UI ; elle comprend la disposition du clavier à l'écran, la valeur par défaut de la vitesse audio, le miroir UI de droite à gauche pour l'arabe et l'hébreu, ainsi que le format du calendrier/heure.

Les chaînes UI résident dans une région séparée de 96 Ko de la flash SPI ; changer de langue est un sélecteur d'un octet. Aucun reflash n'est nécessaire pour changer de langue en usine. Les clients OEM expédient généralement 3 à 5 variantes linguistiques par programme. Le pipeline de construction accepte un manifeste de langue et produit un binaire signé par langue à partir d'un arbre source unique.

Pour plus d'informations sur le contenu et la stratégie de localisation, consultez le guide du flux de travail de création de contenu du stylo de lecture et le guide d'achat de personnalisation de la langue vocale guide d'achat.

10. Les compromis d'ingénierie que vous devez connaître

Si vous évaluez l'architecture du micrologiciel du stylo de lecture pour un nouveau programme, trois compromis sont importants. (1) Décodeur ASIC vs FPGA : l'ASIC est moins cher mais verrouillé sur un format OID ; le FPGA coûte 18 à 30 cents de plus par unité et prend en charge les mises à jour de format futures. (2) Idle sans ticks : économise 4 Ko d'espace de code et réduit le courant de veille de 1,2 mA à 0,6 mA, mais ajoute 12 Ko de code ; activé sur K7, KF1, L5, Q6, Q8, T2, Y6 et désactivé sur B1, B2, F8, P2 pour maintenir le coût BOM bas. (3) Taille du tampon audio : 24 Ko sur les petits stylos convient pour le contenu mono 64 kbps mais est serré pour le stéréo 128 kbps ; 64 Ko sur L5, Q8, T2 donne de la marge pour les effets sonores stéréo et les bandes musicales.

Pour un programme OEM de 3 000 à 5 000 unités, la recommandation standard est L5 ou Q8 avec idle sans ticks, décodeur ASIC, tampon audio de 64 Ko et UI personnalisée. Pour un programme de 30 000+ unités où chaque centime compte, la recommandation est K7 ou Q6 avec la configuration optimisée en coût. Pour les programmes sur appel où un district scolaire de 12 000 unités est le client, T2 avec la plus grande batterie et 14 heures d'autonomie gagne.

Demander un devis — Obtenez une réponse rapide de l'usine

Pour référence visuelle, voici la disposition de priorité des tâches du micrologiciel pour la famille L5 / Q8 / T2 exécutant le Cortex-M7 à 240 MHz. L'audio est la priorité la plus élevée car les sous-exécutions sont audibles ; le décodeur est au milieu car les glissements sont imperceptibles ; l'inactif est le plus bas.

Reading Pen Firmware Task Priority Ladder (L5 / Q8 / T2)

FAQ

Lectures connexes

Demander un devis — Obtenez une réponse rapide de l'usine

Frequently Asked Questions

Quel RTOS le firmware du stylo de lecture utilise-t-il ?
Tout le firmware des stylos de lecture fonctionne sous FreeRTOS 10.4 avec un planificateur tickless personnalisé. Le mode veille tickless est activé sur K7, KF1, L5, Q6, Q8, T2 et Y6 pour réduire le courant de veille de 1,2 mA à 0,6 mA, et désactivé sur B1, B2, F8 et P2 pour économiser 4 Ko d'espace de code et réduire le coût BOM.
Quelle est la vitesse de décodage de bout en bout sur les derniers stylos ?
La latence de bout en bout du contact du capteur au premier audio est de 95 ms sur L5, Q8 et T2 avec des cœurs Cortex-M7 exécutant le décodeur OID en 31 ms plus le pipeline audio. B1, B2, F8, K7, KF1, P2, Q6 et Y6 utilisent des cœurs Cortex-M4 avec un temps de décodage total de 52 ms plus l'audio, soit une latence de 120 à 180 ms.
Comment les mises à jour du micrologiciel sont-elles déployées ?
Les mises à jour sont USB uniquement sur tous les modèles de stylos de lecture. Il n'y a pas de Wi-Fi ni de Bluetooth par conception pour maintenir un coût BOM bas et se conformer à la confidentialité des données des enfants. Un utilitaire de mise à jour transmet une image micrologicielle signée de 12 Mo en 35 à 60 secondes, avec un concentrateur d'atelier de production pour 12 stylos disponible pour le flashage par lots OEM à 7 minutes par lot de 12 unités.
Quelle est la différence entre les implémentations de décodeur ASIC et FPGA ?
Les décodeurs ASIC sont utilisés sur B1, B2, F8, K7, KF1, P2, Q6 et Y6 à un coût unitaire inférieur et une consommation d'énergie réduite, mais nécessitent une révision matérielle si le format OID change. Les décodeurs FPGA sur L5, Q8 et T2 coûtent 18 à 30 cents de plus par unité mais prennent en charge les mises à niveau de format futures par micrologiciel uniquement via la reconfiguration de la block RAM.
Combien de langues de micrologiciel sont prises en charge ?
Douze langues sont livrées : anglais, espagnol, français, allemand, italien, portugais, arabe, hébreu, russe, chinois simplifié, chinois traditionnel et japonais. Les chaînes UI résident dans une région de 96 Ko de flash SPI et sont commutées via un sélecteur d'un octet sans reflasher l'image de l'application.
Votre panier
Votre expérience sur ce site sera améliorée en autorisant les cookies. Politique de cookies
Chat on WhatsApp