Pada artikel ini kita akan melihat karakteristik dan desain penganalisis logika multi-saluran yang murah dan sederhana untuk amatir radio dan semi-profesional. Perangkat keras perangkat adalah modul yang terhubung ke komputer pribadi atau laptop. Melalui aplikasi perangkat lunak yang diinstal pada komputer, semua kontrol perangkat dan visualisasi data yang dikirimkan dilakukan.

Karakteristik utama perangkat:

  • hingga 32 saluran masukan;
  • Memori 128 KB per saluran;
  • kecepatan pengambilan sampel hingga 100 MHz;
  • masukan jam eksternal;
  • semua input kompatibel dengan logika 3.3V dan 5V;
  • ukuran buffer prefetch/postfetch yang dapat dikonfigurasi, kelipatan 8 KB;
  • Generator jam internal 16 bit;
  • beberapa mode sinkronisasi internal;
  • penundaan sinkronisasi yang dapat diprogram;
  • penghitung acara sinkronisasi yang dapat diprogram;
  • masukan sinkronisasi eksternal;
  • komunikasi dengan PC melalui LPT (mode EPP) atau antarmuka USB;
  • Beberapa versi aplikasi PC untuk berbagai sistem operasi.

Elemen utama penganalisis logika adalah FPGA, diproduksi oleh perusahaan, yang menjalankan semua fungsi utama. Diagram skema perangkat ditunjukkan pada Gambar 1.

Osilator IC4 (IC6), yang dipinjam dari motherboard komputer lama, digunakan sebagai sumber jam untuk FPGA. Terlepas dari kenyataan bahwa osilator dirancang untuk beroperasi pada tegangan 5 V, tidak ada masalah yang teridentifikasi dalam pengoperasian perangkat ketika ditenagai oleh tegangan 3,3 V.

Chip RAM eksternal berkecepatan tinggi digunakan untuk menyimpan sampel.

Sumber eksternal dengan tegangan keluaran hingga 15 V digunakan untuk memberi daya pada perangkat.FPGA dan RAM memiliki tegangan suplai 3,3 V, sehingga dipasang pengatur tegangan 3,3 V seri LD1117DT33.

Konektor port paralel K7 terletak di papan penganalisis logika dan terhubung langsung ke FPGA. Papan sirkuit penganalisis logika memiliki dua sisi, menggunakan komponen pemasangan permukaan dan komponen bertimbal konvensional. Tampilan papan sirkuit tercetak ditunjukkan pada Gambar 2.

Komentar. Alih-alih pin 40 (Vss) pada chip SRAM, pin 39 pada chip ini dihubungkan ke ground. Solusi: Hubungkan pin 39 dan 40 secara bersamaan pada PCB (pin 39 tidak digunakan pada chip SRAM).

Untuk terhubung ke komputer pribadi melalui USB, Anda harus menggunakan adaptor khusus, diagramnya ditunjukkan pada Gambar 3.

Adaptor antarmuka USB untuk penganalisis logika dipasang pada chip seri FT2232C yang diproduksi oleh FTDI. Chip ini menggabungkan fungsi dua chip terpisah FT232BM dan FT245BM. Ini memiliki dua saluran I/O yang dikonfigurasi secara terpisah. Poin utama konfigurasi FT2232C untuk digunakan sebagai bagian dari perangkat adalah catu daya dari antarmuka USB dan mode emulasi bus mikrokontroler (mode Emulasi Bus Host MCU). Mode ini diubah menjadi protokol EPP menggunakan multiplexer IC3 74HCT4053D. Karena decoding langsung sinyal /DST, /AST dan RD/WR dapat menyebabkan konflik waktu, sinyal tambahan A8 digunakan, yang digunakan sebagai sinyal RD/WR (baca/tulis) selama periode transmisi data melalui protokol EPP .

Konektor JTAG (CON2) digunakan untuk mengkonfigurasi FPGA - ini untuk pengembangan di masa depan, saat ini antarmuka ini tidak digunakan.

EEPROM (IC2) seri 93LC56 menyimpan data konfigurasi untuk FT2232C dan diperlukan agar antarmuka yang dapat diprogram berfungsi dengan baik. Untuk memprogram chip ini, digunakan utilitas FT_Prog (sebelumnya disebut MProg). Utilitas ini dan driver FT2232C tersedia untuk diunduh di situs web FTDI.

Papan sirkuit tercetak adaptor dirancang satu sisi, yang menyederhanakan pembuatannya.

Ada juga adaptor antarmuka USB versi B 1.0 (Gambar 5). Versi ini dibedakan dengan tidak adanya konektor JTAG dan papan sirkuit tercetak, yang dirancang untuk diintegrasikan ke dalam badan konektor CANNON 25. Tampilan adaptor rakitan ditunjukkan pada Gambar 6.

