Scanner de codes-barres Motorola

Les terminaux portables industriels sont des ordinateurs durcis et connectés qui tiennent dans une main. Cette définition peut vous rappeler vaguement celle d’un smartphone mais ces équipements existaient bien avant leur démocratisation. Equipés d’un lecteur de codes-barres ou de QR-code, ils servent à mettre à jour les inventaires des magasins d’usine ou des supermarchés en scannant les produits et en reportant les quantités à une base de données.

Nous allons étudier en détail deux terminaux équipés de scanners : les Motorola MC3000 et MC3190. Ces modèles étant obsolètes, nous essayerons de voir comment leur donner une nouvelle vie.

Présentation

Les Motorola MC3000 et MC3190 sont des terminaux mobiles tournant sous Windows CE, disposant d’un scanner à codes-barres, d’une interface tactile et d’un clavier simplifié utilisable avec une main.

symbol1

symbol2

Le MC3000 et le MC3190 se ressemblent comme deux gouttes d’eau. Le MC3190 se distingue par ses boutons latéraux jaunes. Sur le papier, les différences sont nombreuses car une génération sépare ces deux terminaux :

MC3000 MC3190
Réf. étudiée MC3000R-LC28S00GER MC3190-RLS04E0A
Processeur Intel Xscale PXA270 520MHz Marvell PXA320 624MHz
Affichage TFT 65k couleurs, 324x324 TFT 65k couleurs, 320x320
Mémoire vive 64Mo SDRAM 133MHz 256Mo SDRAM 133MHz
Mémoire Flash 64Mo 1024Mo
Stockage Carte SD Carte SD
I/O RS232, USB, Bluetooth RS232, USB client/host, Bluetooth v2.1
WLAN 802.11a/b/g
Clavier 28 touches 28 touches
Tactile Résistif Résistif
Son Buzzer HP, écouteur, prise casque
Micro Oui
Batterie Li-Po 2740mAh Li-Po 2740mAh
Etanchéité IP54 IP54
Scanner 1D 1D (SE950)
OS Windows CE 5.0 Windows CE 6.0
Fin de vente 2011 2015

Motorola ou Symbol ? Symbol Technologies est une entreprise américaine spécialisée dans les scanners de codes-barres rachetée par Motorola Solutions en 2007 puis revendue à Zebra Technologies en 2014.

Ces terminaux sont équipés d’un unique connecteur 16 broches placé en bas du clavier qui contient le port RS-232, le port USB et l’alimentation bidirectionnelle : les terminaux sont capables de se recharger ou d’alimenter des modules supplémentaires en 5V.

Les terminaux m’ont été donnés avec des bases CRD3000-1000R et CRD-3000-1001R. Elles sont pourvues d’un connecteur jack pour alimentation 12V/3.3A, d’un port RS-232 au format RJ45 et d’un port USB. Elles accueillent le terminal et/ou une batterie supplémentaire à charger. Il n’y a pas de différence flagrante entre ces modèles.

symbol22

symbol23

Déblocage

L’application Symbol AppCenter est une surcouche de Windows CE qui permet au gestionnaire des machines de verrouiller leur utilisation à certaines taches précises. Le MC3190 dont je dispose boote directement dessus, ce qui m’empêche d’avoir accès à toutes les fonctionnalités du terminal. Le blog dotfret (merci à l’auteur) donne une méthode pour réinitialiser le mot de passe administrateur mais elle nécessite un PC sous Windows avec ActiveSync. Voici une méthode pour le faire sans PC.

Retirer la batterie puis la remettre. Le terminal boote.

unlock1

Appuyer de manière répétée sur la touche ESC. Windows CE devrait booter puis lancer un programme d’installation. Arrêter les appuis au premier message d’erreur.

unlock3

Sans toucher au message d’erreur, cliquer sur le menu Démarrer, Programs puis Microsoft WordPad.

unlock4

Cliquer sur File, Open. Se rendre dans le dossier Application puis ouvrir AppCenter.reg.

unlock5

Supprimer les clés qui ressemblent à :

"{B6235F29-5B71-4389-A0A6-ACF2758AC1DC}"=hex:00,00,00,00

"{2EACC9DF-C9BF-428E-9074-D50B57D0D747}"=hex:2F,00,2A,00,22,00,24,00,3B,00,3C,00,73,00,52,00,07,00,1E,00,17,00,3C,00,2B,00,35,00,27,00,25,00,16,00,0A,00,3C,00,3D,00,0D,00,2F,00,3E,00,25,00,37,00,21,00,08,00,06,00,19,00,11,00,0C,00,57,00

