Stap 7: Circuit beschrijving - Sample Logic
Oorspronkelijk ik ontwierp de scope met behulp van een Xilinx CPLD (programmable logic device), maar uiteindelijk
besloten om het standaard CMOS logica chips (74HCxx serie) in plaats daarvan - dienst een CPLD opnieuw moet speciale programmering hardware en software en ik dacht dat zou waarschijnlijk afschrikken iedereen behalve een paar deskundigen. Het klopte ook een beetje uit de kosten van de component. Dit dwong me om de logica echt inhoud tot een absoluut minimum, dus dat is waarom er is bv geen pre trigger-optie (dat wil zeggen een mogelijkheid om te vangen het signaal voor de trigger). Misschien maak ik een dergelijke scope in de toekomst.
De microcontroller levert een kloksignaal (geproduceerd in de achtergrond via haar PWM-uitgang)
die is gated (geblokkeerd) totdat een trigger impuls komt via flip-flop DFF1. De XOR voor
DFF1 fungeert als een programmeerbare omvormer om te selecteren op stijgende of dalende rand triggering. Is een Schmitt-trigger logica stadspoort die sommige hysteresis om te minimaliseren van de kans voegt van valse triggering als gevolg van lawaai voor het.
Het kloksignaal rijdt een 8-bits binaire teller (CTR1) die het adres van de gegevens verhoogt
opslag in de SRAM (zie volgende pagina). Wanneer de teller terugloopt (dat wil zeggen na het bereiken van de
maximum, en de meest significante bit gaat weer van 1 naar 0) dit activeert een ander flip-flop (de
de tweede helft van de DFF1) die op zijn beurt uit het kloksignaal gates. De andere uitgang (Q) van de flip-flop
produceert het "DONE"-signaal waarmee wordt aangegeven dat de microcontroller, dat de data-acquisitie is afgelopen en de gegevens kan nu worden gelezen uit het monster geheugen en overgebracht naar de PC.
Voor deze uitlezing, de microcontroller wordt het pad van de klok opnieuw ingeschakeld en afwisselend het kloksignaal pulsen en leest uit een bye van voorbeeldgegevens, die stuurt deze door naar de PC via de seriële verbinding.