A) B)
Gambar 6. Penampilan adaptor antarmuka USB versi A 1.1 (a) dan versi B 1.0 (b)

Ada juga versi lain dari rangkaian penganalisis logika (Gambar 7), di mana antarmuka USB dan LPT sudah terintegrasi. Penulis opsi ini adalah Bob Grieb dan ketika mengembangkan sirkuit, lingkungan TinyCAD digunakan, papan sirkuit tercetak untuk itu dikembangkan di editor FreePCB.

Penganalisis logika adalah asisten yang sangat diperlukan dalam men-debug sirkuit digital. Mari kita lihat teknik dasar untuk bekerja dengan Saleae Logic Analyzer dan analog China-nya.

Untuk pekerjaan kita membutuhkan:

  • menghubungkan kabel (saya merekomendasikan set ini);
  • papan tempat memotong roti.

1 Spesifikasi Penganalisis Logika Penganalisis logika Saleae

Penganalisis logika adalah alat untuk analisis waktu sinyal digital. Ini adalah alat yang sangat diperlukan dan sangat diperlukan saat melakukan debug elektronik digital. Alat analisa asli dari produsen terkenal menghabiskan banyak uang. Anda dapat membeli perangkat semacam itu dari teman-teman Cina kami dengan harga murah. Oleh karena itu, jika Anda belum memilikinya, pastikan untuk membelinya. Kemampuan perangkat kecil ini cukup mengesankan.

Tabel ini mencantumkan parameter utama penganalisis logika, salinan penganalisis perusahaan saya dalam bahasa Mandarin Salea.

2 Instalasi pengemudi untuk penganalisis logika Saleae

Untungnya, untuk penganalisis logika ini - salinan berbahasa Mandarin - driver dari aslinya cocok. Kunjungi situs resminya, unduh program untuk sistem operasi Anda dan instal. Driver akan diinstal bersama dengan programnya. Omong-omong, gambaran umum tentang kemampuan program dalam bentuk instruksi dalam bahasa Inggris terlampir di akhir artikel ini.

Jika Anda memiliki salinan dari perusahaan lain, misalnya USBee AX Pro, maka dengan kemungkinan besar, driver dari produsen penganalisis asli juga akan cocok untuk itu.

3 Contoh pekerjaan dengan penganalisa logika

Untuk percobaan pertama, mari kita ambil konverter USB-UART pada chip FTD1232. Mari sambungkan penganalisis ke port USB. Kami menghubungkan pin saluran 1 hingga 6 ke pin konverter USB-UART. Pada umumnya, kami paling tertarik hanya pada dua baris - Rx dan Tx, kami hanya dapat bertahan dengan keduanya. Konverter diidentifikasi dalam sistem sebagai port COM. Mari kita luncurkan terminal apa pun (di sini, misalnya, adalah program yang bagus untuk bekerja dengan port COM) dan sambungkan ke port tersebut.


Menghubungkan konverter USB-UART berdasarkan chip FTD1232 ke penganalisis logika

Luncurkan programnya Logika Saleae. Jika driver untuk penganalisis diinstal dengan benar, judul program akan ditunjukkan Terhubung- terhubung. Katakanlah kita tidak tahu saluran mana yang akan menerima sinyal dan saluran mana yang tidak, jadi kita tidak akan menyetel pemicu untuk mulai menangkap sinyal. Cukup klik panah tombol hijau besar Awal(Mulai) dan letakkan di lapangan Durasi(Durasi) katakanlah 10 detik. Ini adalah waktu di mana penganalisis logika akan mengumpulkan data yang berasal dari 8 saluran setelah menekan tombol “Start”. Kami memulai pengambilan dan secara bersamaan mengirim beberapa pesan ke port COM. Setelah 10 detik, penganalisis akan selesai mengumpulkan data dan menampilkan hasilnya di bidang tampilan sinyal. Dalam hal ini, sinyal hanya akan berada pada satu saluran, yang terhubung ke pin Tx (pemancar) konverter USB-UART.


Untuk kejelasan, Anda dapat mengkonfigurasi dekoder data yang disadap. Untuk melakukan ini, di kolom kanan kita menemukan lapangan Penganalisis, klik ikon plus - “Tambah”, tunjukkan jenisnya - Serial Asinkron. Sebuah jendela akan muncul meminta Anda untuk memilih pengaturan. Di kolom pertama, masukkan nomor saluran yang datanya Anda miliki. Biarkan sisanya apa adanya. Setelah menekan tombol Menyimpan(Simpan), tanda biru akan muncul di atas bidang saluran terkait yang menampilkan nilai byte yang dicegat. Dengan mengklik roda gigi di decoder ini, Anda dapat mengatur mode tampilan nilai - ASCII, HEX, BIN atau DEC. Jika Anda mengirim string ke port COM, pilih mode ASCII dan Anda akan melihat teks yang Anda kirim ke port tersebut.