Sélectionner File puis Save. Revenir au message d’erreur, sélectionner l’un des choix et laisser la séquence d’installation se poursuivre. Symbol AppCenter devrait démarrer tout seul. Sélectionner Tools, Admin Login puis entrer le mot de passe symbol. Des menus supplémentaires devraient s’afficher, permettant de quitter AppCenter et de revenir sur Windows CE.

Démontages

Symbol MC3000

Le terminal ne démarre pas et ne se charge pas. Une bonne excuse pour voir ce qu’il y a dedans.

La coque étanche se sépare en deux le long de son joint de caoutchouc. Deux PCB sont visibles. Il y a deux paires torsadées issues du PCB du haut : celui de gauche pour l’écouteur, le second pour une batterie de secours Ni-Mh de 3.6V/15mA.

symbol5

Le PCB du haut est un multicouches très dense.

symbol7

Il contient un CPLD Xilinx CoolRunner II XC2C128. Il est cadencé à 244MHz, possède 128 cellules et 3000 portes logiques, et est compatible avec les niveaux logiques de 1.5V à 3.3V. A côté, deux mémoires flash Intel JZ48F4000L0YBQ0 MLC d’une capacité de 32Mo chacune. La puce en bas à droite fournit de l’énergie pour le rétroéclairage. Celle tout à droite est un régulateur de tension 3.1V.

Quel est l’intérêt d’avoir un CPLD ? D’une part, à cause de la finesse de gravure, les anciens system-on-chip sont moins bien pourvus que ceux actuels. D’autre part, les fabricants de smartphones ont besoin d’intégrer rapidement des périphériques hétérogènes qui ne sont pas toujours conçus pour dialoguer avec le SoC. Le CPLD étant un composant à tout faire, il est parfait pour interfacer rapidement tout ce petit monde. Cette note commerciale de Xilinx montre les problèmes d’intégration rencontrés et les solutions déployables rapidement : adaptateur de niveaux logiques, contrôleur clavier, lecteur de cartes SD/CF, contrôleur de SDRAM… Plus d’infos.

Le PCB est lié à l’écran par deux nappes : une pour le rétro-éclairage et une pour la matrice de pixels. L’assemblage est serré, je me demande comment cela a été monté.

symbol19

Au premier plan, deux transceivers Texas Instruments SN74AVCBH324245. Ils ont pour rôle d’adapter les tensions entre deux circuits intégrés dont les seuils logiques sont incompatibles. Ils peuvent traiter chacun 32 bits en parallèle de manière bidirectionnelle et acceptent des signaux de 1,4V à 3,6V. Je suppose qu’ils s’intercalent entre le CPU dont l’interface SDRAM est à 1,1V et les puces SDRAM à 1,8V.

A leur droite, deux mémoires SDRAM de 32Mo Infineon HYE18L256160BC-7.5.

symbol20

Au fond à gauche, un ASIC Symbol AT56C73-JCT1T. C’est probablement la puce qui contrôle le scanner à codes-barres et qui communique directement avec le SoC tel un périphérique.

symbol21

A droite, le CPU Intel Xscale PXA270 cadencé à 520MHz intégré dans un SoC Marvell RTPXA270C5. Les processeurs Xscale ont une architecture 32 bits et un jeu d’instructions spécifique. Installer Linux dessus ne va pas être une mince affaire… Ils ont équipé les PocketPC type Blackberry ou Palm.

Ce SoC possède les interfaces suivantes (fig. Intel):

  • AC'97,
  • I2S,
  • USB client/host/OTG,
  • UART (3x)
  • IrDA,
  • Carte SD ou MS,
  • Clavier,
  • Ecran LCD monochrome/couleur jusqu’à 800x600.

Voyons le PCB inférieur qui bat des records de densité.

symbol15

La première nappe alimente les diodes du témoin de charge, en façade. La seconde provient de l’écran tactile résistif. Il y a ensuite deux connecteurs horizontaux : le premier (blanc) fait la jonction avec l’autre PCB et le second (noir) est composé de contacts à ressorts qui épousent la batterie. La nappe reliée au premier est défectueuse : l’écran s’allume mais l’interface tactile et le clavier ne fonctionnent pas. Impossible de trouver une pièce de rechange.

La première puce à droite est une Texas Instruments MB3243I. A l’opposé, un microcontrôleur de type AVR ATMEL MEGA16L.

