L'écran LCD présente de nombreux avantages, tels qu'une faible tension de fonctionnement, une faible consommation d'énergie, une grande quantité d'informations d'affichage, une longue durée de vie, une intégration facile, une portabilité facile et une faible pollution par rayonnement électromagnétique. Il a émergé dans la technologie d'affichage et est largement utilisé dans les téléphones mobiles, les produits PDA et les instruments de poche. Instruments et autres produits et appareils électroniques portables.
Le circuit d'attaque LCD est une partie importante du système d'affichage à cristaux liquides et est un circuit d'interface entre l'ordinateur (ou MCU) et le panneau à cristaux liquides. Sa fonction principale est de moduler la phase et la valeur de crête du signal de potentiel qui est délivré aux électrodes du dispositif d'affichage à cristaux liquides. Fréquence et autres paramètres pour établir le champ électrique du convertisseur de fréquence. En raison de la grande différence dans les spécifications LCD, la méthode classique consiste à développer un circuit de commande dédié pour chaque type d'écran LCD. Une telle conception perd du temps et a une faible réutilisabilité. Pour cette raison, il est nécessaire de concevoir un noyau IP qui puisse être utilisé pour la plupart des circuits de lecteurs LCD à petite échelle, et il est nécessaire de résoudre ce problème en multiplexant le cœur IP. Actuellement, seuls Yu-Jung Huang et d'autres de l'Université I-Shou ont conçu des cœurs IP capables de piloter des LCD de différentes tailles pour réaliser cette fonction en intégrant des microprocesseurs intégrés dans le système. Cependant, ce microprocesseur intégré rend le système plus complexe et plus coûteux. Le noyau IP du circuit de commande conçu pour piloter les LCD de différentes tailles est mis en œuvre en utilisant FPGA, qui peut efficacement surmonter les inconvénients de la complexité du système de circuit et le coût élevé.
Structure du système de base IP
Figure 1 Structure du système de base IP
Diagramme d'arrangement de cascade de base IP
Figure 2 Agencement en cascade de noyau IP
Résultats de simulation de la fonction de contrôle de ligne
Figure 3 Résultats de la simulation de la fonction de contrôle de rangée
Résultats de la simulation de la fonction de contrôle de la colonne
Figure 4 Résultats de la simulation de la fonction de contrôle de la colonne
Spécification de conception
Afin de répondre aux besoins actuels de la plupart des petites applications d'affichage LCD, la puce de base IP du circuit de pilote LCD conçue dans ce papier dispose de 64 sorties COM (ligne) et 64 sorties SEG (colonne) et dispose d'un processeur 8 bits haut débit. interface MCU parallèle. Et l'interface série, la puce contient la RAM qui stocke les données d'affichage, et a conçu spécialement 10 extrémités de contrôle, peut contrôler de manière pratique et flexible. Il a principalement les fonctions principales suivantes:
1. Fournir un signal de synchronisation de balayage et des données de signal d'affichage pour l'affichage à cristaux liquides;
2, soutenir la connexion directe avec le MCU sous la forme d'un bus;
3, peut conduire différentes échelles de LCD (n & TImes; m), n peut être une valeur continue (n = 0 ~ 63), m ne peut prendre un multiple de 8 (m = 8k, k prendre un nombre naturel);
4. Prend en charge la cascade entre les cœurs IP pour piloter de plus grands écrans LCD, prenant en charge jusqu'à 4 cascades inter-banques de base IP et cascades inter-colonnes;
5, peut fournir une plus large gamme de tension de sortie de lecteur pour s'adapter à différents dispositifs LCD;
6, pour fournir une image dans l'image, un affichage sur écran partagé et d'autres fonctions.
Conception de base IP
Dans ce document, selon la méthode de conception «top-down», diviser d'abord la puce en fonctions hiérarchiques, tout en se référant à l'expérience de conception de puce pilote LCD existante, et combiner la méthode de conception «bottom-up» pour concevoir certains modules. Enfin, selon le cadre de conception du système, chaque module est coordonné et la vérification fonctionnelle globale de la puce est effectuée de manière à répondre aux exigences de la spécification de conception.
structure du système
La structure du système de base IP conçu dans ce document est illustrée à la figure 1. Le noyau IP est principalement composé des modules suivants: module de balayage de ligne et pilote de colonne, décalage de niveau, compteur de nombre préréglé, module de verrouillage de données, logique de contrôle module, affichage des données RAM et module de décodage d'adresse, module d'interface MCU. Certains de ces grands modules peuvent également être subdivisés en plusieurs sous-modules.
Chaque module de conception
Module d'interface MCU
Le module d'interface MCU est une interface de communication entre un cœur IP et un contrôleur externe (MCU) et constitue un canal pour la transmission de données. Le MCU écrit des commandes, lit l'état ou affiche des données sur la puce du pilote LCD via cette interface. Dans le même temps, l'interface accepte également le contrôle du décodeur de commande, de sorte que la lecture et l'écriture et les opérations internes combinées. La puce est mise en œuvre par une logique de combinaison interne plus complexe et des circuits logiques séquentiels, qui peuvent être compatibles avec les deux signaux de contrôle MCU grand public et prendre en charge les modes de fonctionnement de données en série / parallèle à deux.
Le module comprend plusieurs sous-modules couramment utilisés dans le module d'interface MCU du circuit de commande LCD commun existant, tels qu'un sous-module de bus de données (8 bits), un sous-module de détection d'état occupé, un sous-module de commande -module, et un sous-module de libération MCU. Un nouveau sous-module de contrôle en cascade de lignes et de cascades de colonnes a été ajouté. Le bus de données est principalement utilisé pour les échanges de données internes et externes; le sous-module de détection d'état occupé est utilisé pour déterminer l'état de la MCU, génère un signal d'occupation du système pour coordonner les opérations de lecture et d'écriture du signal et recevoir des signaux de réinitialisation interne / externe; le sous-module de commande de lecture et d'écriture est utilisé pour générer correctement la séquence de commande de lecture-écriture; La fonction de sous-module de libération MCU est par une combinaison logique, dans la puce pour exécuter le processus de "lecture-modification-écriture", libérer la MCU de sorte que la MCU puisse effectuer d'autres opérations en même temps; et le nouveau contrôleur de cascade La fonction principale du module est d'obtenir une concaténation de ligne et une concaténation de colonne entre les coeurs IP. Jusqu'à 16 concaténations IP (4 lignes et 4 rangées chacune) peuvent être prises en charge. CS0 ~ CS1 sont des ports de contrôle en cascade, et CS2 ~ CS3 sont des niveaux de colonne. Contrôle conjoint. Par exemple, supposons qu'il existe un écran LCD (128 & TImes; 256), qui peut être piloté par 8 cœurs IP. Lorsque les réglages sont faits, le CS est 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, ce qui peut constituer 2 & TImes; Conduire la matrice de base IP. Le diagramme schématique de son agencement est représenté sur la figure 2.
Afficher la mémoire de données et le module de décodage d'adresse
Ce module est principalement utilisé pour stocker les données à afficher, et agit comme un tampon entre l'interface MCU et le circuit pilote du signal pour assurer la sortie stable des données d'affichage.
Le module comprend deux sous-modules: un réseau RAM et un décodeur d'adresse pour stocker des données d'affichage. Tout d'abord, l'adresse de colonne est fournie par le circuit d'adresse de colonne, une colonne de cellules de mémoire RAM de 8 bits est sélectionnée par le décodeur d'adresse de colonne, et le MCU lit / écrit à travers l'interface; ensuite, le décodeur d'adresse de rangée balaye la RAM en unités de rangées. En combinaison avec le circuit de verrouillage de données d'affichage, la totalité de la rangée de données peut être sortie et délivrée à l'affichage à cristaux liquides pour l'affichage par le circuit de commande d'électrode.
Module de verrouillage des données
Le module contient deux sous-modules: le sous-module de verrouillage de contrôle de numéro de colonne et le sous-module de verrouillage de lecteur. Le sous-module de verrouillage de contrôle de numéro de colonne est composé de k verrous de données de 8 bits parallèles. La fonction principale est de verrouiller les données sur le bus de données et de les sortir de la RAM vers la RAM sous le signal de commande et le signal d'horloge du module logique de contrôle. Les signaux de données d'affichage sur le bus de données de bits sont respectivement verrouillés dans les verrous de données de 8 bits correspondants. Les données 64 bits requièrent 8 fois et 8 bits à chaque fois. Le sous-module de verrouillage du pilote est un verrou de lecteur de 64 bits formé de 64 verrous de 1 bit connectés en parallèle. Son rôle est de placer les 8 bits supérieurs de 8 bits sous le signal de commande et le signal d'horloge du module logique de contrôle. Les données de m bits transmises dans le verrou sont verrouillées toutes en une fois, puis sont envoyées au module pilote d'électrode de signal de colonne.
Module logique de contrôle
Le rôle principal de ce module est de contrôler la transmission des données de signal et de sélectionner le nombre de lignes de signal de colonne. Le sous-module de verrouillage de contrôle de numéro de colonne, le sous-module de verrouillage de disque et le générateur d'horloge peuvent être commandés par l'entrée de commande de numéro de colonne M pour réaliser les fonctions applicables à différentes tailles d'écrans LCD. Selon les besoins, en entrant des valeurs différentes dans l'entrée de commande de numéro de colonne M, elle contrôle combien de verrous de contrôle de nombre de bits sont dans l'état de fonctionnement, et les autres unités de verrou sont mises à l'état inactif. Les données dans la RAM de données d'affichage sont verrouillées dans le verrou de commande de numéro de colonne correspondant par le bus de données à 8 bits pendant le cycle de service, puis verrouillées dans le verrou de commande pour le pilotage d'électrode à un moment sous le contrôle d'un signal d'horloge. Signal d'entrée du module. De cette manière, le noyau IP peut implémenter la fonction de contrôle du nombre de colonnes sélectionnées. Lorsque M est "000", les 8 bits inférieurs (premier verrou) du verrou de contrôle de numéro de colonne fonctionnent, et l'autre est inactif, et les électrodes de colonne correspondantes sont SEG0 ~ SEG7; lorsque M est "001" Les 16 bits inférieurs (premier et deuxième verrous) du verrou de contrôle de colonne fonctionnent. Toutes les autres colonnes sont gratuites. Les électrodes de colonne correspondantes sont SEG0 ~ SEG15; et ainsi de suite, jusqu'à ce que le contrôle de colonne verrouille 64. Bit enregistrer tous les travaux, l'électrode de la colonne correspondante est SEG0 ~ SEG63.
Module d'entraînement d'électrode
Le module comprend principalement quatre sous-modules: un sous-module d'entraînement d'électrode de balayage de rangée, un sous-module d'entraînement d'électrode de signal de colonne, un décaleur de niveau et un compteur d'anneau de numéro préréglé.
Le dispositif de décalage de niveau a pour fonction de convertir la tension du signal logique en une tension de commande LCD réelle par un signal de commande appliqué et de la transmettre au module d'attaque en fonction des besoins réels de l'application; le rôle du sous-module d'attaque d'électrode de balayage de rangée est de fournir aux électrodes de rangée une certaine période de l'impulsion de signal de balayage; la fonction du sous-module d'attaque d'électrode de signal de colonne est d'appliquer les données du verrou à l'électrode de colonne correspondante, et le signal de balayage de l'électrode de ligne pour établir le champ électrique d'attaque CA, pilotant ainsi l'affichage du dispositif LCD. Le nombre de compteurs annulaires qui peuvent être préréglés peut contrôler le nombre d'électrodes de balayage de rangée par la borne de commande de numéro de rangée N (S0 ~ S5) pour s'adapter à des écrans LCD de différentes tailles et entrer des valeurs différentes au terminal de commande de numéro de rangée N aux besoins réels. Contrôler le nombre de lignes pour un travail spécifique et toutes les autres électrodes sont inactives. Sous le contrôle du signal d'horloge de conduite de ligne, le balayage est effectué ligne par ligne et le cycle est répété jusqu'à ce qu'une nouvelle valeur soit introduite dans la borne de commande de numéro de ligne N, et un nouveau numéro de ligne d'électrodes de ligne est balayé. manière en ligne. Par exemple, lorsque le signal appliqué N est "011011", le nombre d'électrodes de balayage est de 27. Le sous-module d'entraînement de balayage de lignes génère un signal de balayage progressif sur les électrodes de ligne COM0 COMCOM26 et les autres électrodes de ligne COM27 à un niveau bas. Si le nouveau signal appliqué N est "100011", le sous-module d'entraînement de l'électrode de balayage génère un signal de balayage progressif circulant sur les électrodes de ligne COM0 COMCOM34.
Implémentation du système de base IP
Tout d'abord, selon la définition et la division ci-dessus de la fonction système entière et de la conception de chaque module, chaque module de fonction est modélisé séparément par langage VHDL; d'autre part, sur le dispositif FPGA de la société Xilinx, l'outil EDA ISE est utilisé pour la simulation et la synthèse. Déboguer et optimiser le design puis, utilisez VHDL pour définir le module de niveau supérieur pour connecter chaque module et effectuer le débogage et la vérification du système correspondants; Enfin, obtenez un circuit de pilote LCD avec 64 COM (rangées) et 64 SEG (colonnes) Sortie, interface MCU parallèle 8 bits haut débit et interface série, la puce contient RAM pour les données d'affichage, et peut être cascadée pour contrôler le CS pour élargir la cascade pour répondre à la plus grande LCD, à travers le contrôle de numéro de colonne M et le nombre de rangées de contrôle terminal N pour s'adapter à différentes tailles de LCD.
Simulation et vérification
Cet article utilise le logiciel de simulation Xilinx ISE comme outil de simulation pour vérifier le noyau IP conçu en deux étapes.
Tout d'abord, ce document effectue d'abord une vérification fonctionnelle préliminaire de chaque module du noyau IP (y compris les sous-modules internes). Ensuite, en se référant au processus de travail de la puce, la puce entière est simulée dans son ensemble. Les figures 3 et 4 montrent des résultats de simulation utilisant l'ISE pour simuler les fonctions de commande de ligne et de colonne de tout le noyau IP. Sur la figure, CLK et CLK1 sont les horloges de commande de transmission de données et les impulsions de balayage d'électrodes de rangée du module d'interface MCU, respectivement; M et N sont les bornes de commande de sélection pour les électrodes de colonne et de rangée, respectivement; les deux bits inférieurs et supérieurs de CS sont cascadés respectivement. Le contrôle en cascade se termine par des colonnes.
Les résultats de simulation de la figure 3 et de la figure 4 illustrent:
1. Lorsque le RESET est haut, le noyau IP est dans l'état initial ou dans l'état clair; lorsque WRITE est élevé, le noyau IP est en état de fonctionnement et peut recevoir des données d'affichage.
2. Sur le front montant de l'horloge CLK, le MCU écrit des données d'affichage 8 bits dans la mémoire RAM du cœur IP en parallèle à travers l'interface; sur le front montant de l'horloge CLK1, les électrodes de commande de balayage horizontal émettent séquentiellement les impulsions de balayage, et les électrodes de signal de colonne placent les données dans la RAM. Sortie de SEG.
3. Le nombre de rangées de bornes de contrôle peut changer le nombre de rangées d'électrodes scannées. Lorsque le terminal de commande de sélection de numéro de ligne N est "3E", un signal de balayage est émis à COM0 ~ COM61. Comme montré sur la Fig. 3, dans le signal d'horloge de la première rangée, le signal de balayage est délivré sur l'électrode COM61, et l'électrode de rangée est balayée rangée par rangée sous le contrôle de l'horloge de conduite de rangée; lorsque le signal d'horloge de la septième rangée est entré, N devient "22", le signal de balayage est délivré sur l'électrode de ligne COM33, et progressivement décrémenté Le balayage progressif de COM0 ~ COM33 est effectué.
4. Le terminal de commande de numéro de colonne peut changer le nombre d'électrodes du signal de colonne. Lorsque le terminal de commande de sélection de numéro de colonne M est "110", l'électrode SEG est une sortie de 48 bits; lorsque M est "010", la sortie du SEG devient 16 bits; quand M est "101", la sortie du SEG devient 40 bits. ; Lorsque M est "100", la sortie du SEG devient 32 bits.
Dans cet article, les fonctions de contrôle de numéro de colonne, de contrôle de numéro de ligne et de cascade interne du cœur IP ont été vérifiées et vérifiées sur le plan fonctionnel. L'espace limité décrit ici uniquement les fonctions de contrôle du numéro de colonne et du numéro de ligne.
Conclusion
Cet article traite de la conception d'un noyau IP de puce de pilote d'affichage LCD. Selon l'idée de conception descendante, la puce est divisée en couches et la fonction globale de la puce est vérifiée. Dans la vérification fonctionnelle de la puce, ce document adopte le langage de description matérielle VHDL pour vérifier la fonction logique et la relation de synchronisation du circuit. Le pilote d'affichage LCD adopte une conception paramétrique et a une bonne portabilité, et peut être commodément appliqué à diverses applications de système d'affichage à écran plat d'instruments portables et de PDA et d'autres produits associés.