Di sana, di kolom kanan program Saleae Logic, Anda dapat menambahkan penanda ke data yang disadap, mengukur penundaan dan durasi, mengatur semua jenis penanda, dan bahkan mencari protokol yang didekodekan melalui data.

Mari sambungkan penganalisis logika ke konverter USB-RS485 dengan cara yang sama. Hanya ada dua jalur data, sehingga Anda dapat mengatur pemicu untuk memicu di tepi saluran mana pun: sinyal dalam protokol RS-485 bersifat diferensial dan tepi pulsa muncul secara bersamaan di setiap saluran, tetapi dalam antifase.


Klik tombol "Mulai" di program penganalisis. Menggunakan terminal kami, kami akan terhubung ke konverter USB-RS485 dan mentransfer beberapa data. Ketika pemicu dipicu, program akan mulai mengumpulkan data dan, setelah selesai, menampilkannya di layar.


Saleae Logic memungkinkan Anda mengekspor data tersimpan dalam bentuk gambar dan data teks, menyimpan pengaturan program, anotasi, dan dekoder saluran.

Contoh terakhir dalam tinjauan singkat ini adalah bingkai data yang ditangkap yang dikirimkan melalui protokol serial SPI. Saluran 2 menunjukkan sinyal pemilihan budak, saluran 0 menunjukkan pulsa jam, dan saluran 1 menunjukkan data aktual dari master ke budak.


kesimpulan

Penganalisis logika bisa sangat berguna ketika mengembangkan dan mengkonfigurasi semua jenis perangkat elektronik, ketika menulis perangkat lunak yang bekerja bersama dengan perangkat keras, ketika bekerja dengan mikrokontroler, FPGA dan mikroprosesor, untuk menganalisis pengoperasian berbagai perangkat dan protokol pertukaran data, dan untuk banyak aplikasi lainnya. Selain itu, ini portabel dan tidak memerlukan catu daya terpisah.

Unduh petunjuk penggunaan program penganalisis logika Saleae

  • Unduh instruksi penggunaan program penganalisis logika Saleae dari Depositfiles.com
  • Unduh petunjuk penggunaan program penganalisis logika Saleae dari File-upload.com
  • Unduh petunjuk penggunaan program penganalisis logika Saleae dari Up-4ever.com
  • Unduh petunjuk penggunaan program penganalisis logika Saleae dari Hitfile.com

Arduino adalah mikrokontroler unik yang memungkinkan Anda membuat perangkat apa pun, hanya dibatasi oleh imajinasi insinyur. Hari ini kita akan membicarakan salah satu proyek ini dan menganalisis penganalisis antena di Arduino, serta semua nuansa yang harus Anda hadapi saat menyolder dan memprogramnya.

Faktanya, penganalisis spektrum di Arduino adalah proyek yang cukup sederhana, tetapi sangat ideal untuk pemula dan mereka yang ingin menambahkan perangkat ini ke perangkat mereka. Mari kita lihat apa itu penganalisis logika di Arduino, dan kendala apa yang menanti Anda saat merancang dan menyoldernya.

Rangkaian penganalisis logika berbasis Arduino MK

Pertama kita perlu mendesain apa yang akan kita solder. Penganalisis logika adalah instrumen sederhana yang seluruh tugasnya membaca dan menganalisis kode biner (sinyal digital) yang ditransmisikan melalui penerapan listrik.

Dengan kata lain, setiap 5 volt yang disuplai ke perangkat adalah satu, jika tidak ada voltase maka nol. Kode biner ini digunakan dalam pengkodean data dan di banyak perangkat, termasuk yang berbasis Arduino. Membaca biasanya dimulai dengan satu. Dan untuk memeriksa proyek Anda dengan pengkodean biner, Anda memerlukan penganalisis logika.

Cara termudah adalah dengan mencoba perangkat pada bus I2C, yang digunakan di sebagian besar perangkat elektronik hingga saat ini. Untuk mengetahui apa yang perlu kita desain, mari kita lihat karakteristik utama perangkat:

  1. 4 saluran untuk analisis logis sinyal masuk.
  2. Variabilitas frekuensi sinyal hingga 400 kHz, kisaran ini akan mencakup sebagian besar perangkat modern, kecuali perangkat khusus.
  3. Tegangan input harus sampai +5 Volt, seperti yang sudah dijelaskan, ini adalah standar yang diambil sebagai satuan (keberadaan sinyal).
  4. Tampilan LED untuk menampilkan informasi. Pemrogram yang sangat canggih dapat membeli beberapa LED dan membuat tampilan diagonal yang mereka butuhkan, tetapi bagi semua orang, menulis perangkat lunak untuk perangkat semacam itu akan terlalu memakan waktu dan akan menjadi langkah yang tidak perlu. Oleh karena itu, di sini kami akan mempertimbangkan versi perangkat dengan layar LCD.
  5. 4 buah baterai untuk catu daya, 1,2 V pada tegangan maksimum 4,8 Volt.
  6. RAM. Dianjurkan untuk mengambil dua jenis - kecepatan tinggi (3,6ms per sinyal) dan kecepatan rendah (36 detik), solusi ini akan memungkinkan Anda untuk mencakup seluruh rentang sinyal.
  7. Panel kontrol atau sepasang tombol.
  8. Cangkang apa pun untuk mengencangkan struktur. Anda dapat mencetaknya pada printer 3-D, Anda dapat mengambil kotak plastik yang tidak perlu atau tanpa casing sama sekali. Di sini kami tidak akan memberikan saran, perangkat berfungsi, baik dengan atau tanpa shell, pilihan ada di tangan Anda.

