Sadržaj:
- Korak 1: Montaža
- Korak 2: Korištene funkcije - Server
- Korak 3: Upotrijebljeno kolo
- Korak 4: Izvorni kod: Master
- Korak 5: Izvorni kod: Slave
- Korak 6: Analizator: Hardver
- Korak 7: Instalacija softvera Saleae
- Korak 8: Konfiguriranje okruženja za naše testove
- Korak 9: Konfiguriranje okruženja za naše testove
- Korak 10: Konfiguriranje okruženja za naše testove
- Korak 11: Konfiguriranje okruženja za naše testove
- Korak 12: Konfiguriranje okruženja za naše testove
- Korak 13: Snimanje: Pregled
- Korak 14: Snimanje: Rezultat analize protokola
- Korak 15: Snimanje: kanal 0 i podaci (SDA)
- Korak 16: Snimanje: 1. kanal i sat (SCL)
- Korak 17: Snimanje: kanal 2 i serijski (TX0)
- Korak 18: Konfiguriranje okruženja za naše testove
- Korak 19: Snimanje: osciloskop i analizator
- Korak 20: Snimanje: Uočavanje kvara (primjer serijskog kvara)
- Korak 21: Preuzmite datoteke
Video: Otvori oci! Logički analizator: 21 korak
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Logički analizator olakšava vizualizaciju impulsnog niza, koji su bitovi koji putuju u komunikacijskoj liniji. Tako vam otvara oči da identificirate mogući problem. Zašto je ovo važno? To je vrlo učinkovit alat za razvoj i otkrivanje grešaka koji vam može uštedjeti vrijeme. U ovom današnjem videu procijenit ćemo važnost logičkog analizatora, promatrat ćemo neke protokole uobičajenih praksi prilikom korištenja ovog uređaja i primjer greške otkrivanja bez pomoći logičkog analizatora.
U ovom videu sam koristio relativno jeftin (oko 35 USD) i efikasan model, sa grafičkim interfejsom i besplatnim softverom.
Korak 1: Montaža
Korak 2: Korištene funkcije - Server
• Kratkospojnici za povezivanje
• 2 Arduina (koristili smo 2 Mega Arduina 2560)
• Logički analizator (koristimo Saleae)
• USB priključni kabeli za Arduino i analizator.
• Osciloskop (opcionalno)
• Protoboard
Korak 3: Upotrijebljeno kolo
Ovdje imamo shemu koja prikazuje nadgledanje tri pina: TX0, SDA i SCL. Imamo dva Arduina: gospodara i roba.
Korak 4: Izvorni kod: Master
U Setup ćemo uključiti biblioteku za i2c komunikaciju. Ušli smo u mrežu kao Master i pokrenuli serijsku 0. U petlji smo tražili bajtove podataka slave za komunikaciju s našim Arduino brojem 8, kako smo definirali u primjeru. Štampani serijski broj, koji će se procijeniti logičkim analizatorom, štampa.
#include // uključuje biblioteku za komunikaciju I2C void setup () {Wire.begin (); // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin (115200); // inicia serijski 0} void loop () {Wire.requestFrom (8, 6); // potrebno je 6 bajta za dodavanje escrava za endereço 8 while (Wire.available ()) {// enquanto houver bajtova za primaoca… char c = Wire.read (); // primi cada bajt i armazen kao znak Serial.print (c); // envia o karakteru pela serijski (na verdade vai parametar o međuspremniku)} delay (500); // aguarda meio segundo}
Korak 5: Izvorni kod: Slave
U ovaj slave kôd ponovo uključujem biblioteku za i2c komunikaciju. Ulazim u mrežu kao rob s adresom 8. Registriramo događaj zahtjeva i povezujemo ga s funkcijom "zahtjev". Ne morate ništa raditi na petlji, samo odgodite 0,1 sekundu.
Konačno, imamo funkciju zahtjeva koja će se izvršiti kada se dogodi događaj zahtjeva od strane Master -a, koji je registriran u programu Setup. Na kraju odgovaramo porukom od 6 bajtova.
#include // uključuje biblioteku za komunikaciju I2C void setup () {Wire.begin (8); // ulaz u rede como escravo com endereço 8 Wire.onRequest (requestEvent); // registracija za evento de requisiçao // e pridruživanje funkciji requestEvent} void loop () {delay (100); // nema fazona da nema petlje, apenasi aguarda 0, 1 segundo} // funkcioniraju que será izvršenje Quando ocorrer ili evento de requisição pelo mestre // za registraciju kao događaj bez postavljanja void requestEvent () {Wire.write ("teste"); // odgovori na poruku uma uma 6 bajtova}
Korak 6: Analizator: Hardver
Brzina uzorkovanja do: 24 MHz
Logika: 5 V do 5,25 V
Prag niskog nivoa 0,8 V
Visoki prag 2.0 V
Ulazna impedancija od oko 1 Mohm ili više
Korak 7: Instalacija softvera Saleae
Program koji prima podatke snimljene logičkim analizatorom i dekodira bitove može se preuzeti na sljedećoj poveznici:
Korak 8: Konfiguriranje okruženja za naše testove
Ovdje prikazujem sučelje koje mi se posebno svidjelo jer je bilo čisto.
Korak 9: Konfiguriranje okruženja za naše testove
Evo nekoliko opcija konfiguracije:
• Klikom na naziv kanala možemo ga promijeniti.
• Možemo odrediti hoće li jedan od kanala poslužiti kao okidač za snimanje i oblik detekcije.
• Klikom i držanjem broja kanala možete promijeniti svoju poziciju na listi.
• Klikom na zupčanik možemo konfigurirati vizualizaciju kanala, proširiti …
• … ili skrivanje kanala. Sakrićemo sve kanale koje nećemo koristiti.
Korak 10: Konfiguriranje okruženja za naše testove
Klikom na strelice dugmeta "Start", postoje opcije brzine uzorkovanja i trajanja snimanja.
Iz nekog razloga, ako softver otkrije da se stopa ne može održati, prikazat će se poruka i automatski će se stopa smanjivati dok se ne dostigne funkcionalna vrijednost.
Korak 11: Konfiguriranje okruženja za naše testove
Uključit ćemo i analizator protokola. Prvo je to I2C, slijedeći definicije biblioteke WIRE i pravilno povezujući kanale. Konačno, upoznaćemo analizator sa asinhronom serijom. Moramo biti oprezni pri ispravnom konfiguriranju parametara prema sklopu.
Korak 12: Konfiguriranje okruženja za naše testove
Na kartici "Dekodirani protokoli" trebali bismo provjeriti koji su analizatori protokola omogućeni. Tamo će se pojaviti podaci. Na kartici "Napomene" možemo dodati neke rezultate za bolju vizualizaciju. Samo kliknite na ikonu "dodaj mjerenje".
Korak 13: Snimanje: Pregled
Na ekranu za snimanje program prikazuje niz impulsa podataka SDA, SCL i TX0.
Korak 14: Snimanje: Rezultat analize protokola
Ovdje vidimo rezultat hvatanja. Na kartici "Dekodirani protokoli" imamo:
• Zahtjev servera za slave sa id 8.
• Odgovor slave -a, šest znakova: "t", "e", "s", "t", "e" i razmak.
• Nakon svakog slijedi ACK bit (Acknowledge) koji označava tačan prijem bajta, osim razmaka NACK (Not Acknowledge).
• Zatim vidimo rezultat dekodiranja TX0 serije, koji označava primljene znakove i poslane na Arduino IDE serijski terminal.
Korak 15: Snimanje: kanal 0 i podaci (SDA)
Na ovoj slici imamo pulsni niz SDA linije. Imajte na umu da se svaki preneseni bajt može pregledati.
Korak 16: Snimanje: 1. kanal i sat (SCL)
Ovdje imamo pulsni niz SCL linije. Više detalja možete provjeriti postavljanjem miša iznad signala, kao što vidite na slici. Možemo vidjeti da je frekvencija takta bila 100 kHz.
Korak 17: Snimanje: kanal 2 i serijski (TX0)
Što se tiče impulsnog niza linije TX0, možemo vidjeti početni bit i točke uokvirivanja svakog bita. Imamo bajt koji predstavlja znak "e".
Korak 18: Konfiguriranje okruženja za naše testove
Ovdje imamo nekoliko mogućnosti za čitanje podataka.
Korak 19: Snimanje: osciloskop i analizator
Pogledajte ovdje ekran koji sam snimio svojim osciloskopom. Signal logičkog analizatora predstavlja samo visoke i niske detekcije, ali ne predstavlja kvalitetu signala. To se najbolje može vidjeti na osciloskopu.
Korak 20: Snimanje: Uočavanje kvara (primjer serijskog kvara)
Sada ću pokazati primjer serijskog kvara koji mi se zapravo dogodio. Imao sam GPRS modem, kakav se koristi na mobilnom telefonu, SIM karticu, pokušavajući da se povežem sa ESP32. Ali to se jednostavno nije povezalo. Zatim sam provjerio napajanje, ožičenje i promijenio ploču. Učinio sam sve, ali ništa nije popravilo. Odlučio sam staviti logičku analizu: otkrio sam da se ESP signal na UART 115200 počeo neusklađivati. Odnosno, ESP32 je igrao ono što bi trebalo biti 115, 200 drugom brzinom od ove.
Ova greška, koju je identifikovao parser, prikazana je sa X u crvenoj boji. Koliko sam shvatio, program kaže da je tačka koja ima takav dio napola pomaknuta u vremenu. Kako se taj pomak povećava, može doći vrijeme kada se sve ne podudara, tako da informacije ne dopiru do druge strane. Obično stiže, ali SIM800 je osjetljiv i ako nije točan, informacije ne dolaze do drugog kraja.
Ne znam je li to nešto što se često događa ili ne, ali dogodilo se to meni, pa sam odlučio riješiti tu temu ovdje. Pa šta sam uradio? Usporio sam. Ako stavite 9, 600, 19, 200, do 38, 400, funkcionira, što se ne događa sa 115, 200.
Korak 21: Preuzmite datoteke
JA NE
Preporučuje se:
Korak po korak Izgradnja računara: 9 koraka
Korak po korak Izgradnja računara: Potrošni materijal: Hardver: Matična ploča CPU & Hladnjak procesoraPSU (jedinica za napajanje) Skladištenje (HDD/SSD) RAMGPU (nije potrebno) Alati za kućište: OdvijačESD narukvica/mattermalna pasta s aplikatorom
Tri kola zvučnika -- Korak po korak vodič: 3 koraka
Tri kola zvučnika || Korak po korak vodič: Krug zvučnika pojačava audio signale koji se primaju iz okruženja na mikrofon i šalje ih zvučniku s mjesta na kojem se proizvodi pojačani zvuk. Ovdje ću vam pokazati tri različita načina kako napraviti ovaj zvučnik pomoću:
Napravite digitalni logički analizator za manje od 1: 5 koraka
Napravite digitalni logički analizator za manje od 1 USD: Logički senzor nivoa je uređaj koji osjeća je li izlaz komponente 1 ili 0 (pozitivan ili negativan). Znate one lijepe senzore nivoa s LCD ekranima koji koštaju oko 25 USD? Ovaj je smiješno jeftiniji i radi istu stvar (To ja
Korak po korak obrazovanje iz robotike s kompletom: 6 koraka
Korak po korak edukacija o robotici s kompletom: Nakon nekoliko mjeseci izgradnje vlastitog robota (pogledajte sve ove stavke), a nakon što su dijelovi dva puta otkazali, odlučio sam napraviti korak unatrag i razmisliti o svom strategija i smjer. Višemjesečno iskustvo ponekad je bilo vrlo korisno i
Logički analizator sa Android korisničkim sučeljem: 7 koraka
Logički analizator s Android korisničkim sučeljem: Svijet je već preplavljen s toliko mnogo logičkih analizatora. U hobiju za elektroniku trebao mi je jedan za rješavanje problema i otklanjanje grešaka. Pretražio sam internet, ali ne mogu pronaći ono što tražim. Evo me, predstavljam … & JOŠ Još jedno