Siglent etusivulle linkki     Sarjaliikenne dekoodauksen käyttö - esimerkki.

Siglent serial decode can always decode full current memory length. Some examples how to use serial decode functions.

Siglent sarjaliikenne dekoodaus käyttää aina koko vallitsevaa muistin pituutta.

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.
Kumpikin dekooderi S1 ja S2 voivat olla myös  protokollaa ja esim eri baudinopeuksilla.
Maksimi dekoodattava 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 käytössä olevaa koko näytemuistin pituutta.

Pari esimerkkiä koko muistin pituuden käytöstä.

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/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 (tulossa)
Alempana myös..........

Sarjaliikennteen tutkimisen osalta on kaksi samaan asiaan liittyvää mutta hiukan eri asiaa.
-  Sarjaliikenne triggaus
-  Sarjaliikenne dekoodaus

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-kana 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, 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.

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.

Dekoodauksen 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 2 dsekooderia ja kummassakin Rx ja Tx linjat käytössä kullakin niistä on 3000 tavun itsenäinen raja jonka täyttyminen ei vaikuta toisiin.
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.

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.






      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 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)

Dekoodaus. Protokolla I2C (IIC, TWI)


Työn allla. Under work.



--» Etusivu - Home

--» Oskilloskoopit

--» ylös - up