Untuk daya, Anda harus memilih baterai, karena 4 baterai 1,5 Volt dapat merusak Arduino dan membakar papan. Belum lagi bahayanya pada layar LCD. Oleh karena itu, jangan berhemat dan ambillah komponen yang berkualitas. Bagaimanapun, kualitas produk akhir sama dengan parameter komponen terburuknya.

Jangan lupa untuk menambahkan saklar S1 pada rangkaian terakhir yang akan digunakan untuk mensuplai daya dan mematikan perangkat agar baterai tidak mudah habis.

Resistor penarik khusus juga diperlukan, yang akan menghilangkan data palsu yang mungkin muncul karena medan elektromagnetik dari jari probe sinyal. Hasilnya, noise dan distorsi pada input digital akan menjadi minimal.

Anda dapat mengambil LED sesuai keinginan, perlu untuk menunjukkan keberadaan sinyal digital, dan dapat sepenuhnya diganti dengan perangkat lunak untuk layar LCD. Solusi ini hanya berguna sebagai indikator perekaman sinyal digital ke dalam memori, tetapi bagaimanapun juga, Anda akan mengaktifkan perangkat secara manual, sehingga indikasi seperti itu, jika perlu, dapat dihilangkan.

Periferal yang direkomendasikan untuk membuat penganalisis logika berbasis mikrokontroler Arduino

Dari penjelasan di atas, Anda telah menyusun daftar kasar periferal yang akan dibeli, namun mari kita perjelas poin ini. Dalam penganalisis logika Anda memerlukan:

  1. Mikrokontroler Arduino itu sendiri. Tidak ada bedanya mana yang Anda pilih, ini hanya akan memengaruhi ukuran akhir perangkat. Perangkat lunak untuk versi apa pun terlihat sama. Papan pada foto di atas digunakan.
  2. Layar LCD. Jika Anda memiliki telepon tombol-tekan lama, Anda dapat melepasnya dan menyiapkan produksi “bebas limbah”.
  3. Resistor dengan berbagai kapasitas.
  4. Sensor saat ini.
  5. 4 baterai.
  6. Satu atau dua LED.
  7. Kartu memori, tapi ini opsional.

Selain itu, Anda tentu membutuhkan besi solder, solder, dan aksesori lainnya. Lebih baik mencari tempat terlebih dahulu di mana Anda akan mengumpulkan semua ini. Dan jika Anda bekerja dengan besi solder untuk pertama kalinya, pelajari aturan keselamatan kebakaran dan fitur pengoperasiannya agar tidak menyolder ulang setiap bagian sebanyak 10 kali.

Memprogram Arduino MK saat mengimplementasikan proyek "penganalisa logika".

Berkat popularitas Arduino, sudah ada perpustakaan dan fungsi siap pakai untuk penganalisis logika di MK ini. Yang harus Anda lakukan adalah memilih yang tepat dan menulis ulang kode program untuk perangkat Anda. Lagi pula, papan, sensor, dan input lainnya berbeda untuk setiap orang, dan agar perangkat Anda berfungsi tanpa masalah, Anda harus menyesuaikan kode orang lain dengan kebutuhan Anda. Jika Anda tidak ingin repot dan memiliki pengalaman pemrograman di C++, Anda dapat menggunakan lingkungan apa pun yang Anda suka.

Kode rangkaian pada foto di atas bisa jadi seperti ini:

