Siglent etusivulle linkki        Sarjaliikenne dekoodaus, esimerkki.


Siglent sarjaliikenne dekoodaus käyttää aina1  koko vallitsevaa muistin pituutta2  .




1 Koodattavan datan maksimi merkkimäärä saattaa rajoittaa.
2 Koko sitä muistin pituutta joka on näytön pääikkunassa oleva. Koskien niitä malleja joissa automaattisen muistinhallinan lisäksi käyttäjällä on mahdollisuus määrittää kiinteä muistin pituus joka voi olla enemmän kuin pääikkunan leveys. Näissä esimerkeissä on käytetty SDS1000X-E sarjan oskilloskooppia jossa sellaista toimintoa ei ole.

Tämä sivu on edelleen osittain työn alla.        This side is still partially under construction!

SDS1000X-E  UART RS232 Decode example

Kuva 0.1
Kuvassa yllä satunnainen yleisluonteinen esimerkkikuva jossa UART/RS232 liikennettä dekoodattu oskilloskoopin historia puskurista.
Käytössä kaikkki 4 kanavaa ja jokaisen dataliikenne dekoodattu.

Laitteessa on käytettävissä kaksi itsenäistä UART dekooderia joissa kummassakin 2 datalinjaa (Tx, Rx).
Kumpikin dekooderi S1 ja S2 voivat olla myös eri protokollaa ja/tai esim eri baudinopeuksilla.
Maksimi dekoodattava (UART) merkkijono pituus voi olla 3000 merkkiä yhdestä vaakapyyhkäisystä. Kun dekoodaustulos ei ole luettavissa dekoodauksen palkissa voidaan käyttää zoomausta. Skooppi dekoodaa koko muistin pituudelta ellei maksimi tavujen määrä ylity.
Alapalkissa näkyy zoomattu kohta ja listauksessa on valittu samaan aikaan näkyviin S2 dekooderin sanoman loppu (kanava 3 Rx ja kanava 4 Tx). S1 dekooderin baudinopeus on 19200 ja S2 dekooderin 57600 ja molemmat 8N1 (8 dataa, ei pariteettia ja 1 stop)

Toistuvasti julkisuudessa esiintyy kysymyksiä siitä dekoodaako oskilloskooppi vain sen mikä on näytöllä vai koko näytemuistin pituudelta?
Siglentin osalta tähän on yksinkertainen vastaus.
Dekoodaus käyttää aina kulloinkin näytön pääikkunassa olevaa koko näytemuistin pituutta.

Pari esimerkkiä koko muistin pituuden käytöstä. (Sekä sekvenssitallennuksen käytöstä sanomien tallennukseen ja dekoodaukseen)

Kysymys on toki luonnollinen koska useat oskilloskoopit mahdollistavat dekoodauksen (ja esim mittaukset) van ns "näyttömuistista" tai muistista täydellä datalla mutta rajattuna näytöllä näytettävään muistin pituuteen. Siglent on valinnut toimintaperiaatteen jossa näytön leveys on (Run tilassa) aina koko muistin pituus, olkoot se kulloinkin 100M tai vain 7 näytettä. Siglent myös työntää kaikki näytteet kuvaruudun muistiin, mitään ei jätetä pois (yksi kuvaruudun pixeli siis saattaa kätkeä alleen melkoisen datajoukon). Vallitseva muistin pituus näkyy kuvaruudun oikeassa yläkulmassa. Käyttäjän tekemä muistin pituuden valinta sensijaan tarkoittaa maksimi pituutta johon käyttäjä haluaa sen rajoittaa.
Katso tarkemmin muistin ja näytön periaatteesta Siglent X oskilloskoopeissa.


Siglent X-E sarjan oskilloskoopeissa on sarjaliikenne dekoodaus useinmiten vakiona.

Tässä yksi esimerkkitapaus sarjaliikenne dekoodauksen käytöstä. Tässä esimerkissä on käytetty UART (RS232) väylää.
Alempana myös I2C (tunnetaan myös nimityksillä IIC tai TWI) dekoodauksesta

Alempana myös SPI (tulossa myöhemmin)

Sarjaliikennteen tutkimisen osalta on kaksi samaan asiaan liittyvää mutta eri asiaa:

-  Sarjaliikenne triggaus. Tätä voidaan käyttää myös ilman sarjaliikenne dekoodausta.
-  Sarjaliikenne dekoodaus. Tämä EI edellytä sarjaliikenne triggauksen käyttöä toisin kuin joissakin oskilloskoopeissa.

Sarjaliikenne triggausta on pintapuolisesti käsitelty osassa "Oskilloskoopin täysdigitaalisesta triggauksesta.
"

Sarjaliikenteen dekoodaus
(optio tai default) sisältää protokollat: I2C, SPI, UART, CAN ja LIN.
Dekoodereita on kaksi (S1 ja S2)jotka voivat olla samaan aikaan aktiivisena. Niissä voi samaan aikaan käyttää myös eri protokollia.
I2C     signaalit: SCL, SDA, Osoite joko 7 tai 10 bittiä.
SPI     signaalit: SCL,MISO, MOSI, CS (2-kanavaiset oskilloskoopit voivat käyttää vain 2 signaalia)
UART signaalit: RX, TX.  (Esimerkiksi RS232-C on "Universal Asynchronous Receive Transmit" väylä)
CAN   signaalit: CAN_H, CAN_L ; source: CAN_H, CAN_L, CAN_H-CAN_L
LIN    signaalit: Lin signaali (1 johdin))





Dekoodaus. Protokolla UART, RS232Dekoodaus. Protokolla UART, RS232

SDS1000X-E oskilloskooppien UART nopeudet ovat valittavissa:  600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 baud sekä "Custom" eli vapaasti aseteltava välillä 300  - 5000000 baud.
On syytä muistuttaa että kaikki laitteet eivät ole kovinkana tarkkoja noiden nopeuksien suhteen.
Jos tuntuu vaikealta dekoodata, tarkasta todellinen nopeus.
UART nopeuden  helppo pikatarkistus oskilloskoopilla.
Mittaa yhden databitin aika mikrosekunteina. d = databitin pituus (µs)
1000000/d= nopeus baud. 


Dekoodereita on kaksi, joista kumpikin voi dekoodata myös eri protokollia samanaikaisesti. Kun kysessä on UART voi kumpikin dekooderi olla samaan aikaan käytössä ja kummassakin kaksi datakanavaa - sekä Rx että Tx ja täyttä duplexia tietenkin.
Pitää kuitenkin muistaa että triggereitä on vain yksi.

