Isi kandungan:
- Langkah 1: Perhimpunan
- Langkah 2: Ciri yang Digunakan - Pelayan
- Langkah 3: Litar Digunakan
- Langkah 4: Kod Sumber: Tuan
- Langkah 5: Kod Sumber: Budak
- Langkah 6: Penganalisis: Perkakasan
- Langkah 7: Pemasangan Perisian Saleae
- Langkah 8: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
- Langkah 9: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
- Langkah 10: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
- Langkah 11: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
- Langkah 12: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
- Langkah 13: Tangkap: Gambaran keseluruhan
- Langkah 14: Tangkapan: Hasil Analisis Protokol
- Langkah 15: Tangkap: Saluran 0 dan Data (SDA)
- Langkah 16: Tangkap: Saluran 1 dan Jam (SCL)
- Langkah 17: Tangkap: Saluran 2 dan Bersiri (TX0)
- Langkah 18: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
- Langkah 19: Tangkap: Osiloskop dan Penganalisis
- Langkah 20: Tangkap: Memerhatikan Kegagalan (contoh Kegagalan Serial)
- Langkah 21: Muat turun Fail
Video: Buka mata kamu! Penganalisis Logik: 21 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Penganalisis logik memudahkan visualisasi kereta nadi anda, yang merupakan bit perjalanan dalam talian komunikasi. Oleh itu, ia membuka mata anda untuk mengenal pasti kemungkinan masalah. Mengapa ini penting? Ini adalah alat pengembangan dan pengesanan kesalahan yang sangat berkesan yang dapat menjimatkan masa anda. Dalam video ini hari ini, kita akan menilai kepentingan penganalisis logik, memerhatikan beberapa protokol amalan biasa semasa menggunakan peranti ini, dan menunjukkan kegagalan pengesanan tanpa bantuan penganalisis logik.
Dalam video ini, saya menggunakan model yang agak murah (sekitar $ 35) dan cekap, dengan antara muka grafik dan perisian percuma.
Langkah 1: Perhimpunan
Langkah 2: Ciri yang Digunakan - Pelayan
• Pelompat untuk sambungan
• 2 Arduinos (kami menggunakan 2 Mega Arduinos 2560)
• Penganalisis Logik (kami menggunakan Saleae)
• Kabel sambungan USB untuk Arduino dan penganalisis.
• Osiloskop (pilihan)
• Protoboard
Langkah 3: Litar Digunakan
Di sini kita mempunyai skema, yang menunjukkan pemantauan tiga pin: TX0, SDA, dan SCL. Kami mempunyai dua orang Arduino: seorang tuan dan hamba.
Langkah 4: Kod Sumber: Tuan
Dalam Persediaan, kami akan memasukkan perpustakaan untuk komunikasi i2c. Kami memasuki rangkaian sebagai Master dan menginisialkan siri 0. Di Loop, kami meminta hamba data byte untuk berkomunikasi dengan Arduino nombor 8 kami, seperti yang kami tetapkan dalam contoh. Kami mencetak dalam siri ini, yang akan dinilai dengan logik penganalisis, bait yang diterima.
#include // inclui a biblioteca para comunicação I2C batal setup () {Wire.begin (); // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin (115200); // inicia serial 0} loop void () {Wire.requestFrom (8, 6); // requisita 6 bait de dados do escravo de endereço 8 sementara (Wire.available ()) {// enquanto houver bytes para penerima… 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)} kelewatan (500); // aguarda meio segundo}
Langkah 5: Kod Sumber: Budak
Dalam kod hamba ini, saya sekali lagi memasukkan perpustakaan untuk komunikasi i2c. Saya memasukkan rangkaian sebagai hamba dengan alamat 8. Kami mendaftarkan acara permintaan dan mengaitkannya dengan fungsi "permintaan". Anda tidak perlu melakukan apa-apa pada gelung, hanya memberikan kelewatan 0.1 saat.
Akhirnya, kita memiliki fungsi permintaan yang akan dijalankan ketika peristiwa permintaan oleh Master terjadi, yang didaftarkan dalam Penyiapan. Kami membalas, akhirnya, dengan mesej 6 bait.
#include // inclui a biblioteca para comunicação I2C batal 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} gelung kosong () {kelewatan (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 registrada como evento no setup void requestEvent () {Wire.write ("teste"); // response com uma mensagem de 6 bait}
Langkah 6: Penganalisis: Perkakasan
Kadar sampel hingga: 24 MHz
Logik: 5 V hingga 5.25 V
Ambang tahap rendah 0.8 V
Ambang tahap tinggi 2.0 V
Input impedansi kira-kira 1 Mohm atau lebih
Langkah 7: Pemasangan Perisian Saleae
Program yang menerima data yang ditangkap oleh penganalisis logik dan menyahkod bit boleh dimuat turun di pautan berikut:
Langkah 8: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
Saya menunjukkan antara muka di sini, yang sangat saya gemari kerana bersih.
Langkah 9: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
Berikut adalah beberapa pilihan konfigurasi:
• Dengan mengklik nama saluran, kita dapat mengubahnya.
• Kami dapat menentukan apakah salah satu saluran akan berfungsi sebagai pemicu penangkapan dan bentuk pengesanan.
• Dengan mengklik dan menahan nombor saluran, anda boleh mengubah kedudukan anda dalam senarai.
• Dengan mengklik roda gigi, kita dapat mengkonfigurasi visualisasi saluran, memperluas…
•… atau menyembunyikan saluran. Kami akan menyembunyikan semua saluran yang tidak akan kami gunakan.
Langkah 10: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
Mengklik pada anak panah butang "Mula", terdapat pilihan Kadar Pensampelan dan tempoh rakaman.
Untuk beberapa sebab, jika perisian mendeteksi bahwa tarif tidak dapat dipertahankan, pesan akan ditampilkan dan secara automatik laju akan berkurang hingga nilai fungsional tercapai.
Langkah 11: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
Kami juga akan menyertakan penganalisis protokol. Pertama ialah I2C, mengikuti definisi perpustakaan WIRE, dan mengaitkan saluran dengan betul. Akhirnya, kami akan memperkenalkan penganalisis kepada siri tak segerak. Kita perlu berhati-hati untuk mengkonfigurasi parameter dengan betul mengikut pemasangan.
Langkah 12: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
Pada tab "Protokol Decoded", kita harus memeriksa penganalisis protokol mana yang diaktifkan. Di sana, data akan muncul. Di tab "Anotasi", kita dapat menambahkan beberapa hasil untuk visualisasi yang lebih baik. Cukup klik pada ikon "tambah pengukuran".
Langkah 13: Tangkap: Gambaran keseluruhan
Di layar tangkapan, program ini memaparkan data pulsa data SDA, SCL, dan TX0.
Langkah 14: Tangkapan: Hasil Analisis Protokol
Di sini, kita melihat hasil tangkapan. Di tab "Protokol Decoded", kami mempunyai:
• Permintaan pelayan untuk hamba dengan id 8.
• Respons hamba, enam watak: "t", "e", "s", "t", "e" dan spasi.
• Masing-masing diikuti oleh bit ACK (Mengakui) yang menunjukkan penerimaan bait yang betul, kecuali untuk watak ruang NACK (Tidak Mengakui).
• Seterusnya, kita melihat hasil penyahkodan siri TX0, menunjukkan watak yang diterima dan dihantar ke terminal bersiri Arduino IDE.
Langkah 15: Tangkap: Saluran 0 dan Data (SDA)
Dalam gambar ini, kita mempunyai kereta nadi garis SDA. Perhatikan bahawa setiap bait yang dihantar dapat dilihat.
Langkah 16: Tangkap: Saluran 1 dan Jam (SCL)
Sekarang, kita ada di sini kereta nadi garis SCL. Anda boleh memeriksa lebih banyak perincian hanya dengan meletakkan tetikus di atas isyarat, seperti yang anda lihat dalam gambar. Kita dapat melihat bahawa frekuensi jam berada pada 100 kHz.
Langkah 17: Tangkap: Saluran 2 dan Bersiri (TX0)
Bagi tren nadi garis TX0, kita dapat melihat bit Mula dan titik pembingkaian setiap bit. Kami mempunyai bait yang mewakili watak "e."
Langkah 18: Mengkonfigurasi Alam Sekitar untuk Ujian Kami
Di sini kita mempunyai beberapa pilihan untuk membaca data.
Langkah 19: Tangkap: Osiloskop dan Penganalisis
Lihat di sini pada skrin yang saya tangkap dari osiloskop saya. Isyarat penganalisis logik hanya mewakili pengesanan tinggi dan rendah, tetapi tidak mewakili kualiti isyarat. Ini dapat dilihat dengan baik pada osiloskop.
Langkah 20: Tangkap: Memerhatikan Kegagalan (contoh Kegagalan Serial)
Sekarang, saya akan menunjukkan contoh kegagalan bersiri, yang sebenarnya berlaku kepada saya. Saya menggunakan modem GPRS, jenis yang digunakan pada telefon bimbit, kad SIM, cuba menyambung ke ESP32. Tetapi ia tidak bersambung. Saya kemudian memeriksa bekalan kuasa, pendawaian, dan menukar papan. Saya melakukan semuanya, tetapi tidak ada yang memperbaikinya. Saya memutuskan untuk membuat analisis logik: Saya mendapati bahawa isyarat ESP pada UART 115200 mula tidak sesuai. Maksudnya, ESP32 memainkan 115, 200 dengan kelajuan yang berbeza daripada ini.
Kesalahan ini, yang dikenalpasti oleh pengurai, ditunjukkan dengan X berwarna merah. Dalam pemahaman saya, program ini mengatakan bahawa titik yang mempunyai sedikit masa itu adalah separuh masa. Apabila pergeseran ini meningkat, mungkin ada saatnya semuanya tidak sesuai, sehingga maklumat tidak sampai ke seberang. Biasanya tiba, tetapi SIM800 sensitif dan jika tidak tepat, maklumat tidak sampai ke ujung yang lain.
Saya tidak tahu sama ada perkara ini sering berlaku atau tidak, tetapi ia berlaku kepada saya, dan oleh itu saya memutuskan untuk membincangkan perkara ini di sini. Jadi apa yang saya buat? Saya memperlahankan. Sekiranya anda meletakkan 9, 600, 19, 200, hingga 38, 400, ia berfungsi, yang tidak berlaku dengan angka 115, 200.
Langkah 21: Muat turun Fail
INO
Disyorkan:
Labu Halloween Dengan Mata Animatronik Bergerak - Labu Ini Dapat Melancarkan Mata !: 10 Langkah (dengan Gambar)
Labu Halloween Dengan Mata Animatronik Bergerak | Labu Ini Dapat Melancarkan Mata !: Dalam Instruksional ini, anda akan belajar bagaimana membuat labu Halloween yang menakutkan semua orang ketika matanya bergerak. Sesuaikan jarak pemicu sensor ultrasonik ke nilai yang tepat (langkah 9), dan labu anda akan membatu siapa sahaja yang berani mengambil cand
Buat Penganalisis Logik Digital dengan Langkah Kurang Dari $ 1: 5
Buat Penganalisis Logik Digital dengan Kurang Dari $ 1: Sensor tahap logik adalah peranti yang merasakan jika output komponen adalah 1 atau 0 (positif atau negatif). Anda tahu sensor tahap yang bagus dengan skrin LCD yang harganya sekitar $ 25? Yang ini lebih murah dan melakukan perkara yang sama (I
Penjaga Mata: Perlindungan Mata yang Dipicu oleh Suara: 9 Langkah (dengan Gambar)
Penjaga Mata: Perlindungan Mata yang Dipicu oleh Suara: Eye Guardian adalah suara berterusan Arduino, High-Decibel yang memicu keausan pelindung mata. Ia mengesan bunyi alat berat dan menurunkan kacamata pelindung semasa peralatan sedang digunakan. Garis Besar Pada langkah pertama, saya akan menerangkan Inspirati
Penganalisis Logik Dengan Muka Pengguna Android: 7 Langkah
Penganalisis Logik Dengan Muka Pengguna Android: Dunia sudah dibanjiri dengan begitu banyak penganalisis logik. Dalam hobi elektronik, saya memerlukannya untuk menyelesaikan masalah dan menyahpepijat. Saya mencari di internet tetapi saya tidak dapat mencari yang saya cari. Oleh itu, saya memperkenalkan … " YET Another Lo
Menonton Cermin Mata Membaca Gerhana (dan Tidak Membakar Mata Saya): 4 Langkah (dengan Gambar)
Menonton Gelas Bacaan Eclipse Throught (dan Tidak Membakar Mata Saya): Hei, adakah saya tahu rasa ingin tahu anda dengan tajuk saya? Ayah saya juga melakukannya, semasa kami berjalan di Montr lama &alacute; al semalam, dia menarik cermin matanya dan menunjukkan kepada saya bagaimana untuk melihat bagaimana melihat gerhana yang berfikir kacamata pembacanya. Jadi semua yang