Tartalomjegyzék:
- 1. lépés: Összeszerelés
- 2. lépés: Használt szolgáltatások - Szerver
- 3. lépés: Használt áramkör
- 4. lépés: Forráskód: Mester
- 5. lépés: Forráskód: Slave
- 6. lépés: Elemző: Hardver
- 7. lépés: Saleae szoftver telepítése
- 8. lépés: A környezet konfigurálása tesztjeinkhez
- 9. lépés: A környezet konfigurálása tesztjeinkhez
- 10. lépés: A környezet konfigurálása tesztjeinkhez
- 11. lépés: A környezet konfigurálása tesztjeinkhez
- 12. lépés: A környezet konfigurálása tesztjeinkhez
- 13. lépés: Rögzítés: Áttekintés
- 14. lépés: Rögzítés: Protokoll -elemzés eredménye
- 15. lépés: Rögzítés: 0. csatorna és adatok (SDA)
- 16. lépés: Rögzítés: 1. csatorna és óra (SCL)
- 17. lépés: Rögzítés: 2. csatorna és soros (TX0)
- 18. lépés: A környezet konfigurálása tesztjeinkhez
- 19. lépés: Rögzítés: oszcilloszkóp és elemző
- 20. lépés: Rögzítés: hiba észlelése (példa a soros meghibásodásra)
- 21. lépés: Töltse le a fájlokat
Videó: Nyisd ki a szemed! Logikai elemző: 21 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
A logikai elemző megkönnyíti az impulzusvonat vizualizálását, amelyek a kommunikációs vonalon haladó bitek. Így kinyitja a szemét egy lehetséges probléma azonosítására. Ez miért fontos? Ez egy nagyon hatékony fejlesztési és hibafelismerő eszköz, amely időt takaríthat meg. Ebben a mai videóban értékeljük a logikai elemző fontosságát, megfigyeljük a szokásos gyakorlatok néhány protokollját az eszköz használata közben, és példaként mutatjuk be az észlelési hibát logikai elemző segítségével.
Ebben a videóban viszonylag olcsó (35 dollár körüli) és hatékony modellt használtam, grafikus felülettel és ingyenes szoftverrel.
1. lépés: Összeszerelés
2. lépés: Használt szolgáltatások - Szerver
• Átkötők csatlakozókhoz
• 2 Arduino (2 Mega Arduinos 2560 -at használtunk)
• Logikai elemző (Saleae -t használunk)
• USB csatlakozókábelek az Arduino és az analizátor számára.
• Oszcilloszkóp (opcionális)
• Protoboard
3. lépés: Használt áramkör
Itt van a vázlat, amely három tű figyelését mutatja: TX0, SDA és SCL. Két Arduinónk van: egy mester és egy rabszolga.
4. lépés: Forráskód: Mester
A Beállításban az i2c kommunikáció könyvtárát fogjuk tartalmazni. A hálózatba Masterként léptünk be, és 0. sorozatot inicializáltuk. A Loop -ban szolga adatbájtokat kértünk a 8 -as Arduino számunkkal való kommunikációhoz, amint azt a példában definiáltuk. A sorozatban nyomtatjuk, amelyet a logikai elemzővel értékelünk, a kapott bájtokat.
#include // inclui a biblioteca para comunicação I2C void setup () {Wire.begin (); // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin (115200); // inicial a serial 0} void loop () {Wire.requestFrom (8, 6); // requisita 6 bytes de dados do escravo de endereço 8 while (Wire.available ()) {// enquanto houver bytes para receber… char c = Drót.olvasás (); // recebe cada byte e armazena como caracter Serial.print (c); // envia o caracter pela serial (na verdade vai para o buffer)} delay (500); // aguarda meio segundo}
5. lépés: Forráskód: Slave
Ebbe a szolga kódba ismét belefoglalom az i2c kommunikáció könyvtárát. Szolgaként lépek be a hálózatba a 8. címmel. Regisztráljuk a kérési eseményt, és társítjuk a "kérés" funkcióhoz. Nem kell semmit tennie a cikluson, csak adjon 0,1 másodperces késleltetést.
Végül van egy kérési függvényünk, amelyet akkor hajtunk végre, amikor a Mester bekövetkezik, és amelyet a Beállításban regisztráltak. Végül 6 bájtos üzenettel válaszolunk.
#include // inclui a biblioteca para comunicação I2C void setup () {Wire.begin (8); // entra na rede como escravo com endereço 8 Wire.onRequest (requestEvent); // registra o evento de requisiçao // e associa à função requestEvent} void loop () {delay (100); // não faz nada no loop, apenas aguarda 0, 1 segment} // função que será executada quando ocorrer o evento de requisição pelo mestre // foi registrada como evento no setup void requestEvent () {Wire.write ("teste"); // válaszolj uma mensagem de 6 bytes}
6. lépés: Elemző: Hardver
Mintavételi frekvencia: 24 MHz
Logika: 5 V - 5,25 V
Alacsony szintű küszöb 0,8 V
Magas szintű küszöb 2,0 V
Bemeneti impedancia körülbelül 1 Mohm vagy több
7. lépés: Saleae szoftver telepítése
A program, amely fogadja a logikai elemző által rögzített adatokat és dekódolja a biteket, letölthető az alábbi linkről:
8. lépés: A környezet konfigurálása tesztjeinkhez
Itt mutatom a felületet, ami különösen tetszett, mert tiszta volt.
9. lépés: A környezet konfigurálása tesztjeinkhez
Íme néhány beállítási lehetőség:
• A csatorna nevére kattintva megváltoztathatjuk.
• Meg tudjuk határozni, hogy az egyik csatorna aktiválja -e a rögzítést és az észlelési formát.
• A csatornaszámra kattintva és lenyomva tartva megváltoztathatja pozícióját a listában.
• A fogaskerékre kattintva konfigurálhatjuk a csatorna megjelenítését, bővíthetjük…
•… vagy a csatorna elrejtése. Elrejtjük az összes csatornát, amelyet nem használunk.
10. lépés: A környezet konfigurálása tesztjeinkhez
A "Start" gomb nyilaira kattintva a mintavételi sebesség és a felvétel időtartama áll rendelkezésre.
Valamilyen oknál fogva, ha a szoftver azt észleli, hogy az arány nem tartható fenn, egy üzenet jelenik meg, és automatikusan csökken a sebesség, amíg el nem éri a funkcionális értéket.
11. lépés: A környezet konfigurálása tesztjeinkhez
A protokoll -elemzőket is tartalmazza. Először az I2C, követve a WIRE könyvtár definícióit, és helyesen társítva a csatornákat. Végül bemutatjuk az elemzőgépet az aszinkron sorozatokhoz. Vigyáznunk kell a paraméterek helyes beállítására az összeszerelésnek megfelelően.
12. lépés: A környezet konfigurálása tesztjeinkhez
A "Dekódolt protokollok" lapon ellenőrizni kell, hogy mely protokoll -elemzők engedélyezve vannak. Ott az adatok megjelennek. A "Jegyzetek" lapon hozzáadhatunk néhány eredményt a jobb megjelenítés érdekében. Csak kattintson a "mérés hozzáadása" ikonra.
13. lépés: Rögzítés: Áttekintés
A rögzítési képernyőn a program megjeleníti az SDA, SCL és TX0 adatimpulzus -sorozatát.
14. lépés: Rögzítés: Protokoll -elemzés eredménye
Itt láthatjuk a felvétel eredményét. A "Dekódolt protokollok" lapon a következők találhatók:
• A 8 -as azonosítójú kiszolgáló szerver kérése.
• A szolga válasz, hat karakter: "t", "e", "s", "t", "e" és szóköz.
• Mindegyiket egy ACK bit (nyugtázás) követi, amely a helyes bájtvételt jelzi, kivéve a NACK (Not Acknowledge) szóköz karaktert.
• Ezután látjuk a TX0 sorozat dekódolási eredményét, jelezve a kapott és az Arduino IDE soros terminálra küldött karaktereket.
15. lépés: Rögzítés: 0. csatorna és adatok (SDA)
Ezen a képen az SDA vonal impulzusvonata látható. Ne feledje, hogy minden továbbított bájt megtekinthető.
16. lépés: Rögzítés: 1. csatorna és óra (SCL)
Itt van az SCL vonal impulzusvonata. További részleteket egyszerűen ellenőrizhet, ha az egeret a jel fölé helyezi, amint az a képen látható. Láthatjuk, hogy az órajel frekvenciája 100 kHz volt.
17. lépés: Rögzítés: 2. csatorna és soros (TX0)
Ami a TX0 vonal impulzusvonatát illeti, láthatjuk a Start bitet és az egyes bitek keretezési pontjait. Van egy bájtunk, amely az "e" karaktert képviseli.
18. lépés: A környezet konfigurálása tesztjeinkhez
Itt több lehetőségünk van az adatok olvasására.
19. lépés: Rögzítés: oszcilloszkóp és elemző
Nézze meg ezt a képernyőt, amelyet az oszcilloszkópomról készítettem. A logikai elemző jel csak a magas és az alacsony érzékelést jelzi, de nem a jel minőségét. Ezt leginkább oszcilloszkóppal lehet megfigyelni.
20. lépés: Rögzítés: hiba észlelése (példa a soros meghibásodásra)
Most mutatok egy példát egy soros hibára, ami valójában velem történt. Egy GPRS modemmel voltam, amilyen a mobiltelefonon, a SIM -kártyán, és próbáltam csatlakozni az ESP32 -hez. De egyszerűen nem kapcsolódott össze. Ezután ellenőriztem a tápegységet, a vezetékeket és kicseréltem a táblát. Mindent megtettem, de semmi nem oldotta meg. Úgy döntöttem, hogy logikus elemzést végzek: felfedeztem, hogy az UART 115200 ESP jele kezdett eltérni. Vagyis az ESP32 ettől eltérő sebességgel játszotta a 115, 200 értéket.
Ezt a hibát, amelyet az elemző azonosított, X -el piros színnel jelenítettük meg. Értelmezésem szerint a program azt mondja, hogy az a pont, amelynek ilyen bitje van, idővel félig eltolódott. Ahogy ez az eltolódás növekszik, eljöhet az idő, amikor minden nem egyezik, így az információ nem jut el a másik oldalra. Általában megérkezik, de a SIM800 érzékeny, és ha nem pontos, az információ nem éri el a másik végét.
Nem tudom, hogy ez gyakran előfordul -e vagy sem, de velem történt meg, ezért úgy döntöttem, hogy itt foglalkozom ezzel a témával. Szóval mit csináltam? Lelassítottam. Ha 9, 600, 19, 200, akár 38, 400 értéket tesz fel, akkor működik, ami a 115, 200 esetén nem fordul elő.
21. lépés: Töltse le a fájlokat
ÉN NEM
Ajánlott:
ArduBand - Mentsd meg a szemed!: 6 lépés (képekkel)
ArduBand - Mentsd meg a szemed !: Szia, a jelenlegi helyzetben sokan dolgoznak otthon, ezért sokkal több időt töltünk számítógépek vagy okostelefonok előtt. Néha több órát is ülhetünk a kijelző előtt, tönkretehetjük a szemünket és meggörbíthetjük a hátunkat. Használhatnánk egy
Logikai kapuk a tranzisztor használatával: 3 lépés
Logikai kapuk a tranzisztor használatával: A logikai kapuk minden digitális rendszer alapvető építőkövei
Termékáramkör logikai kapuk használatával: 4 lépés
Termékösszeg áramköre logikai kapuk használatával: Ebben az oktatóanyagban megmutatom, hogyan hozhat létre saját rendszert a termékek összegének, egy kis Boole -algebrának és néhány logikai kapun keresztül. Nem ugyanazt a rendszert kell létrehoznia, mint az oktatóanyagban, de használhatja a
Az EZProbe, az EZ430 alapú logikai szonda: 4 lépés
Az EZProbe, az EZ430 alapú logikai szonda: ez egy egyszerű logikai szonda projekt, amely a TI EZ430 kulcson alapul. kihasználtam egy ingyenes ajánlatot néhány ez430 -ason a TI -től 2010 szeptemberében. Nagyon praktikusak és szórakoztatóak a kis kódrészletek kipróbálásában és a led villogásában. b óta voltak
Logikai elemző Android felhasználói felülettel: 7 lépés
Logikai elemző Android felhasználói felülettel: A világot már elárasztja annyi logikai elemző. Elektronikai hobbimban szükségem volt egy hibaelhárításra és hibakeresésre. Kerestem az interneten, de nem találtam azt, amit kerestem. Tehát itt vagyok, és bemutatom … "MÉG egy másik Lo