Siglent etusivulle linkki     SDG1000X sekalaisia ohjeita.

Siglent tuotevalikoimassa SDG1032X sekä SDG1062X Funktio/ARB signaaligeneraattorit edustavat suorituskyvyltään erinomaista perustasoa. Mallit ovat 2 kanavaisia, taajuusalueet 30MHz ja 60MHz. 150MSa/s ja 14 bit.


SDG1000X sarjan vapaiden aaltomuotojen (Arb, Arbitrary waveforms) muodostamisen ohjeita sekä muita käyttövinkkejä sekä yksityiskohtia.
Soveltuvin osin jotkin asiat hyvin saman kaltaisesti muillakin SDG malleilla.

Luonnollisestikin käyttöohjeissa on ohjeita ja samoin EasyWave ohjelman osalta on valmistajan ohjeita enkä varsinaisesti puutu niihin. Joskus kuitenkin saattaa olla tarvetta editoida aaltomuotoja tai tehdä jotain muulla tavalla kuin esimerkiksi EasyWave ohjelmaa apuna käyttäen tai sen rinnalla.

True Arb tekniikka tuli 1000X malliin. (tällä sivulla)

Yksinkertaisen BodePlot toiminnon periaate.(ei ole Siglent skooppien BodePlot) (tällä sivulla)

x

x

x

x




SDG1000X sarjassa on myös ns "TrueArb" tekniikka
.

Tekniikka oli aiemmin SDG2000X mallissa ensimmäisen kerran Siglent laitteissa.
Tämä koskee myös aiemmin myytyjä SDG1000X sarjan generaattoreita. Huolehdi vaan että sinulla on uusin FW päivitys käytössä.

Käytettävissä on kaksi toimintatapaa: DDS tai TrueArb.

TrueArb moodissa Arb muistin pituus voi olla vapaasti 2 - 16384 muistipaikkaa (1 muistipaikka sisältää yhden jännitearvon). Lisäksi tässä toimintamoodissa muistin samplenopeus on käyttäjän aseteltavissa, max 30Msample/s (eli muistipaikkojen askellusnopeus)
(tässä moodissa ei koskaan hypitä muistipaikkojen yli vaan jokainen viedään DA muuntimelle ja ulostuloon)
Mikäli laitteessi ei vielä ole TrueArb toimintamoodia päivitä uusimpaan FW versioon eli tämä ominaisuus tulee myös jo aiemmin hankittuihin laitteisiin koska kaikissa on siihen valmius. .

