Kort svar: Jeg starter med minst 2x høyeste relevante frekvens, men for feilsøking går jeg som regel til 5x–10x. Det gir bedre sjanse for å få med korte pulser, flanker og feil som ellers kan se feil ut eller forsvinne.
Hvis du vil velge samplingsfrekvens uten å overtenke det, bruker jeg denne enkle regelen:
- Finn den raskeste delen av signalet
- Bruk 2x som nedre grense
- Bruk 4x–5x for dekoding
- Bruk 5x–10x for timing og flanker
- Bruk 10x+ hvis du jakter på glitcher
- Sjekk alltid minne, kanalantall og opptakstid
Det viktigste poenget er enkelt: for lav rate kan gi feil bilde av signalet. Ved aliasing kan et signal se tregere eller annerledes ut enn det faktisk er. Og ved 100 MHz er tidssteget bare 10 ns, så små endringer blir lettere å se.
Jeg tenker derfor på tre ting samtidig:
- signalhastighet: klokke, bitrate og stige-/falltid
- målet med målingen: dekoding, timing, glitch-funn eller langtidslogging
- begrensningene i instrumentet: buffer, triggere og hvor mange kanaler som er aktive
| Bruk | Startpunkt |
|---|---|
| Enkelt opptak | 2x–2,5x |
| Protokolldekoding | 4x–5x |
| Timing og flanker | 5x–10x |
| Glitcher og korte transienter | 10x+ |
Min korte tommelfingerregel: Hvis du er usikker, start litt høyere enn du tror, se på minnebruken, og senk bare hvis du trenger lengre opptaksvindu. Det er som regel bedre enn å måle for lavt og miste selve feilen.
Forstå signalet før du velger samplingsrate
Når du først skjønner hvorfor for lav rate gir aliasing, er neste steg ganske enkelt: Finn den raskeste delen av signalet. Det er den som setter kravet til samplingsfrekvensen.
Finn den høyeste relevante frekvensen i signalet
For digitale signaler er det ofte klokkefrekvens, bitrate og stige-/falltid som avgjør hva du trenger. Raske flanker og korte pulser krever høyere samplingsrate enn trege signaler. For logic analyzere er det derfor særlig disse tre punktene du bør kartlegge før du velger rate:
- klokkefrekvens
- bitrate
- stige-/falltid
For analoge signaler eller sensormålinger tar du i stedet utgangspunkt i den høyeste frekvensen du må fange.
Når du har funnet den høyeste relevante frekvensen, har du et klart minimum å jobbe ut fra.
Bruk Nyquist som minimum, legg til sikkerhetsmargin
Nyquist gir deg minstegrensen. I praksis velger man ofte en høyere samplingsfrekvens for å få bedre tidsoppløsning og litt slingringsmonn.
Neste steg er å bruke dette kravet til å velge en rate som også passer med minne og opptakslengde.
sbb-itb-84d7fbf
Steg for steg: Slik velger du riktig samplingsfrekvens
Slik velger du riktig samplingsfrekvens – steg for steg
Når du kjenner den høyeste frekvensen som faktisk betyr noe, kan du velge samplingsfrekvens i tre steg. Poenget nå er å gjøre kravet brukbart i praksis.
Steg 1: Definer målet med målingen
Målet avgjør raten. Protokolldekoding trenger nok bitoverganger. Nøyaktig tidsmåling krever presis flankedeteksjon. Glitch-deteksjon handler om å fange de korteste hendelsene. Langtidslogging handler derimot mer om opptakstid enn mikroskopiske detaljer.
Når du vet hva du prøver å finne, blir det mye enklere å velge en startfrekvens som passer signalet.
Steg 2: Velg en startfrekvens basert på signalhastighet
Begynn med minst 2x den høyeste relevante frekvensen. Det er minimum. I praksis er det ofte lurt å gå litt høyere.
For protokolldekoding er 4x–5x ofte et bedre sted å starte. Hvis du jobber med presis timing eller vil studere kanter, er 5x–10x mer realistisk.
| Måltype | Anbefalt multiplikator | Minnebruk |
|---|---|---|
| Enkelt opptak | 2x–2,5x | Lav |
| Dekoding | 4x–5x | Moderat |
| Timing/flanker | 5x–10x | Høy |
| Glitcher/transienter | 10x+ | Svært høy |
Etter dette må du sjekke om den valgte raten fortsatt gir deg nok opptakstid. Det er her mange merker at teori og praksis ikke alltid går hånd i hånd.
Steg 3: Sjekk minnebruk, opptakstid og tapte hendelser
Høyere samplingsfrekvens gir kortere opptaksvindu. Ved 500 kHz lager én kanal med 16-bits dybde 500 KB data per sekund. En buffer på 30 sekunder krever 15 millioner datapunkter. Det kan spise opp minnet på vanlige logikkanalysatorer på svært kort tid.
Trenger du lengre opptak, og små signaldetaljer ikke er så viktige, kan du senke raten. Se så etter tegn på at du har gått for langt ned: feilplasserte flanker eller pulser som mangler. Hvis disse flytter på seg eller dukker opp først når du øker samplingsfrekvensen, var raten trolig for lav.
Ved sjeldne hendelser er trigget opptak ofte det smarteste grepet. Da bruker du mindre minne og samler data akkurat der feilen skjer.
Neste kontroll er å matche raten med logikkanalysatorens kanalantall og triggeroppsett.
Tilpass samplingsfrekvensen til logikkanalysatorens spesifikasjoner
Når du vet hvilken rate signalet trenger, er neste steg å sjekke om logikkanalysatoren faktisk klarer jobben. Det er her teori møter praksis. Instrumentets grenser avgjør hva du faktisk får målt.
Tre ting setter som regel grensen: maksimal samplingsfrekvens, antall aktive kanaler og minnedybde.
Slik henger samplingsfrekvens, kanaler og triggere sammen
I mange logikkanalysatorer må den maksimale samplingsfrekvensen fordeles mellom aktive kanaler. Skrur du på flere kanaler samtidig, kan raten per kanal falle mye. Det kan bli en liten felle: Du tror du måler alt, men ender opp med for lav oppløsning på hver kanal.
Triggere hjelper her. De sparer minne ved å starte opptaket ved riktig hendelse, for eksempel en bestemt I2C-adresse eller en uventet flanke eller puls.
Målet er enkelt: Velg høyest mulig rate som fortsatt gir deg nok kanaler og nok opptakstid.
Det er også lurt å huske at høyere rate gir kortere opptaksvindu. Ved høy rate og mange kanaler kan dette vinduet bli overraskende kort. Du kan altså få masse detaljer, men bare i et veldig lite tidsrom.
Samplingsfrekvenser for vanlige digitale protokoller
Her er noen praktiske startpunkter for vanlige signaler:
| Samplingsfrekvens | Typisk protokoll/signal | Styrker | Begrensninger |
|---|---|---|---|
| 1 MHz | UART, lavhastighets-I2C, sensorer | Lavt minneforbruk, lange opptak | Misser raske overganger; mer utsatt for aliasing på komplekse signaler |
| 10 MHz | Standard I2C (400 kHz), langsom SPI | God balanse for de fleste reparasjoner | Ikke nok for høyhastighets SPI eller parallelle busser |
| 50 MHz | Rask SPI, SDIO, skjermgrensesnitt | Fanger raske transienter og gir bedre tidsoppløsning | Høyt datavolum; krever mye buffer og raskere prosessering |
| 100 MHz+ | Høyhastig parallellbus, FPGA-feilsøking | Nødvendig for å finne glitcher under 10 ns og presise timingsfeil | Svært høyt datavolum; begrenser ofte antall aktive kanaler eller total opptakstid |
Sjekk alltid opptaksvinduet før du starter. Hvis det er for kort, må du justere rate, antall kanaler eller triggeroppsett.
Konklusjon: En enkel regel for å velge riktig samplingsfrekvens
Når du har sett på signalhastighet, minne og hvor mye detalj du vil ha med, kan du bruke en enkel tommelfingerregel: Finn den høyeste frekvensen som faktisk betyr noe, bruk Nyquist som minste nivå, og legg inn litt ekstra margin når timing spiller en stor rolle.
Kort sagt er 2x bare minstegrensen. I praksis gir 5x–10x mer spillerom når du skal måle korte pulser og raske flanker.
Viktige punkter å huske før du måler
- 2x er minimum – ikke målet.
- 5x–10x gir mer margin når signalet har korte pulser og raske flanker.
- Høyere samplingsfrekvens gir kortere opptaksvindu, så sjekk at vinduet faktisk er langt nok for hendelsen du prøver å finne. Er hendelsen sjelden, bør du bruke triggere.
FAQs
Hvordan ser jeg at samplingsfrekvensen er for lav?
Et tydelig tegn er aliasering. Da blir høyfrekvente deler av signalet speilet ned i frekvensspekteret, og du får falske frekvenser som ikke finnes i originalsignalet.
I praksis høres eller vises dette ofte som kraftig forvrengning, skarpe støytopper eller rare lavfrekvente topper i en analyse. Når det skjer, er samplingsfrekvensen for lav til å gjengi signalet riktig.
Hva er viktigst å prioritere: høy samplingsfrekvens eller lang opptakstid?
Det kommer an på hva prosjektet skal brukes til. Høy samplingsfrekvens betyr mest når du må fange opp høyfrekvent innhold eller trenger et tett grunnlag for analyse. Hvis frekvensen er for lav, kan du få aliasing, altså forvrengning og falske frekvenser.
Lang opptakstid slår rett inn på lagringsbehovet, fordi høyere samplingsfrekvens gir større filer. For vanlige behov er 44,1 kHz eller 48 kHz ofte en god balanse mellom kvalitet og effektiv bruk av plass.
Når bør jeg bruke trigger i stedet for å øke samplingsfrekvensen?
Bruk trigger når du vil registrere bestemte hendelser eller signaler ut fra innholdet i målingen, i stedet for å skru opp samplingsfrekvensen hele tiden.
Setter du samplingsfrekvensen høyere enn du trenger, får du i praksis bare mer data, samt større krav til lagring og prosessering, uten at informasjonen blir mer nyttig. En trigger lagrer data når de valgte kriteriene er oppfylt. Samtidig gjør riktig filtrering før sampling at du unngår aliasering fra uønsket høyfrekvent støy.