/************************************ 128 kali 64 LCD Logic Analyzer 6 saluran dan 3Mb/s Oleh Bob Davis Menggunakan Perpustakaan Grafis Universal 8bit, http://code.google.com/p/u8glib/ Hak Cipta (c) 2012, [dilindungi email] Seluruh hak cipta. ******************************************************* ****/ #include "U8glib.h" // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 // U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11 , 4, 5, 6, 7, 18, 17, 16); // **** CATATAN **** Saya Memindahkan tiga pin kontrol !!! U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 1, 2, 3); int Sampel; int Masukan=0; int Masukan Lama=0; int xpos=0; batal u8g_prepare(void) ( u8g.setFont(u8g_font_6x10); u8g.setFontRefHeightExendedText(); u8g.setDefaultForegroundColor(); u8g.setFontPosTop(); ) void DrawMarkers(void) ( u8g.drawFrame (0,0,128,64); u8g .drawPixel (20,1); u8g.drawPixel (40,1); u8g.drawPixel (60,1); u8g.drawPixel (80,1); u8g.drawPixel (100,1); u8g.drawPixel (20, 62); u8g.drawPixel (40,62); u8g.drawPixel (60,62); u8g.drawPixel (80,62); u8g.drawPixel (100,62); ) batal menggambar(batal) ( u8g_prepare(); DrawMarkers(); // tunggu trigger dari input positif Input=digitalRead(A0); while (Input != 1)( Input=digitalRead(A0); ) // kumpulkan data analog ke dalam array // Tidak loop sekitar 50% lebih cepat! Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC; Sample=PINC ; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PINC; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; Sampel = PIN; // menampilkan data analog yang dikumpulkan dari array for(int xpos=0; xpos<128; xpos++) { u8g.drawLine (xpos, ((Sample&B00000001)*4)+4, xpos, ((Sample&B00000001)*4)+4); u8g.drawLine (xpos, ((Sample&B00000010)*2)+14, xpos, ((Sample&B00000010)*2)+14); u8g.drawLine (xpos, ((Sample&B00000100)*1)+24, xpos, ((Sample&B00000100)*1)+24); u8g.drawLine (xpos, ((Sample&B00001000)/2)+34, xpos, ((Sample&B00001000)/2)+34); u8g.drawLine (xpos, ((Sample&B00010000)/4)+44, xpos, ((Sample&B00010000)/4)+44); u8g.drawLine (xpos, ((Sample&B00100000)/8)+54, xpos, ((Sample&B00100000)/8)+54); } } void setup(void) { pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(A4, INPUT); pinMode(A5, INPUT); // assign default color value if (u8g.getMode() == U8G_MODE_R3G3B2) u8g.setColorIndex(255); // RGB=white else if (u8g.getMode() == U8G_MODE_GRAY2BIT) u8g.setColorIndex(3); // max intensity else if (u8g.getMode() == U8G_MODE_BW) u8g.setColorIndex(1); // pixel on, black } void loop(void) { // picture loop // u8g.firstPage(); do { draw(); } while(u8g.nextPage()); // rebuild the picture after some delay delay(100); }

Jangan lupa mengunduh perpustakaan untuk bekerja dengan Arduino. Dan juga memperhitungkan bahwa outputnya masuk ke layar LCD. Ketika Anda selesai menulis perangkat lunak, cukup muat ke papan menggunakan adaptor USB khusus.

Mungkin saja karena cara informasi ditampilkan pada layar LCD, Anda tidak memiliki cukup memori permanen pada perangkat. Dalam hal ini, masuk akal untuk membeli flash drive dan memasangnya ke sistem. Untungnya, hal ini dilakukan dengan cukup sederhana, dan yang Anda perlukan hanyalah adaptor khusus untuk faktor bentuk drive fisik Anda.

Untuk bekerja di sirkuit digital yang kompleks, penganalisis logika Tiongkok adalah hal yang sangat diperlukan. Harganya yang murah dan perangkat lunaknya yang mudah digunakan juga menawan. Dan itu cukup cocok untuk saya sampai muncul kebutuhan untuk secara bersamaan melihat pengoperasian node sirkuit yang berbeda, ditenagai dari sumber yang berbeda dan tidak memiliki kesamaan. Awalnya, penganalisis memiliki 8 saluran tanpa sambungan daya dengan amplitudo pulsa pada input 5 volt. Modifikasi ini memungkinkan input penganalisis diisolasi secara galvanis dan bekerja dengan pulsa dengan amplitudo dari 3 volt hingga 25 volt. Posisi sakelar biskuit dipilih tergantung pada rentang pulsa masukan. Namun rangkaian desain akan tetap beroperasi hingga 65 volt.

Sirkuit ini menggunakan optocoupler berkecepatan tinggi yang dirancang untuk beroperasi di jaringan serat optik. Karakteristik frekuensi optocoupler lebih tinggi daripada yang dapat dilewatkan oleh penganalisis, karena durasi pulsa minimum yang dapat didaftarkan oleh penganalisis adalah sekitar 42 nanodetik. Arus LED optocoupler dipilih di wilayah 6-7,5mA. Optocoupler memungkinkan arus meningkat hingga 15mA. Dan arus seperti itu akan timbul pada tegangan input 65 volt ketika saklar berada pada posisi “25v”.

Secara khusus, papan saya berisi 4 saluran yang diisolasi secara galvanis dan 4 saluran tidak diisolasi dengan input 5 volt. Daya disuplai dari papan penganalisis. Dalam hal ini, perlu dilakukan beberapa modifikasi: lepaskan papan penganalisis dari casing, potong jalur menuju pin 9 konektor dan berikan tegangan dari pin kanan LM1117 ke pin ini melalui resistor 10 Ohm.

