Mündəricat:
- Addım 1: Quraşdırma
- Addım 2: İstifadə olunan xüsusiyyətlər - Server
- Addım 3: istifadə olunan dövrə
- Addım 4: Mənbə Kodu: Usta
- Addım 5: Mənbə Kodu: Kölə
- Addım 6: Analizator: Avadanlıq
- Addım 7: Saleae Proqram Quraşdırması
- Addım 8: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
- Addım 9: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
- Addım 10: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
- Addım 11: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
- Addım 12: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
- Addım 13: Çək: Baxış
- Addım 14: Capture: Protokol Analizinin Nəticəsi
- Addım 15: Çək: Kanal 0 və Məlumat (SDA)
- Adım 16: Çək: Kanal 1 və Saat (SCL)
- Addım 17: Çək: Kanal 2 və Serial (TX0)
- Addım 18: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
- Addım 19: Capture: Osiloskop və Analizator
- Addım 20: Capture: Uğursuzluq müşahidə etmək (Serial Uğursuzluq nümunəsi)
- Addım 21: Dosyaları Yükləyin
Video: Gözlərini aç! Məntiqi analizator: 21 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Məntiq analizatoru, ünsiyyət xəttində hərəkət edən bitlər olan nəbz qatarını görselleştirmenizi asanlaşdırır. Beləliklə, mümkün bir problemi müəyyən etmək üçün gözlərinizi açır. Bu niyə vacibdir? Vaxtınıza qənaət edə biləcək çox təsirli bir inkişaf və səhv aşkarlama vasitəsidir. Bugünkü videoda, məntiqi analizatorun əhəmiyyətini qiymətləndirəcəyik, bu cihazı istifadə edərkən ümumi tətbiqlərin bəzi protokollarını müşahidə edəcəyik və məntiq analizatorunun köməyi olmadan aşkarlama uğursuzluğunu nümunə göstərəcəyik.
Bu videoda qrafik interfeysi və pulsuz proqramı olan nisbətən ucuz (təxminən 35 dollar) və səmərəli bir model istifadə etdim.
Addım 1: Quraşdırma
Addım 2: İstifadə olunan xüsusiyyətlər - Server
• Əlaqələr üçün tullananlar
• 2 Arduino (2 Mega Arduinos 2560 istifadə etdik)
• Məntiqi Analizator (Saleae istifadə edirik)
• Arduino və analizator üçün USB bağlantı kabelləri.
• Osiloskop (isteğe bağlı)
• Protoboard
Addım 3: istifadə olunan dövrə
Burada üç sancağın monitorinqini göstərən bir sxem var: TX0, SDA və SCL. İki Arduinosumuz var: usta və qul.
Addım 4: Mənbə Kodu: Usta
Quraşdırmada i2c ünsiyyəti üçün kitabxananı daxil edəcəyik. Şəbəkəyə Master olaraq daxil olduq və 0 seriyasını işə saldıq. Loop -da, nümunədə təyin etdiyimiz kimi Arduino 8 nömrəmizlə əlaqə qurmaq üçün kölə məlumat baytlarını istədik. Alınan baytlar, məntiq analizatoru ilə qiymətləndiriləcək serialda çap edirik.
#include // I2C void setup () biblioteca daxil olmaqla () {Wire.begin (); // Mestre -ni yenidən daxil edin (istədiyiniz vaxta qədər) Serial.begin (115200); // inicia seriyalı 0} void loop () {Wire.requestFrom (8, 6); // 8 baytdan 8 -ə qədər olan müddətdə (Wire.available ()) {// enquanto houver bytes para reseptor… char c = Wire.read (); // yenidən yazın və ya Serial.print (c); // envia o caracter pela serial (na verdade vai para o ofer)} gecikmə (500); // aguarda meio segundo}
Addım 5: Mənbə Kodu: Kölə
Bu kölə koda yenidən i2c ünsiyyət kitabxanasını daxil edirəm. Şəbəkəyə 8 ünvanı ilə kölə olaraq daxil oluram. İstək hadisəsini qeyd edirik və "sorğu" funksiyası ilə əlaqələndiririk. Döngədə heç bir şey etməyə ehtiyac yoxdur, yalnız 0.1 saniyə gecikmə verin.
Nəhayət, Quraşdırmada qeydə alınan Master tərəfindən tələb hadisəsi baş verdikdə yerinə yetiriləcək sorğu funksiyasına sahibik. Nəhayət, 6 baytlıq bir mesajla cavab veririk.
#include // I2C void setup () biblioteca daxil olmaqla () {Wire.begin (8); // redaktə edin 8 Wire.onRequest (requestEvent); // qeydiyyatdan keçmə hadisəsi tələb olunur // e associa à função requestEvent} boşluq döngəsi () {gecikmə (100); // não faz yox, heç bir döngə yoxdur, 0 və 1 sequndo} // funcão que será icraedici bir hadisə baş verdikdə və ya qeydiyyatdan keçdikdə // heç bir quraşdırma void requestEvent () {Wire.write ("teste"); // 6 baytdan artıq cavab verin}
Addım 6: Analizator: Avadanlıq
Nümunə sürəti: 24 MHz
Məntiq: 5 V -dən 5.25 V -ə qədər
Aşağı səviyyə 0.8 V.
Yüksək səviyyəli eşik 2.0 V
Təxminən 1 Mohm və ya daha çox giriş empedansı
Addım 7: Saleae Proqram Quraşdırması
Məntiq analizatoru tərəfindən tutulan məlumatları alan və bitlərin kodunu açan proqram aşağıdakı linkdən yüklənə bilər:
Addım 8: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
Təmiz olduğu üçün xüsusilə bəyəndiyim interfeysi burada göstərirəm.
Addım 9: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
Budur bəzi konfiqurasiya variantları:
• Kanalın adını tıklayaraq onu dəyişə bilərik.
• Kanallardan birinin tutma və aşkarlama forması üçün bir tetikleyici rolunu oynayacağını təyin edə bilərik.
• Kanal nömrəsini basıb saxlayın, siyahıdakı mövqeyinizi dəyişə bilərsiniz.
• Ötürücüyə tıklayaraq, kanal vizualını konfiqurasiya edə, genişləndirə bilərik …
•… və ya kanalı gizlətmək. İstifadə etməyəcəyimiz bütün kanalları gizlədirik.
Addım 10: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
"Başla" düyməsinin oxlarını tıkladığınızda, Seçmə Hızı və qeyd müddətinin seçimləri var.
Nədənsə, proqram dərəcənin saxlanıla bilməyəcəyini algılarsa, bir mesaj göstəriləcək və funksional dəyər əldə olunana qədər avtomatik olaraq dərəcəsi azalacaq.
Addım 11: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
Protokol analizatorlarını da daxil edəcəyik. Əvvəlcə WIRE kitabxanasının təriflərini izləyən və kanalları düzgün əlaqələndirən I2C -dir. Nəhayət, analizatoru asinxron serialla tanış edəcəyik. Parametrləri montaja uyğun olaraq düzgün qurmaq üçün diqqətli olmalıyıq.
Addım 12: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
"Dekodlaşdırılmış Protokollar" sekmesinde, hansı protokol analizatorlarının aktiv olduğunu yoxlamalıyıq. Orada məlumatlar görünəcək. "İzahatlar" sekmesinde, daha yaxşı görselleştirmek üçün bəzi nəticələri əlavə edə bilərik. Yalnız "ölçmə əlavə et" simgesini vurun.
Addım 13: Çək: Baxış
Çəkmə ekranında, proqram SDA, SCL və TX0 -un məlumat pulse qatarını göstərir.
Addım 14: Capture: Protokol Analizinin Nəticəsi
Burada tutmanın nəticəsini görürük. "Dekodlaşdırılmış Protokollar" sekmesinde əlimizdədir:
• Server 8 id ilə kölə tələbi.
• Qul cavabı, altı simvol: "t", "e", "s", "t", "e" və boşluq.
• Hər birinin ardınca NACK (Not Acknowledge) boşluq simvolu istisna olmaqla, düzgün bayt qəbulunu göstərən ACK biti (Acknowledge) gəlir.
• Ardından, Arduino IDE serial terminalına alınan və göndərilən simvolları göstərən TX0 serialının kodlaşdırma nəticəsini görürük.
Addım 15: Çək: Kanal 0 və Məlumat (SDA)
Bu görüntüdə SDA xəttinin nəbz qatarı var. Nəzərə alın ki, ötürülən hər bayta baxmaq olar.
Adım 16: Çək: Kanal 1 və Saat (SCL)
İndi burada SCL xəttinin nəbz qatarı var. Şəkildə gördüyünüz kimi siçanı siqnalın üzərinə yerləşdirərək daha çox məlumatı yoxlaya bilərsiniz. Saat tezliyinin 100 kHz olduğunu görə bilərik.
Addım 17: Çək: Kanal 2 və Serial (TX0)
TX0 xəttinin nəbz qatarına gəldikdə, Başlanğıc bitini və hər bitin çərçivə nöqtələrini görə bilərik. "E" simvolunu təmsil edən bir baytımız var.
Addım 18: Testlərimiz üçün Ətraf Mühitin Konfiqurasiyası
Burada məlumatları oxumaq üçün bir neçə variantımız var.
Addım 19: Capture: Osiloskop və Analizator
Osiloskopumdan çəkdiyim ekrana baxın. Məntiq analizatoru siqnalı yalnız yüksək və aşağı algılamaları təmsil edir, lakin siqnal keyfiyyətini ifadə etmir. Bunu ən yaxşı osiloskopda müşahidə etmək olar.
Addım 20: Capture: Uğursuzluq müşahidə etmək (Serial Uğursuzluq nümunəsi)
İndi başıma gələn serial uğursuzluq nümunəsini göstərəcəyəm. Cib telefonu, SİM kartda istifadə olunan bir GPRS modemi ilə ESP32 -yə qoşulmağa çalışırdım. Ancaq sadəcə əlaqələndirmədi. Daha sonra elektrik təchizatını, naqilləri yoxladım və lövhəni dəyişdirdim. Hər şeyi etdim, amma heç nə düzəltmədi. Məntiqi bir analiz aparmaq qərarına gəldim: UART 115200 -də ESP siqnalının uyğun gəlməməyə başladığını kəşf etdim. Yəni ESP32 115, 200 olması lazım olanı bundan fərqli bir sürətlə oynayırdı.
Parser tərəfindən müəyyən edilən bu səhv qırmızı rəngli X işarəsi ilə göstərildi. Anladığım kimi, proqram belə bir şeyə sahib olan nöqtənin zamanla yarı yerdəyişdiyini söyləyir. Bu dəyişiklik artdıqca, hər şeyin uyğun gəlmədiyi bir vaxt gələ bilər ki, məlumat qarşı tərəfə çatmasın. Adətən gəlir, amma SIM800 həssasdır və dəqiq deyilsə, məlumat digər ucuna çatmır.
Bilmirəm, bu tez -tez olur, ya yox, amma mənim başıma gəldi və bu səbəbdən burada bu mövzuya toxunmaq qərarına gəldim. Bəs mən nə etdim? Yavaşladım. 9, 600, 19, 200, 38, 400 -ə qədər qoysanız, işləyir, bu 115, 200 ilə baş vermir.
Addım 21: Dosyaları Yükləyin
MƏN YOX
Tövsiyə:
Ayaqqabı qutusundan LED canavar gözlərini necə düzəltmək olar: 6 addım
Ayaqqabı qutusundan LED canavar gözlərini necə düzəltmək olar: Filmlərdə və kitablarda canavarlar görmüş ola bilərsiniz. Ancaq bir canavarın necə görünməsi lazım olduğunu düşünürsən? Böyük bir ölçü və ya ülgüc iti dişləri olmalıdır? Super qəhrəmanlardakı çizgi romanların antaqonistləri və Disney filmlərindəki pis adamlar olurlar. Daxilində
Arduino ilə IR Uzaqdan Analizator / Alıcı: 3 addım
IR Uzaqdan Analizator / Alıcı Arduino ilə: Bu analizator eyni vaxtda 40 fərqli İR protokolunu alır və alınan siqnalın ünvanını və kodunu göstərir. Bu proqramı nümunə olaraq digər faydalı tətbiqləri özündə birləşdirən Arduino IRMP kitabxanasından istifadə edir. istəmək
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)
Qəhvə qovurma maşınları üçün qızardılmış infraqırmızı analizator dərəcəsi: 13 addım (şəkillərlə)
Qəhvə qovurma maşınları üçün qızardılmış infraqırmızı analizator dərəcəsi: Giriş Qəhvə həm həssas, həm də funksional xüsusiyyətlərinə görə dünyada istehlak edilən bir içkidir. Qəhvənin dadı, aroması, kofein və antioksidan tərkibi qəhvə sənayesini bu qədər uğurlu edən bir neçə keyfiyyətdir. G
Gamma Spektroskopiyası NaI (Tl) Detektorlu Çox Kanallı Analizator MCA: 5 addım
NaI (Tl) Detektorlu Çox Kanallı Analizator MCA: Salam, hobbi Gamma Spektroskopiyası ilə maraqlananların hamısına xoş gəlmisiniz. Bu qısa məqalədə, MCA ilə evdə hazırlanan DIY Gamma Spektroskopiya detektoru yaratmaq iş prosesimi paylaşmaq istəyirəm. Bələdçi deyil, yalnız prosesin fotoşəkillərini paylaşıram