1 points par GN⁺ 5 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Le moniteur E Ink de 13,3 pouces se rafraîchit 60 fois par seconde à 300 ppp, et est devenu un vrai produit après 4 ans de développement de son propre contrôleur, matériel et firmware
  • Les contrôleurs E Ink existants imposent un délai d’environ 100 ms pour une mise à jour globale, ce qui force un compromis entre vitesse et contraste, tandis qu’une mise à jour par pixel rafraîchit immédiatement les pixels modifiés
  • La mise à jour par pixel fait passer la bande passante requise sur un affichage noir et blanc de 13 pouces de 20 Mo/s à 540 Mo/s, ce qui impose de la DDR3 et du DisplayPort
  • Les niveaux de gris sans clignotement étant impossibles, l’approche combine Bayer dithering, blue noise, error diffusion et un mode d’affichage hybride
  • Le résultat final est un moniteur E Ink à haute fréquence de rafraîchissement avec écran tactile, éclairage frontal, options de couleur, plusieurs modes d’affichage, et du matériel, gateware FPGA et firmware open source

Point de départ : d’un ordinateur portable E Ink à un contrôleur maison

  • Le moniteur E Ink à 60 fps fonctionne à 300 ppp et se rafraîchit 60 fois par seconde, même si E Ink n’est pas une technologie d’affichage connue pour sa rapidité
  • Le point de départ du développement était un ordinateur portable E Ink ; à l’époque, les SoC compatibles E Ink étaient conçus pour les liseuses, avec une faible consommation, des processeurs lents et des interfaces limitées
  • Pour créer un portable, il fallait séparer le SoC et l’écran, puis insérer entre les deux une puce pilote basée sur FPGA afin de construire son propre contrôleur E Ink
  • Le design initial du portable comprenait un écran LCD en forme de barre fonctionnant comme une grande Touch Bar, avec l’idée que certaines tâches nécessitaient un affichage rapide tandis qu’E Ink pouvait rester lent
  • Les 60 fps n’étaient pas l’objectif principal au départ ; il suffisait d’être assez rapide pour un portable, et si 60 fps étaient inatteignables, 15 fps restaient un objectif acceptable

La vitesse et la qualité obtenues grâce à la mise à jour au pixel

  • Les contrôleurs E Ink classiques utilisent un temporisateur de mise à jour globale et attendent la fin de la mise à jour précédente avant de rafraîchir l’écran
  • Une mise à jour classique prend environ 100 ms, ce qui signifie que dans le pire des cas, une nouvelle image peut attendre 100 ms avant même d’être traitée
  • Si l’on accélère ce temporisateur, le framerate augmente, mais les particules E Ink n’ont plus assez de temps pour réagir, et l’image paraît délavée
  • Cette méthode impose un compromis entre fréquence de rafraîchissement et contraste, que certains contrôleurs tentent d’atténuer en rafraîchissant indépendamment 4 à 16 zones
  • Cette atténuation par zones oblige le logiciel à gérer directement ces zones et reste malgré tout limitée
  • La mise à jour par pixel traite chaque pixel comme une zone de mise à jour indépendante, et tout pixel modifié commence à être rafraîchi immédiatement, sans attente
  • Cette méthode permet d’obtenir à la fois un framerate élevé et un contraste élevé, supprimant le compromis habituel entre vitesse et qualité
  • Son inconvénient est la bande passante mémoire : sur une dalle de 13 pouces affichant une image noir et blanc, un contrôleur classique nécessite 20 Mo/s, contre 540 Mo/s avec cette approche
  • Cette forte demande en bande passante impose de la DDR3 au lieu de la SDRAM de base, et du DisplayPort au lieu de l’USB, ce qui augmente les coûts
  • Pour la lecture, cette configuration n’est pas nécessaire, mais pour un usage en tant que moniteur, la différence est majeure

Qualité d’affichage : dithering et niveaux de gris hybrides

  • Le projet a fini par s’orienter vers la création d’un bon moniteur avant celle d’un portable, puis a continué pendant plusieurs années sur le temps libre
  • E Ink ne permet pas de produire des niveaux de gris sans clignotement, ce qui rendait le dithering indispensable
  • Trois algorithmes de dithering ont été implémentés : Bayer dithering, blue noise et error diffusion
  • Le Bayer dithering est rapide mais produit des motifs visibles ; le blue noise donne un meilleur rendu ; l’error diffusion offre la meilleure qualité mais passe mal à haute résolution
  • Le dithering fonctionne, mais ne dépasse pas les limites d’un vrai niveau de gris, à l’exception des niveaux de gris obtenus par clignotement
  • Les moniteurs existants choisissaient soit d’implémenter un mode clignotant lent, soit de sauter complètement les niveaux de gris
  • L’approche hybride bascule en mode binaire rapide quand l’image change, puis rerend l’image en niveaux de gris lorsqu’elle se stabilise un instant
  • Cette méthode convient bien à la lecture, mais moins à d’autres usages ; grâce au contrôleur maison, il était possible d’optimiser le comportement pour chaque cas d’usage sans être enfermé dans des modes prédéfinis