Tata letak dan desainnya ternyata cukup sederhana, dan kemungkinan penggunaannya meningkat secara signifikan.
Saat menguji input yang diisolasi secara galvanis, untuk kemurnian percobaan, input dihubungkan secara paralel. Artinya, 4 input IN A,B,C,D dan, karenanya, Gnd A,B,C,D saling terhubung. Sakelar disetel ke posisi yang sama. Pulsa diciptakan oleh pantulan buatan pada kontak dan sumber daya eksternal pada tegangan yang sesuai.

Selama perakitan, optocoupler 6N137 dan sakelar MPN-1 digunakan, pembagi berisi resistor smd0805, tetapi 1206 juga cocok. Saat menyolder kabel untuk menghubungkan ke penganalisis, urutannya diubah sebagian, tetapi semuanya diberi label di papan.

Alih-alih sakelar MPN-1, Anda dapat menggunakan sakelar lain, meskipun Anda harus menyesuaikan papan sirkuit tercetak atau menggunakan kabel. Penulis - Dubovitsky Nikolay.

1. Perkenalan:

Analisis logis ini Ator dirancang untuk merekam, mengeluarkan dan menganalisis berbagai rangkaian pulsa dan protokol sekuensial dengan periode tertentu. Diambil untuk perangkat keras multiprogrammer di FT232

2. Deskripsi Singkat

Penganalisis memiliki 7 saluran input/output, yang terhubung ke berbagai perangkat yang diteliti sesuai kebijaksanaan pengguna.

Saluran 1-5 berhubungan dengan input/output. Saluran-saluran ini dapat menjadi output atau input tergantung pada pengaturan saluran. Saluran 5 tidak disalurkan ke konektor apa pun, tetapi memiliki bantalan kontak di papan.

Saluran 6 hanya sebagai masukan. Saluran ini digunakan bersama dengan saluran 1 dan berfungsi untuk mensimulasikan input/output dua arah, misalnya seperti pada bus I2C, yaitu arah transmisi saluran berubah seiring pengoperasian protokol. Data keluaran menuju keluaran 3, dan data masukan melalui saluran 6. Lihat “implementasi protokol I2C” untuk lebih jelasnya.

Saluran 7 hanya merupakan keluaran. Saluran pada programmer ini diimplementasikan sebagai output 12V yang kuat. Misalnya, digunakan sebagai daya lampu latar saat bekerja dengan layar dari Nokia 6100 (lihat contoh penggunaan)

