Satura rādītājs:
- 1. solis: montāža
- 2. darbība. Izmantotās funkcijas - serveris
- 3. darbība. Izmantotā ķēde
- 4. solis: avota kods: galvenais
- 5. darbība. Avota kods: vergs
- 6. solis: analizators: aparatūra
- 7. darbība. Saleae programmatūras instalēšana
- 8. darbība: vides konfigurēšana mūsu testiem
- 9. solis: vides konfigurēšana mūsu testiem
- 10. darbība: vides konfigurēšana mūsu testiem
- 11. darbība: vides konfigurēšana mūsu testiem
- 12. solis: vides konfigurēšana mūsu testiem
- 13. darbība. Uzņemšana: pārskats
- 14. darbība. Uzņemšana: protokola analīzes rezultāts
- 15. darbība: uztveršana: 0. kanāls un dati (SDA)
- 16. darbība. Uzņemšana: 1. kanāls un pulkstenis (SCL)
- 17. darbība. Uzņemšana: 2. kanāls un seriālais (TX0)
- 18. darbība: vides konfigurēšana mūsu testiem
- 19. darbība: uzņemšana: osciloskops un analizators
- 20. darbība: uztveršana: kļūmes novērošana (sērijas kļūmes piemērs)
- 21. darbība: lejupielādējiet failus
Video: Atver acis! Loģiskais analizators: 21 darbība
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Loģikas analizators atvieglo jūsu pulsa vilciena vizualizāciju, kas ir biti, kas pārvietojas sakaru līnijā. Tādējādi tas atver acis, lai identificētu iespējamo problēmu. Kāpēc tas ir svarīgi? Tas ir ļoti efektīvs attīstības un kļūdu noteikšanas rīks, kas var ietaupīt jūsu laiku. Šajā video šodien mēs novērtēsim loģiskā analizatora nozīmi, ievērosim dažus parastās prakses protokolus, lietojot šo ierīci, kā arī atklāsim kļūdu bez loģikas analizatora.
Šajā video es izmantoju salīdzinoši lētu (aptuveni 35 USD) un efektīvu modeli ar grafisko interfeisu un bezmaksas programmatūru.
1. solis: montāža
2. darbība. Izmantotās funkcijas - serveris
• Džemperi savienojumiem
• 2 Arduinos (mēs izmantojām 2 Mega Arduinos 2560)
• Loģiskais analizators (mēs izmantojam Saleae)
• USB savienojuma kabeļi Arduino un analizatoram.
• Osciloskops (pēc izvēles)
• Protoboard
3. darbība. Izmantotā ķēde
Šeit mums ir shematiska shēma, kas parāda trīs tapu uzraudzību: TX0, SDA un SCL. Mums ir divi Arduinos: saimnieks un vergs.
4. solis: avota kods: galvenais
Iestatījumos mēs iekļausim bibliotēku i2c komunikācijai. Mēs ievadījām tīklu kā galveno un inicializējām sēriju 0. Cilpā mēs pieprasījām vergu datu baitus saziņai ar mūsu Arduino numuru 8, kā mēs definējām piemērā. Mēs drukājam sērijā, kas tiks novērtēta ar loģikas analizatoru, saņemtos baitus.
#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 = Wire.read (); // recebe cada byte e armazena como caracter Serial.print (c); // envia o caracter pela serial (na verdade vai para o buffer)} kavēšanās (500); // aguarda meio segundo}
5. darbība. Avota kods: vergs
Šajā vergu kodā es atkal iekļauju bibliotēku i2c komunikācijai. Es ieeju tīklā kā vergs ar adresi 8. Mēs reģistrējam pieprasījuma notikumu un saistām to ar funkciju "pieprasījums". Jums nav jāveic nekādas darbības, vienkārši dodiet 0,1 sekundes aizkavi.
Visbeidzot, mums ir pieprasījuma funkcija, kas tiks izpildīta, kad notiks galvenā pieprasījuma notikums, kas tika reģistrēts iestatīšanā. Visbeidzot, mēs atbildam ar 6 baitu ziņojumu.
#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); // reģistra o evento de requisiçao // e associa à função requestEvent} void loop () {kavēšanās (100); // não faz nada no loop, apenas aguarda 0, 1 segundo} // função que será executada quando ocorrer o evento de requisição pelo mestre // foi registerrada como evento no setup void requestEvent () {Wire.write ("teste"); // atbildēt com uma mensagem de 6 bytes}
6. solis: analizators: aparatūra
Izlases frekvence līdz: 24 MHz
Loģika: no 5 V līdz 5,25 V.
Zema līmeņa slieksnis 0,8 V
Augsta līmeņa slieksnis 2,0 V
Ieejas pretestība ir aptuveni 1 Mohm vai lielāka
7. darbība. Saleae programmatūras instalēšana
Programmu, kas saņem loģikas analizatora iegūtos datus un atšifrē bitus, var lejupielādēt, izmantojot šo saiti:
8. darbība: vides konfigurēšana mūsu testiem
Šeit es parādīju saskarni, kas man īpaši patika, jo tā bija tīra.
9. solis: vides konfigurēšana mūsu testiem
Šeit ir dažas konfigurācijas iespējas:
• Noklikšķinot uz kanāla nosaukuma, mēs to varam mainīt.
• Mēs varam noteikt, vai viens no kanāliem kalpos kā uztvērējs un noteikšanas veids.
• Noklikšķinot un turot kanāla numuru, varat mainīt savu pozīciju sarakstā.
• Noklikšķinot uz zobrata, mēs varam konfigurēt kanāla vizualizāciju, paplašinot…
•… vai kanāla slēpšana. Mēs slēpsim visus kanālus, kurus neizmantosim.
10. darbība: vides konfigurēšana mūsu testiem
Noklikšķinot uz pogas "Sākt" bultiņām, ir pieejamas paraugu ņemšanas ātruma un ieraksta ilguma iespējas.
Kādu iemeslu dēļ, ja programmatūra konstatē, ka likmi nevar saglabāt, tiks parādīts ziņojums un automātiski likme tiks samazināta, līdz tiks sasniegta funkcionālā vērtība.
11. darbība: vides konfigurēšana mūsu testiem
Mēs iekļausim arī protokolu analizatorus. Pirmkārt, tas ir I2C, ievērojot WIRE bibliotēkas definīcijas un pareizi saistot kanālus. Visbeidzot, mēs iepazīstināsim analizatoru ar asinhrono sēriju. Mums jābūt uzmanīgiem, lai pareizi konfigurētu parametrus atbilstoši montāžai.
12. solis: vides konfigurēšana mūsu testiem
Cilnē "Atšifrētie protokoli" mums jāpārbauda, kuri protokolu analizatori ir iespējoti. Tur parādīsies dati. Cilnē “Anotācijas” mēs varam pievienot dažus rezultātus labākai vizualizācijai. Vienkārši noklikšķiniet uz ikonas "Pievienot mērījumu".
13. darbība. Uzņemšana: pārskats
Uzņemšanas ekrānā programma parāda SDA, SCL un TX0 datu impulsa vilcienu.
14. darbība. Uzņemšana: protokola analīzes rezultāts
Šeit mēs redzam uztveršanas rezultātu. Cilnē "Atšifrētie protokoli" mums ir:
• Servera pieprasījums vergam ar ID 8.
• Verga atbilde, sešas rakstzīmes: "t", "e", "s", "t", "e" un atstarpe.
• Katram seko ACK bits (Acknowledge), kas norāda pareizu baitu saņemšanu, izņemot atstarpes rakstzīmi NACK (Not Acknowledge).
• Tālāk mēs redzam TX0 sērijas dekodēšanas rezultātu, norādot saņemtās un uz Arduino IDE sērijas termināli nosūtītās rakstzīmes.
15. darbība: uztveršana: 0. kanāls un dati (SDA)
Šajā attēlā mums ir SDA līnijas impulsa vilciens. Ņemiet vērā, ka var apskatīt katru pārraidīto baitu.
16. darbība. Uzņemšana: 1. kanāls un pulkstenis (SCL)
Tagad mums ir SCL līnijas impulsa vilciens. Jūs varat pārbaudīt sīkāku informāciju, vienkārši novietojot peli virs signāla, kā redzat attēlā. Mēs redzam, ka pulksteņa frekvence bija 100 kHz.
17. darbība. Uzņemšana: 2. kanāls un seriālais (TX0)
Runājot par TX0 līnijas impulsa vilcienu, mēs varam redzēt sākuma bitu un katra bita kadrēšanas punktus. Mums ir baits, kas apzīmē rakstzīmi "e".
18. darbība: vides konfigurēšana mūsu testiem
Šeit mums ir vairākas datu lasīšanas iespējas.
19. darbība: uzņemšana: osciloskops un analizators
Paskaties šeit uz ekrāna, ko es iemūžināju no sava osciloskopa. Loģikas analizatora signāls attēlo tikai augstos un zemos atklājumus, bet tas neatspoguļo signāla kvalitāti. To vislabāk var novērot osciloskopā.
20. darbība: uztveršana: kļūmes novērošana (sērijas kļūmes piemērs)
Tagad es parādīšu sērijas neveiksmes piemēru, kas patiesībā notika ar mani. Es mēģināju izveidot savienojumu ar ESP32 ar tādu GPRS modemu, kādu izmantoja mobilajā telefonā, SIM kartē. Bet tas vienkārši nesavienojās. Pēc tam es pārbaudīju strāvas padevi, elektroinstalāciju un nomainīju plāksni. Es darīju visu, bet nekas to neizlaboja. Es nolēmu veikt loģisku analīzi: es atklāju, ka ESP signāls UART 115200 sāka neatbilst. Tas ir, ESP32 spēlēja 115, 200 ar citu ātrumu nekā šis.
Šī kļūda, ko identificēja parsētājs, tika parādīta ar X sarkanā krāsā. Manā izpratnē programma saka, ka punkts, kuram ir šāds bits, laika gaitā ir daļēji pārvietots. Palielinoties šai nobīdei, var pienākt brīdis, kad viss ir neatbilstoši, lai informācija nesasniegtu otru pusi. Tas parasti ierodas, bet SIM800 ir jutīgs, un, ja tas nav precīzs, informācija nesasniedz otru galu.
Es nezinu, vai tas notiek bieži vai nē, bet tas notika ar mani, un tāpēc es nolēmu pievērsties šai tēmai šeit. Ko tad es darīju? Es palēnināju ātrumu. Ja ievietojat 9, 600, 19, 200, līdz 38, 400, tas darbojas, kas nenotiek ar 115, 200.
21. darbība: lejupielādējiet failus
ES NĒ
Ieteicams:
Helovīna ķirbis ar kustīgu animatronisku aci - Šis ķirbis var pagriezt acis!: 10 soļi (ar attēliem)
Helovīna ķirbis ar kustīgu animatronisku aci | Šis ķirbis var izgriezt acis!: Šajā pamācībā jūs uzzināsit, kā pagatavot Helovīna ķirbi, kas biedē visus, kad acs kustas. Noregulējiet ultraskaņas sensora sprūda attālumu līdz pareizajai vērtībai (9. solis), un jūsu ķirbis pārakmeņos ikvienu, kurš uzdrošinās uzņemt sveci
TFT animācijas acis: 3 soļi
TFT Animated Eyes: Šis projekts izmanto lētas detaļas, lai TFT ekrānos izveidotu animētu acu pāri. Projekta pamatā ir Adafruit " Uncanny Eyes " projekts. Divi ST7735 128x128 pikseļu displeji un ESP32 tāfele parasti var iegādāties tiešsaistē apmēram
Ar tālvadību vadāmas LED acis un kostīmu pārsegs: 7 soļi (ar attēliem)
Ar tālvadību vadāmas LED acis un kostīmu pārsegs: dvīņu Jawas! Dubultā Orko! Divi spoku burvji no Bubble-Bobble! Šis kostīmu pārsegs var būt jebkura radība ar LED acīm, kuru izvēlaties, vienkārši mainot krāsas. Es pirmo reizi izveidoju šo projektu 2015. gadā ar ļoti vienkāršu shēmu un kodu, bet šogad es gribēju sagraut
Partijas faili, kas atver vairākas programmas!: 5 soļi
Partijas faili, kas atver vairākas programmas !: Labi, tas ir diezgan pašsaprotami. Tas var būt īpaši noderīgi, ja atrodaties darbā un veicat procesu, kurā, piemēram, jāatver; Microsoft Word, Microsoft PowerPoint, Microsoft Outlook, Internet Explorer utt. Tātad, pieņemsim s
Izveidojiet kaitinošu programmu, kas atver un aizver visus jūsu kompaktdisku diskdziņus: 4 soļi
Izveidojiet kaitinošu programmu, kas atver un aizver visus jūsu CD diskus: šī ir mana pirmā pamācība, tāpēc, lūdzu, pastāstiet man, kā es varu uzlabot. šī pamācība stāsta, kā izveidot kaitinošu programmu, kas atver un aizver visus jūsu cd diskus. jums būs nepieciešams: dators, kurā darbojas Windows