UART dekoodauksen yhden (Rx tai Tx) datalinjan maksimi pituus on 3000 merkkiä. (yksi esimerkki alempana)
Mikäli merkkijono on pidempi kuin 3000 tavua jätetään yli menevä osuus dekoodaamatta.
Rajoitus on kanavakohtainen. Esimerkiksi jos on 1 dekooderi ja Rx ja Tx linjat käytössä, kummallakin on 3000 tavun itsenäinen raja jonka täyttyminen ei vaikuta toisiin. Jos on kaksi dekooderia käytössä, Dekooderi 1 Rx ja Tx ja Dekooderi 2, Rx ja Tx on kullakin linjalla 3000 tavun raja joten yhteensä 4 x 3000.

Esimerkiksi 115200 nopeudella täysin tauotta 8bit, Ei pariteettia, 1 stop,  on 3000merkin lähetysaika hiukan yli 260ms.
Jotta tuo mahtuisi muistiin kokonaisuudessaan pitää t/div asetus olla 20ms/div jolloin saadaan 280ms muistin pituus.
Tavallisesti kokonaisaikaa pidentää se että liikenteeseen tulee taukoja johtuen siitä kuinka dataa saadaan UART piirin puskuriin yms.
Kokeilutarkoituksiin voi generoida esimerkiksi pulssigeneraattorilla kanttiaaltoa taajuudella 11520Hz joka vastaa täysin tautonta lähetystä jossa data on 0xF0 ja väylä 115200,8N1. 3000 jakson burst vastaa 3000 tavua (tavun arvo 0xF0)

Huom:
I2C (TWI, IIC) rajoitus on erilainen. Yksi dekooderi (kaksi tuloa, SCL ja SDA) voi dekoodata maksimissaan 1000 sanomaa olkoot sanoman pituus 1 tai jopa 32 tavua. Toisin sanoen dekoodattujen sanomien sisältämä maksimi tavumäärä voi olla jopa 32000
Toinen dekooderi voi dekoodata samaan aikaan toista likennettä samalla tai toisella protokollalla.

SPI rajoitus on 3000 "tavua" yhden vaakapyyhkäisyn matkalla. "Tavu" voi olla 8 - 32 bittinen.
 
Maksimissaan tilanne voi olla (molemmat Dekooderit samaan aikaan toiminnassa):
Decode1:  MOSI, 3000 "tavua", MISO 3000 "tavua" (Decode listassa siis silloin 6000 dekoodausriviä.)
Decode2:  Kuten Decode 1
Mikäli käytetään analogisia kanavia ei tietenkään 4 kanavaa riitä tähän koska tarvitaan myös kellosignaali sekä tilanteen mucaan slaven valinta "CS"
Olen testannut edelläolevan paikkansapitävyyden siten että olen kytkenyt samat oskilloskoopin kanavat molemmille dekoodereille ja käyttänyt 4 x 8 bitin tavua jokaisen CS jakson aikana mutta asettanut datan pituudeksi 32 bittiä. No, suostuuhan se noinkin sitä dekoodaamaan. Testasin myös 16 ja 8 bittisinä. Ei vaikuta tuohon 3000 rajaan.

LISÄÄ KUVA SPI LIMIT

Kuva 0.2.
Esimerkki edellämainitusta SPI dekoodauksen 3000 rivin rajoituksesta signaalia kohden. Kuvassa raja on tullut täyteen hiukan muistin (caakapyyhkäisyn) puolen välin jälkeen.


Toimintoja ja asetuksia valaiseva esimerkki

Käsittelen yksinkertaisuuden vuoksi tässä pikku esimerkissä UART/RS232 dekoodausta koska siihen minulla oli tarvittavat ja helposti käsillä olevat mahdollisuudet hyvin yksinkertaisin välinein. (myöhemmin ainakin hitusen I2C sekä SPI asiaa)

Käytän pelkkää yksisuuntaista liikennettä eli tapausta jossa laite lähettää määrävälein toistuvasti sanomia.
Esimerkeissä käytän signaalia joka on tuotettu Belkinin USB RS232 mokkullalla (F5U103v) ja PC ohjelmana RealTerm. Kyseisellä tavalla tuotettu liikenne on ajoituksen tarkkuuden osalta vähän niin ja näin. Tosin niinhän se käytännössä usein tuppaa olemaan.

Esimerkissä käytetty tiedosto sisältää 256 tavua. Tiedosto: UART-Test-256byte-0x00-0xff
( 0x00 - 0xFF eli kaikki 8 bittiset lukuarvot peräkkäin pienemmästä suurimpaan ja jokainen tavu siis erilainen. Tämä siksi että tällä voi myös tutkiskella opetustarkoiutuksessa sarjaliikenne triggauksen toimintaa)