DDS moodissa laite toimii kuten ennenkin. Kiinteä 16384  muistipaikkaa ja kiinteä askellusnopeus 150Msa/s (150 miljoonaa askelta sekunnissa)
(tässä moodissa tarpeen mukaan hypitään  muistipaikkojen yli ja jotkin yksityiskohdat voidaan näin ohittaa sekä lisäksi joudutaan taajuuden säilyttämiseksi tekemään yhden askelluksen (kellojakson) mittaisia eteen taa hyppyjä josta seuraa kellojakson mittaista aikajitteriä (6,67ns)
Tämä on normaalia (ja välttämätöntä) siis aina perinteisllä DDS generaattoreilla joissa kiinteä muistin pituus ja askellustaajuus.

 

    Seuraava teksti on kirjoitettu aikana jolloin oli van DDS moodi käytettävissä ja se sopii siihen edelleenkin.

(Lisään/täydennän/muokkaan  myöhemmin tekstiä TrueArb osalta)

DDS toimintamuoto joka on edelleen ennallaan ja oli ennen FW versio 33R1 ainoa toimintatapa.

Kussakin muistipaikassa on yksi jännitearvo.
Muistia askelletaan muistipaikka kerrallaan ja kulloisenkin muistipaikan arvo ohjataan DA muuntimelle ja ulos (tietenkin sitten skaalattuna arvoon jonka käyttäjä on asettanut lähtötasoksi kussakin käyttötilanteessa)

Olet myös huomannut että laitteen yksi mainittu ominaisuus on: 150MSa/s.
Se on myös nopeus jota Arb muistin askelluksessa ei voida ylittää. Se on laitteen rakennetta.
Sen sijaan hitaammin toki voidaan Arb muistia askeltaa.

Nyt sitten on erittäin tärkeää ymmärtää mitä tarkoittaa kun asetamme Arb taajuudeksi esimerkiksi 1kHz (1000Hz).
Se tarkoittaa sitä että yksi Arb jakso (se yksi 16384kpl muistipaikkoja) "pyyhkäistään" eli askelletaan 1000 kertaa sekunnissa.
Jos siellä Arb muistissa olisi esimerkiksi kaksi jaksoa siniaaltoa saisimme ulos 2kHz siniaaltoa.

Arb muistia on mahdollista askeltaa maksimissaan 150MSa/s. 1 Sa (sample, näyte) on siis yksi muistipaikka.
150MSa/s nopeudella yksi askel on 6 2/3 ns. (6,666... ns). Tällä nopeudella ehditään jokainen muistipaikka käydä läpi ja ajaa se DA muuntimelle. Kun muistipaikkoja on 16384 kuluu siihen aikaa 109226,66... ns. Tosin sanottuna Arb taajuus 9155,2734375 kHz on masimi Arb taajuus jolla jokainen muistipaikka ehditään käymään läpi. Tuota suuremmilla taajuuksilla on alettava hyppiä yli. Alemmilla taajuuksilla taas on alettava lisätä kellojaksoja "sinne tänne" askelluksessa jotta säilytetään taajuus. Perehtymättä tarkemmin tuohon säätelyyn voi vaan todeta että muutamaa taajuutta lukuunottamatta syntyy Arb jakson sisään eri paikkoihin 6,66ns hyppyjä ja siksi datalehdelläkin sanotaan että jitteri on 6,66ns.  Tämä on normaalia kaikissa kiinteän muistipituuden ja kiinteän kellotaajuuden DDS Arb generaattoreissa. Tämä on hyvä tiedostaa ja ottaa huomioon kun muodostaa Arb aaltomuotoja.
Jos teet esimerkiksi aaltomuodon jossa olisi yksi yhden askelen mittainen impulssi ja jos haluat että se impulssi myös näkyy joka arb jaksolla et voi ylittää tuota noin kHz Arb taajuutta. Itseasiassa sekin on liian lyhyt koska 6,66ns mittainen pulssi ei ehdi nousta ja laskea tuossa ajassa täyteen arvoonsa koska laitteen Arb aaltomuodon nousu ja laskuaika rajoittaa sitä. Jos asettaisit Arb taajuudeksi 6MHz niin 150/6=25 eli koko Arb muisti on loikittava 25 hypyllä vaikka siellä onkin 16384 askelta. Toisaalta jos Arb muistissa olisi nyt 1 jakso siniaaltoa saisimme ulos ihan normaalia 6MHz siniaaltoa vaikka osa paikoista onkin hypitty yli. Sen mahdollistavat suodattimet joilla aikaansaadaan hiukan samaa kuin oskilloskoopilla kun muutamasta näytteestä muodostetaan Sin(x)/x interpoloinnilla siniaaltoa.

Perehtymättä tarkoin yksityiskohtiin on hyvä ymmärtää että rajoituksia siis on jolloin ei tarvi ihmetelllä missä on vika jos ulos ei aina tulekaan sitä millaista aaltomuotoa on joko piirtänyt EasyWave ohjelmalla tai tuottanut muilla tavoin. EasyWave ohjelmassa voi vapaasti piirtää halutun aaltomuodon mutta sen voi myös muodostaa matemaattisella tavalla. Esim kirjoittamalla sinne 10*Sin(2*x) saa aaltomuodon jossa on kaksi sinijaksoa ja huipusta huippuun 10. (tuo huipusta huippuun arvo on sitten todellisuudessa se mitä asetat SDG lähtötasoksi, jos asetat 1Vpp niin se on -0.5V - 0.5V mikäli offset oli 0.)

Onko muita tapoja kuin tuottaa aaltomuoto EasyWave ohjelmalla ja mikä on tiedostomuoto?
Kyllä on. Tiedostomuoto on .CSV
EasyWave ohjelma tuottaa .CSV tiedoston (esim wave1.csv) jonka voi siirtää suoraan generaattoriin tai tallentaa USB tikulle ja ladata USB tikulta generaattoriin.

SDG1000X lukee sen tekstimuotoisen .csv tiedoston ja konvertoi sen muistiinsa aaltomuoto dataksi.

Mikäli haluaa itse tuottaa/editoida tuollaisen aaltomuoto tekstitiedoston sen käy helposti jopa vaikka tavallisella windosin nopepad ohjelmalla. Kunhan muistat että tiedostopäätteeksi asetat .csv etkä .txt.
Toki tuollaisella tiedostolla on oltava tietty muoto. Tiedossani on että on ainakin kaksi muotoa jonka SDG1000X ymmärtää.
Muoto jossa jokainen aaltomuodon askel on datapari jossa on  aika,jännite  ja toinen jossa on pelkkä jännite
Näitä rivejä tulee olla tasan 16384. Molemmissa vaihtoehdoissa tiedoston alkuosa (headeri) on erilainen ja headerin on oltava allaolevan muotoinen. amp, offset, frequency ja phase sen mukaan kuin on asetettu EasyWave käytettäessä..

aika,jännite datapareilla ja oletusrvoina myös taajuus ja muut seikat, jotka kuitenkin joka tapauksessa asetetaan kaikki sitten käyttöön sopiviksi tarvittaessa laitteen etupaneelista kyseista Arb käytettäessä.
Seuraavissa esimerkeissä [CR][LF] ovat kontrollimerkkejä joita esim notepad ei näytä mutta esim notepad++ näyttää. Ne ovat CR sekä LF jotka syntyvät rivin loppuun kun esim nopepadissa painaa normaalia enteriä (kursori palaa alkuun (CR) ja rivi vaihtuu (LF)). Hexana siellä tiedostossa siis on noiden kohdalla CR =0D ja LF=0A )

Tapa 1.

data length,16384[CR][LF]
frequency,1000.000000000[CR][LF]
amp,20.000000000[CR][LF]
offset,0.000000000[CR][LF]
phase,0.000000000[CR][LF]
[CR][LF]
[CR][LF]
[CR][LF]
[CR][LF]
[CR][LF]
[CR][LF]
[CR][LF]
xpos,value[CR][LF]
0.000000e+000,0.00000[CR][LF]
6.103516e-008,0.03835[CR][LF]
1.220703e-007,0.07670[CR][LF]

Ylläoleva  jatkuisi siten että xpos,value rivin jälkeen noita datapari rivejä olisi yhteensä 16384 täsmälleen. Jokainen rivi on yksi muistipaikka joka siis sisältää jännitearvon. (käsittääkseni tuosta xpos arvosta SDG1000X ei välitä mutta pilkkua ennen pitää olla arvo ja pilkun jälkeen sen rivin jännitearvo.)
"phase" rivin jälkeen on 7kpl enter painalluksia. Hexana siellä tiedostossa siis on noiden kohdalla CR =0D ja LF=0A )

Kirjoittamista voi helpottaa (jos siis on tekemässä aaltomuotoja käisin tai jollaoin softanpätkällä.
xpos arvona voi käyttää vaikka juopksevaa paljasta kokonaislukua (ei se siitä oikeasti välitä) mutta aina xpos ja value välissä erottimena tulee olla pilkku eikä mikään muu.

(Huomautus, esimerkki siis on normaali kiintemittainen DDS moodiin sopiva. TrueArb moodissa on tilanne toinen.
Jos haluat että askelia on 5 kirjoitat data length, 16384 sijaan 5 ja sitten niitä datarivejä pitää olla myös tasan 5.
Huomaa että TrueArb moodissa askelten välisiä muutoksia ei interpoloida vaan ne toteutetaan sellasenaan eli "True")

Luonnollisesti kun laite sitten askeltaa sitä aaltomuotoa se alkaa ensimmäisestä askeleesta ja päättyy viimeiseen. No nyt sanot että siinähän vain 16383 aikaväliä. Niin onkin. Mutta kun se hyppää sieltä viimeiseltä askelelta ensimmäiselle on se yksi samanlainen aske kuin kaikki muutkin. Huomioi siis aaltomuotoa tehdessä että ensimmäinen ja viimeinen myös sopivat yhteen sen mukaan millaista aaltomuotoa teet.

Mieti siis jatkuvaa aaltomuotoa ajateltaessa ikään kuin saumattomasti olisi peräkkäin noita 16834 askeleen pötköjä niin että viimeisen ja seuraavan ensimmäisen väli on täsmälleen sama kuin kaikki muutkin askelet. 50% kanttiaallon voi tehdä niin että aloitetaan +1 ja puoleen väliin saakka se, sitten puolivälissä arvoksi vaihtuu -1 ja on sitä loppuun saakka. Nyt jos asettaisimme Arb taajuudeksi esim 5MHz saisimme ulos 5MHz kanttia. Aaltomuodon siis ei ole pakko tietenkään alkaa nollasta.

///tähän pari esim tiedostoa ja sitten TrueArb juttua///

 

 

 

 

Yksinkertainen "BodePlot".

SDG1000X käyttö yhdessä minkä tahansa oskilloskoopin kanssa  yksinkertaisen ja vaatimattoman BodePlot tuottamiseksi

Kuva 5. Yksinkertaisen BodoPlot kytkentäperiaate.   (älä etsi kuvia 1 - 4 niitä ei tässä vielä ole)

Taajuus (sweep out) jolla tutkittavaa (DUT) halutaan tutkia otetaan generaattorin toisesta kanavasta ja viedään kaapelille K1 tutkittavan sisäänmenoon.
Tutkittavan ulostulosta viedään signaali, kaapelilla K2,  oskilloskoopin kanavaan esim Ch1.
Nyt sitten oskilloskooppi tarvitsee Trigata "pyyhkäisemään" aina kun signaaligeneraattori pyyhkäisee (sweep)
Tässä voi olla kaksikin erilaista tapaa.

1. tapa

Yksinkertainen tapa silloin kun generaattori tuottaa tahdistus pulssin aina kun se aloittaa uuden taajuuspyyhkäisyn. Tahdistuspulssi on tässä nimeltään "Trig Out".

Pyyhkäisy tapahtuu siten että se asetellun ajan kuluessa pyyhkäisee valitun taajuusalueen ja aloittaa heti uudelleen pyyhkäisyn. Generaatori Triggaa sisäisesti uuden pyyhkäisyn alkamaan aina kun edellinen tehtiin loppuun. Aina uuden pyyhkäisyn alussa se antaa "Trig Out" pulssin. Tämä pulssi saadaan ulos Laitteen takaa AUX In/Out liittimestä (joka on nyt Trig Out toimintamuodossja Sweep siis Internal Trig toiminnolla.) Tämä pulssi viedään kaapelilla A oskilloskoopin siihen tuloon jota halutaan käyttää oskilloskoopin triggaukseen.
Sitten asetellaan sopivat taajuusrajat sweepille sekä sopiva yhden sweepin aika ja valitaan onko se lineaarinen vai logaritminen.
Samoin asetellaan skoopin säädöt/asetukset ehkä pienin kokeiluin sopivaksi. Useinmiten halutaan oskilloskoopin Trigger sijainti kuvan vasempaan reunaan tai lähelle sitä. Tässä kohden on hyvä muistaa settaa oskilloskoopin Trig sijainti kiinteäksi näyttön sijaintiin, ei ajalliseen sijaintiin. Näin muuttaessa t/div asetusta se ei muuta sijaintiaan (silloin kun se on muualla kuin keskellä). Asetellaan sweeppiä vastaava aika skaala oskilloskoopille (t/div) samoin säädetään trigger sopivaksi tuolle A kaapelia pitkin saapuvalle pulssille.

Sopivilla säädöillä saadaan aikaan tyypillinen verhokäyrä skoopin näytölle.
Koska oskilloskoopin Y akseli on lineaarinen ja käytössä esim 8 bit ADC ja kiinteä tulokanavan herkkyys on dynamiikka vaatimaton. Asiaa voi hitusen paranataa kun poistaa siitä toisen puoliskon käyttämällä ilmaisinta. Kaikkihan kai sentään diodin tuntee, siihen hiukan jotain tykö ja se on siinä mutta tavallisen 0.6-0.7V kynnysarvoisen diodin käyttö ei ole kovin suotavaa, itseasiassa hyvä yleiskäyttöinen ilmaisin laajalle taajuusalueelle vaatii hiukan muutakin kuin kolvia. Onhan se noin 6dB sekin mukava lisä..

Joskus jonkun skoopin ja haluttujen sweep parametrien kanssa voi olla hankalaa kun uusi sweep alkaa aivan suoraan vanhan lopusta ja siinä samantien Trig pulssi. Nimittäin kun skooppi on trigattu, sen on tehtävä koko oma sweeppinsä loppuun saakka ja sen jälkeen on aina pienempi tai isompi ns kuollut aika. Se voi olla joskus joissain tapauksissa aika tylsä juttu mikäli uusi sweep alkaa aivan suoraa edellisen päätyttyä.
Siksi on toinenkin tapa, samoilla värkeillä tehtävissä. Tässä ensimmäisessä siis "master ajastimena" toimi aseteltu pyyhkäisyn (sweepin) aika ja loppujen juttujen on sitten mentävä juuri sen aikataulun mukaan.


2. tapa

Hiukan lisää vapausasteita ajastukseen.
Otetaan generaattorin toinen kanava käyttöön. Generaattorin kanavat ovat toisistaan riippumattomia - lähes täysin. Saman referenssioskillaattorin mukaan toki toimivat ja  Aux In/Out monitoiminen signaalitulo/lähtö on kanavien yhteinen eli jos toinen käyttää sitä, toinen ei voi käyttää. Jos se on esim modulaatio tulona silloin sitä ei voi käyttää esim Sync Out tai Trig out tai Ext Trig käyttöön. Pieni rajoitus joka loppujen lopuksi tulee jokseenkin harvoin vastaan. Se on kuitenkiin hyvä tietää.

Asetetaan kanava joka pyyhkäisee sellaseksi että se ei pyyhkäisekään sweep ajan tahdissa uudelleen ja uudelleen. Ei siis ajeta sitä oletusarvon mukaisessa "internal trig" tilassa. Nyt se odottaa kunnes "kapellimestari" antaa merkin ja tässä metodissa siis "orkesterissa" oleva Oskilloskooppi toimii myös tämän kapellimestarin tahdittamana.
Kapellimestari koko puuhassa on nyt tuo generaattorin toinen kananava jonka mukaan halutaan että generaattori pyyhkäisee ja jonka mukaan myös oskilloskooppi pyyhkäisee. Kun kumpikin on hommansa osin samanaikaisesti hoitaneet jäävät ne odottamaan kunnes kapellimestari antaa uuden merkin.

Nyt siis asetetaan taajuusrajat sweepille sekä aika minkä kuluessa se tuon sweeppaa kun on saanut kapellimestarin merkin. Asetetaan se Ext Trig moodiin (internal sijasta) seuraamaan kapellimestaria. Tällöin Aux In/Out  liitin takana toimii Trigger tulona (nyt se ei ole lähtö).
Asetetaan toisen kanavan, eli sen kapellimestarin, toiminnoksi Pulssi ja asetetaan sille sopiva pulssin pituus sekä taso. Ja se sopiva aikaintervalli jonka välein se antaa merkin eli sen pulssin... jonka aikavälin, intervallin, pitää olla pidempi kuin tuo sweep kanavan sweep aika.

Viedään se aikapulssia tuottavan kanavan lähtö kaapelilla B haaroitukseen josta viedään signaali generaattorin takapuolen AUX liittimeen ja edelleen siitä sitten  yksi haara kaapelilla A oskilloskoopin siihen kanavaan jonka halutaan olevan triggaus kanava.
Asetetellaan skooppi triggaaamaan siihen pulssiin joko nousedvaan tai laskevaan reunaan, sen mukaan kumpi on parempi juuri siihen aika / taajuus / nopeus kombinaatioon yms.
Hienosäädellään pyyhkäysyn sijaintia ruudulla ja hienosäädellään sweep aika niin että saadaan sopiva taajuusasteikko kuvaruudulla ja sitten asetellaan sopivaksi sen tahtipulssin intervalli ja mahdollisesti tarvittaessa myös mutetaan sitä pulssin leveyttä jos oli päädytty skoopin triggaukseen sen jättöreunalla. Näin saadan kaikki hienosäädettyä kohdilleen.

Ylimääräistä lisäjuttua aiheeseen.


Yllämainituilla menetelmillä ei päästä lähellekään sitä mihin päästään Siglentin joidenkin oskilloskooppimallien BodePlot toiminnolla esim tätä generaattoria käytetäessä. Vaihesiirron mittaus jää tietenkin kokonaan pois.
Mittaus dynamiikka jää erittäin kauaksi - siis Erittäin kauaksi. BodePlot toiminnossa on ensinnäkin mahdollisuus logaritmiseen tasoasteikkoon ja toisekseen DUT out signaalin kanavan herkkyys säätyy automaattisesti ja jatkuvasti sweepin aikana - siinä on ALC (joka toki voidaan kytkeä myös pois käytöstä).
Lisäksi sen DUT (Device Under Test eli testattava laite kuten kuvan 5 filtteri) out sinaalin vastaanottava kanava ei kuuntele signaalia "oskilloskooppina" vaan taajuusselektiivisenä vastanottimena joka pyyhkäisee synkronissa generaattorin taajuuden kanssa koska BodePlot toiminto ohjaa generaattorin askellusta sekä tuota "vastaanotinta". Jos referenssitaso on 0dBm (50ohm) on dynamiikka jopa lähes 100dB pääsääntoisesti 80-90dB joka on kova luku tähän.
Kaiken lisäksi jos signaaltaso (ja siis referenssitaso) olisikin esim +20dBm on dynamiikka vastaavasti 20dB isompi! ja jos DUT sisältäisi sekä vaimemmnusta että vahvistusta riittävästi dynamiikka voi nousta jopa noin 140dB tuntumaan ja se ON paljon.  Ja tuossa on vain murto osa asioita joita yksinkertaisella BP ei saada.

Mutta tämä yksinkertainen "BodePlot" toteutus kuitenkin on paljon nemmän kuin ei mitään ja moneen käyttöön ja kokeiluun aivan riittävä ja mahdollistaa tällä geniksellä ja millä tahansa oskilloskoopilla toteuttamisen varsinkin kuin huomioi molemmat kuvatut tavat 1 ja 2.

Analogisella oskilloskoopilla voi toimia lisäksi hiukan toisinkin. Laittaa toisen kanavan ajamaan ramppia ja toisen kanavat sweeppaaman samassa tahdissa. Vie rampin skoopin XY toiminnon X akselille ja sweepin joka menee DUT kautta sitten Y akselille. Tietenkin analogista voi käyttää myls tällä menetelmällä tapa 1 ja 2 normaalissa sweep skoopin t/div moodissa ely Yt moodissa. Vielä tuonkin päälle analogisen skoopin kanssa saattaa olla hyödynnetävissä eräs toinen pyyhkäisytapa. Nimittän FM modulaatio. Joissain nalogisissa oskilloskoopeissa on sen sweep ulostulo. Sieltä tulee ulos skoopin pyyhkäisyn edetessä vastaava jännitetaso eli saha aaltoa skoopin jatkuvasti pyyhkäistessä. Laitetaanpa generaattorin taajuus seuraamaan tuota ramppia eli taajuusmoduloidaan sillä generaattoria. Toki tarkkuus ja sweepin taajuusrajat on sitten oma juttunsa mutta niin on "ennenkin" IF filttereitä säädelty.


Pyrin joskus myöhemmin jatkamaan ja töydentämään tätä sivua. Nyt vain, jos on kysymyksiä, kysy!

 

 

    --»  Ylös -- Up

   --» Arb / Funktiogeneraattorit

   --» Etusivulle - Home