logo

Préface
WTF?
Tableau comparatif
PHY
MAC
Électronique: les étiquettes
Électronique: le TRX
Hackitty-hack
Code et schémas
Glossaire

Électronique: les étiquettes

Il existe deux type principaux:

  • Les ESL à segments. Économes en énergie, moins chères, mais seulement capables d'afficher quelques caractères.
  • Les ESL graphiques. Basées sur des écrans e-paper, bien plus chères, mais permettent d'afficher tout et n'importe quoi.

Ces deux types partagent une base commune: un ASIC mixed-signal (analogique et numérique) propriétaire qui s'occupe de la communication infrarouge au plus bas niveau, et qui abrite également un microcontroleur et de la RAM.

Grâce à Deus Ex Silicium, il a été possible d'observer de très près cet ASIC. Il a d'ailleurs publié une vidéo à ce sujet:

Il m'a également fourni plusieurs photos du die, qui ont pu être fusionnées pour produire une photo plus grande.

La finesse de gravure et la complexité du microcontroleur, même sur un circuit conçu pour être le moins cher possible, ne permet pas de discerner individuellement les transistors. Cependant on peut très bien voir les différents blocs:

ESL

Il y a deux zones de RAM distinctes, la plus petite sert de RAM de travail pour le MCU. Si on se réfère aux lignes et aux colonnes, celle-ci ne ferait que 32 octets (!).

La logique pour le pilotage des sorties LCD semble être mélangée avec celle du MCU, il n'y a pas de bloc distinct à part les 4 rails d'alimentation qui suivent le long.

Le bloc PM (Power Management) / Analogique contient de nombreux condensateurs, qui apparaissent comme de gros rectangles de couleur unie. Ce bloc s'occupe de la génération des tensions pour le LCD ainsi que l'amplification et le filtrage du signal provenant de la photodiode.

Le point remarquable est qu'il n'y a pas l'ombre d'un bloc de mémoire flash. Je vois trois raisons à cela:

  • Il faut relativement beaucoup de courant pour effacer et programmer de la flash
  • La RAM statique est plus compacte, elle demande moins de surface par bit
  • Le fait que la RAM soit volatile est peut être un avantage financier

Le côté économe de la RAM est évident, mais la supposition du troisième point l'est moins.

Comme il n'y a pas d'autre bloc de mémoire, le firmware est forcément dans le gros bloc de RAM.
Si l'ESL perd son alimentation, non seulement les données affichées s'envolent mais le firmware aussi.
En clair, quand les piles sont mortes ou retirées pendant trop longtemps, il n'y a aucun moyen de ressusciter l'ESL.

Le chargement initial du firmware se fait très probablement en usine via des contacts qui sont ensuite cachés mais toujours accessibles (voir plus bas).

Restriction pour contrôler le recyclage et garder la main sur les étiquettes ? Simple dommage collatéral lié à l'utilisation de RAM pour faire des économies de quantité ? A vous d'en juger.

 

 

 

Bien sur comme je suis un bourrin, je l'ai cassé. La zone en damier semble être une couche de blindage pour les transistors du MCU. Une partie des autres blocs est toujours visible.

ESL

En comparant avec le die de l'ESL à segments, on peut remarquer de nettes ressemblances vers la partie analogique.

ESL

On peut voir le transistor pour la LED infrarouge, ainsi que plusieurs blocs avec les mêmes motifs.

 

Derrière cet autocollant se trouvent deux petits trous dans la coque de l'ESL donnant sur des pastilles du PCB. L'une va au plan de masse, l'autre à l'ASIC. Des impacts de pointes sont visibles, indiquant que ce sont soit des points tests pour vérifier que l'ESL est vivante en sortie d'usine, soit une interface série pour charger le firmware et leur code unique.

Le fait que des trous aient été prévus dans la coque laisse penser que le chargement du firmware peut se faire à nouveau.

Note: C'est pas du 1-wire, c'est vérifié. Ca aurait été surprenant: il aurait fallu qu'ils paient Maxim pour utiliser la technologie. C'est probablement un protocole unidirectionnel très simple, pour éviter d'utiliser trop de surface dans l'ASIC. J'imagine bien un gros registre à décalage. Il n'y a forcément pas de bootloader, puisqu'il s'effacerait avec le firmware !

ESL

 

Quand on veut remplacer du papier par un appareil électronique et qu'on veut réduire leur prix au minimum, on doit se contenter de pas grand chose:

ESL

"PLL band transmitter" dans la doc commerciale: Certainement quelqu'un qui ne savait pas ce qu'était une PLL.
Merci pour l'information en tout cas !

Le quartz est taillé pour 32768Hz, et sert dès la mise sous tension de l'étiquette (>2.2V).
A droite on trouve la photodiode D1 wire-bondée directement sur la carte, la LED infrarouge de réponse D2 au dessus, ainsi que son condensateur réservoir C4.
Une charge pump intégrée dans l'ASIC génère du 6V sur TP9, probablement pour l'afficheur.
Un procédé nomme "precharge" géré par l'infrastructure permet a l'étiquette de recharger C4 entre plusieurs réponses (allant jusqu'a 2 secondes) afin d'obtenir une réponse puissante malgré le peu de courant disponible instantanément avec les piles CR2032.
TP13: Tension piles (3V).
TP18: Masse.
A noter: 3 fins de pistes sans vernis sont visibles à gauche de R2, possiblement une interface de programmation ou de debug propriétaire.

 

Logos

 

Tiens, qui voilà ?
Solomon-Systech sont basés à Hong Kong. Ils sont spécialisés dans les drivers pour écrans de tout genres et ont leur propre ligne de MCUs (dont ils ne parlent plus sur leur site aujourd'hui).

 

Todo...

ESL

Cool comme badge !

ESL

Toujours les trous pour la programmation en usine (étiquette retirée). Fixme: le trou à gauche est utilisé.

ESL

Tiroir contenant les deux piles CR2032. Il est soudé !

ESL

Surprise à l'ouverture: un tag sans contact collé derrière l'écran. C'est clairement du RFID, pas un bête antivol 8.2MHz.

ESL

TP12_B: Prog ?
TP21_B: VBatt
TP18_B: GND

footer
symbol symbol symbol symbol symbol