hack UMPC autour de Raspberry-PI - découverte de l'interface DPI pour contrôler les écrans LCD

Haaaa enfin, la vidéo du dimanche :-)
Cette fois, je me suis penché sur le Pi et plus spécialement sur des Hack afin de réaliser des UMPC autour de Raspberry-Pi mais en plus nous allons apprendre des choses intéressantes sur l'interface DPI.
UMPC: Ultra Portable Personnal Computer = Ordinateur Personnel Ultra Portable.

Vous allez voir, c'est vraiment bleufant!
Bonne lecture,
Dominique


UMPC selon Pole-Ergo.fr
C'est au détour de ce projet Thingiverse que j'ai croisé la projet de Pole-Ergo.fr.
Source: Le projet thingiverse de pole-ergo.fr

Cette vidéo YouTube présente d'ailleurs très bien le projet


Un hack vraiment très poussé d'un Raspberry-Pi pour réaliser un UMPC.
Source: Le projet thingiverse de pole-ergo.fr
  • Les port Ethernet, Camera, display, HDMI ont étés déssoudés!
  • Les ports USB ont également étés enlevés pour être remplacés par deux ports simple.
  • Une troisième port USB à été déporté pour le mini clavier.
  • Le SoC du Pi est refroidit avec un élément récupéré d'un système caloduc.
  • Les broches GPIO sont réduites à leur plus simple expression pour accueillir la carte graphique   
Les produits utilisés ici sont:
Tout ces produits peuvent être obtenu chez MC Hobby, distributeur des produits Adafruit en France et Belgique.
Source: Le projet thingiverse de pole-ergo.fr
Un boulot de fou... mais une très belle réalisation.
Je suis très impressionné.
Voyez les liens suivants pour plus d'information:
HDMI vs Interface DPI
Il est tout à fait possible de se passer de la sortie HDMI pour afficher une sortie vidéo sur le Raspberry-Pi.
Il est possible d'utiliser un écran TFT avec interface DPI (Parallel Display Interface sur Raspberrypi.org) sur un Raspberry-Pi.
C'est d'ailleurs ce que fait ce projet en pilotant directement un écran LCD avec un connecteur/ruban 40 broches.
Ecran LCD 40 broches
Un tel écran ne dispose pas de mémoire et doit donc être constamment rafraîchit à une fréquence de 60 Hertz (60 fois par secondes).

Il est donc courant que ce type d'écran soit associé avec une électronique complémentaire, par exemple, une carte pilote RA8875 qui dispose d'une mémoire vidéo et prend en charge ce rafraîchissement.
Juste pour info, le pilote RA8875 expose une interface SPI permettant d'écrire dans la mémoire vidéo, ce qui en fait un compagnon de choix pour des projet MicroControleur puissant -OU- nano-ordinateur... mais cela est un peu hors sujet dans le cadre du présent projet.

Adafruit Kippah une contrôleur DPI pour LCD
Contrôleur DPI TFT Khippa pour Raspberry-Pi
Ce contrôleur permet de contrôler une écran TFT DPI (40 broches) depuis le GPIO 40 broches du Raspberry-PI. Cette interface est compatible tous les modèles Raspberry-Pi B+, A+, Pi 2, Pi 3 ou Zero et ne réclame qu'une petite configuration logicielle pour être pris en charge.

Le SoC Boardcom étant développé pour le monde la téléphonie, il est donc normal que ce dernier supporte une interface DPI permettant de brancher directement un LCD sans avoir recours à un contrôleur HDMI (voir le document Parallel Display Interface sur Raspberrypi.org).

Cela signifie donc que l'on peut se passer de la sortie HDMI sur le Pi mais attention car il n'est pas possible d'utiliser HDMI et DPI en même temps! DPI remplace HDMI! Il n'est même pas possible de basculer de l'un vers l'autre (comme le font les PC modernes).

DPI difficilement compatible avec le hacking électronique
Il est également important de noter que la configration DPI est hardcodé dans le système et qu'il n'est pas conséquent pas possible de déplacer les broches GPIO utilisées. DPI utilise presque toutes les broches GPIO de 2 à 21 inclus.
Les conséquences:
  • plus de bus I2C matériel disponibles sur le GPIO, 
  • plus de bus SPI matériel disponible sur le GPIO, 
  • plus d'UART RX/TX disponible sur le GPIO.
Le point concernant l'UART étant nettement plus problèmatique puisque vous ne disposez plus de solution de secours pour reprendre la main sur votre Pi à l'aide d'une console série.

Il vous reste néanmoins:
  • les GPIO #22, #23, #24, #25, #26 et #27
  • Les ports USB
FT232H, le GPIO extender via USB
A noter quand même qu'il est possible d'ajouter un GPIO extender via la connexion USB.
Grâce au FT232H vous pouvez bénéficier de GPIO, bus I2C et bus SPI matériel via USB. Carte qui fonctionne sur Pi mais également PC Windows et Mac.
FT232H disponible de stock chez MCHobby

Du coup, vous pouvez contourner la limitation la plus contraignante avec une certaine élégance. Le module USB FT232H peut également être contrôlé en Python :-)

Pour en savoir plus sur cette extension, n'hésitez pas à consulter: