Digitalt oscilloskop med Digilent Zybo styrelsen (5 / 6 steg)
Steg 5: Processing System
De mönster som presenterade tidigare samman för att ge den slutliga utformningen, med en enda PS kontrollera dem alla. Gränssnittet till alla block är genom GPIO IPs. Se bilden för namnkonventionen för alla tidigare GPIO moduler i kombination:
-gpio_trigger_control: trigger kontrollmodul, läsa buffert värden
-gpio_trigger_settings: Ställ in tröskelvärdet och delprov
-screen_buffer_gpio: skriva värden till skärmbuffert
-encoder_btn_gpio: Läs encoder räkningarna och knapp värden.
Biblioteken var skrivna (medföljer) används för att skriva pixlar, läsa encoder / knappen ingångar och läsa buffert exempelvärden. På grund av begränsad tid, huvudkoden är något stor, hade inte tillräckligt med tid att göra det super vacker med modulära funktioner.
Under första utveckling, FreeRTOS skulle användas i den PS. på grund av tidsbrist, detta övergavs och inga uppgifter användes. Emellertid användes CORTEX_A9_Zynq_ZC702 FreeRTOS Demo-projektet jag hade jobbat av fortfarande, i namn av ändras så lite som möjligt i sista minuten.
Den slutliga versionen av min oscilloskop hade bara vertikala skalan anpassning och utlösa nivåjustering, så den tid division visningen var oanvända.
Grundläggande flödet av huvudprogrammet är:
1) kontrollera kodare och knappen input, justera trigger värden korrekt
2) kontrollera om räckvidden har utlöst ännu (upprepa 1 & 2 tills det har utlöst)
3) radera och uppdatera de markörer som visar V/Second division.
4) läsa alla värden utlösa buffert.
5) beräkna plats av avtryckaren nivå linje i pixlar platser
6) beräkna platsen för nuvarande och nästa prov i pixlar
7) radera alla pixlar i nuvarande kolumn
8) rita en lodrät linje från denna provtagningsplats rad till nästa provtagningsplats rad. Detta skapar en visning av anslutna vertikala linjer, snarare än osammanhängande punkter.
9) dra avtryckaren nivå linje
10) rita triangel för att Visa 0V nivå
11) Återställ trigger för att börja ta prover igen.
12) upprepa start från 1.