Mundarija:
- 1 -qadam: yig'ish
- 2 -qadam: ishlatilgan xususiyatlar - Server
- 3 -qadam: O'chirish davri
- 4 -qadam: Manba kodi: usta
- 5 -qadam: Manba kodi: qul
- 6 -qadam: Analizator: Uskuna
- 7 -qadam: Saleae dasturiy ta'minotini o'rnatish
- 8 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
- 9 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
- 10 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
- 11 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
- 12 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
- 13 -qadam: Rasmga tushirish: umumiy nuqtai
- 14 -qadam: Rasmga tushirish: Protokol tahlilining natijasi
- 15 -qadam: Rasmga tushirish: 0 -kanal va ma'lumotlar (SDA)
- 16 -qadam: Rasmga tushirish: 1 -kanal va soat (SCL)
- 17 -qadam: Rasmga tushirish: 2 -kanal va serial (TX0)
- 18 -qadam: Sinovlar uchun muhitni sozlash
- 19 -qadam: Rasmga olish: osiloskop va analizator
- 20 -qadam: Rasmga tushirish: nosozlikni kuzatish (ketma -ket xatolarga misol)
- 21 -qadam: Fayllarni yuklab oling
Video: Ko'zlaringizni oching! Mantiqiy analizator: 21 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Mantiqiy analizator pulsli poezdni vizualizatsiya qilishni osonlashtiradi, bu aloqa liniyasi bo'ylab harakatlanadigan qismlar. Shunday qilib, mumkin bo'lgan muammoni aniqlash uchun ko'zingizni ochadi. Nima uchun bu muhim? Bu vaqtni tejashga imkon beradigan juda samarali ishlab chiqish va xatolarni aniqlash vositasi. Bugungi videoda biz mantiqiy analizatorning ahamiyatini baholaymiz, ushbu qurilmadan foydalanganda umumiy amaliyotning ba'zi protokollarini kuzatamiz va mantiqiy analizator yordamisiz aniqlanmagan xatoga misol bo'lamiz.
Bu videoda men nisbatan arzon (35 dollar atrofida) va samarali modelni ishlatdim, grafik interfeysi va bepul dasturiy ta'minoti.
1 -qadam: yig'ish
2 -qadam: ishlatilgan xususiyatlar - Server
• Ulanish uchun o'tish moslamalari
• 2 Arduino (biz 2 Mega Arduinos 2560 dan foydalanganmiz)
• Mantiqiy analizator (biz Saleae dan foydalanamiz)
• Arduino va analizator uchun USB ulanish kabellari.
• Osiloskop (ixtiyoriy)
• Protoboard
3 -qadam: O'chirish davri
Bu erda biz uchta pinni kuzatishni ko'rsatadigan sxemaga egamiz: TX0, SDA va SCL. Bizda ikkita Arduino bor: xo'jayin va qul.
4 -qadam: Manba kodi: usta
O'rnatishda biz i2c aloqasi uchun kutubxonani o'z ichiga olamiz. Biz tarmoqqa Master sifatida kirdik va 0 seriyasini ishga tushirdik. Loopda biz misolda aniqlaganimizdek Arduino 8 raqami bilan bog'lanish uchun qul ma'lumot baytlarini so'radik. Biz ketma -ket chop etamiz, bu mantiq analizatori, olingan baytlar yordamida baholanadi.
#include // inbui a biblioteca para comunicação I2C void setup () {Wire.begin (); // Mestre -ni qayta yozish (endereço é opcional para o mestre) Serial.begin (115200); // inicia ketma -ket 0} void loop () {Wire.requestFrom (8, 6); // rekvizit 6 bytes de dados do escravo de endereço 8 while (Wire.available ()) {// enquanto houver bayt para reseptor… char c = Wire.read (); // recebe cada bayt e armazena como caracter Serial.print (c); // envia o caracter pela serial (na verdade vai para o ofer)} kechiktirish (500); // menimcha
5 -qadam: Manba kodi: qul
Ushbu qul kodida men yana i2c aloqasi uchun kutubxonani o'z ichiga olaman. Men tarmoqqa 8. manzil bilan qul sifatida kiraman. Biz so'rov hodisasini ro'yxatdan o'tkazamiz va uni "so'rov" funktsiyasi bilan bog'laymiz. Loopda hech narsa qilishning hojati yo'q, 0,1 soniya kechiktirish kifoya.
Nihoyat, bizda "O'rnatish" da ro'yxatdan o'tgan Master tomonidan so'rov hodisasi sodir bo'lganda bajariladigan so'rov funktsiyasi mavjud. Biz, nihoyat, 6 baytlik xabar bilan javob beramiz.
#include // inbui a biblioteca para comunicação I2C void setup () {Wire.begin (8); // buyruqni qayta yozing 8 Wire.onRequest (requestEvent); // registra o evento de recisisio // e associa à função requestEvent} void loop () {delay (100); // hech qanday tsikl yo'q, apenas aguarda 0, 1 segundo} // funktsiyalarni bajarish uchun zarur bo'lgan voqea -hodisalar ro'yxatga olinmagan bo'lsa // ro'yxatdan o'tishni bekor qilish talab qilinmagan bo'lsaEvent () {Wire.write ("teste"); // 6 baytdan keyin javob bering
6 -qadam: Analizator: Uskuna
Namuna tezligi: 24 MGts gacha
Mantiq: 5 V dan 5,25 V gacha
Past darajali chegara 0,8 V
Yuqori darajadagi chegara 2,0 V
Taxminan 1 mohm yoki undan ortiq kirish empedansi
7 -qadam: Saleae dasturiy ta'minotini o'rnatish
Mantiqiy analizator tomonidan olingan ma'lumotlarni qabul qiladigan va bitlarni dekodlaydigan dasturni quyidagi havola orqali yuklab olish mumkin:
8 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
Men bu erda interfeysni ko'rsataman, bu menga ayniqsa yoqdi, chunki u toza edi.
9 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
Bu erda ba'zi konfiguratsiya variantlari:
• Kanal nomini bosish orqali biz uni o'zgartirishimiz mumkin.
• Biz kanallardan biri suratga olish uchun tetik vazifasini o'taydimi yoki yo'qligini aniqlashimiz mumkin.
• Kanal raqamini bosib ushlab turish orqali siz ro'yxatdagi o'rnini o'zgartirishingiz mumkin.
• Vitesni bosish orqali biz kanal vizualizatsiyasini sozlashimiz, kengaytira olamiz …
•… yoki kanalni yashirish. Biz foydalanmaydigan barcha kanallarni yashiramiz.
10 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
"Ishga tushirish" tugmachasini bosganingizda, namuna olish tezligi va yozuv davomiyligi variantlari mavjud.
Agar biron sababga ko'ra, agar dasturiy ta'minot kursni ushlab turish mumkin emasligini aniqlasa, xabar ko'rsatiladi va funktsional qiymatga kelguncha tezlik avtomatik ravishda kamayadi.
11 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
Biz protokol analizatorlarini ham qo'shamiz. Birinchidan, bu WIRE kutubxonasi ta'riflariga amal qilib, kanallarni to'g'ri bog'laydigan I2C. Nihoyat, biz analizatorni asinxron serial bilan tanishtiramiz. Parametrlarni yig'ilishga muvofiq to'g'ri sozlash uchun ehtiyot bo'lishimiz kerak.
12 -qadam: Bizning sinovlarimiz uchun muhitni sozlash
"Dekodlangan protokollar" yorlig'ida biz qaysi protokol analizatorlari yoqilganligini tekshirishimiz kerak. U erda ma'lumotlar paydo bo'ladi. Vizualizatsiyani yaxshilash uchun "Izohlar" yorlig'iga ba'zi natijalarni qo'shishimiz mumkin. Faqat "o'lchov qo'shish" belgisini bosing.
13 -qadam: Rasmga tushirish: umumiy nuqtai
Rasmga tushirish ekranida dastur SDA, SCL va TX0 ning pulsli poezdini ko'rsatadi.
14 -qadam: Rasmga tushirish: Protokol tahlilining natijasi
Bu erda biz qo'lga olish natijasini ko'ramiz. "Dekodlangan protokollar" yorlig'ida bizda:
• server 8 identifikatorli qul uchun so'rov.
• Qul javobi, oltita belgi: "t", "e", "s", "t", "e" va bo'sh joy.
• Har birining orqasidan NACK (Not Acknowledge) bo'sh joy belgisidan tashqari, baytning to'g'ri qabul qilinishini ko'rsatuvchi ACK biti (Acknowledge) keladi.
• Keyin, biz TX0 serialining kod hal qilish natijasini ko'ramiz, unda qabul qilingan va Arduino IDE ketma -ket terminaliga yuborilgan belgilar ko'rsatilgan.
15 -qadam: Rasmga tushirish: 0 -kanal va ma'lumotlar (SDA)
Ushbu rasmda bizda SDA chizig'ining pulsli poezdi bor. E'tibor bering, uzatilgan har bir baytni ko'rish mumkin.
16 -qadam: Rasmga tushirish: 1 -kanal va soat (SCL)
Endi bizda SCL liniyasining pulsli poezdi bor. Rasmda ko'rib turganingizdek, sichqonchani signal ustiga qo'yish orqali batafsil ma'lumotni tekshirishingiz mumkin. Biz soat chastotasi 100 kHzda ekanligini ko'rishimiz mumkin.
17 -qadam: Rasmga tushirish: 2 -kanal va serial (TX0)
TX0 liniyasining pulsli poezdiga kelsak, biz boshlang'ich bitni va har bir bitning ramka nuqtalarini ko'rishimiz mumkin. Bizda "e" belgisini ifodalovchi bayt bor.
18 -qadam: Sinovlar uchun muhitni sozlash
Bu erda ma'lumotlarni o'qish uchun bir nechta variant mavjud.
19 -qadam: Rasmga olish: osiloskop va analizator
Men osiloskopdan olgan ekranga qarang. Mantiqiy analizator signali faqat yuqori va past aniqlanishni bildiradi, lekin u signal sifatini bildirmaydi. Buni eng yaxshi osiloskopda kuzatish mumkin.
20 -qadam: Rasmga tushirish: nosozlikni kuzatish (ketma -ket xatolarga misol)
Endi men men bilan sodir bo'lgan ketma -ket muvaffaqiyatsizlikka misol keltiraman. Men ESP32 -ga ulanmoqchi bo'lgan GPRS -modem bilan uyali telefonda, SIM -kartada bo'lganman. Lekin u shunchaki ulanmadi. Keyin men elektr ta'minotini, simlarni tekshirdim va taxtani o'zgartirdim. Men hamma narsani qildim, lekin hech narsa hal qilmadi. Men mantiqiy tahlil qilishga qaror qildim: UART 115200 -dagi ESP signali mos kela olmasligini aniqladim. Ya'ni, ESP32 115, 200 bo'lishi kerak bo'lgan narsani bundan boshqacha tezlikda o'ynagan.
Ajratuvchi tomonidan aniqlangan bu xato qizil rangda X bilan ko'rsatildi. Men tushunganimdek, dastur shuni ko'rsatadiki, bunday nuqta o'z vaqtida yarim joyidan siljiydi. Bu siljish kuchaygani sayin, hamma narsa bir -biriga mos kelmaydigan vaqt kelishi mumkin, shuning uchun ma'lumot boshqa tomonga etib bormaydi. U odatda keladi, lekin SIM800 sezgir va agar aniq bo'lmasa, ma'lumot boshqa uchiga etib bormaydi.
Bu tez -tez sodir bo'ladimi yoki yo'qmi, bilmayman, lekin bu men bilan sodir bo'lgan, shuning uchun men bu mavzuni shu erda hal qilishga qaror qildim. Xo'sh, men nima qildim? Men sekinlashdim. Agar siz 9, 600, 19, 200, 38, 400 gacha qo'ygan bo'lsangiz, u ishlaydi, bu 115, 200 bilan sodir bo'lmaydi.
21 -qadam: Fayllarni yuklab oling
INO
Tavsiya:
ArduBand - Ko'zlaringizni saqlang!: 6 qadam (rasmlar bilan)
ArduBand - Ko'zlaringni saqla! Ba'zan biz ekran oldida bir necha soat o'tirib, ko'zimizni yo'q qilib, orqamizni egib olamiz. Biz de -dan foydalanishimiz mumkin
(CRC) bit, Microbit-ga o'xshash nishonni oching: 10 qadam
(CRC) bit, Open Microbit-ga o'xshash nishon: Biz robototexnikani o'rgatish uchun taxminan 1 yil oldin mikrobit nishonidan foydalanganmiz. Bu ta'lim uchun ajoyib vosita, uning eng qimmatli xususiyatlaridan biri bu qo'lda ushlab turishdir. Va bu moslashuvchanlik uni ta'lim hamjamiyati haqida katta tasavvurga ega qiladi
DSKY Apollon qo'llanma kompyuterini oching: 13 qadam (rasmlar bilan)
DSKY Apollon qo'llanma kompyuterini oching: 1/10/18 dan buyon taniqli ko'rsatma bo'lishi bilan faxrlanaman. Iltimos, bizga ovoz bering va bizga layk qo'ying! Kickstarter kampaniyasi juda muvaffaqiyatli o'tdi! Open DSKY Kickstarter Bizning ochiq DSKY hozirda Backerkit -da (https://opendsky.backerkit.com/hosted_preorders) jonli
Android/IOS/WIN10 qurilmalari uchun xavfsiz zonani oching: 6 qadam
Qulfsiz qolish uchun Android/IOS/WIN10 qurilmalari uchun xavfsiz zonani yarating: Ushbu maqolada biz sizning qurilmalaringiz qulfini ochish uchun xavfsiz zonani yaratadigan ajoyib gadjet yaratmoqchimiz. Loyihaning oxirida siz: barmoq izi skaneridan foydalanishni o'rganasiz, qurilmalaringizni xavfsiz zonali gadjetingiz bilan qanday bog'lashni o'rganasiz
Android va Arduino bilan uyni avtomatlashtirish: Uyga kelganingizda eshikni oching: 5 qadam
Android va Arduino -da uyni avtomatlashtirish: Uyga qaytganingizda eshikni oching: Bu yo'riqnoma uyni avtomatlashtirish tizimini sozlash orqali smartfon orqali boshqariladi, Internetga ulanishi mumkin, shunda unga kerakli joydan kirish mumkin. Bundan tashqari, u har qanday mezon bo'lganida ma'lum harakatlarni bajaradi