Digitale oscilloscoop met behulp van Digilent Zybo bestuur (4 / 6 stap)

Stap 4: Video Driver


Dit deel van het ontwerp is verantwoordelijk voor de opstelling van de GUI en input golfvormen. Toepassingsgebied golfvormen, trigger niveau lijnen en andere veranderende indicatoren worden opgeslagen in een framebuffer, met elke geheugenadres houden van de waarde van de pixel. Deze framebuffer is een blok ram, die het VGA-stuurprogramma waarden van leest worden verzonden naar de VGA-poort wordt weergegeven op het scherm.

Oorspronkelijk was het scherm gewenst om 640 x 480. Echter, al deze pixelwaarden op te slaan in een blok RAM is niet mogelijk, als de maximale diepte van een blok RAM-geheugen is 262144 (overeenkomt met een adres met 18-bits, 2 ^ 18 = 262144), en 640 x 480 = 307200 pixels. Een compromis werd gemaakt en het scherm zou worden teruggebracht tot 480 x 512, zodat het hele schermbuffer kan worden opgeslagen in een blok RAM-geheugen.

Om te vereenvoudigen later codering, werden de achtergrondafbeelding (raster en contouren van het scherm) op de computer in een afbeeldingseditor getrokken. Een matlab script werd geschreven (meegeleverd) de zwart-wit BMP converteren naar een bestand .coe, dat kan in een blok ram-cel worden voorgeladen. Dit betekent dat de afbeelding al is opgeslagen in het geheugen, en niet hoeft te worden "getrokken" in de code of hardware. Dit is een afzonderlijk blok ram dan de schermbuffer, zodat de twee blok RAMs uitgangen worden uitgevoerd in een aangepaste IP-blok (de bewerker van de kleur) om "besluiten" welke kleur moet worden weergegeven, met toepassingsgebied signalen en indicatoren hebben hogere prioriteit laag over het raster.

-axi_gpio_0: kanaal 1 wordt uitgevoerd. Hiermee bepaalt u de adres gegevens en de inschakelen signalen naar de schermbuffer voor te schrijven. Kanaal 2 wordt ingevoerd. Leest een beetje acknowledge om te bevestigen dat de write-bewerking is voltooid.

-bram_write_controller: neemt een adres, gegevens en inschakelen signaal vanuit een GPIO-module om een blok RAM-geheugen te schrijven. De adres- en data signalen zijn het gewoon gerouteerd via zonder verandering. De complicatie is voorzien van het nl-signaal. Ik was niet zeker hoe lang een schrijven "1" en "0" zou duren vanaf de GPIO (in termen van klokcycli), dus ik wilde om ervoor te zorgen dat het blok wram slechts één keer werd geschreven. Deze schrijven-controller wordt uitgevoerd op de stijgende rand van de de GPIO nl signaal om het maken van een 1 klok breedte inschakelen puls te schrijven inschakelen van de blok ram. Wanneer het proces voltooid is deze puls, kan het acknowledge-signaal worden beweerd hoog om te bevestigen dat het is geschreven.

-signals_buffer1: dit is een 3 bits breed blok ram gebruikt voor het opslaan van de veranderende pixelwaarden op het scherm, zoals de golfvorm, trigger niveau lijn, en spanning/divisie indicator. Elke geheugenadres vertegenwoordigt één pixel. Het adressysteem werkt zodat de top 9 bits zijn de rij van de pixel en de onderkant 9 bits zijn de kolom van de pixel.

-gui_buffer: dit is een 1-bit brede blok ram gebruikt voor het opslaan van de onveranderlijke GUI (raster, overzichten etc) die in via .coe bestand gegenereerd op basis van de afbeelding is geladen. (matlab-script bijgevoegd)

-vga_driver_0: genereert horizontale en verticale sync-signalen voor de VGA-protocol. Genereert kolom en rij waarden die vertegenwoordigen de huidige pixel wordt weergegeven. Deze worden gebruikt om te lezen uit het blok rammen om te lezen van de opgeslagen waarden voor de huidige pixel

-color_processor_0: deze IP beslist welke kleur zal worden weergegeven als een functie van opgeslagen pixelwaarden. Mij troep mijn prioriteiten van hoogste naar laagste als (rode trigger niveau lijn, geel signaal lijn, witte GUI/grid). Waarde van de pixel wordt opgeslagen als een waarde van 3 bits, elke bit vertegenwoordigt een "laag". Hogere prioriteit signalen (zoals de trigger-lijn) moeten worden weergegeven op de "top" laag, terwijl lagere prioriteit signalen (zoals de achtergrond raster) in de "onderste" laag moet.

Gerelateerde Artikelen

Maken van een digitale thermometer met behulp van Intel Edison

Maken van een digitale thermometer met behulp van Intel Edison

Allereerst wil ik de Instructables en Intel bedanken voor het geven mij Intel edison met het startpakket. Dit Instructable is over het maken van digitale Thermometer (met behulp van intel edison). Digitale thermometer maken is vrij eenvoudig en kan w
Hoge kwaliteit MMC digitale Spraakrecorder met behulp van de PIC met beperkt RAM (PIC16F877A)

Hoge kwaliteit MMC digitale Spraakrecorder met behulp van de PIC met beperkt RAM (PIC16F877A)

dit is mijn eerste digitale VoiceRecorder die is gemaakt met behulp van een mid-range PIC met een totale RAM-geheugen van slechts 256 bytes.http://blog.vinu.co.in/2011/07/attempt-to-Access-Memory-Card-MMC-using.htmlHier, gebruikte ik een PIC16F877A t
Digitale klok met behulp van MSP430

