Accueil ProduitsLED Module d'affichage

Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    • SparkFun or Adafruit 32x32 RGB LED Panel Driver Tutorial 16 data signals connect + 5VDC refreshed to display an image
    • SparkFun or Adafruit 32x32 RGB LED Panel Driver Tutorial 16 data signals connect + 5VDC refreshed to display an image
    • SparkFun or Adafruit 32x32 RGB LED Panel Driver Tutorial 16 data signals connect + 5VDC refreshed to display an image
    • SparkFun or Adafruit 32x32 RGB LED Panel Driver Tutorial 16 data signals connect + 5VDC refreshed to display an image
    • SparkFun or Adafruit 32x32 RGB LED Panel Driver Tutorial 16 data signals connect + 5VDC refreshed to display an image
    • SparkFun or Adafruit 32x32 RGB LED Panel Driver Tutorial 16 data signals connect + 5VDC refreshed to display an image
  • SparkFun or Adafruit 32x32 RGB LED Panel Driver Tutorial 16 data signals connect + 5VDC refreshed to display an image

    Détails sur le produit:

    Lieu d'origine: La Chine
    Nom de marque: Leeman
    Certification: UL CE ROHS ISO2000 ETL SGS SAA Fcc EMC
    Numéro de modèle: Panneau de PH5 RVB LED

    Conditions de paiement et expédition:

    Quantité de commande min: 1 unité ou 1 PCS
    Prix: Negotiation (Good price)
    Détails d'emballage: boîte de carton ou cas en bois
    Délai de livraison: 1-3 jours ouvrables
    Conditions de paiement: L/C, T/T, Western Union, Paypal, carte de crédit, MoneyGram, VISA, MasterCard, argent liquide
    Capacité d'approvisionnement: 50.000 unités par mois
    Contactez maintenant
    Description de produit détaillée
    taille du module: 160x160 ou 320x160 ou 256x256 ou 192x192 ou 256x128 Résolution: 32x32 pixels des pixels 64x32
    Luminosité: Plus que 2500nits Tension d'entrée: DC5V
    Type de balayage: 1/2 ou 1/4 ou 1/8 ou 1/16 ou 1/32Scan taux frais: ≥ 2400Hz
    Type de LED: SMD2121 SMD3528 SMD3535 SMD2727 SMD5050 MTTF: >100.000 heures

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Introduction

    Dans ce projet, nous connectons un panneau de SparkFun ou d'Adafruit 32x32 RVB LED à un conseil de noir de BeagleBone employant le Xilinx 6 LX9 spartiates FPGA sur le conseil de LogiBone FPGA. Le matériel pour ce projet est les signaux de données relativement faciles de la construction-juste 16 relient le panneau de LED au conseil de LogiBone FPGA. La complexité de ce projet se situe en grande partie dans le RTL et le logiciel.

     

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Schéma 1. panneau de RVB LED avec un modèle aléatoire de scintillement relié au conseil de LogiBone FPGA et à quelques autres images de panneau témoin.

    Matériel requis

    Les articles suivants de matériel sont exigés :

    • Panneau de SparkFun ou d'Adafruit 32x32 RVB LED
      Ce panneau contient RVB 1024 LED disposé dans une matrice 32x32. Les colonnes sont conduites utilisant les ensembles multiples de registres à décalage et les rangées sont conduites, deux rangées à la fois, utilisant un décodeur d'adresse du bit 4. Le panneau est conduit au 1/16th coefficient d'utilisation et doit être sans interruption régénéré pour montrer une image.

    • BeagleBone noircissent le panneau d'unité centrale de traitement avec l'alimentation d'énergie d'USB ou de +5VDC
      Vous aurez besoin d'un panneau d'unité centrale de traitement de noir de BeagleBone et d'une alimentation d'énergie de +5VDC pour elle. Vous pouvez employer un câble d'USB pour actionner le conseil à partir de votre ordinateur ou d'un adaptateur de puissance d'USB ou pour employer un +5VDC distinct, identification de 2.1mm., adaptateur centre-positif à C.A.

    • Conseil de LogiBone FPGA
      Le conseil de FPGA contient un Xilinx 6 LX9 spartiates FPGA. FPGA contient 32 RAM du bloc 18kbit. Nous emploierons deux des RAM de bloc comme tampons de cadre pour tenir les valeurs de pixel de RVB à montrer sur le panneau. Les deux connecteurs PMOD-compatibles de Digilent seront utilisés pour se relier au panneau de LED.

    • Panneau de fils de pullover ou d'adaptateur de PMOD-à-affichage pour relier FPGA à l'affichage
      Au commencement, j'avais l'habitude les fils de pullover mâle-à-femelles pour relier le panneau. Ceci m'a permis de relier le tableau de LogiBone FPGA directement au panneau d'affichage à LED Sans employer le câble plat inclus à l'affichage. Si vous avez seulement des fils de pullover de mâle-à-mâle, vous devrez employer le câble plat de 16 positions inclus avec l'affichage comme adaptateur pour se relier aux goupilles masculines sur l'extrémité d'affichage des fils de pullover.
      Une solution beaucoup plus propre et à long terme est d'employer ce conseil et le câble plat de 16 positions inclus avec le panneau de LED pour établir le rapport à partir du conseil de LogiBone FPGA au connecteur de l'entrée de l'affichage. J'ai également utilisé les fils et les logements terminaux precrimped pour relier FPGA et pour le lambrisser ensemble. Je n'ai pas aimé cette solution parce que les fils terminaux precrimped, une fois installé dans un connecteur du logement 2x8, prié trop de force pour s'insérer sur et enlever du connecteur des données de l'affichage.

    • alimentation d'énergie de +3.3V, 2.0A nominal, crête 4.0A
      Pendant le fonctionnement normal, l'affichage dessinera tout au plus au sujet de 2A du courant. Si vous « calez » la régénération avec un modèle blanc tout montré, les deux rangées qui sont allumées dessineront au sujet de 3.8A. Un petit 3.3V, alimentation de l'énergie 3.0A de bureau telle que celle-ci de Mouser sera suffisant pendant le fonctionnement normal. Vous devrez fournir votre cordon de secteur d'ownIEC60320 C13 à l'utilisation cet adaptateur.
      Ces panneaux peuvent également être courus de +5V au lieu de 3.3V. Vous obtiendrez des verts plus lumineux, des bleus plus lumineux, et des blancs moins-rouges si conduit par +5V au lieu de +3.3V. Vous tirerez également environ 15% plus actuel et utilisation environ 65% plus de puissance à +5V au lieu de +3.3V. Si vous employez un approvisionnement de +5V, faites attention extra à ne pas relier accidentellement le tableau de LogiBone FPGA au connecteur de débit de l'affichage.

    • Adaptateur femelle de cric de baril de C.C (facultatif)
      Un adaptateur femelle de cric de baril de C.C facilitera reliant le panneau à l'alimentation d'énergie beaucoup. Si vous n'avez pas un adaptateur, vous pouvez toujours couper, épisser, souder, et rétrécissement de la chaleur les connexions entre l'alimentation d'énergie et le panneau mené.

    Logiciel requis

    • Construction courante de ValentFX LogiBone Ubuntu avec le module et le logi_loader de noyau de LogiBone logibone__dm.ko
      Téléchargez et suivez les instructions d'installer ici l'image de LogiBone Ubuntu de défaut sur une carte d'écart-type.
    • Logiciel de Xilinx ISE WebPack
      Si vous voulez construire FPGA a mordu le dossier vous-même ou adapte le Verilog aux besoins du client pour conduire plus de panneaux ou ajouter l'autre fonctionnalité faite sur commande (telle qu'un coprocesseur à aider à calculer les modèles difficiles de pixel), vous devrez télécharger et installer le logiciel de Xilinx ISE WebPack. Les instructions sont ici. Si vous voulez seulement employer le défaut FPGA a mordu le dossier, vous peut sauter installant le logiciel de Xilinx ISE WebPack.
    • Dépôt de GIT de panneau de la LED de la gorge
      En conclusion, vous devrez copier mon dépôt de GIT chez http://github.com/bikerglen/beagle à votre noir de BeagleBone. Ce dépôt contient le code source de Verilog code source pour FPGA, un dossier prêt à l'emploi de peu, et de C++ pour montrer quelques modèles de démonstration sur le panneau. Des instructions pour télécharger ou copier et usage du dépôt sont présentées plus tard.

    Théorie d'opération

    Ce système a trois composants importants : le panneau de LED, le code de FPGA, et le code de C++. Examinons en détail chacun de ces trois composants importants.

    Le panneau de LED

    Matériel de panneau de LED

    Le panneau de LED contient RVB 1024 LED disposé dans une matrice de 32 rangées et de 32 colonnes. Chaque RVB LED contient les puces rouges, vertes, et bleues distinctes de LED assemblées ensemble dans un paquet simple. L'affichage est subdivisé horizontalement en deux moitiés. La moitié supérieure se compose de 32 colonnes et de 16 rangées. La moitié inférieure se compose également de 32 colonnes et de 16 rangées.

    Les colonnes de l'affichage sont conduites par un ensemble de conducteurs et les rangées de l'affichage sont conduites par un autre ensemble de conducteurs. Pour illuminer une LED, les conducteurs pour la colonne et la rangée pour cette LED doivent être allumés. Pour changer la couleur d'une LED, les rouges, les verts, et des valeurs mobilières de premier ordre en chaque paquet de LED sont commandés individuellement et ont leurs propres conducteurs de colonne. Le schéma 2 ci-dessous est une représentation schématique de l'organisation de conducteur de la colonne et de la rangée de l'affichage.

     

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Colonne de panneau du schéma 2. RVB LED et organisation de conducteur de rangée.

    Le panneau contient six ensembles de conducteurs de colonne ; trois pour la moitié supérieure de l'affichage et trois pour le fond. Chaque conducteur a 32 sorties. Les trois conducteurs pour le dessus de l'affichage conduisent le rouge, vert, et des valeurs mobilières de premier ordre dans chacune des 32 colonnes de la LED dans les rangées 0 15 du panneau. Les trois conducteurs pour le fond de l'affichage conduisent le rouge, vert, et des valeurs mobilières de premier ordre dans chacune des 32 colonnes de la LED dans les rangées 16 31 du panneau.

    Chacun des conducteurs a une entrée de données périodiques, une entrée masquante, un registre à décalage, et un registre parallèle de sortie comme représenté ci-dessous sur le schéma 3. Les données actuelles sur l'entrée de données périodiques sont décalées dans le registre à décalage utilisant le signal de SCLK. Après qu'une rangée entière des données ait été décalée dedans au registre à décalage, le signal de VERROU est utilisé comme moyen pour transférer la rangée des données de pixel à partir du registre à décalage dans le registre parallèle de sortie. Si un peu dans le registre de sortie est un “1" et l'entrée masquante deasserted, le conducteur pour cette colonne sera permis ; autrement, le conducteur sera arrêté. Des données sont décalées à partir du bon bord de l'affichage au bord gauche de l'affichage. En d'autres termes, le premier peu décalé dedans sera montré sur le bord gauche de l'affichage et le dernier peu décalé dedans sera montré du côté droit.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Opération de conducteur de colonne du schéma 3. pour les sorties rouges de colonnes d'entrée et de dessus-moitié de données R0. Il y a deux davantage de ces registres à décalage en haut de l'affichage pour les colonnes vertes et bleues de dessus-moitié et de trois davantage au fond pour les demi colonnes rouges, vertes, et bleues inférieures.

    Les conducteurs rouges, verts, et bleus de colonne pour la moitié supérieure de l'affichage sont attachés respectivement aux entrées de données R0, G0, et B0. Les conducteurs rouges, verts, et bleus de colonne pour la moitié inférieure de l'affichage sont attachés respectivement aux entrées de données R1, G1, et B1. Chacun des six des conducteurs à 32 bits partage SCLK commun, VERROU, et signaux VIDES.

    Les rangées sont conduites utilisant quatre bits d'adresse et un décodeur d'adresse. L'entrée de quatre bits d'adresse aux conducteurs de rangée est décodée et les deux conducteurs de rangée correspondant à cette adresse seront allumés. Quand A [3:0] est 0, rame 0 et 16 de l'affichage sont allumés. Quand A [3:0] est 1, rame 1 et 17 de l'affichage sont allumés. Ce modèle continue jusqu'à ce qu'A [3:0] soit 15 et rame 15 et 31 sont allumés.

    En plus de la rangée et la logique et les conducteurs de colonne, l'affichage a une entrée masquante. Cette entrée est très probablement reliée aux conducteurs de colonne. Quand le signal masquant est affirmé, tous les pixels sont arrêtés et l'affichage sera noir. Quand le signal masquant deasserted, les rangées et les colonnes adressées seront conduites et les pixels correspondants seront illuminés. Pour montrer une image sans clignoter et image fantôme, tous ces signaux doivent être employés et correctement ordonnancés en conduisant le panneau.

    Entraînement du panneau

    L'affichage est multiplexé et a un 1/16th coefficient d'utilisation. Ceci signifie que pas plus d'une rangée hors des 16 dans la moitié supérieure de l'affichage et une rangée hors des 16 dans la moitié inférieure de l'affichage sont jamais illuminées immédiatement. En outre, une LED peut seulement être "Marche/Arrêt". Si la rangée et la colonne pour une LED sont allumées, la LED sera illuminée ; autrement, la LED sera éteinte.

    Pour montrer une image, le panneau entier de LED doit être balayé assez rapidement de sorte qu'il semble montrer une image continue sans clignotement. Pour montrer différentes couleurs et différents niveaux d'éclat, l'éclat des puces rouges, vertes, et bleues de LED dans chaque paquet de LED doit être ajusté en variant le laps de temps que chaque puce de LED est "Marche/Arrêt" dans un simple régénèrent le cycle.

    L'opération de base employée pour régénérer l'affichage en employant la couleur de trois peu-par-pixels (un bit pour le rouge ; un bit pour le vert ; et un bit pour le bleu) est le suivant :

    1. Décalez les données de pixel pour la rangée 0 dans les conducteurs supérieurs de colonne et les données de pixel pour la rangée 16 dans les conducteurs inférieurs de colonne employant les entrées de données R0, G0, B0, R1, G1, et B1 et le signal d'horloge de décalage de SCLK.
    2. Affirmez le signal masquant pour masquer l'affichage.
    3. Placez l'adresse entrée dans 0.
    4. Verrouillez le contenu des registres à décalage des conducteurs de colonne dans les registres de la sortie des conducteurs de colonne utilisant le signal de VERROU.
    5. Deassert le signal masquant pour montrer les rangées 0 et 16.
    6. Attendez un certain montant fixe de temps.
    7. Répétez le processus pour chacune des paires de rangées dans l'affichage.
    8. Répétez le processus complet au moins 100 à 200 fois par seconde d'empêcher le clignotement.

    Le processus ci-dessus emploie un bit par couleur de LED. Ceci te donnera huit couleurs possibles : noir ; les couleurs primaires rouges, vertes, et bleu ; les couleurs secondaires cyan, magenta, et jaune ; et blanc.

    Pour montrer plus de couleurs et d'éclat nivelle la technique ci-dessus est modifié pour employer la modulation codée en binaire. Dans la modulation codée en binaire, chaque pixel est commandé utilisant plus qu'à bit unique par couleur par pixel. Le laps de temps chaque puce rouge, verte, et bleue de LED est dessus est alors varié proportionnellement aux valeurs rouges du pixel, vertes, et bleues.

    Dans la modulation codée en binaire, le processus suivant est effectué pour régénérer l'affichage :

    1. Décalez le peu zéro des valeurs rouges de chaque pixel, vertes, et bleues pour les rangées 0 et 16 dans les conducteurs de colonne.
    2. Affirmez le signal masquant pour masquer l'affichage.
    3. Placez l'adresse entrée dans 0.
    4. Verrouillez le contenu des registres à décalage des conducteurs de colonne dans les registres de la sortie des conducteurs de colonne utilisant le signal de VERROU.
    5. Deassert le signal masquant pour montrer les rangées 0 et 16.
    6. Attendez un certain laps de temps, N.
    7. Répétez le processus ci-dessus pour le prochain peu évolué des données de couleur dans la même rangée. Dans l'étape 6, attendez deux fois le temps de retard précédent. Répétez ce processus pour chaque peu des données de couleur, doublant le temps de retard après le déploiement de chaque peu successif.
    8. Répétez le processus ci-dessus pour chacune des paires de rangées dans l'affichage.
    9. Répétez le processus complet au moins 100 à 200 fois par seconde d'empêcher le clignotement.

    Notez que dans des réalisations réelles, le processus de décaler les données de pixel dans les registres à décalage dans l'étape 1 est habituellement fait pendant le temps d'attente dans l'étape 6.

    L'affichage global obscurcissant peut être exécuté en variant le laps de temps que le signal masquant est affirmé ou deasserted au cours de la période de temps d'attente, le N. par exemple, affirmant le signal masquant 25% tôt aura comme conséquence un affichage avec un éclat de 75% au lieu de 100%. Notez que pendant l'obscurcissement global, le temps d'attente lui-même ne se raccourcit pas ou n'est pas rallongé ; seulement le signal masquant est modifié pour être affirmé plus tôt qu'il normalement serait.

    FPGA

    FPGA connecte le logiciel de génération de modèle de C++ fonctionnant sur l'unité centrale de traitement de noir de BeagleBone au panneau de LED. FPGA fait le levage lourd exigé pour régénérer le panneau entier de LED environ 200 fois par seconde. Ceci laisse l'unité centrale de traitement de noir de BeagleBone libre pour produire des modèles et pour effectuer d'autres tâches.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Schéma fonctionnel du schéma 4. du système comprenant un schéma fonctionnel des blocs fonctionnels principaux de FPGA.

    Suivant les indications du schéma 4 ci-dessus, le logiciel fonctionnant sur le noir de BeagleBone produit des modèles. Ces modèles sont alimentés à FPGA sur le conseil de LogiBone à l'aide de l'autobus du GPMC du SOC de TI. Ces modèles sont écrits à une mémoire à double accès qui sert de tampon d'affichage. Enfin un contrôleur d'affichage lit les modèles hors de la mémoire à double accès, décale les données dans l'affichage, et permet les conducteurs de rangée comme nécessaire pour montrer l'image. Le processus complet est répété environ 200 fois par seconde et produit d'une image de 32 x de 32 RVB avec la couleur de 12 bits sans n'importe quelle interaction de l'unité centrale de traitement des noirs de BeagleBone.

    Interface de GPMC

    Le TI SOC a une interface programmable de mémoire appelée le contrôleur polyvalent (GPMC) de mémoire. Cette interface est extrêmement flexible. Elle peut fonctionner dans synchrone et les modes asynchrones et la synchronisation d'autobus est programmable dans les augmentations 10ns. L'autobus de GPMC sera utilisé pour transférer des données de pixel à partir du logiciel sur le noir de BeagleBone à FPGA sur le conseil de LogiBone.

    Dans notre système, le GPMC est configuré pour fonctionner dans son adresse/mode de données asynchrones et multiplexés. En ce mode, les bus d'adresse et de données sont 16 bits au loin. Ceci permet à un pixel entier de 12 bits d'être transféré à partir de l'unité centrale de traitement sur le BBB à FPGA sur le conseil de LogiBone dans un simple écrivent l'opération. Pour plus d'informations sur les GPMC asynchrones, le mode de fonctionnement multiplexé, voient des sections 7.1.3.3 .10.1.1 du manuel de référence technique de microprocesseurs d'AM335x ARM® Cortex™-A8.

    J'utilise un circuit légèrement différent dans FPGA pour connecter à l'autobus de GPMC que les projets courants de LogiBone. C'est un peu plus lent que le circuit des actions VHDL, mais garantit que chacun écrit de l'unité centrale de traitement au-dessus de l'autobus de GPMC crée exactement un écrit l'impulsion de stroboscope à l'interface de registre à l'intérieur de FPGA. Puisqu'il est légèrement plus lent que le circuit courant, il exige la synchronisation modifiée d'autobus et ainsi un dossier fait sur commande d'installation d'arbre de dispositif. Expositions ci-dessous du schéma 5 la synchronisation d'autobus utilisant l'interface modifiée de GPMC pour effectuer une inscription à FPGA. Expositions ci-dessous du schéma 6 la synchronisation d'autobus utilisant l'interface modifiée de GPMC pour exécuter lu de FPGA.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Simulation du schéma 5. d'une inscription à la cible de GPMC utilisant les synchronisations modifiées d'autobus.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Simulation du schéma 6. de l'lu de la cible de GPMC utilisant les synchronisations modifiées d'autobus.

    Lue ou écrivent l'adresse est verrouillée dans un registre de participation provisoire sur le bord d'augmentation du signal de GPMC_ADVN et les données d'inscription latached dans son propre registre de participation provisoire sur le bord en baisse du signal de GPMC_WEN. Ceci exige utilisant le GPMC_ADVN et une version inversée des signaux de données de GPMC_WEN comme horloges. Techniquement, utilisant des signaux de données comme horloges est brut. Il est réellement si brut, les outils de Xilinx produira d'une erreur pour cette condition. Mais vous pouvez placer une exception dans le dossier d'UCF pour que les filets et la synthèse affectés de force continue. Elle serait bien mieux employer le GPMC dans son mode synchrone, mais cette technique est assez bonne pour FPGA jusqu'à ce que j'aie le temps pour établir une version synchrone de l'interface, un modèle synchrone d'autobus de GPMC pour la simulation, et apprenne comment modifier l'arbre de dispositif plus loin.

    En plus de verrouiller l'adresse et écrivez les valeurs de données dans les registres de participation, le GPMC_CSN, GPMC_WEN, et des signaux de commandes de GPMC_OEN sont enregistrés et introduits dans le domaine d'horloge du 100MHz de FPGA. Une fois dans le domaine de l'horloge de FPGA, les signaux de WEN et d'OEN sont déclenchés avec le signal de CSN et le bord détecté pour détecter écrit à la cible de GPCM et lit de la cible de GPMC. Quand lue ou écrivent est détectée, le contenu de l'adresse et écrit des registres de participation de données sont capturées dans des registres dans le domaine d'horloge du 100MHz de FPGA.

    La raison principale de ralentir l'autobus de GPMC contre le dossier courant d'installation d'arbre de dispositif était d'étirer le temps que chacun de ces signaux de commande est bas ou haut au moins à 30ns pour garantir que les bords des signaux pourraient être détectés dans le domaine d'horloge du 100MHz de FPGA. Ceci a également garanti que l'adresse et les données seraient stables dans leurs propres registres de participation avant d'entrer le contenu de ces registres dans les registres d'adresse et de données qui sont synchronisés dans le domaine d'horloge du 100MHz de FPGA.

    Les sorties de la cible de GPMC sont un autobus que j'appelle l'autobus lent. L'autobus lent relie la cible de GPMC à l'interface du registre de FPGA. Les expositions du schéma 7 un autobus lent d'exemple écrivent l'opération. Le schéma 8 montre à un exemple l'opération "lecture" d'autobus lent.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    La simulation du schéma 7. d'un autobus lent écrivent.

    le sb_addr, le sb_wr, et le sb_wr_data seront valides pour exactement une impulsion d'horloge 100MHz simple chaque fois qu'une inscription se produit sur l'autobus de GPMC. Quand l'interface de registre voit le sb_wr affirmé, il écrit le sb_wr_data dans le registre au sb_addr.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Simulation du schéma 8. d'un autobus lent lu.

    le sb_addr et le sb_rd seront valides pour exactement une impulsion d'horloge 100MHz simple chaque fois que lu se produit sur l'autobus de GPMC. L'interface de registre voit que le sb_rd affirmé alors doit renvoyer la valeur du registre au sb_addr d'adresse sur l'autobus de sb_rd_data sur le rhythme très prochain.

    Interface de registre

    L'interface de registre est mise en application au niveau supérieur de FPGA Verilog. L'interface de registre définit la vue que le logiciel a de FPGA. Listes ci-dessous du tableau 1 les registres dans FPGA.

    Adresse de FPGA Adresse de BBB SOC Nom Description
    0x0000 0x0000 Repérage 1 d'essai de R/W Registre lecture/écriture d'essai. Écrivez n'importe quelle valeur à ce registre. Lit la valeur précédemment écrite de retour.
    0x0001 0x0002 Repérage 2 d'essai de R/W Registre lecture/écriture d'essai. Écrivez n'importe quelle valeur à ce registre. Lit la valeur précédemment écrite de retour.
    0x0002 0x0004 Repérage 3 d'essai de R/W Registre lecture/écriture d'essai. Écrivez n'importe quelle valeur à ce registre. Lit la valeur précédemment écrite de retour.
    0x0003 0x0006 Repérage 4 d'essai de R/W Registre lecture/écriture d'essai. Écrivez n'importe quelle valeur à ce registre. Lit la valeur précédemment écrite de retour.
    0x0004 0x0008 Repérage inaltérable 1 d'essai Registres inaltérables d'essai. Lit des valeurs dur-codées par retour. Voir le RTL pour des valeurs retournées.
    0x0005 0x000a Repérage inaltérable 2 d'essai Registres inaltérables d'essai. Lit des valeurs dur-codées par retour. Voir le RTL pour des valeurs retournées.
    0x0006 0x000c Repérage inaltérable 3 d'essai Registres inaltérables d'essai. Lit des valeurs dur-codées par retour. Voir le RTL pour des valeurs retournées.
    0x0007 0x000e Repérage inaltérable 4 d'essai Registres inaltérables d'essai. Lit des valeurs dur-codées par retour. Voir le RTL pour des valeurs retournées.
    0x0008 0x0010 Registre d'adresse de tampon d'affichage Écrit à cet ensemble de registre l'indicateur d'adresse de tampon d'affichage. L'indicateur d'adresse de tampon d'affichage indique l'emplacement dans la mémoire de tampon d'affichage qui sera modifiée quand une valeur de pixel est écrite au registre de données de tampon d'affichage. Voyez la zone-tampon d'affichage de ce document pour la disposition des pixels dans la mémoire.
    0x0009 0x0012 Registre de données de tampon d'affichage Écrivant une valeur de pixel à ce registre écrit la valeur de pixel au tampon d'affichage à l'adresse indiqué par l'indicateur d'adresse de tampon d'affichage. Après que chacun écrive, l'indicateur d'adresse de tampon d'affichage est incrémenté par on pour se diriger au prochain pixel dans le tampon d'affichage.
    0x000a 0x0014 Registre choisi de tampon d'affichage 0 choisit le tampon 0 pour l'affichage ; 1 choisit le tampon 1 pour l'affichage ; Lit le retour que le tampon actuellement est montré.

    Registres de FPGA du tableau 1.

    Tampons d'affichage

    Les tampons d'affichage sont les RAM mises en application de bloc de Xilinx d'usinx configurées en tant que souvenirs à double accès avec indiqué asynchrone et écrivent des ports. Le premier RAM contient les tampons d'affichage 0 et 1 pour la moitié supérieure de l'affichage. Le deuxième RAM contient les tampons d'affichage 0 et 1 pour la moitié inférieure de l'affichage. Structurer les souvenirs pour contenir la moitié de l'affichage chacun permet les pixels dans les rangées 0 15 à lire de la mémoire sur le précis la même horloge que les pixels dans les rangées 16 31 sont lus de la mémoire.

    Le tampon d'affichage 0 est situé à l'adresse 0x0000. Le tampon d'affichage 1 est situé à l'adresse 0x0400. Chaque tampon d'affichage contient 1024 12 valeurs du bit RVB disposées en tant que 32 rangées de 32 colonnes. Dans chaque tampon d'affichage, en haut à gauche le pixel est stocké à la compensation 0, en bas à droite le pixel est stocké à la compensation 0x3ff. Le peu 4 0 de la compensation de pixel est 0x00 pour des pixels dans la colonne extrême gauche sur l'affichage ; le peu 4 0 de la compensation de pixel est 0x1F pour des pixels dans la colonne extrême droite.

    Des pixels sont stockés dans la mémoire en tant que 12 valeurs du bit RVB. Ces valeurs sont droites-justiified stocké. Le peu 11 8 est le niveau rouge de pixel, le peu 7 4 est le niveau vert, et le peu 3 0 est le niveau bleu.

    Conducteur d'affichage

    Le conducteur d'affichage lit des valeurs de pixel de mémoire, décale ces valeurs à l'affichage, et cycles par les rangées de l'affichage au besoin pour mettre en application la modulation codée en binaire comme décrit dans la théorie de section d'opération de ce document. Le conducteur d'affichage est mis en application comme machine d'état. Chaque état met en application une étape dans le procédé de régénération. Quand cette étape est complète, la machine d'état se déplace à la prochaine étape dans le processus.

    Formes d'onde ci-dessous de simulation d'expositions du schéma 9 pour les sorties de contrôle et de données pour la valeur de trois rangées des données d'affichage. L'opération de base est de masquer l'affichage, verrou dans les données précédemment décalées, met à jour la rangée choisit, unblank l'affichage, variation dans le prochain ensemble de données de pixel, et puis attend une minuterie de mise à jour pour expirer. Ceci est répété quatre fois pour chaque rangée. Si vous examinez la sortie masquante, vous noterez que sa basse période double trois fois au cours de la période de sortie pour chaque rangée d'affichage. C'est le résultat d'employer la modulation codée en binaire pour varier l'intensité de chaque pixel.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Schéma 9. formes d'onde de simulation pour les connexions de sortie de données d'affichage.

    Le logiciel

    Le logiciel de démonstration utilise le dispositif de /dev/logibone_mem pour communiquer avec FPGA. Le conducteur pour ce dispositif fait partie de l'image courante de LogiBone Ubuntu et son module chargeable de noyau est installé par le manuscrit de coquille modifié d'installation d'arbre de dispositif qui est inclus dans le dépôt de GitHub pour le panneau de LED. (Plus à ce sujet dans une section postérieure.) Ce conducteur trace les registres dans FPGA à une partie de l'espace d'adressage de l'unité centrale de traitement de BBB utilisant le GPMC. Le GPMC trace normalement la mémoire dans l'espace d'adressage de l'unité centrale de traitement. Puisque notre FPGA ressemble à une mémoire à l'autobus de GPMC, ses registres peuvent être tracés dans l'espace d'adressage d'unité centrale de traitement aussi. Assez frais. Aucun SPI, I2C, etc. ; jeûnent juste les accès parallèles entre l'unité centrale de traitement et le FPGA. Cet espace mémoire-tracé peut alors être accédé en ouvrant le dispositif de /dev/logbone_mem utilisant l'appel de fonction ouvert de bibliothèque de C et lit et écrit à un registre dans FPGA peut être exécuté utilisant les appels de fonction de bibliothèque de C de pread et de pwrite.

    Le schéma 10 ci-dessous est un schéma fonctionnel de la pile de logiciel de démonstration. Dans le logiciel de démonstration, la canalisation ouvre le dispositif de /dev/logibone_mem, remplit mémoire de tampon global, gLevels, de tout noir, et puis appelle WriteLevels pour écrire le tampon global à l'affichage et à l'espace libre l'affichage. Une fois l'affichage est dégagé, la fonction principale instancie une sous-classe de modèle/animation telle qu'un cercle de rayonnement, un bruit de perlin, ou une sous-classe de colorwash. Cette sous-classe est dérivée d'une classe basse de modèle générique.

    La classe basse de modèle générique emploie un constructeur pour placer la taille et la largeur du modèle pour se produire. Les classes dérivées peuvent ajouter leurs propres arguments à leurs propres constructeurs. La classe basse a également deux fonctions, init et prochains virtuels purs de membre, que n'importe quelles classes dérivées doivent mettre en application. La fonction d'init prépare un modèle pour être montrée pour la première fois. Elle remet à zéro typiquement n'importe quelle information d'état de nouveau au début du modèle. La prochaine fonction calcule le prochain cadre du modèle et écrit que cadre au tampon global de gLevels.

    Après que la canalisation ait instancié la sous-classe de modèle, elle appelle le funciton de l'init de la sous-classe. La canalisation installe alors un chronométreur qui s'exécute à 50Hz et va dormir. Quand la minuterie expire, une fonction de manipulateur de minuterie s'appelle. Les appels de fonction de manipulateur de minuterie WriteLevels pour écrire le cadre précédemment calculé dans les gLevels au prochain tampon d'affichage disponible dans FPGA et fait cet active de tampon d'affichage. Écrit aux tampons d'affichage de FPGA sont exécutés utilisant les registres documentés dans le registre Interfacesection de ce document.

    Après que WriteLevels ait accompli, les appels de fonction de manipulateur de minuterie la prochaine fonction du membre du modèle. La prochaine fonction produit du prochain cadre dans l'animation, écrit ce cadre aux gLevels, et retour-sans appeler WriteLevels. Le manipulateur de minuterie dort alors jusqu'à ce que la prochaine fois que la minuterie expire. En appelant WriteLevels avant callingnext, le laps de temps entre les cadres montrés ne variera pas même si le laps de temps que prochain prend pour exécuter varie entre les cadres.

    Pour que les animations courent sans à-coup, la fonction de manipulateur de minuterie doit accomplir l'exécution avant que la minuterie expire après. Ceci signifie que chaque cadre dans l'animation doit prendre moins que rudement 20ms au calcul.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Schéma fonctionnel du schéma 10. de la pile de logiciel de démonstration.

    Relier le matériel

    L'affichage exige seulement d'une connexion de données au conseil de LogiBone FPGA et d'une connexion de puissance à une alimentation d'énergie de +3.3V de fonctionner. Ces connexions sont détaillées dans les sections ci-dessous.

    Connexions de données d'affichage

    Listes ci-dessous du schéma 11 les connexions entre les connecteurs de PMOD et le connecteur d'entrée de données de l'affichage. Vous devrez établir 16 rapports se monter entre le conseil de LogiBone et le panneau d'affichage. Treize de ces derniers sont des connexions de données ; trois de ces derniers sont des raisons. Vous pouvez utiliser les fils de pullover ou le panneau d'adaptateur de PMOD-à-affichage. Si vous employez des fils de pullover, le câblage semblera quelque chose comme le schéma 12. Avec le panneau d'adaptateur, il semblera quelque chose comme le schéma 13. Notez que les goupilles de connecteurs de PMOD sont numérotés différemment que de doubles en-têtes de rangée sont normalement numérotés.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Schéma 11. sorties de goupille de connecteur de PMOD, connexions entre les connecteurs de PMOD et le connecteur d'entrée d'affichage, et la goupille de connecteur d'affichage.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Le schéma 12. Le conseil de LogiBone FPGA s'est relié au panneau de RVB LED utilisant des fils de pullover.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

     

    Le schéma 13. Le conseil de LogiBone FPGA s'est relié au panneau de RVB LED utilisant le panneau d'adaptateur de PMOD-à-affichage.

    Connexion d'alimentation d'énergie d'affichage

    Une fois que les signaux de données ont été reliés, établissez le rapport d'alimentation d'énergie à l'affichage. Expositions ci-dessous du schéma 14 les fondements. Utilisant l'adaptateur de cric de baril de C.C, reliez le terminal positif de l'alimentation d'énergie au fil rouge du harnais de fil et reliez le terminal négatif de l'alimentation d'énergie au fil noir du harnais de fil. Avant de relier le harnais de fil à l'affichage, utilisez un mètre de volt pour vérifier la polarité des connexions. Une fois que vous avez vérifié la polarité, déconnectez la puissance et branchez le harnais de fil à l'affichage.

    J'ai laissé les crochets de pelle sur le harnais de fil parce que je prévois sur employer l'affichage dans un plus grand projet et ne veux pas les enlever jusqu'à ce que je sois sûr que je n'ai pas besoin de eux dans le projet plus grand. Si vous partez la pelle supporte dessus aussi, fasse attention ils ne font pas accidentellement sous peu à n'importe quelle autre électronique. Vous pourriez vouloir les envelopper avec la bande électrique juste pour être sûr. Si vous n'avez pas besoin ou ne voulez pas des connecteurs de pelle, sentez-vous libre pour les couper, dépouillez un peu de l'isolation outre des fils, et reliez-les directement à l'adaptateur de cric de baril de C.C.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Le schéma 14. En reliant l'alimentation d'énergie au panneau de RVB LED utilisant un C.C femelle barrel l'adaptateur de cric.

    Les signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une imageLes signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une imageLes signaux de données du cours 16 de conducteur de panneau de SparkFun ou d'Adafruit 32x32 RVB LED se relient + 5VDC régénéré pour montrer une image

    Coordonnées
    Leeman Display Technology Limited

    Personne à contacter: Leeman

    Envoyez votre demande directement à nous (0 / 3000)

    Autres Produits
    Location d'affichage LED

    P3.91 P4.81 P5.2 définition élevée de location extérieure d'écran de 500 x de 500mm

    À l'intérieur de/l'affichage à LED De location d'extérieur, de pleines couleurs concertent l'écran de l'étape LED

    3,91 L'affichage à LED De location de pixel contrasté d'intérieur de moulage mécanique sous pression avec le grand angle de visualisation

    Locations d'écran de la vidéo SMD 5050 LED de HD avec l'intense luminosité d'entraînement actuel constant

    Affichage à LED Polychrome

    Affichage à LED polychrome visuel extérieur de SMD RVB Définition élevée P6.67 P10 de 32 x de 16 Matrix

    Location visuelle d'intérieur polychrome économiseuse d'énergie de mur de LED pour le fond d'étape

    panneau d'affichage RVB de publicité extérieure de 1R1G1B SMD polychrome avec le lancement de pixel de 6mm

    Affichage à LED polychrome de l'IMMERSION RVB 3IN1 de SMD, dispositifs d'affichage d'affichage vidéo fixes D'installation de module

    LED Module d'affichage

    P3 P4 SMD De P5 64 * 32 5G matrice de points d'intérieur 32 * 16 3528 module polychrome réglable d'affichage à LED du système

    Carte de contrôleur de MSD300 LED MRV300 RVB avec le système de contrôle de synchronisation

    32 x 32 RVB 3 dans 1 lancement de haute résolution 5mm de panneau de Matrix d'éclat de module d'affichage à LED

    Rouge/vert/module bleu de P10 LED, IMMERSION simple extérieure de la carte 346 d'affichage à LED de couleur

    Demande de soumission

    E-Mail | Sitemap

    Privacy Policy Chine Bon Qualité Affichage à LED Polychrome Fournisseur. Copyright © 2015 - 2019 fullcolorled-display.com. All Rights Reserved.