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!
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.
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ä.
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):
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