Itérations matérielles et passage au produit

  • Le premier prototype utilisait un DisplayPort pleine taille, avant de passer ensuite à l’USB Type-C avec DisplayPort
  • Après l’arrêt d’un circuit intégré de gestion d’alimentation, il a fallu le remplacer par des convertisseurs DC-DC séparés
  • Une surveillance complète de la tension et du courant a été ajoutée à la carte afin de protéger l’écran contre des événements de latch-up imprévus
  • Chaque changement nécessitait une nouvelle révision de PCB, et chaque révision apportait son lot d’apprentissages
  • Quand le premier design de boîtier est revenu du sous-traitant, l’ensemble a commencé à ressembler à un vrai produit plutôt qu’à un PCB nu posé sur un bureau
  • Le produit a été montré à Hackaday Supercon, LatchUp et lors des événements Teardown de Supply, et les gens voulaient réellement qu’il existe
  • Comme la technologie fonctionnait, qu’il y avait une demande et que le design existait, il a quitté son emploi pour donner l’impulsion finale au projet
  • Le plan consistait à se concentrer pendant quelques mois pour peaufiner le design, fabriquer puis expédier

Refonte complète, problèmes fournisseurs et fonctions finales

  • Peu après le passage à plein temps, E Ink a annoncé une nouvelle dalle offrant une résolution plus élevée, de meilleures spécifications et un prix plus bas
  • Cette nouvelle dalle pouvait conduire à un meilleur produit, mais sa résolution plus élevée exigeait un circuit décodeur à haute bande passante, de la mémoire DDR à haute bande passante, un nouveau FPGA et une alimentation capable de fournir plus de courant
  • Ce changement revenait à remplacer presque toute la carte et a entraîné au moins six mois de retard
  • Pour le produit final, l’approche a changé : au lieu de concevoir d’abord la carte puis d’adapter le boîtier, il a fallu définir d’abord le format, avec le châssis, les dimensions exactes et les points de fixation, puis adapter la carte
  • Cette nouvelle méthode a rendu l’ensemble du design plus optimisé et plus cohérent, mais a nécessité une nouvelle révision majeure
  • Un prototype entièrement assemblé a été présenté à Design Shenzhen, mais il était encore trop instable pour être expédié à cause de glitches aléatoires, de coupures vidéo et d’échecs d’initialisation
  • Le fournisseur de la puce de décodage vidéo a refusé d’aider malgré un NDA et un contrat de service, et n’avait pas fourni le code du pilote dès le départ
  • Il a fallu payer un supplément pour obtenir le code source permettant d’utiliser la puce, mais ce code ne fonctionnait pas, et davantage d’argent a encore été demandé pour un code fonctionnel
  • Un autre fournisseur a ensuite été choisi ; il était bien plus agréable de travailler avec lui, mais sa puce n’était pas disponible au lancement du projet
  • Le support de l’écran tactile a ensuite été ajouté, ce qui a nécessité l’intégration d’un nouveau contrôleur tactile, l’écriture de pilotes et le traitement de la calibration
  • Ont aussi été ajoutés un éclairage frontal sans scintillement, un limiteur de framerate utile pour la netteté, un mode basse consommation pour économiser l’énergie lorsqu’aucune alimentation n’est branchée, ainsi qu’un affichage à l’écran pour contrôler ces fonctions
  • Chaque fonction semble simple en une phrase, mais sa mise en œuvre correcte a pris des semaines, et la ligne d’arrivée n’a cessé de reculer
  • Une fois à plein temps sur le projet, il a travaillé encore davantage que lorsqu’il était salarié ; les nuits et les week-ends se sont confondus, et le jeu comme le temps libre ont diminué
  • En décidant lui-même, l’exécution était immédiate ; une fois un problème résolu, il le restait ; et il n’était pas nécessaire de convaincre d’autres personnes pour implémenter une fonctionnalité
  • Quatre ans plus tard, le résultat est un moniteur de 13,3 pouces, jusqu’à 60 fps, à très faible latence, avec plusieurs modes d’affichage, écran tactile, éclairage frontal et options de couleur
  • Le design matériel, le gateware FPGA et le firmware sont tous publiés en open source, ce qui permet aussi de le fabriquer soi-même