Di sisi kiri jendela kerja program terdapat pengaturan untuk port penganalisis - ini adalah:

  • kecepatan transfer (BoudRate)
  • inversi saluran (centang “ N.E.G."
  • arah pelabuhan ( masuk/keluar)
  • ukuran array keluaran (ukuran hingga 65kbit diperbolehkan)

Di bagian tengah jendela program terdapat tampilan grafis status saluran dalam bentuk diagram waktu. Dan di bagian bawah kolom terdapat informasi tambahan, yang menampilkan nuansa saat menggunakan berbagai mode penganalisis yang dipilih.

Di sisi kanan bidang program terdapat kontrol untuk protokol yang disimulasikan. Tersedia:

  • menu tarik-turun pemilihan protokol
  • 7 menu tarik-turun (per saluran): pilih penetapan saluran dan sinyal protokol
  • inversi data protokol (jangan bingung dengan inversi port)
  • jendela untuk entri data (untuk mengatur urutan numerik protokol)

3. Manajemen danmasukan data.

Klik kiri mouse mengatur kursor ke lokasi ini pada panel bentuk gelombang tanpa mengubah status bit ini.

Klik kanan pada panel bentuk gelombang, letakkan kursor di lokasi ini dan ubah status bit di lokasi ini.

Selain memasukkan data dengan mouse, Anda juga bisa memasukkannya dari papan ketik. Setelah menekan tombol “0” atau “1”, masing-masing 0 atau 1 dimasukkan sebagai pengganti kursor. Selain itu, untuk kenyamanan, fungsi tombol “0” diduplikasi menjadi tombol “2”, yaitu, ketika Anda menekan tombol “2”, 0 dimasukkan.

Entri data larik(untuk catatan saja). Urutan protokol dapat dimasukkan dalam desimal (1 34 987), biner (0b100 0b101010 0b1111111111111) dan heksadesimal (0xFA 0x 12C 0x 1a 2cb ). Data dimasukkan dengan dipisahkan spasi. Dimungkinkan juga untuk mencampur format data (123 0b1010 0x12aB).

Data dimasukkan diikuti dengan penambahan alamat. Ketika batas larik tercapai, ukurannya akan bertambah. Ukuran susunan data maksimum – 65 kbit

Memasukkan data berdasarkan file. Untuk memasukkan data berdasarkan file, Anda harus membuat file dengan ekstensi apa pun, misalnya txt. format bebas.

Anda dapat memisahkan nomor dalam file dengan titik, koma, atau spasi. Penjelasan pada file dipisahkan dengan titik koma “;”.

Contoh isi file:

123 343, 234 ; berikut penjelasan setelah titik koma

0x12F, 0b10101010 ; dan seterusnya.

Driver untuk penganalisis.

Penganalisis menggunakan fungsi khusus FT232R, yang mana Anda harus menginstal driver khusus FTD 2XX. Memasang port COM biasa tidak cocok. Dianjurkan untuk mengambil driver dari pabrikan - misalnya.

4. Koneksi penganalisis:

Tampilan alat analisa ditunjukkan pada Gambar 2.

J 1– jumper catu daya (Vcc). Memiliki 4 status: 1.8V, 3V, 5V dan catu daya eksternal

XT1– miniUSB. koneksi komputer.

XT 2– konektor antarmuka untuk menghubungkan penganalisis ke subjek uji. Memiliki 10 kontak:

1 saluran 1 (masukan/keluaran)
2 port keluaran daya (Vcc) (tergantung pada keadaan jumper daya, daya akan menjadi input atau output)
3 Cbus 4 tidak digunakan. Namun Anda dapat mengeluarkan frekuensi 6,12,24 atau 48 MHz (untuk lebih jelasnya lihat “menggunakan Cbus”)
5 saluran 2 (masukan/keluaran)
7 saluran 3 (masukan/keluaran)
9 saluran 4 (masukan/keluaran)
4,6,8,10 jumlah

XT3– konektor antarmuka untuk menghubungkan penganalisis ke subjek uji. Memiliki 10 kontak

1 port keluaran daya (Vcc) (tergantung pada keadaan jumper daya, catu daya akan menjadi input atau output).
3 saluran 3 (masukan/keluaran)
5 saluran 4 (masukan/keluaran)
7 saluran 6 (hanya masukan)
Keluaran 9 saluran 7 Sinyal 12V!!!
2,4,6,8,10 jumlah

J2– pelompat untuk 2 posisi. Mengubah fungsi saluran 6.

posisi 1-2 ubah saluran 6 dari Vcc ke 12V
posisi 2-3 ubah saluran 6 dari 0V ke 12V
posisi 1-2 digunakan oleh pemrogram untuk menghasilkan sinyal MCLR saat mem-flash pengontrol PIC.

Saluran 1-5 merupakan input secara default dan berada pada status ketiga (status Z). Ketika suatu saluran diatur ke output, itu hanya akan menjadi output saat transmisi.

Setiap saluran memiliki resistor pembatas arus 300 ohm.

Saluran 6 selalu menjadi keluaran. Status defaultnya adalah “0”.

5. Menggunakan sinyal Cbus (konektor XT2 pin 3)

Sinyal ini tidak ditampilkan di penganalisis karena memang demikian tidak sinkron dengan sinyal keluaran dan memiliki frekuensi lebih tinggi dari pulsa keluaran. Tidak diaktifkan secara default.

Frekuensi 6, 12, 24 dan 48 MHz dapat dikeluarkan ke pin ini. Ini dilakukan dengan menggunakan utilitas MProg khusus, yang dapat Anda gunakan

6. Penjelasan singkat tentang apa yang harus dilakukan untuk mengirimkan frekuensi ke Cbus:

  1. instal utilitas Mprog.
  2. pilih pencarian perangkat dengan mengklik kaca pembesar, atau di menu Perangkat->Pindai, setelah itu utilitas menemukan perangkat dan menampilkan PID-nya, dll.
  3. Di tab Alat, pilih fungsi Baca dan Parse, yaitu membaca pengaturan saat ini dan menampilkannya di layar.
  4. buka penandanya SEPERTI 232 R (jika tidak terbuka sendiri), setelah itu 2 kolom terbuka. Balikkan rs 232 signzl (ini bukan urusan kami, karena program penganalisis mengatur sinyal-sinyal ini dengan caranya sendiri) dan lapangan Kontrol I/O.
    Bidang Kontrol I/O memiliki 4 submenu C1-C4.
  5. pilih menu C4. Ini adalah fungsi tambahan dari sinyal Cbus4. Dari semua fungsi yang diusulkan, kami tertarik pada CLK6, CLK12, CLK24 dan CLK48. Semuanya harus jelas dari nama fungsinya J . Fungsi lainnya tidak berpengaruh (lebih tepatnya, saat dipilih, status pin ini tidak dapat diprediksi), karena fungsi tersebut dirancang untuk bekerja dalam mode port COM.
  6. Agar FT232R dapat menggunakan fungsi yang dipilih, Anda harus menyimpan proyek (tanpa ini proyek tidak akan berfungsi), begitulah cara utilitas ini ditulis.
  7. Setelah menyimpan proyek ke disk, Anda dapat memprogram ulang FT232R kami. Tombol petir diaktifkan. Setelah menekannya M prog akan menulis pengaturan kita ke dalam chip.

7. Cara mendeskripsikan dan menggunakan protokol Anda sendiri

Untuk membuat deskripsi protokol, Anda perlu menulis file INI sendiri. Saya sarankan menyalin salah satu file yang ada dan mengubahnya. Mari kita ambil file SPI_9BIT sebagai contoh. Penjelasan dalam file ini harus ditunjukkan pada baris terpisah!!!

;Pengaturan header di bagian file ini menentukan pengaturan protokol tertentu:


;jumlah baris dalam protokol. Ada 4 dari mereka dalam satu ini
nomor_lin = 4
;di bawah garis dicantumkan berdasarkan nomor dan namanya ditunjukkan
lin1 = MOSI
lin2 = MISO
lin3 = SCK
lin4 = SS
;jumlah bit yang ditransmisikan
bit = 18
;menambahkan. informasi, itu akan ditampilkan di jendela informasi tambahan.
waring = saluran 6 terikat dengan saluran 1 di perangkat keras. Baudrate dibagi 2, karena jam ditransmisikan dalam 2 siklus jam
;tajuk protokol. Urutan yang digunakan dalam protokol akan dijelaskan di bawah ini.


SS = N N N N N N N N N N N N N N N N N N N N N
SCK = N O N O N O N O N O N O N O N O N O
MOSI = 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8
MISO = N N N N N N N N N N N N N N N N N N N N N

Pada bagian ini, nomor bit 0 1 2 14 34, dst. diindikasikan sebagai bit yang ditransmisikan. Sebagai 1 yang ditransmisikan, tulis O (dari bahasa Inggris One), sebagai 0 yang ditransmisikan, tulis N (yaitu Null).

PENTING: Saat menjelaskan suatu protokol, mungkin ada perbedaan dalam jumlah bit yang ditentukan di num_lin dan yang dijelaskan di bagian protokol.

Setelah Anda memperbaiki atau menulis file INI, Anda perlu menambahkan entri ke file protokol.lst. sehingga program dapat menemukan dan menggunakan protokol baru.

8. Contoh penggunaan analisa untuk menganalisis bus I2C

Pertama, kami menghubungkan penganalisis ke bus I2C (perangkat yang diuji adalah joystick nunchuck dari konsol Wii), tidak diperlukan elemen eksternal. Diagram koneksi ditunjukkan pada Gambar 3. Saya tidak melihat ada gunanya menjelaskan protokolnya. Ini ditulis secara rinci di Internet.

Seperti dapat dilihat dari diagram, 3 saluran digunakan untuk implementasi (saluran 1,4,5), dan protokol I2C adalah dua kabel. Intinya adalah analisa tidak memiliki kemampuan untuk mengubah arah bus selama transmisi sinyal, sehingga pemisahan sinyal input dan output terjadi pada transistor (lihat diagram). Jadi, saluran 1 adalah keluarannya: saluran ini mengeluarkan data dalam I2C. Dan saluran 5 sebagai masukan: menerima data melalui I2C.

Untuk mengonfigurasi, pilih “I2C” di menu pemilihan antarmuka dan atur kotak centang dan tombol berikut:

Saluran 1 NEG (output terbalik) data keluaran OUTSDA _OUT

Sinyal jam saluran 4 OUTSCL

Saluran 5 DI SDA _IN memasukkan data

9. Contoh penggunaan analisa untuk menganalisis busSPI (9sedikit)

Contoh ini menunjukkan tiruan protokol serial untuk mengontrol tampilan dari Nokia6100. Diagram untuk menghubungkan layar ke penganalisis ditunjukkan pada Gambar 4. Dari elemen eksternal, hanya resistor pembatas arus yang diperlukan untuk menerangi layar. Keistimewaannya adalah transmisi SPI bukan 8 bit seperti biasanya, melainkan 9.

Untuk mengoperasikan protokol ini, SPI 9-bit terpisah dibuat di penganalisis.

Mengonfigurasi sinyal penganalisis dan protokol.

Untuk mengonfigurasi, pilih “SPI _9BIT” di menu pemilihan antarmuka dan atur kotak centang dan tombol berikut:

Channel 1 OUT; kami akan mendaftarkan sinyal ini secara manual. Itu tidak ada dalam catatan

Saluran 2 KELUAR SS; sinyal pemilihan chip

Saluran 3 OUT SCK; jam protokol

Saluran 4 KELUAR MOSI; sinyal data

Karena kami tidak menerima data, semua sinyal dikonfigurasi sebagai output dan tidak ada sinyal protokol MISO yang digunakan.

Jumper daya juga perlu diatur ke posisi 3,3V, karena perangkat akan diberi daya dari alat analisa.