Le nombre de machines à café, de réfrigérateurs, de distributeurs automatiques et autres appareils électroménagers équipés d'écrans TFT devrait augmenter considérablement dans les années à venir. J'ai récemment constaté que dans de nombreux magasins, le ticket de caisse en plastique a été remplacé par un écran TFT de 7 pouces affichant des publicités pour les produits disponibles. L'essor de la publicité dans les toilettes publiques, pratiquée par les entreprises en Europe et dans le monde entier, montre que l'écran TFT sera bientôt omniprésent.
Alors, de quoi avez-vous besoin pour votre application ?
Commençons par examiner le point principal : comment contrôler un écran TFT ? La plupart des écrans TFT actuels utilisent une interface RGB numérique, RGB888 ou RGB565. La norme RGB définit les couleurs rouge, verte et bleue de chaque pixel, avec le nombre de bits correspondant. Ainsi, en RGB888, chaque couleur est représentée par 8 bits (soit 24 bits par pixel), tandis qu'en RGB565, le rouge et le bleu sont représentés par 5 bits chacun, et le vert par 6 bits (soit 16 bits par pixel). Autre possibilité : au lieu d'une interface d'affichage numérique standard, vous pouvez utiliser un connecteur LVDS, qui devient de plus en plus la norme pour les grands écrans. Dans ce cas, les signaux RGB sont transmis via un signal différentiel, mais le format des données reste identique. Pour commencer, il vous faut donc un appareil capable de générer un signal RGB et/ou une interface LVDS.
Deuxièmement, les données RVB doivent provenir d'une mémoire tampon d'image, généralement stockée en RAM. Cette mémoire tampon est une image bitmap enregistrée au format souhaité. Ainsi, un écran de taille WVGA (480 x 800) nécessitera un peu plus de 1 Mo de RAM pour stocker une image RVB888 (480 x 800 x 24 bits = 1,125 Mo).
Outre la mémoire tampon d'image qui stocke l'image en cours d'affichage, une application classique utilise une mémoire tampon de retour contenant l'image suivante. Ceci permet au processeur de traiter l'image suivante sans que l'utilisateur ne voie une image partiellement traitée clignoter à l'écran avant la fin du traitement. Ce système à double mémoire tampon est très répandu et offre une meilleure qualité globale à l'interface homme-machine (IHM), mais il nécessite également 1,125 Mo de RAM supplémentaires sur votre écran WVGA pour stocker cette mémoire tampon.
L'histoire de la RAM ne s'arrête malheureusement pas là. Dans une application IHM classique, il n'est pas toujours nécessaire de manipuler l'intégralité de l'écran. Par exemple, lorsqu'on appuie sur une icône ou un bouton, celui-ci peut s'animer, s'illuminer, pivoter ou réagir d'une autre manière avant l'exécution de l'action. Dans ce cas, un concepteur d'IHM définit un calque distinct du calque d'image. Un calque d'arrière-plan reste inchangé, tandis que l'icône ou le bouton constitue un calque de premier plan animé. Cela requiert évidemment de la RAM supplémentaire – pas la totalité de la RAM de l'écran, mais une certaine quantité. La quantité nécessaire dépend de la taille de l'image ; prenons l'exemple d'un bouton de 200 × 200 pixels. Il faudrait alors 100 Ko de RAM supplémentaires. Il est également nécessaire de pouvoir combiner tous ces calques et, éventuellement, appliquer un niveau de transparence à certaines images. Ceci peut être réalisé par logiciel si le processeur est suffisamment rapide, ou par matériel, si disponible.
Pour compléter le tableau des besoins en mémoire vive, une application IHM standard peut utiliser environ 3 Mo de données d'image pour un écran WVGA. Si le code est exécuté depuis la RAM, comme c'est le cas pour la plupart des processeurs, 0,5 Mo supplémentaires sont nécessaires. Par conséquent, le minimum requis pour un écran WVGA est de 3,5 Mo de RAM.
Bien entendu, la vitesse d'accès à la RAM est également cruciale. Comme vous l'avez probablement constaté, la RAM est ici utilisée simultanément par plusieurs sources pour écrire et lire. Par exemple, le tampon avant (les données de l'image originale) est lu par le bloc IP pour afficher ces données à l'écran. Simultanément, le tampon arrière peut être mis à jour par le processeur ou par un transfert DMA d'une autre image. Parallèlement, le processeur peut manipuler l'icône mentionnée précédemment et lire son propre code depuis la RAM. Ceci exerce une forte pression sur la bande passante du bus RAM. Ce bus constitue souvent le goulot d'étranglement de l'application ; une architecture de bus performante est donc indispensable pour limiter le risque de surcharge, qui pourrait entraîner l'affichage d'images incomplètes, voire pire, une interface graphique dysfonctionnelle.
Il convient également d'accorder une attention particulière à la capacité du processeur. Un système affichant 24 images par seconde à l'écran devra traiter et créer des données (dans notre exemple, un écran WVGA) à un débit supérieur à 24 Mo par seconde. Cette opération peut être entièrement réalisée par logiciel, ou partiellement par matériel, mais dans tous les cas, le processeur doit être suffisamment rapide pour répondre à ces exigences.
Puisque nous abordons désormais clairement une solution processeur, qui ne disposera probablement pas de mémoire flash intégrée, la prochaine étape consiste à se connecter à une mémoire flash externe. La méthode classique actuelle consiste à utiliser une mémoire flash NOR parallèle externe pour stocker le code, puis, au démarrage, à transférer ce code dans la RAM pour permettre une exécution rapide. Cependant, les dispositifs plus modernes prennent en charge d'autres technologies de mémoire, permettant ainsi aux architectes système de réduire les coûts sans les surcoûts liés à une mémoire flash NOR intégrée onéreuse.
La plupart de ces applications ne se contentent pas de contrôler un affichage. Elles doivent également être connectées au reste du système. Les applications automobiles sont généralement connectées à un bus CAN ou MOST. Les appareils industriels et grand public requièrent désormais des connexions Ethernet et USB. Ces connexions impliquent que le produit le plus adapté devra non seulement intégrer une propriété intellectuelle matérielle, mais aussi offrir des performances suffisantes pour gérer son fonctionnement et un espace mémoire suffisant pour prendre en charge ses piles logicielles.
À propos du RZ/A :
La famille RZ/A est une solution MPU embarquée basée sur un cœur ARM Cortex A9 offrant de nombreux avantages pour le marché des applications IHM. Le RZ/A propose jusqu’à 10 Mo de SRAM intégrée, ce qui en fait la plus grande mémoire RAM sur puce disponible. La famille comprend trois variantes : le RZ/A1H, doté de 10 Mo de RAM ; le RZ/A1M, avec 5 Mo de RAM ; et le RZ/A1L, le plus petit modèle avec 3 Mo de RAM.
Ainsi, compte tenu de la discussion précédente, qui a établi que l'application IHM nécessiterait environ 3,5 Mo de RAM, le RZ/A1M semble parfaitement adapté à ces exigences. Bien entendu, d'autres solutions existent sur le marché utilisant de la RAM externe, qu'il s'agisse de DDR, de SDRAM ou même de quantités supérieures, mais la gamme RZ/A est, à la connaissance de l'auteur, la seule à proposer une telle capacité de RAM interne.
Le RZ/A1H offre au concepteur du système la latitude d'augmenter ou de diminuer la taille de l'écran en fonction de ses besoins et de créer une version optimisée en termes de coûts pour les produits à plus basse résolution.
Les performances de 400 MHz du processeur sont plus que suffisantes pour exécuter une application IHM simple et maintenir la communication via n'importe quel protocole requis par votre système, car toutes les versions de la famille RZ/A incluent CAN (jusqu'à 5 canaux), Ethernet, USB (jusqu'à 2 canaux) et prennent même en charge MOST pour les applications automobiles.
En réalité, le processeur 400 MHz est largement suffisant grâce à deux caractéristiques uniques du RZ/A. La première est le VDC. Le contrôleur d'affichage vidéo de Renesas prend en charge matériellement de nombreuses fonctions nécessaires à la création de l'image finale à l'écran. Le VDC gère jusqu'à quatre couches graphiques différentes, dont deux peuvent provenir d'une caméra externe. Il prend également en charge le mélange alpha. Le mélange alpha est un processus qui attribue à chaque pixel une valeur alpha supplémentaire de 8 bits. Cette valeur détermine la transparence du pixel, permettant ainsi sa superposition sur un autre pixel pour créer l'image finale. Le VDC prend également en charge les opérations d'incrustation chromatique, notamment utilisées en vidéographie pour les effets d'écran vert. Dans ce cas, une couleur est définie comme transparente afin de superposer un objet sur une autre image. Sur certains systèmes, tout cela serait réalisé par logiciel, mais le RZ/A le fait par le matériel ; par conséquent, les 400 MHz se traduisent en réalité par un niveau de performance bien supérieur. Le VDC prend également en charge non seulement la connexion RGB numérique à un écran TFT, mais aussi la connexion LVDS.
Le deuxième facteur contribuant à l'amélioration des performances du processeur dans la famille RZ/A est la résolution du problème de bande passante évoqué précédemment. Un processeur quadricœur térahertz est limité par sa capacité à traiter les données. Or, lorsque ces données sont stockées dans un seul bloc de RAM accessible par un bus unique, le cœur est contraint de ralentir. Le RZ/A, quant à lui, dispose de cinq banques de RAM distinctes.
Chaque banque est connectée à son propre bus dédié de 128 bits, ce qui permet d'écrire dans le tampon arrière, de lire depuis le tampon avant, de manipuler une icône et d'effectuer un transfert DMA, tout en exécutant du code depuis la RAM interne. Il en résulte un gain de performances significatif.
Bien entendu, comme mentionné précédemment, une connexion à une mémoire flash externe est également nécessaire, et le RZ/A est compatible avec toutes les connexions de mémoire non volatile normales, telles que NOR, NAND, SDIO, MMC, etc., mais il dispose également d'une connexion flash série SPI Multi-E/S spéciale qui prend en charge le nouveau protocole quad SPI.
Cette interface QSPI peut atteindre des performances similaires ou supérieures à celles d'une mémoire flash parallèle, tout en bénéficiant des avantages économiques d'une mémoire flash série, tels que la préservation des broches du microprocesseur et la réduction de la taille du circuit imprimé.
En résumé : le RZ/A est simple.
Le dispositif RZ/A, récemment lancé par Renesas, a été conçu spécifiquement pour le marché des interfaces homme-machine. Ce marché présente plusieurs exigences qui, bien que non spécifiques prises individuellement, se combinent pour rendre sa satisfaction très difficile avec les systèmes traditionnels. Le besoin en mémoire vive est important, mais moins que celui d'un microprocesseur doté de 128 Mo de RAM DDR3. Les exigences de fonctionnement sont faibles, à condition que le dispositif soit pris en charge par un contrôleur d'affichage, mais elles ne sont pas suffisamment faibles
pour qu'un microcontrôleur fonctionnant à 100 MHz, par exemple, puisse les satisfaire.
Le RZ/A offre une connectivité étendue pour toutes les applications IHM, des performances largement suffisantes et une quantité généreuse de RAM pour une flexibilité optimale. Solution dédiée et économique, il profitera non seulement au marché florissant des technologies d'affichage, mais contribuera également à son développement.
Auteur : Robert Kalman, responsable marketing produit
, division Communications industrielles, Renesas Electronics Europe GmbH