Seuraavassa esimerkin tapahtumat.
Testitiedostoa "UART-Test-256byte-0x00-0xff"  lähetetään noin parin sekunnin välein.
Lähetysparametrit: 19200baud, 8 bittiä, parillinen pariteetti (Even) ja 1 loppubitti eli lyhyesti 19200,8,E,1
Probe on kytketty sarjaliikenneväylän lähtevään signaaliin (Tx). (Belkinin USB RS232 mokkula (F5U103v) ja liittimen nasta 3.
Oskilloskooppi on asetettu triggauksen toimintamoodiin "Normal" ja triggaustapa nouseva reuna.
(Tässä siis ei käytetä eikä tarvitse käyttää sarjaliikenne triggausta joka ehkä voi monia hämmentää. Sillä ei ole kuitenkaan varsinaista tekemistä sarjaliikenne dekoodauksen kanssa. Ihan sama miten on trigattu kunhan se dekoodattava signaali on muistiin näytteitetty. Sarjaliikenne tyriggaus toki voi olla käytännön työskentelyssä tarpoeen ja mahdollistaa sen että voidaan esim trigata tiettyyn kohtaan sanomassa, esimerkiksi kun esiintyy jokin kontrollitavu tms tai - kun ollaan etsimässä virheitä, trigataan esimerkiksi pariteettivirheen/virheen esiintyessä.)




      Kuva 1.
Oskilloskooppi tuottaa mainitulla signaalilla ylläeolevaa kuvaa joka päivittyy noin 2 sekunnin välein.
Tuossa vihreässä "pylväässä" siis on 256 tavua UART(RS232) sarjaliikenne dataa ja ajatellaan että se on yksi "sanoma".
Olen tarkoituksellisesti rajoittanut muistin 140k ja asettanut vaakanopeudeksi 100ms/div
(Koska samalla katselin millä näyttteiden määrällä databittiä kohden vielä dekoodaa.)

Näytenopeus on näillä asetuksilla 100kSa/s.

Seuraavaksi pitää asetella oskilloskooppi dekoodaamaan noita "sanomia" joita 2s välein hissukseen tulee. Lähetyksen periodiksi pari sekuntia koska koska sekunti olisi ollut tähän tarkoitukseen hitusen turhan lyhyt.
(Tällä oskilloskoopin asetuksella yhden vaakapyyhkäisyn ajallinen pituus on 1,4 sekuntia ja lisäksi vaakapyyhkäisyjen väliin jää hiukan yli yksi ruutu eli yhteensä hiukan yli 1,5 sekuntia)



Aloitetaan käynnistämällä "Decode" ja määrittämällä protokolla.




      Kuva 2.
Painetaan etupaneelista "Decode" toiminto käyntiin ja päästään Decode valikon sivulle 1.
Valitaan Decode 1. (skoopissa on kaksi dekooderia)
Valitaan protokollaksi UART (kuvassa juuri tämä vaihe)  sekä Display On.
Alhaalla on nyt S1 Rx Tx palkki jossa Decode 1 RX ja TX signaalit mutta TX ei näkyvissä..
(koska on vain yksi signaali olin myös valinnut että vain tuo RX on näkyvissä (tässä tapauksessa aivan sama kumman niistä valitsee koska toisessa setuksessa määritetään kuinka tulokanava on kytketty Dekooderiin.
Alapalkissa näkyy että tuon datapaketin kohdalla on sinistä ja punaisia pystyviivoja. Punainen pystyviiva  tarkoittaa että dekoodauksessa on virheitä. Joskus koko palkki voi olla punainen riippuen virheellisiksi tulkittujen kohtien tiheydestä)


Riippumatta siitä mitä alapalkissa näkyy (Koska siellä on nyt jotkut vanhat asetukset)

Seuraavaksi määritellään signaali, painetaan "Signal" valintaa



      Kuva 3.
Määritetään signaali. Signaali on kytketty (ilman mitään syytä valitsin sen)  tulokanavaan neljä joten se valitaan. Sitten asetetaan kynnystaso. Koska signaali on tässä tapauksessa noin  -6V ja +6V asetetaan kynnysarvo noin puoliväliin joten 0V.
Kytketään TX kanava pois päältä (Disable) koska meillä ei ole siihen signaalia.
(toki olisi voinut valita toisin eli RX disable ja TX kanava 4 koska se signaali oli tuon Belkinin mokkulan Tx. Mutta muuta merkitystä ei ole kunhan itse olemme perillä siitä mikä on mitäkin, huomasin asian vasta kuvat jo otettuani, toisaalta voihan ajatella niinkin että sehän on "sanoman" vastaanottopäässä Rx... )

Signaali on määritelty ja painetaan tuota U käännös nappulaa ja päästään takaisin "Decode" valikkoon (Kuten Kuva 2.).



Jatketaan asetusten tekoa painamalla valikossa (Kuva 2.) "Configure"  ja päästään asettelemaan väylän nopeus ja muut parametrit.



      Kuva 4.
Decode Conf valikossa sivu 1. määritellään  baudinopeus (valittaan 19200) ja databittien määrä (valittaan 8) ja sitten pariteetin tarkistus (valittaan Even koska signaali on tällä kertaa sellainen). Stob bittien määrä on 1 joten se valitaan.

Tästä on edelleen jatkettava  valikon sivulle 2 ja painetaan "NextPage"



      Kuva 5.
Edelleen Decode Conf valikkoa, sivu 2. Tässä valitaan kumpi on signaalin "Idle" taso. Tässä tapauksessa se on alhaalla (Low).
(Joka myös ilmenee signaalin kuvassa aivan yksiselitteisesti.)
Lisäksi valitaan kummin päin tavujen bitit ovat. Tässä tapauksessa bitit tulevat ulos alapää edellä. (LSB)


Painetaan taas U käännös nappulaa. Päästään takaisin (Kuva 2.) Decode valikkoon.
 
Painetaan siellä Decode valikossa NextPage jollon saavutaan sivulle 2.




      Kuva 6.
Päästiin Decode valikon sivulle 2.  Ensinnäkin havaitaan että Dekoodauksen RX palkki on nyt pelkää sinistä eikä siellä näy punaisia pystyviivoja joten voi olettaa että dekoodaus toimii eikä siellä näy virheitä


Nyt olisi tietenkin mukava nähdä mitä dataa siellä on.
(tässä kohden voisi tehdä jo toisinkin ja esim zoomata ja katsoa yksityiskohtia mutta käyn nyt läpi asetuksia ja valintoja eteenpäin.)

Valitaan missä muodossa tavut halutaan nähdä. Valintoja on Binary, Decimal, Hex, Ascii.  Nyt on valittuna Hex. Se muoto koskee sekä tuota dekoodauksen alapalkkia että listaa joka on saatavilla myös tuohon näytölle. Alapalkissa siis on nyt vain sininen palkki koska siinä on niin paljon dataa ettei yksityiskohtia näy vähääkään.

Valitaan "List" valikko painamalla sen alla olevaa painiketta.






      Kuva 7.
List valikossa valitaan kumman dekooderin dataa halutaan katsella tai ettei lista ole lainkaan käytössä. Lisäksi voidaan valita montako rivia listassa on, 1 - 7. Scroll valinnalla voidaan selata listaa.

Tehdään valinta (Kuva 8.)



      Kuva 8.
Valittu näytölle lista Decode 1.
Mikäli signaalin kuva häiritsee listan lukemista voi signaalin luonnollisesti skaalata vertikaalisuunnassa pienemmäksi ja sijoittaa sopivaan kohtaan. Myös signaalipiirron kirkkautta voi säätää ja se ei himmennä listan tekstiä.




      Kuva 9.

Listan käyttö. Näytöllä on nyt valittuna Decode 1  listaus. Listalla voi liikkua ylös ja alas valitsemalla "Scroll" ja pyörittelemällä "adjust" nuppia. Myös näytöllä olevan listan rivien määrän "Lines" voi valita välillä 1 - 7. (siitä riippumatta kaikki dekoodataan)
(kuvassa scroll on käytetty ja siirrytty riville 5 joka sen merkiksi näkyy vaaleammalla taustalla joka ei ole läpinäkyvä jotta kaikissa tilanteissa varmistetaan sen luettavuus)

Painamalla (Scroll valittuna) pyöriteltävää "Adjust" nuppia näytölle saa myös virtuaali"näppäimistön" jolla voi valita rivinumeron jonne haluaa siirtyä listassa. Listassa tietenkin dekoodaus tulos vaihtuu sen mukaan kun sanomakin muuttuu koska oskilloskooppihan on koko ajan "Run" tilassa ja aina kun triggaus tapahtuu saadaan uusi vaakapyyhkäisy ja uusi data (ellei se pysy ennallaan kuten tässä kun toistataan samaa sanomaa.)
Tässä esimerkissä sanoman pituus oli siis 256 tavua ja data siinä on tavuittain järjestyksessä 0 - 255 (hexana 00-FF = 0x00 - 0xff)
Jos nyt esimerkiksi sattuisi bittivirhe jossain tavussa pariteetin tarkistus saattaisi havaita sen (se ei ole ihan aukoton) ja Ok sijaan näkisimme punaisen Err tekstin. "Time" sarake näyttää tavun alkamisajan triggauskohdasta.

Lisäksi vaalikossa on valinta "Save".
Tämä "save" ei suinkaan talleta ruutukuvaa USB tikulle vaan koko dekoodatun datan ja .CSV muodossa. Huomaa että tämä "Save" myös pysäyttää oskilloskoopin eli "Run" tila muuttuu "Stop" tilaksi ja tallennus pysähtyy.
Nyt jos olet myös kiinnostunut siitä mitä oli historiaan kertynyt (esim tässä edelliset sanomat) älä poistu Stop tilasta koska se huuhtelee historiapinon.


Mutta, kuten nähdään kuvassa 9 koko datapötkö eli sanoma on yksi lyhyt purske keskellä kuvaruutua ja Decode palkki (S1) on pelkkä sininen lyhyt pötkö.

Luonnollisesti zoomaus toimii myös decode toiminnossa. Se onkin hyvin tarpeellinen. Nimittän jos zoomaisimme sisään koko näytöllä aika skaala muuttuisi ja muistin ajallinen pituus laskisi. Nähdäkseen yksityiskohtia pitäisi siis valita huomattavasti nopeampi pyyhkäisyaika. Tässä tapauksessa noin 500us/div. Tällöinhänm näkisimme vain muutaman tavun näytöllä. Samalla myöskin suuri osa datajonosta jäisi näytön (ja siis muistin) ulkopuolelle. Monesti kuulee että "voiko se dekoodata enemmän kuin mahtuu muistiin ja siis näkyy zoomaamattomassa pääkuvassa.". Ei voi. Sehän olisi teknisestikin mahdotonta olkoot minkä valmistajan laite tahansa.
Pitää siis huolehtia siitä että se koko sanoma tms data on näytteitetty muistiin joka halutaan dekoodata. Jos sen pituus on sellainen että yksityiskohdat ei nöy, silloin on zoomattava niihin yksityiskohtiin.

Pidä koko datapötkö siten että se mahtuu päänäyttöön jos se on sanoma jonka haluat koko pituudeltaan dekoodata.
Yksityskohtiin mennään silloin painamalla horizontal nuppia jolloin siirrytään ikkunoituun zoomaukseen.
Kuten muussakin oskilloskoopin käytössä alaikkunassa voit zoomata yksityiskohtiin tai katsella vähemmän zoomattuna... tarpeen mukaan. Samoin voit siirtyä vaakasuunanssa siihen kohtaan jota haluat tarkastella.
Muista että siirtymistä vaakasuunnassa voit helpottaa muuttamalla alaikkunan hitaammalle ajalle ja siiirtämällä sitä aluetta ja sitten taas zoomata yksityiskohtiin. Jos zoomattu alue on kovin kapea on siirtyminen position nuppia pyörittelemällä hidasta.

Painetaan Horizontal nuppia ja siirrytään ikkunoituun zoomaukseen.
Halutaan mennä sanoman loppupuolelle. Kuten havaitaan sanoman loppu on lähellä 150ms triggauskohdasta. Siirrä nyt alaikkunan viuive "Delay" suurin piirtein 145ms kohdiolle pyörittämällä Horizontal Position nuppia ja zoomaa lisää sisään pyörittämällä Horizontal nuppia ja tarkenna sijaintia tarpeen mukaan ja edelleen lisää zoomausta.






      Kuva 10.

Nyt alkaa näyttää tällaiselta. Huomaa että samalla myös lista päivittyy näyttämään suunnilleen sitä aluetta (tai siis  sen alkua) joka on alaikkunassa zoomattuna. Silti se tietenkin koko ajan dekoodaa myös sen mikä ei alaikkunassa näy mutta on kuitenkin yläikkunassa dekoodattuna. Tässä vaiheessa jos scrollaat listassa muualle niin se päivittää itsensä siitä huolimatta seuraavan sanoman koodauksen jälkeen takaisin siihen missä tämä alaikkunan alku on.
Tätä listan rivivalinnan automaattista paluuta alaikkunan alkuun ei tapahdu silloin kun dekoodataan oskilloskoopin ollessa Stop tilassa.
Stop tilassa voi dekoodata myös historiapuskurissa olevia vanhoja sanomia jos niitä siellä on.






      Kuva 11.

Dekoodauksen näyttömudon voi valita milloin tahansa etukäteen, jälkikäteen ja jatkuvassa Run tilassa milloin tahansa.





      Kuva 12.

Kuten kuvassa 11 nyt on edelleen zoomattu hiukan lisää (aika asteikko alaikkunassa 200us kun se kuvassa 10. oli 500us)





      Kuva 12.

Siirrytty sanoman loppuun.
Muuttetu signaalin näyttömuodoksi "Dots" pisteet. Yksi piste on yksi AD muuntimen näyte.
Dekoodaus siis tarvitsee tässä tapauksessa vain noin 5 näytettä dekoodattavan UART signaalin yhtä data bittiä kohden.
Tässä voi huomauyttaa että Siglent on kehittänyt sarjaliikenteen dekoodausta todella ällistyttävän paljon jos verrataan esimerkiksi aikaan jolloin SDS2000/SDS2000X tai SDS1000X tulivat markkinoille. Jos siis näet netissä erilaisia mielipiteitä ja kaikenmaailman "review" tarinoita ja videoita kannattaa ensin varmistaa kuinka vanha esitys on ja mikä FW versio ja myös se että osaako käyttäjä ihan varmasti käyttää laitetta vai onko kyseessä se kaikkein älyttömin tapaus jossa elämän ensimmäinen digiskooppi vedetään paketista ulos ja suunnilleen samalla käynnistetään videokamera ja sitten ihmitellään kun "mikään ei toimi" tai toimii toisin kuin oli kuviteltu vailla kokemusta oikeastaan mistään.
Aikaisemmin mainitsin että kun dekoodaus palkissa näkyy punaista silloin on havaittu jokin virhe. Niin se onkin kun siellä on umpipalkissa punaisia pystyviivoja. Mutta jos palkki on auki ja sisältää noita data alueita ja jos siellä on tuo punainen piste. Se tarkoittaa että data on siinä ruudussa pidempi kuin mitä ruutuiun mahtuu näkyviin. Se ei ole virheilmoitus. Jos kuvan 12 tilanteessa olisi bittivirhe tms olisi dataa ympäröivän  kehyksen  (venytetty kuusikulma)  sininen viiva korvattu punaisella

Tämä kaikki edellä oli siis tilanteessa jossa oskilloskooppi oli koko ajan Run tilassa ja uutta sanomaa tuli parin sekunnin välein. Koko ajan olisi nähty muuttuvaa dataa jos sanoma olisi muuttunut.  Lisäksi huomautus: Myös triggaus oli aivan tavallinen edge! Eli sarjaliikenne triggaus ei ollut lainkaan käytössä. (tässä tapauksessa siis koko ajan trigattiin uuden sanoman alussa ensimmäiseen nousevaan reunaan. Ja koska koko sanoma mahtui ajallisesti yhteen vaakapyyhkäisyyn olleen vain pieni osa siitä saadaan uusi triggaus ainoastaan kun uusi sanoma alkaa. (ellei jokin häiriöpiikki linjalla aiheuta triggausta)



Dekoodata voi myös jälkikäteen.

 Kun oskilloskooppi on näytteittänyt signaalin ja oskilloskooppi on pysäytetty ja signaali on muistissa voi sen myös dekoodata, riippumatta miten se on trigattu. Tietenkin näytenopeus pitää olla signaalille riittävä. UART tapauksessa mielellään noin vähintään 6 - 10 tavun bittiä kohden.
Muistetaan myös Siglentin erityinen vahvuus. Aina taustalla toimiva historia puskuri. Dekoodata voi myös signaaleita joita on tallentuneena historiapuskuriin aivan samoin kuin jos olisi vain se viimeinen sanoma näytöllä eikä muuta.

Jätin oskilloskoopin vastaanottamaan noita aiemmin mainittuja sanomia (ja keräämään niitä puskuriin muistiin)
Keräilyn aikana ei dekoodaus ollut edes toiminnassa vaan tilanne oli juuri kuten kuvassa 1. mutta skooppi siis kävi ja tallensi noin 2 sekunnin välein saapuvia sanomia  historiapuskuriin. Tässä (alla kuva 13. ) vain 53kpl eli vajaa pari minuuttia. Maksimi määrä sanomia olisi juuri tällä asetuksella 188kpl.

Sitten oskilloskooppi on pysäyttety ja valittu "History" ja tehty tarpeelliset sekä halutut asetukset.


      Kuva 13.

Ennen kuin kuva näyttää tälle sen jälkeen kun tilanne oli kuva 1. kaltainen on tehty kaikki dekooderin asetukset, valittu ikkunoitu zoomaus (kun skooppi on pysäytetty voi toki myös zoomata pääikkunassa pelkästään)
(tuossa kohden oli unohtunut näyttömuoto "Dots" käyttöön mutta mitäpä siitä, näyttömuodon voi halutessaan vaihtaa tietenkin myös jo tallennettuihin eli stop tilassa (samoin kuin interpolointitavan).
Valittu myös että halutaan tarkastella historiapuskurin framea 21.
Sitten on siirrytty siihen kohtaan sanomaa jota on haluttu tarkastella dekoodauksen alapalkissa jossa näkyy nyt <=>?@ABC...
Tämän lisäksi on dekoodaus listassa (ei siis historia lista jossa näkyisi eri framejen aikaleimat) haluttu katsella siellä näkyvää sanoman kohtaa. Koko tämän framen dekoodaus sisältää siis 256 tavua. (kuten kaikki muutkin tallennetut 53 framea.)
Tuon dekoodaus listan voi tulostaa .CSV muodossa USB tikulle. (se frame joka on myös näytöllä.) Jos haluaa kaikki framet pitää jokainen tallettaa erikseen.

Dekooderin S1 palkissa (Rx) on dekoodauksen tulos sen kohdan osalta joka on zoomauksessa. Siellä näkyy joissain ruuduissa punainen täplä. Se EI tarkoita virhettä vaan ilmaisee että ruutu on liian pieni. Tässä on vaan sellaine rajatapaus että se ilmisesti jää juuri "pixelin" vajaaksi koska silmä kuitenkin sanoo että mahtuisi koska vain ' merkki puuttuu. Joka tapauksessa punatäplä kertoo että kaikki ei mahdu. Alapalkissa silloin kun siinä on nuo enemmän tai vähemmän venytetyt kuusikulmiot ja jos on virhe, se kuusikulmion viiva piirretään punaisena. Jos taas alapalkki on pelkkää sinistä pötköä niin virheet ilmaistaan punaisella pystyviivalla sinisessä palkissa.





      Kuva 14.

Siirrytty pois ikkunoidusta zoomauksesta ja zoomattu ja siirrytty pääikkunassa haluttuun kohtaan.
Kaikki mikä on kuvan ulkopuolellakin mutta muistissa on myös dekoodattu eli kaikki mikä kyseisellä vaakapyyhkäisyllä muistiin on tullut.
Jos tuosta painaisi "Save" se koko lista, tässä 256 tavua, menisi USB tikulle .CSV muodossa.





      Kuva 15.

Kuten kuva 14. mutta vaihdettu historiapuskurissa "sanomaan" joka on framessa 39 ja zoomattu sekä siirrytty pääikkunassa haluttuun kohtaan.




Otetaan kaikki 4 kanavaa samaan aikaan.

Dekoodaus skoopin käydessä ja vastaanottaessa toistuvasti sanomia.
Dekoodaus oskilloskooppi pysähdyksissä sekä historia puskurista yksittäinen frame (eli tässä yksittäinen sanoma)

Dekooderi 1 kanavat 1 ja 2 sekä Dekooderi 2 kanavat 3 ja 4.
Kaikkiin tuloihin on kytketty tässä tapauksessa sama signaali. Eli 4 probea kiinni RS232 Tx liittimessä.

Asetukset ja muut samoin kuin yhdelläkin kanavalla edellä. Nyt vaan molemmat dekooderit erikseen ja siten että molempiin valitaan kumpikin kanava ja asetukset.

Edelleenkin skooppi triggaa nousevasta reunasta (ei sarjaliikenne triggaus käytössä). Eli aina kun sanoma alkaa trigataan. (koska sanomia tulee parin sekunnin välein saadaan triggaus aina signaalin alkuun näillä asetuksilla)




      Kuva 16.

Neljällä kanavalla sanoma. Pinaisia pystyviivojakaan ei  dekoodereiden sinisissä vaakapalkeissa palkissa näy joten dekoodauksessa ei ole havaittu virheitä.





      Kuva 17.

Kuten kuva 16. mutta ikkunoitu zoomaus. Sanomat on koko ajan dekoodattu koko muistin pituudelta ja lista sisältää yhden dekooderin kaikki datan. Mikäli syystä tai toisesta haluaisit "selkeyttää" näyttöä voi myös kanavien signaalipiirron sammuttaa näytöltä, kunkin erikseen, sen vaikuttamatta mitenkään dekoodaukseen. Jos katsot esim kuvaa 19 niin sellainen saattaisi jossain vaiheessa tulla mieleen jos signaalin kuvaa ei tarvi niinkään tuijottaa mutta dekoodaustulosta.





      Kuva 18.

Kun kuvan 16 kaltaista sanomajoukkoa oli hetki katseltu pysäytin oskilloskoopin. Historiapuskuriin oli tallentunut 195 edeltävää vaakapyyhkäisyä. Niistä nyt näytölle dekoodattavaksi valittu numero 165.
Taustalla toimiva historiapuskuri ei ole sama asia kuin Sekvenssitallennus. Toki samankaltaisuutta on paljon koska molempia sitten kasellaan samalla "History" toiminnolla. Puskuri ja sen katselu on sama mutta tallennustapa poikkeaa jonkunkin verran.
Ero selviää täältä.






      Kuva 19.

Kuvan 18. sanomaa tarkastellaan ja nyt on kokoikkunan zoomauksella katsottu hiukan yksityiskohtaisemmin sanomaa. Tietenkin tuota tarkasteltavaa kohtaa voi nyt siirtää horizontal position säädöllä ja zoomausastetta time/div säädöllä.






      Kuva 20.

Kuten 19. edelleen samaaa numero 165 nyt siirrytty toiseen kohtaan ja...





      Kuva 21.

Kuten kuva 20. ...nyt zoomattu lisää ja näkyvillä on sanomien loppupäät.





      Kuva 22.

Kuten kuva 21 mutta ikkunoitu zoomaus jossa pääikkunan t/div zoomaus vähäisempi jotta näkyy yläikkunassa enemmän ja sitten alaikkunassa zoomattu lisää. (tämä siis mahdollista pysäytys tilassa katsellaan sitten juuri pysäytyskohtaa tai historiapuskuria. Run tilassa pitää muistaa siis että pääikkunan leveys on koko muistin pituus olkoot siihen sitten pakattu 7 näytettä tai 14 miljoonaa näytettä)




      Kuva 23.

Kuten aiemmin mutta siirrytty historiapuskurissa vaakapyyhkäisyyn 8 (195 olisi se viimeinen vaakapyyhkäisy jossa skooppi pysäytettiin)




UART Dekoodauksen maksimi tavunmäärä on 3000.

Dekoodauksessa on mahdollista käyttää yhtaikaa kahta dekooderia joissa kummassakin on kaksi tuloa Tx ja Rx (Ei kuitenkaan ole merkitystä kuinka päin ne kytket tai onko molemmat Rx tai toisin päin. Ne ovat vain nimet jotka noille on annettu jolloin kun ne kytkee oikein ei sekkaannusta synny niin helposti.)
Yhteensä siis 4 kanavaa joista jokaisella on tuo 3000 tavun raja.

Alla esimerkki maksimi mittaisesta "sanomasta" jossa on tasan 3000 tavua.


UART-Tx-Rx-3000byte-trig-0x03
      Kuva 24a.

Signaalin parametrit: nopeus 9600 baudia, 8 databittiä, pariteettibitti parillinen (Even) ja 1 stop bitti. (9600,8,E,1)
Molempiin tuloihin (kanava 1 ja kanava 3)  tulee sama signaali.
Kuvassa on oskilloskoopin triggaustavaksi asetettu Sarjaliikenne ja protokolla UART. Triggaus on asetettu tapahtuvaksi kun(jos) datajonossa esiintyy tavu jonka sisältö on ETX (heksana 0x03  eli End of text, binäärinä 00000011)
Kuten dekoodauksessa näkyy seuraava tavu on EOT (hexana 0x04 eli End Of Transmission)

Tässä esimerkissä sanomia tuli noin 15 sekunnin välein. Jätin oskilloskoopin käymään ja aikansa käytyään pysäytin sen ja halusin katsoa historiaa. Itse sanoman mitta on noin 3,5s. Näin se mahhtuu kokonaan muistiin olkoot valittu triggauskohta vaikka sanoman alussa tai lopussa tai jossain siltä väliltä.


UART-Tx-Rx-3000byte-decode-history
      Kuva 24b.

Oskilloskooppi on pysäytetty ja muistissa on tallessa 17 sanomaa joista tarkastelen yhtä (historiapuskurin numero 8)
Tällä asetuksella 1,4M muistin pituus puskuriin mahtuu 17kpl 14s mittaisia tallennuksia.
Jos olisi 4 kanavaa käytössä näytenopeus olisi puolet ja muistin pituus puolet jolloin maksimi määrä historiassa olisi 36.
50kSa/s ei kuitenkaan enää riitä luotettavaan dekoodaukseen 9600 baudin nopeudella.


Huomaa että kun oskilloskooppi on pysäytetty voidaan ikkunoitua zoomausta käyttäen dekoodauspalkissa näyttää se kohta johon zoomaus on siirretty, tässä sanoman alkuun. Siitä riippumatta dekoodaus listassa voi tarkastella mitä tahansa muuta kohtaa, tässä sanoman loppua. Ajat listassa ovat suhteessa triggauskohtaan.
Tietenkään pysäytettynä voi zoomata myös koko ruudulla eikä suinkaan ole pakko käyttää ikkunoitua zoomausta. Kaikki dekoodataan mikä muistissa on, myös silloin kun täydellä ikkunalla zoomataan. Koska datahan on muistissa. Dekoodaus ei siis rajoitu vain kulloinkin näytöllä olevaan alueeseen.
Nyt jos sanoman pituus olisi yli 3000 tavua jäisi yli menevät vain yksinkertasisesti dekoodaamatta.
Huomaa että historiavalikon "List Off" tarkoittaa historiapuskurin aikaleima listausta. Se ei voi olla auki samaan aikaan kun dekoodauksen lista on auki.

Dekoodauslistan valikossa on (toistaiseksi tämä uusin FW ominaisuus ei ole 2 kanavaisissa malleissa) 4 kanavaisten oskilloskooppien malleissa FW versiosta *.*.6.1.26  alkaen myös mahdollisuus tallentaa dekodauslistan data. Se tallentaa koko listan, ei vain sitä pientä osaa joka listasta on skoopin kuvaruudulla kulloinkin näkyvillä (max 7 riviä)
Dekoodauslista tallennetaan USB tikulle .CSV formaatissa ja esitysmyötä datalle on se mikä kulloinkin on listan esitysmuodoksi valittu, Bionary, Decimal, Hex, Ascii.
CSV muodossa tallennetun listan voi avata esimerkiksi Exel tai OpenOffice/LibreOffice taulukkolaskentaan.

Tältä se tallennettu dekoodaus lista näyttää (Listassa osa kuvan 24a ja b dataa):

Decode List CSV example
      Kuva 24c.

Listan alku ja loppu. Aika on tavun alku suhteessa triggauskohtaan ja kuten kuvassa 24a nähdään se oli toiseksi viimeinen kanavan Rx tavu sisällöltään heksana 0x03 jota ASCII listaus ei näytä (olin ennen listan tallennusta valinnut Ascii esitystavan)
Olen kritisoinut Siglentiä siitä että ASCII näyttömuodossa ei standardeja kontrollimerkkejä (0x00 - 0x1F) näytetä selväkielisenä (esim: NUL, CR, LF, EOT, ACK, NAK, jne. joita kuitenkin liikennöinnissä käytetään hyvin usein ja ovat usein jopa erittäin olennaisia)



Dekoodaus. Protokolla I2C (IIC, TWI)

Dekoodereita on kaksi, joista kumpikin voi dekoodata myös eri protokollia samanaikaisesti. Kun kysessä on I2C voi kumpikin dekooderi olla samaan aikaan käytössä toisistaan riippumatta (tai toinen voi dekoodata toistakin protokollaa samaan aikaan)
Jos molemmat on määritelty I2C dekoodereiksi kummassakin on oltava luonnollisesti signaalit SCL (kellopulssi) sekä SDA (data)
I2C väylän kellopulssin normaali perustaajuus on 100kHz (100kb/s). Seuraavissa esimerkeissä se on käytössä. En ole kokeillut toistaiseksi suuremmilla nopeuksilla. 100k nopeudella dekoodaus onnistuu jopa vain 500kSa/s näytenopeudella mutta silloin signaalin pitää olla jo hyvässä kunnossa.

Vaikka dekoodereita onkin kaksi pitää kuitenkin muistaa että triggereitä on vain yksi.

Dekoodauksen maksimi pituus on 1000 sanomaa.
Huom: olen testannut tämän käyttäen 1 - 32 tavun sanomia koska minun laitteilla ei ns helpolla tavalla pidempiä I2C sanomia saa aikaan! Mikäli datan pituus sanomassa on suurempi en tiedä milloin se alkaa rajoittaa lisää. Joten pieni varauma tuohon lukuarvoon 1000.

Mikäli käytössä olevan muistin pituudella on enemmän kuin 1000 sanomaa jätetään yli menevä osuus dekoodaamatta.
Rajoitus on kanavakohtainen. Esimerkiksi jos on 2 dekooderia, kummassakin  niistä on 1000 sanoman itsenäinen raja jonka täyttyminen ei vaikuta toiseen. Esimerkki alempana.

Seuraavien kaikkien esimerkkien kuvat on tuotettu käyttämällä SDS1104X-E oskilloskooppia ja FW versio 7.1.6.1.26 (ensimmäinen numero 7 voi olla myös 8, ei vaikuta)

Signaalit on tuotettu siten että on kaksi erillistä toistaan riippumatta toimivaa Arduino "pakettia". Kumpikin "paketti" sisältää I2C masterina Arduino MEGA 2560 ja I2C Slaven osassa Arduino Leonardo (kuka enää Leonardon jälkeen UNO käyttää?). Kaikkien sanomien pituus on 32 tavua.
Master A lähettää slavelle A(osoite 7) 32 tavua ja pyytää slavelta(7) 32 tavua. MasterA pitää taukoa noiden välillä reilut 7,5ms
Master B lähettää  slavelle B(osoite 8) 32 tavua ja pyytää slavelta(8) 32 tavua. MasterB pitää taukoa noiden välillä noin  0,5ms
Noiden kahden välillä ei ole minkäänlaista ajallista synkronointia tai muuta riippuvuutta ja jokaisen ja jokainen Arduino käy vapaasti omalla kellollaan. I2C signaalien ylösvetovastukset ovat hiukan mitä sattuu ja itseasiassa myös vastusarvo turhan iso mutta 100k nopeudella ei toki mitään ongelmaa.



Tässä aluksi on vain kytketty signaalit oskilloskooppin ja asetettu triggaus ja saatu jonkunlainen kuva signaaleista.



      Kuva 25.
Triggaus on kanavalla 1 joka on I2C väylän SCL.  Lepotilassahan se makaa ylhäällä eli 5V:ssa. Kun sanoma alkaa se nykäistään alas. Triggaus on laskevalla reunalla. Mutta laskevia reunojahan on paljon. Jotta saan sen triggaamaan sanoman alkuun otettaan käyttöön Interval triggaus. Ja asetetaan limiitiksi 0,5ms. Kun laskevissa reunoissa on tauko yli tuon ajan se triggaa sen ajan ylityksen jälkeiseen seuraavaan laskevaan. Näin se triggaa mukavasti aina sanoman alkuun. (koska en tarkoituksellisesti käytä tässä sarjaliikenne triggausta jotta ilmenee ettei sillä ole mitään tekoa itse dekoodauksen kanssa.  Tietenkin jos meillä olisi esimerkiksi väylässä monta slavea voisimme olla kiinnostuneiota vain sen yhden slaven kanssa käydystä liikenteestä. Silloin tietenkin triggaisimme vain kun sen slaven kanssa liikennöidään käyttämällä sarjaliikenne triggauista ja asettamalla parametriksi kyseinen osoite yms)




      Kuva 26.
Säädetty pyyhkäisyaikaa hitaammaksi siten että muistiin mahtuu kunnolla kokonaisia sanomia.
Luonnollisesti tässä voisi käyttää myös 7M muistia mutta halusin että myös samanlaisia pyyhkäisyjä mahtuu historiapuskuriin muutamia.
Lisäksi 100kb/s väylänopeuteen riittää yllin kyllin tuo 25MSa/s (itseasiassa jo 500kSa/s riittäisi)
Kuten ennenkin todettu kuvaruudun leveys on samalla koko muistin pituus ja tietenkin vaikka kuvaan sitä pakataan aika tiiviiksi muistia käsitellään niin dekoodauksessa kuin mittauksissakin täydellä muistin resoluutiolla.



      Kuva 27.
Nyt on painettu etupaneelin "Decode" painiketta ja valittu Decode1 sekä Decode2 protokollaksi I2C, molemmat "Display On"
Pitää vielä määrittää "Signal" valikosta signaalit. (kummallekin dekooderille)



      Kuva 28.
Määritetään signaalit ja niille tulkinnan kynnysarvot. Huomaa että myös näissä pitää olla riittävästi välimatkaa pohjiin ja huippuihin. Eli siellä on jonkinlainen "hystereesi" kun se signaali läpäisee kynnysarvon ollessaan matkalla joko ylös tai alas.

Sinänsähän I2C on varsin mukava dekoodattava kun ei tarvitse nopeuksien kanssa säätää. Synkroniset väylät on sikäli kiitollisia dekoodattavia että siellä on kellosignaali jonka ajoituksella luettaan dataväylän tila eikä tarvi "fundeerata" mitään. Kun taas asynkronisessa pitää pohtia kuinka laskennallinen tahti sopii signaaliin.




      Kuva 29.
Valitaan kumpaa dekooderia näytetään dekoodaus listassa. Molempia toki dekoodataan samaan aikaan. Kuten alhaalla dekoodaus palkeissa näkyy. On vaan senverran tiivistä ettei juuri muuta mahdu sinne kuin osoitteet ja suunta R tai W. (tietenkin ikkunoidulla zoomauksella näkee sitten yksityiskohtia tarvitessa.) Listassa kuitenkin näkyy nuo koko sanomat. Ja edelleen jos ei mahtuisi sinne riveille olisi mahdollisuus käyttää "long data" ikkunaa listan alla.

Näyttöön valittu lista tallentuu CSV muodossa USB tikulle tuolla "Save" painikkeella.




      Kuva 30.
Kuten kuva 29 mutta nyt listan näyttä dekooderilta 1.  Taas muistutus siitä että punainen piste tarkoittaa ettei dekoodauksen tulos mahdu ruutuun. Jos olisi virhe, koko kuusikulmainen raami piirrettäisiin punaisella viivalla.




      Kuva 31.
Nyt on pyyhkäisyaikaa hidastettu oikein reeipppaasti. Vaakapyyhkäisyn aika 7 sekuntia. (500ms/div). Pyyhkäisyyn mahtuu nyt melkoinen joukko sanomia. Tässä tulee esiin se että maksimi määrä sanomia I2C dekoodauksessa on 1000. Ainakin kun yksittäisen sanoman pituus on enintään 32 tavua. Väylässä jota dekoodaa S1 tulee sanomia hiukan hitaammin ja kappalem,äärä 1000 täyttyy vasta aivan lähellä pyyhkäisyn loppua. Toisessa väylässä sanomia tulee tiuhempaan ja 1000kpl raja täyttyy jo tuossa hitusen ennen muistin puolta väliä.

Huomaa että listan "Time" sarake näyttää kunkin sanoman aikaa triggauskohtaan nähden joka on kuvassa 3,25s ennen kuvaruudun keskilinjaa eli m,uistin puoliväliä. Listassahan siis on näkyville scrollattu listan loppupää. Sanomien kappalemäärä lasketaan muistin alusta eli kuvan vasemmasta reunasta. (alkaen ajasta 0,25s ennen triggauskohtaa)

Kun dekoodauksen palkeissa ei ole punaisia pystysuuntaisia viivoja on dekoodaus ollut virheetöntä.




      Kuva 32.
Tilanne kuten kuvassa 31 mutta nyt näytetään dekooderin 2 (S2) dekoodaus lista. Ja sieltä scrollattu näkyville viimeiset sanomat jotka on dekoodattu. Eli kohta joka hitusen ennen kuvaruudun keskilinjaa. Dekoodaus tietenkin myös koko muistin pituudelta vaikka siitä onkin alaikkunassa sitten zoomattu yksityiskohtiin.
On hyvä tietää sekin että dekoodaus tietenkin toimii myös vaikka skoopilla olisi tuo datapötkö muistissa (ja tallennuksen aikana ollut dekoodaus pois käytöstä kokonaan) ja skooppi pysäytetty. Dekoodaus voidaan siis tehdä myös jälkikäteen ikäänkuin offline sille mitä muistiin on kertynyt ja tämä tietenkin koskee myös sekvenssitallennusta sekä tavallista historiapuskuria. Toki nyt tällä muistin pituudella niitä olisi muistissa maksimissaan kaksi.
Tässä nimenomaisessa tapauksessa maksimi olisi tämä näytöllä oleva ( 2 x 32 tavua x 1000 eli 2x 32000 tavua) ja samanlainen edellinen pyyhkäisy.

Huomaa että jos listan lukua häiritsee taakana näkyvä signaali niin himmentämällä signaalin piirtoa parantaa näkymää (kuten kuvassa tehty)
Myöskin kunkin signaalin voi piilottaa näytöltä, se ei vaikuta dekoodaukseen. Mutta kovin paljon alle 1 ruudun signaalin korkeutta ei kannata käyttää, alkaa vaarantua sen signaalin tulkinta ja voi olla myös tarkkaa mihin kohtaan "optimoi" SCL ja SDA jännitervon tulkinnan kynnystason..



    J a t k u u . . . .  


 


Työn allla. Under work.



--»  Ylös 

--»  Oskilloskoopit

--»  Etusivulle - Home