Fórum témák

» Több friss téma
Fórum » Logikai analizátor
 
Témaindító: dpeti, idő: Dec 31, 2007
Lapozás: OK   3 / 3
(#) Inhouse válasza etm hozzászólására (») Máj 10, 2021 /
 
A hálózati adatforgalom monitorozásához a megfelelő helyen kell futnia egy ehhez való szoftvernek. A logikai analizátorok inkább soros és ehhez hasonló kommunikációk vizsgálatához vannak. Egy TCP, vagy más hálózati forgalom ilyen módon való figyelése mire lenne jó neked? Egy komplex protokoll, ebből kilátni valamit elég nehéz szerintem.
A legelterjedtebb egyszerű, olcsó 8 csatornás Saleae (és másolatai) analizátor 24MHz-es.
(#) etm válasza Inhouse hozzászólására (») Máj 10, 2021 /
 
Köszönöm a választ! Azért akarom ezeket megfigyelni,hogy megértsem a működésüket.Pl. ha egy digitális kijelzőre milyen jel és órajel érkezik? Illetve a kettő kombinációja a valóságban hogy néz ki? azt értem,hogy elküldi az 1 -esek és 0-ák bináris kombinációját,de honnan tudja hogy hol van annak a vége?Azt olvastam,hogy a számitógép a betűket is bináris szám formájában tudja értelmezni. Akkor honnan tudja ,hogy az a bináris szám valójában egy betűt jelent,vagy éppen csak maga az a szám? ilyesmik érdekélnek,hogy mi játszódik le egy ilyen adatforgalomban?
A hozzászólás módosítva: Máj 10, 2021
(#) Inhouse válasza etm hozzászólására (») Máj 10, 2021 /
 
Akkor semmiképpen ne kamerák jelével és TCP hálózati forgalommal kezdj.
Soros adatátvitel - google
A hozzászólás módosítva: Máj 10, 2021
(#) Hp41C válasza Inhouse hozzászólására (») Máj 10, 2021 /
 
Előbb tájékozódni kell a szabványokról, hogy milyen feszültség szinteket alkalmaznak.
A soros vonal a legtöbb esetben RS232, ami olyan feszültségeket alkalmaz, ami tönkre is teheti a logikai analizátort.
A soros vonal vizsgálatához készíteni kell egy kétcsatornás RS232 - TTL konvertert (tranzisztoros - diódás / max232/ MC1489), csak a TTL oldal jeleit szabad az analizátorra vezetni.
(#) lazsi válasza etm hozzászólására (») Máj 10, 2021 /
 
Én a következőképpen közelednék ehhez a témához:
- Kiválasztom az adott eszközt, amit vizsgálni szeretnék.
- A neten megkeresem a leírását / adatlapját a készüléknek vagy a konkrét adatátvitellel foglalkozó IC-nek.
- Ha ez egy szabványos (pl. USB 2.0) adatátviteli protokollt valósít meg, akkor abból már meg lehet tippelni, hogy mekkora sebességgel küldi az adatokat. Ha nem ilyen elterjedt szabványú (pl. egy webkamera belső adatátvitelére vagyok kíváncsi a szenzor és a PC felé illesztő eszköz között), akkor az ott lévő IC-k legnagyobb lehetséges átviteli sebességét veszem alapul.
- A legtöbb helyen soros adatátvitelt valósítanak meg, ehhez elég a 8 bites analizátor. De az eszközök belső kommunikációja gyakran több bites (8, 16, 32), akkor már nem elég a 8 bites analizátor. 8 bites párhuzamos adatátvitelhez a 8 bit mellett vizsgálni kell a vezérlő jeleket is, ezért nem elég hozzá egy 8 bites analizátor.
Mindezek után te magad is el tudod dönteni mire van szükséged...

Másik megközelítés:
Ha tanulni, az elvvel ismerkedni szeretnék, akkor:
- Beszereznék egy mikrokontroller-fejlesztő készletet (Én AVR-hívő vagyok, egy régi STK500-asom van. De sok PIC-hívő is van, meg még rengeteg egyéb... Bármelyiket is választod, itt, a HE fórumain biztosan kapsz hozzá tanácsot, segítséget).
- Megtanulnám a programozását az adott eszköz-csoportnak, de nem egy magas szintű nyelvet (pl. C), hanem a lehető legalacsonyabbat (ASM) választanám. Így ugyanis az adatátvitelt is én programoznám, nem pedig a nyelv rutinját használnám. Pl. ha rákapcsolok egy kétsoros LCD kijelzőt, akkor egy "A" betű kiírása nem egy "Print('A')" sor lenne, hanem több sornyi utasítás, amiben a portok irányát, bitek értékét kell állítani, adott hosszúságú ciklust használok időzítésre, stb... Bonyolult? Igen, de sokkal többet tanulsz vele!
- Ezután fognék egy PC-t, aminek PS/2-es egere és/vagy billentyűzete van (ha van régebbi PC, aminek tuchel aljzatos a billentyűje és DB9-es/DB25-ös csatlakozójú, soros az egere, az még jobb), és megnézném annak a kommunikációját. Az adott jelvezetékekre kapcsolnám uC kiválasztott bemeneteit (szintillesztés után!), és a kapott adatfolyamot átküldeném egy PC-re további feldolgozásra.
- Következő lépés ezen egységek szimulálása, vagyis a uC nem figyel és olvas, hanem az egér/billentyű helyett adatot küld.
- Ezután néznék újabb, gyorsabb, bonyolultabb kommunikációjú eszközt.

Honnan tudja a PC, hogy mikor van vége egy 0-1 sorozatnak? Ez egyszerű.
Egyik lehetőség, hogy van egy vezérlőjel, ami megmondja, hogy mikor kezdődik és végződik az adatsor és milyen ütemezéssel jönnek az egyes bitek (pl. PS/2). Ehhez minimum 2 vezeték kell a közös pont mellett: adat és órajel.
A másik lehetőség, hogy mindkét eszköz tudja, hogy milyen időközönként jön egy bit és van egy egyezményes jel, ami azt mutatja, hogy mikor kezdődik az egész sorozat (pl. RS232). Itt az adatátviteli sebességből és a bitek számából ki lehet számolni, hogy mennyi idő múlva van vége egy adatnak. Pl. 9600baud, 8 bit, 1 startbit, 2 stopbit esetén kb. 1.15ms egy adat ideje. Ehhez a közös pont mellett elég 1 vezeték.
(#) etm válasza lazsi hozzászólására (») Máj 11, 2021 /
 
Köszönöm a választ! Azt irod,hogy az órajel mondja meg azt,hogy mikor van vége egy adatsornak. De hogyan? Mert ugye megy az órajel: 10101010101010101010101010... folyamatosan,akkor mi változik? Vagy pl. az óra jel abban az esetben igy néz ki:101011101010101011101010...? És addig váltsák az 1,0-t míg tart az adatsor?Adatsor előtt,és után pedig csak 1,vagy csak 0 van egy pár darab?
A hozzászólás módosítva: Máj 11, 2021
(#) Gafly válasza etm hozzászólására (») Máj 11, 2021 /
 
Nem teljesen.
Például az RS232 esetében mondjuk:
1111111110011010011111111111, ahol 01101001 az adat, előtte van van egy start bit 0 (onnan tudja a vevő oldal hogy kezdődik az adatátvitel), utána egy stop bit 1. Ehhez ugye ahogy irva volt, tudni kell a bitsebességet, és a keretezést.
Ha adatvezetéket, és órajelet is használhatunk, akkor a bitsebesség nem kötött, de a keretezést azért ismerni kell. Ilyen mondjuk a I2C busz.

A logikai analizátor és digitális tárolós oszcilloszkók között egyszerűen én úgy tennék különbséget (mert egyébként mindkettő lehet jó nagy és drága műszer), hogy:
Oszcilloszkóp kevés (1, 2 vagy 4) bemenetről a feszültségszintekkel együtt tud időben sorrendbe rakva eltárolni adatokat.
Logikai analizátor sok bemenetről (8 vagy több) feszültség szintek nélkül (csak 0 vagy 1) tud időben sorrendbe rakva eltárolni adatokat.
Mindkettő képes lehet protokolokat visszafejteni, például egy kétsugaras oszcilloszkóp értheti és visszafejtheti az I2C vagy mondjuk a CAN buszos kommunikációt.

Ha egy műszerre van pénzem, akkor egyértelműen az oszcilloszkópra szavazok.
Eddig még nem volt szükségem logikai analizátorra, de lehet hogy csak azért, mert még nem futottam bele olyan feladatba, amit azzal és csak azzal lehetett volna megoldani...
A hozzászólás módosítva: Máj 11, 2021
(#) Inhouse válasza etm hozzászólására (») Máj 11, 2021 /
 
Amiket linkeltem, ha megnézed, ott vannak a válaszok.
(#) lazsi válasza etm hozzászólására (») Máj 11, 2021 /
 
Nem annyira...
Az órajel úgy néz ki, hogy sokáig 0 folyamatosan, majd egyszercsak a master úgy gondolja, hogy adatot akar átvinni, akkor elkezdi küldeni az órajelet. Az első 0->1 a figyelemfelhívás, majd minden egyes 1->0 átmenetnél az adatvezetéken éppen akkor lévő érték az érvényes. Majd az utolsó bit után már marad 0-ban a következő adatátvitelig. 8 bit esetén pl. így is kinézhet:
órajel:00001010101010101010000000
adat:_____b_b_b_b_b_b_b_b_______

Ez igazából egy példa, bizonyára van éppen ilyen elvű adatátvitel is, de ez nem egy konkrétan létezőnek a leírása!
Emellett lehetséges, hogy van még egy vezérlőjel, ami azt mutatja meg, hogy milyen az iránya az adatátvitelnek. A master adja az órajelet, és vagy mellé küldi az adatokat a slave-nek, vagy fogadja a slave-től, függően ennek a vezérlőjelnek az értékétől.
Vagy nincs plusz vezeték, és akkor mindig a master küld először egy byte-ot, majd annak tartalmától függően küld másikat is vagy várja a slave-től.
A hozzászólás módosítva: Máj 11, 2021
(#) etm válasza lazsi hozzászólására (») Máj 11, 2021 /
 
Kezdem érteni,de még van pár kérdésem. Az órajel az egy periódikusan ismétlődő impulzus sorozat pl.(000010101010101000),és ez a számsor ismétlődik folyamatosan,vagy egyik pillanatban igy néz ki,a másik pillanatban már pl.(000101010000) ?
És még azt szeretném kérdezni,hogy az órajelet mivel állitják elő? Logikai kapukkal?
A hozzászólás módosítva: Máj 11, 2021
(#) lazsi válasza etm hozzászólására (») Máj 11, 2021 /
 
Szerintem ez már nem ide tartozik, hanem sokkal inkább a kezdők kérdéseibe...

Az órajel időbeli mintázata a felhasználási területétől függ.
Az előállítás módja pedig az adott eszköz tervezőjén múlik.

Remélem nem veszed sértésnek, de ha ilyen szintű kérdéseid vannak, akkor még korai lenne logikai analizátort venned... Sok, alapvetőbb tudást kellene magadévá tenned előtte.
(#) etm válasza lazsi hozzászólására (») Máj 11, 2021 /
 
Köszönöm a segítséget. Azért gondoltam analizátort venni,mert nem nagy összeg,és ha látom hogy valoságban ez hogy is van,akkor könnyebb megérteni. További szép napot!
(#) proba válasza etm hozzászólására (») Máj 11, 2021 /
 
Ha nincs kedved költeni rá, rengeteg I2C ic adatlapja oszcillogrammként tartalmazza a vezérlő adatokat. Ha veszel egy I2C -s párhuzamos átalakítót, azt akár két kapcsolóval is tudod vezérelni. 2 leddel megfigyelni. Pl pcf8574. Ha ez megy akkor sokkal közelebb kerülsz a megértéshez. Adatlapot megérted, a többi eszközzel is kevesebb problémád lesz. Ha kész eszköz kommunikációját hallgatod le, ahhoz nagyon kell tudni mi történik, hisz csak egy pillanatnyi szeletét láthatod a forgalomnak. Jellemzően hibakeresés célokat szolgál a megfigyelés. Abból megérteni kínkeserves feladat.
Esetleg némi olvasni való
alap változatok
1. Az órajel (általában 8-as csoportokban) 1-0-1-0-1-0... az adat meg a másik lábon(akon), a feladatnak megfelelő módon változik.
2 Az órajel szélessége hordozza az adatot
3 Van egyfajta időzítés, a start jelhez képest, itt az adott időnként vagy van, vagy nincs impulzus
Aztán a többi már csak jelszint kérdése.
(#) D_Zsolt hozzászólása Jún 5, 2021 /
 
Sziasztok!
Most ismerkedem a Sigrok féle PulseView-el, eddig nagyon barátságos
Jelenleg SPI adatforgalmat nézegetek amit szeretnék később felhasználni egy arduino projektben. Ez eddig nem dokumentált, így szeretném megörökíteni egy lib formájában. Ilyet vagy hasonlót még sosem csináltam! milyen formátumban érdemesebb elmenteni a kinyert kommunikációt? (a mentéskor a kiterjesztést nem kellene a pulseviewnek hozzáfűznie? Így „ölég macerás” a mentés )
Következő: »»   3 / 3
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem