DPScope - Bygg din egen USB/PC-baserade oscilloskop (8 / 38 steg)
Steg 8: mikrokontroller
Första och mest viktigt, den har en analog-till-digital-omvandlare som kan få prover på 2 MSamples per sekund. Vid åtminstone det är vad spec tycks säga vid första anblicken. Verkligheten är - det kan få två kanaler samtidigt på 1 MSample per sekund varje, och mikrochip marknadsföring killarna helt enkelt lagt till dessa två siffror... Hur som helst, det är alldeles utmärkt för oss eftersom vi behöver två kanaler ändå. ADC har en upplösning på 10 bitar, men för att maximera förvärv hastighet och minska minne krav endast de övre 8 bitarna få används (dvs. en byte per prov). Skälet för att använda en 128 MHz klocka är samma - med denna hastighet i dsPIC räcker bara knappt fast upprepade gånger prova två kanaler och lagra data i det interna minnet på 1 MHz frekvens.
Den analoga bandbredden för att ADC är långt över 1 MHz, så det inte är en begränsande faktor i signal kedjan. För samplingsfrekvenser på snabbare än 1 MSample/SEK - upp till 20 MSamples/SEK - DPScope använder en teknik som kallas "motsvarande provtagning" - i princip det går på 1 MSample/s verkliga samplingsfrekvens och förvärvar bara en delmängd av data pekar på varje svep, och sedan överlägg två eller flera efterföljande svep (vardera med något ökad start fördröjning efter avtryckaren) för en sammansatt bild med högre effektiv timing upplösning. Du kan läsa mer detaljer om denna teknik i Tektronix applikationen noterar"XYZ av oscillscopes".
Den andra stora funktionen av denna mikrokontroller är en uppsättning kontrollapparater med fint kontrollerbar tröskelvärde (10 bitars upplösning); de flesta andra mikrochip enheter har endast mycket grovt jämför tröskel steg. Dessa kontrollapparater är alla vi behöver genomföra en fullt utvecklad räckvidd utlösare med justerbar tröskel och valbara kanten polaritet (stigande eller sjunkande kant, respektive), som skär ned på antalet totala komponenter och därmed kostnaden och komplexiteten.
Det enda öm punkten med denna dsPIC är dess små RAM-storlek - bara 512 byte. Några av som tas upp av programmet overhead (t.ex. globala variabler, parametern stack och så vidare), och det var en utmaning att få minst 200 byte per kanal (faktiskt 205, eftersom detta fungerar till 410 poäng för FFT - där bara en kanal som förvärvats i taget- och 410 är 4/5 av de 512 poäng behövs för FFTEN vilket gör att interpolera det 512 punkter ganska enkelt); en framtida version av tillämpningsområdet kan använda en annan dsPIC enhet (men rätt nu det inte finns någon som har alla andra har, kör på 5V och finns i DIP paket). Att lägga till yttre RAM inte är ett alternativ antingen - först, det skulle lägga till kostnaden och komplexiteten och andra, dpPIC har inte tillräckligt utgångsstift att kontrollera den tredje med maximal frekvens finns det ingen tid för ytterligare kontrolluppgifter ändå. Men 200 poäng är bra nog för en full-skärm, och i de flesta program den DPScope fördröjd trigger kapacitet erbjuder exakt samma funktionalitet som en längre fånga minne skulle.
Slutligen stöder dsPIC SPI och USART kommunikation, som används för att styra andra enheter i DPScope (justerbar vinst förstärkare, offset DAC) och kommunicera med PC, respektive.