Au centre, le lecteur de cartes SD entouré de la nappe orange du clavier et d’une alimentation à découpage.

En bas, le connecteur externe.

Symbol MC3190

Le MC3190 fonctionne bien mais nous allons tout de même le démonter légèrement car la comparaison avec son prédécesseur est intéressante.

La coque du MC3190 est similaire à celle du MC3000, la différence flagrante étant l’emplacement oval pour le haut-parleur et la présence d’une prise casque/micro au format 2,5 mm.

MC3190

Le MC3190 étant pourvu de connectivité Wi-Fi et de Bluetooth, le PCB du haut est blindé. On distingue deux antennes latérales reliées à des fils blindés gris et une antenne reliée à un fil noir. Le blindage en aluminium se dévisse par le côté opposé, ce qui m’a obligé à débrancher la nappe de l’écran. J’espère pouvoir la remettre sans galérer.

MC3190

Sous le blindage, on distingue 4 zones :

  • En haut, un grand nombre de petits semiconducteurs, le plus grand étant une horloge temps réel Intersil ISL12024IRTCZ. Elle compte l’heure et les jours, enregistre deux alarmes et contient un numéro unique sur 64bits gravé lors de la fabrication.
  • A gauche, un module Wi-Fi Symbol 21-92955 pour lequel aucune documentation n’existe.
  • A droite, une alimentation à découpage.
  • En bas, la puce Bluetooth protégée par un point de colle chaude et une puce audio Wolfson WM9714. Spécialement conçue pour Windows CE, elle s’interface en AC'97 avec le SoC, dispose de sorties stéréo ampifiées pour le casque et les haut-parleurs et d’entrées micro.
  • En bas à gauche et entourée de composants passifs, une minuscule puce dont je n’arrive pas à lire la référence.

On retourne le PCB. Procédons à une analyse de gauche à droite et de haut en bas.

MC3190

  • Une puce de mémoire vive Micron “00A98 JW33”.
  • Un SoC Marvell PXA320 qui intègre un CPU Intel XScale cadencé à 624MHz et un GPU 2D. Il est capable de changer la tension et la fréquence du CPU à la volée pour économiser de l’énergie. Pour en savoir plus sur l’architecture et les entrées/sorties : fig. Marvell.
  • Un régulateur de tension Maxim MAX8661E à huit sorties spécialement conçu pour les SoC PXA300 : il fournit toutes les tensions nécessaires à son fonctionnement. Il est piloté par le SoC via une interface I2C.
  • Un CPLD Xilinx CoolRunner-II XC2X256 composé de 256 cellules et cadencé à 256MHz. Il coûte actuellement (04/2022) 25€, donc on comprend pourquoi ils ont rapidement disparu des smartphones et PocketPC. Etant donné que le PCB est dense et multicouches, il est difficile de voir ce qu’il interface.
  • Deux emplacements non peuplés, dont un pour une mémoire flash. D’ailleurs, où est-elle ?

Le PCB du bas est similaire à celui du MC3000: la connectique est identique et on retrouve l’ATMEL MEGA16L. Le composant en bas à droite est un Maxim MAX323 qui joue le rôle de double relai statique. Il pourrait servir à fournir du courant à des modules connectés au port externe.

MC3190

Base

Le PCB comporte 3 couches. Les 2 faces visibles sont majoritairement des plans de masse qui prennent en sandwich les bus et assurent la dissipation thermique des composants de puissance.

base

Seule une face est peuplée. Il y a une séparation nette entre la partie puissance et la partie données. Cette dernière est assez dépouillée car le contrôleur des ports série et USB (le fameux SoC) est dans le terminal.

La partie puissance est scindée en deux parties. Le chargeur de batteries Li-ion est géré par un ATMEL MEGA8535L qui pilote deux transistors de puissance dont la référence n’est pas lisible. L’alimentation de la prise 16 broches est orchestrée par un régulateur à découpage Fairchild FAN5234 qui pilote les deux mosfets au format DIP8 situés à côté de la bobine.

A côté des 3 connecteurs non peuplés se trouve un microcontrôleur ATMEL ATINY12L dont j’ignore la fonction.

Conclusion

Les terminaux mobiles sont d’une densité remarquable. La composition hétérogène des composants et les nombreuses alimentations donnent une idée des contorsions dont les concepteurs ont dû faire preuve.

Que peut-on en faire ?

A suivre !

Historique

  • 2022-04-24 Création