Sisukord:
- Samm: kokkupanek
- 2. samm: kasutatud funktsioonid - server
- 3. samm: kasutatud vooluahel
- 4. samm: lähtekood: kapten
- 5. samm: lähtekood: ori
- 6. samm: analüsaator: riistvara
- Samm 7: Saleae tarkvara installimine
- 8. samm: meie testide jaoks keskkonna konfigureerimine
- 9. samm: meie testide jaoks keskkonna konfigureerimine
- 10. samm: meie testide jaoks keskkonna konfigureerimine
- 11. samm: meie testide jaoks keskkonna konfigureerimine
- 12. samm: meie testide jaoks keskkonna konfigureerimine
- 13. samm: jäädvustamine: ülevaade
- 14. samm: jäädvustamine: protokolli analüüsi tulemus
- 15. samm: jäädvustamine: kanal 0 ja andmed (SDA)
- 16. samm: jäädvustage: kanal 1 ja kell (SCL)
- 17. samm: jäädvustamine: kanal 2 ja jada (TX0)
- 18. samm: meie testide jaoks keskkonna konfigureerimine
- 19. samm: jäädvustage: ostsilloskoop ja analüsaator
- 20. samm: jäädvustamine: tõrke vaatlemine (jadahäire näide)
- Samm: laadige failid alla
Video: Ava oma silmad! Loogiline analüsaator: 21 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Loogikaanalüsaator hõlbustab teie visualiseerimist impulssrongist, mis on sideühenduses liikuvad bitid. Seega avab see teie silmad võimaliku probleemi tuvastamiseks. Miks see oluline on? See on väga tõhus arendus- ja tõrkeotsingu tööriist, mis võib säästa teie aega. Selles videos hindame täna loogilise analüsaatori tähtsust, jälgime selle seadme kasutamisel mõningaid tavapäraste tavade protokolle ja näitame avastamisviga ilma loogilise analüsaatorita.
Selles videos kasutasin suhteliselt odavat (umbes 35 dollarit) ja tõhusat mudelit, millel oli graafiline liides ja tasuta tarkvara.
Samm: kokkupanek
2. samm: kasutatud funktsioonid - server
• Ühenduste džemprid
• 2 Arduinot (kasutasime 2 Mega Arduinos 2560)
• Loogiline analüsaator (kasutame Saleae)
• USB -ühenduskaablid Arduino ja analüsaatori jaoks.
• Ostsilloskoop (valikuline)
• Protoboard
3. samm: kasutatud vooluahel
Siin on meil skeem, mis näitab kolme tihvti jälgimist: TX0, SDA ja SCL. Meil on kaks Arduinot: peremees ja ori.
4. samm: lähtekood: kapten
Seadistusse kaasame i2c -suhtluse kogu. Sisestasime võrku Masterina ja lähtestasime seeria 0. Loopis palusime orja andmebaite meie Arduino numbriga 8 suhtlemiseks, nagu näites määratlesime. Trükime seerias, mida loogikaanalüsaatoriga hinnatakse, saadud baite.
#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); // käivitage seeria 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 = Wire.read (); // 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. samm: lähtekood: ori
Sellesse alamkoodi lisan taas i2c -side raamatukogu. Sisenen võrku orjana aadressiga 8. Registreerime päringu sündmuse ja seostame selle funktsiooniga "päring". Te ei pea silmusel midagi tegema, vaid andke 0,1 -sekundiline viivitus.
Lõpuks on meil päringufunktsioon, mis käivitatakse siis, kui kapteni päringusündmus toimub, mis registreeriti seadistuses. Lõpuks vastame 6 -baitise sõnumiga.
#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 segundo} // função que será executab quando ocorrer o evento de requisição pelo mestre // registreerimine como evento no setup void requestEvent () {Wire.write ("teste"); // vastake com uma mensagem de 6 bytes}
6. samm: analüsaator: riistvara
Proovi sagedus kuni: 24 MHz
Loogika: 5 V kuni 5,25 V.
Madala taseme künnis 0,8 V
Kõrgetasemeline künnis 2,0 V
Sisendtakistus on umbes 1 Mohm või rohkem
Samm 7: Saleae tarkvara installimine
Programmi, mis võtab vastu loogikaanalüsaatori kogutud andmed ja dekodeerib bitid, saab alla laadida järgmiselt lingilt:
8. samm: meie testide jaoks keskkonna konfigureerimine
Näitan siin liidest, mis mulle eriti meeldis, kuna see oli puhas.
9. samm: meie testide jaoks keskkonna konfigureerimine
Siin on mõned konfiguratsioonivalikud:
• Kanali nimel klõpsates saame seda muuta.
• Saame kindlaks teha, kas üks kanalitest käivitab püüdmise ja tuvastamise vormi.
• Kanali numbrit klõpsates ja all hoides saate oma positsiooni loendis muuta.
• Hammasrattale klõpsates saame konfigureerida kanali visualiseerimise, laiendades seda…
•… või kanali peitmine. Peidame kõik kanalid, mida me ei kasuta.
10. samm: meie testide jaoks keskkonna konfigureerimine
Nupu "Start" nooltel klõpsates on valikud Sampling Rate ja salvestuse kestus.
Mingil põhjusel, kui tarkvara tuvastab, et kiirust ei saa säilitada, kuvatakse teade ja automaatselt vähendatakse kiirust kuni funktsionaalse väärtuse saavutamiseni.
11. samm: meie testide jaoks keskkonna konfigureerimine
Lisame ka protokollianalüsaatorid. Esiteks on see I2C, järgides WIRE raamatukogu määratlusi ja seostades kanalid õigesti. Lõpuks tutvustame analüsaatorile asünkroonset seeriat. Peame olema ettevaatlikud, et parameetreid vastavalt koostele õigesti konfigureerida.
12. samm: meie testide jaoks keskkonna konfigureerimine
Vahekaardil "Dekodeeritud protokollid" peaksime kontrollima, millised protokollianalüsaatorid on lubatud. Seal ilmuvad andmed. Vahekaardil "Märkused" saame parema visualiseerimise jaoks lisada mõned tulemused. Lihtsalt klõpsake ikooni "lisa mõõtmine".
13. samm: jäädvustamine: ülevaade
Pildistusekraanil kuvab programm SDA, SCL ja TX0 andmeimpulssirongi.
14. samm: jäädvustamine: protokolli analüüsi tulemus
Siin näeme püüdmise tulemust. Vahekaardil "Dekodeeritud protokollid" on meil:
• Serveri taotlus alam -ID -ga 8.
• Alamvastus, kuus tähemärki: "t", "e", "s", "t", "e" ja tühik.
• Igale järgneb ACK -bit (Acknowledge), mis näitab õiget baitide vastuvõttu, välja arvatud tühimärk NACK (Not Acknowledge).
• Järgmisena näeme TX0 seeria dekodeerimise tulemust, mis näitab Arduino IDE jadaterminali vastuvõetud ja saadetud märke.
15. samm: jäädvustamine: kanal 0 ja andmed (SDA)
Sellel pildil on meil SDA liini impulss. Pange tähele, et iga edastatud baiti saab vaadata.
16. samm: jäädvustage: kanal 1 ja kell (SCL)
Nüüd on meil siin SCL -liini impulssrong. Lisateavet saate vaadata, kui asetate hiire signaali kohale, nagu näete pildil. Näeme, et taktsagedus oli 100 kHz.
17. samm: jäädvustamine: kanal 2 ja jada (TX0)
Mis puutub TX0 liini impulssrongi, siis näeme stardibitti ja iga biti kadreerimispunkte. Meil on bait, mis tähistab märki "e".
18. samm: meie testide jaoks keskkonna konfigureerimine
Siin on meil andmete lugemiseks mitu võimalust.
19. samm: jäädvustage: ostsilloskoop ja analüsaator
Vaadake siin ekraani, mille ostsilloskoobist pildistasin. Loogikaanalüsaatori signaal tähistab ainult kõrgeid ja madalaid tuvastusi, kuid ei esinda signaali kvaliteeti. Seda saab kõige paremini jälgida ostsilloskoobi abil.
20. samm: jäädvustamine: tõrke vaatlemine (jadahäire näide)
Nüüd näitan näidet seeriavigast, mis minuga tegelikult juhtus. Olin GPRS -modemiga, mida kasutati mobiiltelefonis, SIM -kaardil, ja üritasin luua ühenduse ESP32 -ga. Aga see lihtsalt ei ühendanud. Seejärel kontrollisin toiteallikat, juhtmeid ja vahetasin plaati. Ma tegin kõike, kuid midagi ei parandanud. Otsustasin teha loogilise analüüsi: avastasin, et UART 115200 ESP signaal hakkas vastuolus olema. See tähendab, et ESP32 mängis 115, 200 erineva kiirusega kui see.
See viga, mille tuvastas parser, kuvati punase X -ga. Minu arusaamist mööda ütleb programm, et punkt, millel on selline natuke, on aja jooksul pooleldi nihutatud. Selle nihke kasvades võib tulla aeg, mil kõik ei sobi, nii et teave ei jõua teisele poole. Tavaliselt jõuab see kohale, kuid SIM800 on tundlik ja kui see pole täpne, ei jõua teave teise otsa.
Ma ei tea, kas seda juhtub sageli või mitte, aga minuga juhtus nii ja seetõttu otsustasin seda teemat siin käsitleda. Mida ma siis tegin? Aeglustasin kiirust. Kui panete 9, 600, 19, 200, kuni 38, 400, siis see toimib, mida 115, 200 puhul ei esine.
Samm: laadige failid alla
INO
Soovitan:
TFT animeeritud silmad: 3 sammu
TFT animeeritud silmad: see projekt kasutab odavaid osi, et luua TFT -ekraanidele paar animeeritud silma. Projekt põhineb Adafruit " Uncanny Eyes " projekt. Kahte ST7735 128x128 pikslit ja ESP32 plaati saab tavaliselt veebist osta umbes
Hirmutavad tuhmuvad LED -silmad: 5 sammu (piltidega)
Hirmutavad tuhmuvad LED -silmad: mikrokontrolleri, nagu Arduino, kasutamine LED -i kustutamiseks ei ole alati parim valik. Mõnikord soovite lihtsat, vähese energiatarbega vooluahelat, mille saab nädalate kaupa akust töötades otse rekvisiiti sisse lülitada. Pärast umbes
Kaugjuhtimisega LED -silmad ja kostüümikapp: 7 sammu (piltidega)
Kaugjuhtimisega LED -silmad ja kostüümikapp: Twin Jawas! Topelt Orko! Kaks kummitus võlurit Bubble-Bobble'ist! See kostüüm võib olla ükskõik milline LED-silmadega olend, kelle valite lihtsalt värve muutes. Esmakordselt tegin selle projekti 2015. aastal väga lihtsa vooluringi ja koodiga, kuid sel aastal tahtsin ma seda teha
Loogiline sond impulsi tuvastamisega: 8 sammu
Pulssituvastusega loogiline sond: jazzzzz tutvustas KAKS TRANSISTORILOGI PROBTI http://www.instructables.com/id/Two-Transistor-Logic-Probe/ on lihtne-kuid mitte rumal-see töötab väga hästi TTL-i loogika taseme määramisel ja CMOS. Suur probleem digitaalahelate testimisel on
Kuidas lisada "Ava märkmikuga" paremklõpsule: 11 sammu
Kuidas lisada paremklõpsule käsku „Ava märkmikuga”: mulle isiklikult ei meeldi aja tõttu kasutada käsku „avatud koos”, isegi kui see on vaid mõni sekund, ja pean siis mäletama, kus täpselt minu kataloogis konkreetne programm asub . See näitab teile, kuidas lisada mis tahes programmi paremklõpsuga (kontekstimenüü