Pico Membuat Penganalisis Logika yang Mampu

Proyek mikrokontroler yang cukup umum adalah membuat beberapa bentuk penganalisis logika. Secara teori, seharusnya cukup mudah: ambil beberapa input digital, simpan, dan tampilkan. Tapi, tentu saja, iblis ada dalam detailnya. Pertama, Anda ingin mengambil data dengan cepat, tetapi Anda juga perlu memeriksa pemicunya secara real time — sulit dilakukan dalam perangkat lunak. Anda mungkin juga memerlukan sirkuit pengkondisian input kecuali Anda puas dengan karakteristik input mikrokontroler. Akhirnya, Anda memerlukan cara untuk membuang data untuk analisis. [Gusmanb] telah mengatasi semua masalah ini dengan penganalisis sederhana yang dibangun di sekitar Raspberry Pi Pico.

Di ujung depan dan belakang, ada papan opsional yang melakukan konversi tingkat cepat. Jika Anda tidak keberatan mengukur input 3,3 V, Anda dapat melepaskan papan. Di sisi output, ada perangkat lunak khusus untuk menampilkan hasilnya. Namun, yang benar-benar menarik adalah apa yang ada di antaranya.

PCB sederhana sepenuhnya opsional.

Pico mengambil 24 bit data pada 100 MHz dan menyediakan pemicu tepi dan pola. Ini mengesankan karena Anda perlu melihat data saat Anda menyimpannya dan itu memakan beberapa siklus instruksi jika Anda mencoba melakukannya dalam perangkat lunak, menurunkan laju jam maksimum Anda. Jadi bagaimana proyek ini mengelolanya?

Menggunakan unit PIO Pico adalah prosesor khusus tambahan yang tidak terlalu kuat, tetapi sangat cepat dan deterministik. Dua instruksi PIO sudah cukup untuk menangani pekerjaan untuk kasus-kasus sederhana. Namun, ada dua PIO dan masing-masing memiliki empat mesin status terpisah. Ini masih membutuhkan beberapa pekerjaan, tetapi lebih mudah daripada mencoba menjalankan CPU pada beberapa gigahertz untuk mendapatkan efek yang sama. Mode pemicu cepat, khususnya, menyalahgunakan PIO untuk mendapatkan kecepatan maksimum dan bahkan dapat bekerja hingga 200 MHz dengan beberapa batasan.

Jika Anda ingin mencobanya, Anda dapat menggunakan tidak lebih dari Pico dan kabel jumper selama Anda tidak memerlukan konversi level. Halaman proyek menyebutkan bahwa perangkat lunak khusus menghindari penggunaan perangkat lunak OpenBench, yang kami dapatkan, tetapi kami mungkin menggunakan driver Sigrok untuk mencegah keharusan menemukan kembali terlalu banyak roda. Penulis menyebutkan bahwa lebih mudah untuk menggulung kode Anda sendiri daripada mematuhi protokol driver dan kami juga mendapatkannya. Namun, perangkat lunaknya terlihat bagus dan bahkan memiliki penganalisis protokol SPI. Semuanya open source, jadi jika Anda menginginkan protokol lain sebelum penulis mendapatkannya, Anda selalu dapat melakukannya sendiri.

Jika Anda menginginkan Pico dan Sigrok, kami telah membahas proyek yang melakukan hal itu. Sebagian besar penganalisis logika yang kami gunakan hari ini kami buat ke dalam desain FPGA kami.