1 commentaires

 
GN⁺ 5 시간 전
Commentaires Lobste.rs
  • J’ai rencontré Alex au FOSDEM cette année et j’ai vu cette démo, ça avait l’air vraiment bien

    • Moi aussi je l’ai vue, et ça donnait presque une impression de ça y est, c’est enfin là
      C’est encore un prototype et le boîtier n’est pas terminé, donc je ne suis pas totalement certain, mais ça semblait très prometteur, et mon prochain achat e-ink sera probablement un produit modos
  • J’ai le kit de développement reçu à l’époque de la campagne Crowd Supply, donc si vous avez des questions n’hésitez pas

    • C’est agréable à coder ?
    • Y a-t-il des mesures quantitatives de la consommation électrique ? Les seules spécifications que j’ai trouvées donnaient juste un ordre d’idée du genre « élevé » par rapport au « faible » habituel du papier électronique
      Je serais aussi curieux de connaître le contraste en plein soleil, et de savoir si vous avez déjà eu des problèmes côté logiciel
  • C’est un écran vraiment magnifique. Ce serait bien dans un laptop ou une tablette, mais je ne suis pas sûr d’avoir l’usage d’un petit écran externe seul
    L’explication disant que « en déplacement, un seul câble USB Type-C peut faire fonctionner le Flow jusqu’à 40 Hz, et au bureau on peut brancher une alimentation supplémentaire pour profiter du taux de rafraîchissement complet à 60 Hz » me paraît un peu étrange
    Je n’ai pas trouvé les chiffres de consommation, mais un seul câble USB-C peut alimenter un laptop haut de gamme entier, donc j’ai du mal à croire qu’un écran seul consomme plus que ça

    • Si je comprends bien, la question est plutôt de savoir si l’entrée fournit de l’USB Power Delivery
      Un moniteur de bureau avec entrée AC/DC peut fournir du PD à 60 W ou 100 W, mais mon laptop, lui, ne fournit pas de PD
      J’ai un appareil photo qui se recharge uniquement en PD ; il se connecte bien au laptop en USB-C, mais il lui faut 25 W ou 30 W donc le laptop ne peut pas le recharger
      Cela dit, mes autres moniteurs portables à la maison fonctionnent avec le seul USB-C du laptop. L’e-ink a besoin d’une tension supérieure à 5 V pour effacer les cellules, donc à 60 Hz il est possible que la conversion élévatrice fasse trop monter la consommation
  • J’ai un peu de mal à y croire. De ce que j’en comprends, une faible fréquence d’images semble être essentiellement une limite logicielle plutôt qu’une limite matérielle ; pourquoi est-ce que ce n’est pas encore plus répandu ?

    • À cause du coût et de la fiabilité. L’usage principal des écrans e-ink, c’est la faible consommation, donc des contrôleurs gourmands en énergie et à forte bande passante vont à l’encontre de cet objectif, ce qui limite les investissements
      Il y a aussi peu de raisons d’ajouter des contrôleurs plus chers dont les clients n’ont pas besoin, et si on pousse davantage l’e-ink, sa durée de vie diminue, ce qui change la proposition de valeur
      Les écrans e-ink sont déjà chers à cause des coûts de licence des brevets et d’une conception mécanique exigeante. C’est un peu comme si on pouvait faire rouler une Toyota Corolla à 150 mph, mais qu’il faudrait modifier des éléments internes prévus pour le confort, retirer certains dispositifs de sécurité, et que les pièces mobiles risqueraient de casser après seulement un tour
    • Ce n’est pas seulement un problème logiciel. Il a fallu concevoir des contrôleurs matériels spécialisés pour gérer les contraintes physiques des pixels, et ajuster très finement la vitesse de mise à jour
      Au fond, l’idée que « tout hardware est un algorithme, donc tout commence en software » reste vraie, mais dans le cas de l’e-ink, le marché des contrôleurs n’a jamais atteint la maturité de plusieurs décennies de marchés comme ceux des contrôleurs DVI ou VGA
      Le travail d’Alex étant open source, je pense qu’il y a de bonnes chances que cela puisse être reproduit à grande échelle à un moment pas trop lointain
  • Il semble clairement y avoir une demande pour des écrans réfléchissants avec taux de rafraîchissement élevé et fort contraste. Mais je me demande pourquoi la plupart des approches consistent à « essayer d’utiliser ou de bricoler du papier électronique classique »
    Pourquoi les fabricants ne produisent-ils pas des dalles LCD réfléchissantes de plus de 6 pouces, dans l’esprit de la gamme Memory Display de Sharp ?
    Et tant qu’à faire, j’aimerais bien que l’industrie électronique fabrique aussi des écrans électromouillants qu’on puisse réellement acheter

    • Mon impression, c’est que l’e-ink se rapproche davantage du papier que le LCD réfléchissant