Daftar Isi:
- Langkah 1: Perakitan
- Langkah 2: Fitur yang Digunakan - Server
- Langkah 3: Sirkuit Digunakan
- Langkah 4: Kode Sumber: Master
- Langkah 5: Kode Sumber: Budak
- Langkah 6: Penganalisis: Perangkat Keras
- Langkah 7: Instalasi Perangkat Lunak Saleae
- Langkah 8: Mengonfigurasi Lingkungan untuk Pengujian Kami
- Langkah 9: Mengonfigurasi Lingkungan untuk Pengujian Kami
- Langkah 10: Mengonfigurasi Lingkungan untuk Pengujian Kami
- Langkah 11: Mengonfigurasi Lingkungan untuk Pengujian Kami
- Langkah 12: Mengonfigurasi Lingkungan untuk Pengujian Kami
- Langkah 13: Tangkap: Ikhtisar
- Langkah 14: Tangkap: 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 Serial (TX0)
- Langkah 18: Mengonfigurasi Lingkungan untuk Pengujian Kami
- Langkah 19: Tangkap: Osiloskop dan Analyzer
- Langkah 20: Tangkap: Mengamati Kegagalan (contoh Kegagalan Serial)
- Langkah 21: Unduh File
Video: Buka matamu! Penganalisis Logika: 21 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Penganalisis logika memfasilitasi visualisasi rangkaian pulsa Anda, yang merupakan bit yang berjalan dalam jalur komunikasi. Dengan demikian, ini membuka mata Anda untuk mengidentifikasi kemungkinan masalah. Mengapa ini penting? Ini adalah alat pengembangan dan deteksi kesalahan yang sangat efisien yang dapat menghemat waktu Anda. Dalam video hari ini, kita akan mengevaluasi pentingnya penganalisis logis, mengamati beberapa protokol praktik umum saat menggunakan perangkat ini, dan mencontohkan kegagalan deteksi tanpa bantuan penganalisis logika.
Dalam video ini, saya menggunakan model yang relatif murah (sekitar $35) dan efisien, dengan antarmuka grafis dan perangkat lunak gratis.
Langkah 1: Perakitan
Langkah 2: Fitur yang Digunakan - Server
• Jumper untuk koneksi
• 2 Arduino (kami menggunakan 2 Mega Arduino 2560)
• Logical Analyzer (kami menggunakan Saleae)
• Kabel koneksi USB untuk Arduino dan penganalisis.
• Osiloskop (opsional)
• Protoboard
Langkah 3: Sirkuit Digunakan
Di sini kita memiliki skema, yang menunjukkan pemantauan tiga pin: TX0, SDA, dan SCL. Kami memiliki dua Arduino: master dan slave.
Langkah 4: Kode Sumber: Master
Dalam Setup, kami akan menyertakan perpustakaan untuk komunikasi i2c. Kami memasuki jaringan sebagai Master dan menginisialisasi serial 0. Dalam Loop, kami meminta byte data budak untuk komunikasi dengan Arduino nomor 8 kami, seperti yang kami definisikan dalam contoh. Kami mencetak dalam serial, yang akan dievaluasi dengan penganalisis logika, byte yang diterima.
#include //sertakan biblioteca untuk komunikasi I2C void setup() { Wire.begin(); // Entra na rede como Mestre (endereço é opcional para o mestre) Serial.begin(115200); // inicia a serial 0 } void loop() { Wire.requestFrom(8, 6);// membutuhkan 6 byte untuk menyimpan 8 while (Wire.available()) { // enquanto houver byte para receber… char c = Kawat.baca(); // recebe cada byte dan armazena como caracter Serial.print(c); // serial envia o caracter pela (na verdade vai para o buffer) } delay(500); //aguarda meio segundo }
Langkah 5: Kode Sumber: Budak
Dalam kode budak ini, saya kembali menyertakan perpustakaan untuk komunikasi i2c. Saya memasuki jaringan sebagai budak dengan alamat 8. Kami mendaftarkan acara permintaan dan mengaitkannya dengan fungsi "permintaan". Anda tidak perlu melakukan apa pun di loop, cukup beri penundaan 0,1 detik.
Terakhir, kita memiliki fungsi request yang akan dijalankan ketika event request oleh Master terjadi, yang telah didaftarkan di Setup. Kami membalas, akhirnya, dengan pesan 6 byte.
#sertakan //sertakan biblioteca untuk komunikasi I2C void setup() { Wire.begin(8); // masuk dan ulangi como escravo com endereço 8 Wire.onRequest(requestEvent); // daftarkan acara yang diminta // hubungan yang menyenangkançã acara permintaan } void loop() { delay(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 "); // responde com uma mensagem de 6 byte }
Langkah 6: Penganalisis: Perangkat Keras
Tingkat sampel hingga: 24 MHz
Logika: 5 V hingga 5,25 V
Ambang tingkat rendah 0,8 V
Ambang tingkat tinggi 2.0 V
Impedansi masukan sekitar 1 Mohm atau lebih
Langkah 7: Instalasi Perangkat Lunak Saleae
Program yang menerima data yang ditangkap oleh penganalisis logika dan menerjemahkan bit dapat diunduh di tautan berikut:
Langkah 8: Mengonfigurasi Lingkungan untuk Pengujian Kami
Saya menunjukkan antarmuka di sini, yang sangat saya sukai karena bersih.
Langkah 9: Mengonfigurasi Lingkungan untuk Pengujian Kami
Berikut adalah beberapa opsi konfigurasi:
• Dengan mengklik nama saluran, kita dapat mengubahnya.
• Kita dapat menentukan apakah salah satu saluran akan berfungsi sebagai pemicu untuk menangkap dan bentuk deteksi.
• Dengan mengklik dan menahan nomor saluran, Anda dapat mengubah posisi Anda dalam daftar.
• Dengan mengklik roda gigi, kita dapat mengonfigurasi visualisasi saluran, memperluas …
• … atau menyembunyikan saluran. Kami akan menyembunyikan semua saluran yang tidak akan kami gunakan.
Langkah 10: Mengonfigurasi Lingkungan untuk Pengujian Kami
Mengklik panah tombol "Start", ada opsi Sampling Rate dan durasi perekaman.
Untuk beberapa alasan, jika perangkat lunak mendeteksi bahwa laju tidak dapat dipertahankan, sebuah pesan akan ditampilkan dan secara otomatis tarif akan dikurangi hingga nilai fungsional tercapai.
Langkah 11: Mengonfigurasi Lingkungan untuk Pengujian Kami
Kami juga akan menyertakan penganalisis protokol. Pertama adalah I2C, mengikuti definisi pustaka WIRE, dan mengaitkan saluran dengan benar. Terakhir, kami akan memperkenalkan penganalisis ke serial asinkron. Kita harus berhati-hati untuk mengonfigurasi parameter dengan benar sesuai dengan perakitan.
Langkah 12: Mengonfigurasi Lingkungan untuk Pengujian Kami
Di tab "Protokol yang Didekode", 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 ikon "tambahkan pengukuran".
Langkah 13: Tangkap: Ikhtisar
Di layar pengambilan, program menampilkan rangkaian pulsa data SDA, SCL, dan TX0.
Langkah 14: Tangkap: Hasil Analisis Protokol
Di sini, kita melihat hasil tangkapannya. Di tab "Protokol yang Didekode", kami memiliki:
• Permintaan server untuk budak dengan id 8.
• Respon budak, enam karakter: "t", "e", "s", "t", "e" dan spasi.
• Masing-masing diikuti oleh bit ACK (Acknowledge) yang menunjukkan penerimaan byte yang benar, kecuali untuk karakter spasi NACK (Not Acknowledge).
• Selanjutnya, kita melihat hasil decoding dari serial TX0, yang menunjukkan karakter yang diterima dan dikirim ke terminal serial Arduino IDE.
Langkah 15: Tangkap: Saluran 0 dan Data (SDA)
Dalam gambar ini, kami memiliki rangkaian pulsa dari jalur SDA. Perhatikan bahwa setiap byte yang ditransmisikan dapat dilihat.
Langkah 16: Tangkap: Saluran 1 dan Jam (SCL)
Sekarang, kita memiliki rangkaian pulsa jalur SCL. Anda dapat memeriksa lebih detail hanya dengan menempatkan mouse di atas sinyal, seperti yang Anda lihat pada gambar. Kita dapat melihat bahwa frekuensi clock berada pada 100 kHz.
Langkah 17: Tangkap: Saluran 2 dan Serial (TX0)
Adapun rangkaian pulsa dari garis TX0, kita dapat melihat bit Start dan titik framing dari setiap bit. Kami memiliki byte yang mewakili karakter "e."
Langkah 18: Mengonfigurasi Lingkungan untuk Pengujian Kami
Di sini kami memiliki beberapa opsi untuk membaca data.
Langkah 19: Tangkap: Osiloskop dan Analyzer
Lihat di sini di layar yang saya tangkap dari osiloskop saya. Sinyal penganalisis logika hanya mewakili deteksi tinggi dan rendah, tetapi tidak mewakili kualitas sinyal. Hal ini paling baik dapat diamati pada osiloskop.
Langkah 20: Tangkap: Mengamati Kegagalan (contoh Kegagalan Serial)
Sekarang, saya akan menunjukkan contoh kegagalan serial, yang sebenarnya terjadi pada saya. Saya menggunakan modem GPRS, jenis yang digunakan pada ponsel, kartu SIM, mencoba terhubung ke ESP32. Tapi itu tidak terhubung. Saya kemudian memeriksa catu daya, kabel, dan mengganti papan. Saya melakukan segalanya, tetapi tidak ada yang memperbaikinya. Saya memutuskan untuk melakukan analisis logis: Saya menemukan bahwa sinyal ESP pada UART 115200 mulai tidak cocok. Artinya, ESP32 memainkan apa yang seharusnya 115.200 pada kecepatan yang berbeda dari ini.
Kesalahan ini, yang diidentifikasi oleh pengurai, ditampilkan dengan tanda X berwarna merah. Dalam pemahaman saya, program mengatakan bahwa titik yang memiliki sedikit seperti itu setengah tergeser dalam waktu. Ketika pergeseran ini meningkat, mungkin ada saatnya ketika semuanya tidak cocok, sehingga informasi tidak mencapai sisi lain. Biasanya datang, tetapi SIM800 sensitif dan jika tidak tepat, informasinya tidak sampai ke ujung yang lain.
Saya tidak tahu apakah ini sesuatu yang sering terjadi atau tidak, tetapi itu terjadi pada saya, jadi saya memutuskan untuk membahas masalah ini di sini. Jadi apa yang saya lakukan? Aku melambat. Jika Anda menempatkan 9, 600, 19, 200, hingga 38, 400, itu berhasil, yang tidak terjadi dengan 115, 200.
Langkah 21: Unduh File
SAYA TIDAK
Direkomendasikan:
Gerbang Logika Menggunakan Transistor: 3 Langkah
Gerbang Logika Menggunakan Transistor: Gerbang logika adalah blok bangunan dasar dari sistem digital apa pun
Buat Penganalisis Logika Digital dengan Biaya Kurang dari $1: 5 Langkah
Buat Penganalisis Logika Digital dengan Harga Kurang dari $1: Sensor level logika adalah perangkat yang mendeteksi jika output suatu komponen adalah 1 atau 0 (positif atau negatif). Anda tahu sensor level yang bagus dengan layar LCD yang harganya sekitar $25? Yang ini lebih murah dan melakukan hal yang sama (Ini
Penguji Chip Logika Raspberry Pi: 4 Langkah
Raspberry Pi Logic Chip Tester: Ini adalah skrip penguji logika untuk Raspberry pi, dengan ini Anda dapat memeriksa apakah rangkaian logika (buatan sendiri) Anda berfungsi. Skrip ini juga dapat digunakan untuk menguji relai. PERINGATAN: Raspberry pi tidak mendukung input GPIO 5v, jadi jika sirkuit Anda menghasilkan 5V, yo
Jumlah Rangkaian Produk Menggunakan Gerbang Logika: 4 Langkah
Jumlah Rangkaian Produk Menggunakan Gerbang Logika: Dalam instruksi ini, saya akan menunjukkan kepada Anda cara membuat sistem Anda sendiri menggunakan jumlah produk, sedikit aljabar Boolean, dan beberapa gerbang logika. Anda tidak harus membuat sistem yang sama persis seperti yang ada di tutorial ini, tetapi Anda dapat menggunakan
Penganalisis Logika Dengan Antarmuka Pengguna Android: 7 Langkah
Penganalisis Logika Dengan Antarmuka Pengguna Android: Dunia sudah dibanjiri dengan begitu banyak penganalisis logika. Dalam hobi elektronik saya, saya membutuhkan satu untuk pemecahan masalah dan debugging. Saya mencari di internet tetapi saya tidak dapat menemukan yang saya cari. Jadi di sinilah saya, memperkenalkan…"YET Another Lo