Digitale klok met behulp van MSP430

Hallo vrienden, dit is mijn project op digitale klok, met behulp van de MSP430G2452 [u kunt elke 20 pin MSP controller] ik heb geupload zijn schema met de code hier, je ziet het werken bij...http://Youtu.be/3GbRLwAJdfM
Hoe maak je een goedkope 16 MHz Arduino oscilloscoop met behulp van Excel en uw computerscherm naar Display

Hoe maak je een goedkope 16 MHz Arduino oscilloscoop met behulp van Excel en uw computerscherm naar Display

Vaak zal een elektronica-hobbyist ontwerpen en bouwen iets alleen te vinden dat het de juiste manier hij of zij zich niet gedraagt. Soms is het probleem in dit soort situaties gerelateerd aan een elektrisch signaal, maar dat spul met de snelheid van
Digitale klok met behulp van 7 Segment Display gecontroleerd met behulp van TV Remote

Digitale klok met behulp van 7 Segment Display gecontroleerd met behulp van TV Remote

er zijn rassen van digitale klok beschikbaar in ons dagelijks leven. Eenvoudige digitale klok zal meestal hebben sommige gebouwd in functies zoals alarm klok, kalender en thermometer naast de display de klok-informatie. Sommige van de vooraf digitale
Snelle digitale thermometer met behulp van goedkope USB aan Convertor van TTL en DS18B20 - zonder Arduino of Raspberry Pi

Snelle digitale thermometer met behulp van goedkope USB aan Convertor van TTL en DS18B20 - zonder Arduino of Raspberry Pi

In mijn vorige instructable gaf ik een introductie tot digitale thermometer DS18B20 en ESP8266 nodemcu board met SPI OLED-display, en programmeren met behulp van de Arduino IDE. Dat vereist kennis van programmering, elementaire elektronica en ook een
Digitale Incubator met behulp van Arduino

Digitale Incubator met behulp van Arduino

IntroductieEen incubator is een apparaat dat wordt gebruikt om te fokken en houden van de bacteriologische culturen of celculturen. Het ondersteunt de voornaamste temperatuur, lichtintensiteit, vochtigheid en andere omstandigheden in de atmosfeer. In
Digitale voltmeter met behulp van arduino

Digitale voltmeter met behulp van arduino

Voltmeter wordt gebruikt voor het meten van spanning in circuit, Analoge voltmeter hebben 5% fout, het toont de geschatte waarde, waar de Digitale voltmeter geeft exacte waarde van de spanning in het circuit. Spanning wordt gemeten met behulp van spa
Digitale Thermometer met behulp van LM35 met Mediatek LinkIt een bord

Digitale Thermometer met behulp van LM35 met Mediatek LinkIt een bord

In dit Instructable, zal u zitten kundig voor maatregel lichaamstemperatuur en aangeven of een persoon koorts heeft of niet. Dit wordt gedaan door interfacing LM35 met Mediatek LinkIt One.LM35 is een 3 terminal temperatuursensor.Stap 1: onderdelenLm3
Configureren, gegevens lezen & kalibreren van het HMC5883L digitale kompas met behulp van Python

Configureren, gegevens lezen & kalibreren van het HMC5883L digitale kompas met behulp van Python

Net als in andere blogs bevat deze ook informatie die elders kan worden gevonden op het web. Ik net gestructureerd het zodat het makkelijk te gebruiken voor beginnende robot hobbyisten.Aansluiten van het kompas is heel simpel. Bij het monteren van de
Outputten GIF op VGA van SD-kaart met behulp van Zybo bestuur

Outputten GIF op VGA van SD-kaart met behulp van Zybo bestuur

Dit is een tutorial over het bouwen van een systeem dat GIFs-uitgang van een VGA-monitor met behulp van een Zybo-Board. De GIFs zijn vooraf geladen op een SD-kaart. Dit was onze laatste project voor de klasse van een real-time Embedded systemen (CPE
Maken met behulp van een oscilloscoop de SainSmart Mega2560 met het TFT LCD schild en de 3.5 "aanraakscherm in kleur

Maken met behulp van een oscilloscoop de SainSmart Mega2560 met het TFT LCD schild en de 3.5 "aanraakscherm in kleur

Dit instructable zal u tonen hoe te bouwen van een draagbare Touch ScreenOscilloscoop voor minder dan 40 U$!De oscilloscoop is één van de meest krachtige elektronische instrumenten dieis beschikbaar voor de elektronica hobbyist, onderzoekers en ingen
Beheersing van een Arduino Board met behulp van een infrarood afstandsbediening

Beheersing van een Arduino Board met behulp van een infrarood afstandsbediening

I-IntroductionHallo iedereen, mijn naam is Noreddine Kessa, ik ben een liefhebber van de elektronica.  Ik had plezier dit weekend spelen met mijn nieuwe speeltje, Arduino ATmega328 DIY Kit die ik kreeg op eBay, en ik zou graag de vreugde delen met ie
Controle op elk apparaat met behulp van een Raspberry Pi en een Relais module

Controle op elk apparaat met behulp van een Raspberry Pi en een Relais module

Het doel van deze ible is te laten zien hoe aan de slag met het opzetten van een Relais module op uw pi en onder controle. Mijn doel is om scripts toevoegen aan mijn octopussen op en uitschakelen LED-verlichting, maar hoe dan ook u wilt uiteindelijk