Stap 5: Processing systeem
De ontwerpen gepresenteerd werden eerder samengevoegd zodat het definitieve ontwerp, met een enkele PS beheersen ze allemaal. De interface voor alle blokken zijn via GPIO IPs. Zie de afbeelding voor de naamgevingsconventie voor alle vorige GPIO modules wanneer gecombineerd:
-gpio_trigger_control: Control triggermodule, lees bufferwaarden
-gpio_trigger_settings: drempel en deelmonster instellen
-screen_buffer_gpio: schrijf waarden aan schermbuffer
-encoder_btn_gpio: lezen encoder graven en knop waarden.
Bibliotheken zijn geschreven (meegeleverd) gebruikt pixels, gelezen encoder / knop ingangen, lezen en schrijven buffer voorbeeldwaarden. Vanwege de beperkte tijd, de belangrijkste code is enigszins groot, hadden niet genoeg tijd om te maken het super mooi met modulaire functies.
Tijdens de eerste ontwikkeling ging FreeRTOS worden gebruikt de PS. wegens tijdgebrek, dit werd verlaten en geen taken werden gebruikt. Echter de CORTEX_A9_Zynq_ZC702 FreeRTOS Demo-project ik had gewerkt uit was nog steeds gebruikt, in naam van het op het laatste moment zo weinig mogelijk veranderen.
De definitieve versie van mijn oscilloscoop had alleen verticale schaal aanpassing en trigger niveau aanpassing, dus de tijdweergave voor de divisie ongebruikt was.
De basisstappen voor het hoofdprogramma is:
1) controleren encoder en knop ingangen, trigger waarden overeenkomstig aanpassen
2) controleren als toepassingsgebied heeft geactiveerd maar (Herhaal 1 & 2 totdat het is geactiveerd)
3) wissen en bijwerken van de markers tonen V/tweede divisie.
4) Lees alle waarden van trigger buffer.
5) berekenen locatie van trigger niveau lijn in pixels locaties
6) locatie voor huidige en volgende sample in pixels berekenen
7) wissen alle pixels in de huidige kolom
8) trekken een verticale lijn aanwezig monster locatie van rij naar volgende monster plaats van rij. Hiermee maakt u een weergave van aangesloten verticale lijnen, in plaats van losse punten.
9) trigger niveau lijn tekenen
10) draw driehoek 0V niveau weergeven
11) reset de trigger om te starten met het nemen van monsters weer.
12) Herhaal vanaf 1.