beberapa bulan yang lalu, saya sedang mendiskusikan kontrol peralatan GPIB dengan seorang kolega. Berdasarkan hanya pada perasaan saya dan penelitian singkat, saya mengatakan kepadanya bahwa solusi pengontrol GPIB yang mahal dan berpemilik dapat dengan mudah diganti dengan alat sumber terbuka dan Linux. Dalam beberapa minggu berikutnya, saya hampir meninggalkan sikap saya beberapa kali karena frustrasi. Dengan beberapa ketekunan, melanggar masalah menjadi potongan-potongan berukuran gigitan, dan banyak pencarian online untuk belajar dari pengalaman orang lain, rencana saya akhirnya berhasil. Saya belum meninggalkan sikap asli saya sepenuhnya, saya telah mengambil beberapa langkah kembali dan menambahkan beberapa kualifikasi.
Apa itu GPIB?
Contoh diagram blok HP-IB dari tahun 1970-an, dari HP9845.NET
Kembali pada 1960-an, jika peralatan tes saling berhubungan sama sekali, tidak ada metode yang disepakati untuk melakukannya. Pada akhir 60-an, situasinya dibuat agak lebih baik dengan sistem pengontrol kandang kartu. Ini memegang sejumlah kartu antarmuka, satu per instrumen, menyajikan antarmuka umum pada backplane. Meskipun pendekatan ini dapat diterapkan, para insinyur HP menyadari bahwa mereka dapat secara signifikan meningkatkan konsep untuk memasukkan “papan sirkuit yang menjembatani” di dalam instrumen dan mengganti kandang kartu backplane dengan kabel pasif. Dengan demikian memulai pengembangan apa yang menjadi bus antarmuka Hewlett-Packard (HP-IB). Edisi Oktober 1972 dari HP Journal memperkenalkan HP-IB dengan dua artikel utama: sistem antarmuka praktis untuk instrumen elektronik dan antarmuka digital umum untuk instrumen yang dapat diprogram: evolusi suatu sistem.
Untuk mengatasi banyak masalah yang dialami dalam instrumen interkoneksi dan perangkat digital, sistem antarmuka baru telah didefinisikan. Sistem ini memberikan kemudahan dan fleksibilitas baru dalam interkoneksi sistem. Instrumen interkoneksi untuk digunakan di Bench Lab, serta dalam sistem besar, sekarang menjadi praktis dari sudut pandang ekonomi.
HP kemudian berkontribusi HP-IB ke IEC, di mana itu menjadi standar internasional. Dalam beberapa tahun itu menjadi apa yang kita ketahui hari ini sebagai GPIB (bus antarmuka tujuan umum) atau IEEE-488, pertama diformalkan pada tahun 1975.
Tugas yang ada
Mengapa saya perlu menggunakan antarmuka komunikasi berusia 50 tahun? Karena GPIB adalah antarmuka de-facto selama bertahun-tahun, banyak peralatan uji bekas dapat ditemukan di pasar bekas dengan harga yang sangat wajar, jauh lebih murah daripada rekan-rekan modern mereka. Selain itu, semakin banyak peralatan uji yang berakhir di bangku lab berarti kurang dari mereka berakhir di sistem daur ulang atau tempat pembuangan sampah. Tapi saya tidak perlu pembenaran ini – kenikmatan dan perasaan nostalgia dari peralatan lama ini adalah alasan yang cukup bagi saya.
Diagram khas digipot, TPL0501 (dari perpustakaan artikel digikey)
Tetapi mengapa Anda ingin berbicara dengan peralatan pengujian Anda melalui antarmuka komputer di tempat pertama? Dalam kasus saya, saya memiliki proyek di mana saya perlu mengkalibrasi resistansi digipot di masing-masing posisi Wiper yang dapat diprogram. Ini akan membiarkan saya membuat algoritma kalibrasi berdasarkan data yang diukur, di mana Anda dapat memasukkan nilai ohmik yang diinginkan dan mendapatkan nilai register penghapus yang sesuai. Tentu, saya bisa membuat pengukuran ini dengan tangan, tetapi dengan 256 posisi Wiper, yang akan sangat cepat. Jika Anda ingin mempelajari lebih lanjut tentang Digipots, periksa artikel ini dari perpustakaan Digikey pada dasar-dasar potensiometer digital dan cara menggunakannya.
Digunakan Keithley 195A Bench DMM dari C.1982
Saya mencetak multimeter Digital Keithley 195A bekas mulai awal 1980-an. Ini adalah Bench DMM 5-1 / 2 digit, dan unit saya memiliki opsi model 1950 AC / AMPS.
Rencana Tindakan
Saat mencari-cari, saya menemukan kertas tesis (Jerman) oleh [Thomas Klima] pada menggunakan perisai antarmuka GPIB yang mudah dibangun pada Raspberry PI atau PI Zero untuk berkomunikasi dengan instrumen lab. Proyeknya adalah sumber terbuka dan didokumentasikan dengan baik pada halaman GitHub (versi Raspberry PI di sini dan versi PI Zero di sini) situs web elektronomikonnya.
Ini adalah sirkuit sederhana, mendukung pernyataan perasaan saya bahwa GPIB tidak terlalu rumit dan Anda mungkin bisa menggigitnya dengan 8051. Saya mengumpulkan proyek, dan saya memiliki raspberry pi nol-w semuanya siap untuk pergi.
Modul antarmuka GPIB dipasang di belakang DMM
Modul Antarmuka GPIB + Raspberry PI Zero
Perangkat lunak bijaksana, perisai menggunakan modul kernel Linux yang ada Linux-GPIB. Itu tampak mudah untuk menginstal dan menjalankan pada PI dalam waktu singkat. Setelah beberapa jam menginstal pyvisa dan beberapa perpustakaan khusus instrumen, saya harus secara otomatis merekam data dengan skrip python dalam waktu kurang dari sehari. Alas, kenyataan tidak selalu cocok dengan harapan kami.
Arsitektur GPIB
Bob “Mr Fancy Pants” Stern mengoperasikan rak peralatan HP-IB pada tahun 1980
Perspektif latar belakang kecil akan membantu dalam memahami konsep GPIB. Jika kami mengunjungi lab elektronik di tahun 60an, menggunakan komputer untuk mengontrol urutan uji berulangadalah pengecualian daripada aturan. Sebagai gantinya, Anda mungkin melihat pita magnetik, kertas pita, kartu magnetik, atau bahkan kartu ke mana perintah ditandai dalam pensil. Dan untuk beberapa pengaturan kontrol komputer mungkin bahkan tidak diperlukan. Misalnya, sensor suhu mungkin langsung memplot pada perekam grafik strip atau menyimpan nilai pada drive tape magnetik. Jika Anda ingat bahwa ini adalah dunia di mana para insinyur HP tenggelam, arsitekturnya masuk akal.
OMR untuk programmer kartu bertanda HP-3260A (dari koleksi kartu Pukulan Prof Jones, Univ of Iowa)
GPIB adalah bus interkoneksi yang fleksibel menggunakan 15 sinyal: Bus data 8 bit dan 7 bit jalur kontrol. Perangkat apa pun di bus dapat menjadi pendengar pasif atau pembicara aktif. Seorang pembicara dapat berbicara dengan beberapa perangkat secara bersamaan, dan perangkat dapat meningkatkan interupsi jika mereka memiliki peristiwa yang perlu diservis. Perangkat saling berhubungan menggunakan kabel dan konektor yang kecil untuk hari mereka, tetapi merupakan gangguan dibandingkan dengan kabel USB, Ethernet, dan serial saat ini. Konektor Centronics 24-pin memungkinkan untuk Mudah Daisy Chaining perangkat, tetapi merupakan binatang besar – dalam keadaan darurat, Anda dapat menggunakan kabel GPIB secara efektif sebagai nunchucks.
Kabel GPIB dapat berfungsi sebagai nunchucks dalam keadaan darurat
Penggunaan GPIB tradisional adalah komputer kontrol pusat yang menghubungkan rantai atau gugusan peralatan uji. Ini secara historis mempengaruhi perangkat keras antarmuka GPIB yang tersedia. Selama beberapa dekade, kartu antarmuka PCI ISA dan kemudian dipasang di komputer, atau antarmuka GPIB mungkin terintegrasi jika Anda menggunakan komputer HP. Mereka cenderung agak mahal, tetapi karena satu papan antarmuka mengendalikan semua instrumen, Anda hanya membutuhkan satu kartu dalam pengaturan tes yang diberikan. Instrumen Nasional telah menjadi pemimpin di dunia GPIB dari kedua kartu antarmuka dan pendukung pendukung dan perangkat lunak mereka, tetapi perangkat lunak dan reputasi eksklusif mereka untuk harga yang curam sedikit meletakkan banyak perusahaan kecil dan laboratorium rumah.
Anda tentu dapat menerapkan pengaturan tes otomatis sepenuhnya menggunakan kabel GPIB, gaya 1970-an. Banyak sistem warisan seperti itu masih ada, pada kenyataannya, dan masih harus dipertahankan. Tetapi kemungkinan besar, penggunaan GPIB kami hari ini adalah untuk mengadaptasi satu atau dua instrumen sehingga mereka dapat digunakan dalam pengaturan tes non-GPIB Anda, menjadi LAN, USB, Serial, atau beberapa kombinasi. Ini mengubah ekonomi situasi terbalik, dan itulah sebabnya adaptor GPIB berbiaya rendah hanya dengan satu instrumen dicari.
Kartu PCI GPIB dari Instrumen Nasional
Modul antarmuka USB GPIB dari keysight
Biarkan masalah dimulai
Pi Zero-W memiliki WiFi bawaan – pada kenyataannya, itulah satu-satunya koneksi LAN kecuali Anda menghubungkan sirkuit eksternal. Tetapi saya tidak bisa mendapatkannya untuk terhubung ke router wifi saya. Untuk waktu yang paling lama, saya pikir ini adalah kesalahan operator. Saya memiliki beberapa Raspberry PI 3S dan 4S menggunakan mode WiFi tanpa masalah. Ketika saya mulai memecahkan masalah, saya belajar bahwa alat manajemen jaringan di Debian / Raspberry PI OS telah berubah selama bertahun-tahun. Ada banyak tutorial yang menunjukkan berbagai cara mengkonfigurasi hal-hal, beberapa di antaranya sudah usang.
Pi nol-w tanpa kepala benar-benar mati tanpa koneksi LAN, jadi saya merakit sarang kabel USB dan adaptor HDMI sehingga saya setidaknya bisa mendapatkan prompt, dan memesan beberapa adapter USB-LAN untuk membuat saya online sementara . Jam dan jam mencari dan menguji ide-ide, saya akhirnya menemukan beberapa posting yang tidak jelas yang menyarankan bahwa radio PI Zero-W memiliki masalah yang menghubungkan di beberapa negara – Korea Selatan ada di daftar itu.
Memang ini masalahnya. Saya sementara dapat mengubah negara WiFi router saya ke Amerika Serikat, dan PI Zero-W akan terhubung dengan baik. Saya tidak bisa membiarkannya seperti itu, jadi saya beralih kembali ke Korea Selatan dan terus menggunakan kabel kabel kabel untuk pekerjaan langsung saya. Masalah khusus ini memiliki akhir yang baik. Di forum Raspberry PI, salah satu insinyur mereka dapat mengkonfirmasi bug, dan mengirimkan permintaan perubahan ke semikonduktor Cypress. Beberapa minggu kemudian, kami mendapat firmware yang diuruskan untuk menguji. Ini memecahkan masalah dan mudah-mudahan akan ditambahkan dalam rilis yang akan datang.
Router menjadi gila
Pada titik ini, saya memiliki beberapa pi nol, PI 4B, dan beberapa adaptor USB-LAN berfungsi. Karena adaptor USB-LAN ini dapat bergerak – adaptor dapat berada di komputer ABC hari ini dan pada komputer XYZ besok – saya hati-hati mencap setiap adaptor dan memasukkan partika ke file / et ethers di router saya. Dan jaringan saya segera mati. Ini sulit untuk dipecahkan, karena terkejut, mengekstraksi informasi dari router canggung ketika jaringan dibekukan. Saya akhirnya tahu bahwa saya secara keliru menyeberang dua entri untuk adapter USB-LAN di meja router, dan ini membuat Openwrt gila.
Antarmuka USB-LAN Dapatkan Label Alamat MAC
Ini butuh waktu lama untuk menemukan dan memecahkan, solusi saya agak berlebihan di belakang. Pertama-tama, saya benar-benar menghapus routerdan memasang kembali firmware dari awal. Saya juga meluangkan waktu untuk mengatur nama host dan sewa statis saya dengan lebih baik. Saya menemukan inilah ini dari [Krzysztof Burghardt] yang mengubah / etc / host Anda dan / ethers ke file openwrt / etc / config / dhcp, dan tweak untuk memenuhi kebutuhan saya. Saya membeli router cadangan kedua yang dapat saya tukarkan dengan cepat jika ini terjadi lagi. Dan terakhir, tetapi tidak kalah pentingnya, saya mogok dan membeli printer label untuk dengan jelas menandai adapter USB-LAN ini dengan alamat MAC mereka.
Siap untuk berangkat
Mari kita ukur!
Akhirnya, saya siap melakukan pekerjaan nyata pada proyek saya. Abaikan arahan terbang di latar belakang hanya untuk bersenang-senang – mereka pergi ke Analog Discovery 2 Logic Analyzer untuk mengamati sinyal GPIB. Jam tangan adalah anggukan untuk kemalasan saya – saya meletakkan smartphone lama pada tripod untuk menonton meteran di lab, dan memantaunya dari PC desktop kantor saya sambil menguji skrip Python. Sesekali beberapa video akan mengunci, dan saya menggunakan tangan kedua sebagai tanda apakah semuanya berjalan dengan lancar atau tidak. Di bagian dua dari Saga ini, saya akan menyelesaikan cerita pengukuran, memberikan informasi lebih lanjut tentang GPIB dan revisi, dan menunjukkan grafik dari pengaturan uji otomatis saya.