Saya telah melihat beberapa pin seperti pin GPIO mikrokontroler pada motherboard komputer desktop untuk beberapa kali, saya ingin tahu, pertama, apakah mereka benar-benar GPIO? jika ya, apakah mungkin membaca atau menulis kepada mereka?
Saya telah melihat beberapa pin seperti pin GPIO mikrokontroler pada motherboard komputer desktop untuk beberapa kali, saya ingin tahu, pertama, apakah mereka benar-benar GPIO? jika ya, apakah mungkin membaca atau menulis kepada mereka?
Jawaban:
PC normal tidak memiliki GPIO dalam arti "pin yang dimaksudkan untuk tujuan umum". Konektor pada motherboard PC (apakah header internal atau port eksternal) semuanya dirancang untuk fungsi tertentu. Namun, beberapa di antaranya dapat digunakan kembali untuk tujuan Anda sendiri.
Hal terdekat dengan GPIO yang dimiliki PC mungkin adalah port printer paralel yang memiliki sejumlah jalur data dan garis jabat tangan. Garis-garis ini agak seperti pin GPIO, meskipun Anda kurang fleksibel dalam hal arahnya. http://retired.beyondlogic.org/spp/parallel.htm
Garis jabat tangan pada port serial juga dapat digunakan sebagai IO umum, meskipun level tegangannya aneh.
Porta paralel dan serial kurang umum dari sebelumnya, tetapi masih cukup mudah untuk menemukan motherboard yang memilikinya jika Anda berbelanja.
Anda mungkin juga dapat menggunakan input dan output yang dimaksudkan untuk LED, tombol, dll., Tetapi saya membayangkan detailnya akan sangat spesifik untuk sistem tertentu.
PC menggunakan bus berbasis I2C yang disebut SMBUS untuk berbagai fungsi manajemen. Saya yakin saya telah melihat laporan orang-orang yang meletakkan perangkat I2C mereka sendiri di bus ini melalui kabel solder sebelumnya, tetapi saya tidak dapat menemukan tautan sekarang.
Ada bus I2C lain pada port video yang digunakan untuk identifikasi monitor. Apakah Anda dapat memperoleh akses perangkat lunak tergantung pada OS dan perangkat keras video apa yang Anda gunakan http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- Proyek /
Dan tentu saja, ada USB. Sekarang ada mikrokontroler murah dengan antarmuka USB yang dapat Anda gunakan untuk menyambung ke ini.
Saya pikir pertanyaan apakah motherboard memiliki GPIO sangat spesifik untuk model dan membuatnya. Beberapa mungkin, beberapa tidak.
Misalnya pada papan desktop Asus saya berisi Nuvoton NCT6775 untuk kontrol kipas dan pembacaan suhu. Ini dapat diakses dari (desktop vendor) BIOS dan utilitas desktop Windows. Saya perlu menjalankan perangkat lunak Asus agar kontrol kipas berfungsi, yang artinya kontrol kipas PWM dilakukan oleh perangkat lunak. Pada instalasi Linux saya perlu mengaturnya secara manual melalui modul kernel dan pwmconfig ini.
Jika Anda melihat lembar data Nuvoton NCT677xF Anda akan menemukan perangkat keras generik untuk mengendalikan PWM, membaca suhu & voltase dan juga GPIO via SMBus. Dilengkapi dengan keduanya memberi Anda awal yang layak untuk membuatnya bekerja. Secara teori Anda bisa menggunakan chipset ini untuk fungsi GPIO.
Namun saya tidak akan menyentuhnya. Anda tidak tahu perangkat keras apa yang terhubung dengannya, kecuali jika Anda ingin menyelami model motherboard yang sangat spesifik dan merekayasa baliknya (misalnya tata letak, alokasi pin, dll.). Tidak pecah ke konektor juga.
Yang paling penting, jika aplikasi Anda perlu bertahan selama beberapa tahun, model motherboard juga harus. Jika tidak, mengikat perangkat keras motherboard yang sangat spesifik bukanlah ide yang baik.
Saya tahu ini adalah topik yang lebih lama, tapi bagaimanapun ...
Setelah diprogram kode BIOS, saya dapat mengatakan bahwa setiap motherboard memiliki GPIO dan mereka sepenuhnya tersedia di ruang alamat pengguna dan alamat port biasanya sangat dekat dengan port paralel. Saya telah membuat driver khusus untuk motherboard khusus menggunakan driver port paralel standar, yang harus saya lakukan adalah mengubah nomor alamat, tetapi saya tahu nomor itu sebelumnya.
Bisakah Anda menggunakannya? Yah itu tergantung pada orang yang memprogram BIOS. Keadaan semua GPIO harus diatur pra-kompilasi, semua GPIO yang tidak digunakan dapat dengan mudah diatur untuk dinonaktifkan.
Jika GPIO tidak digunakan dan tidak disetel, apa status defaultnya? Sangat mungkin hanya mengambang (sebagian besar adalah tri-state keberuntungan).
Apakah GPIO memiliki pullup / pull-down? Siapa tahu kalau EE menambahkan satu ..
Apakah ada jejak untuk GPIO yang tidak terpakai? Saya ragu, tapi hei semuanya mungkin ..
Singkatnya, Anda harus beruntung bahwa GPIO yang tidak digunakan telah diatur sedemikian rupa sehingga Anda dapat menggunakannya; seperti arduino (tetapi tanpa standar nyata), pikirkan "INPUT / OUTPUT / TRI". Itu harus memiliki jejak yang dapat digunakan pada motherboard yang mudah-mudahan memiliki pin atau pad untuk solder. Kemudian jika Anda mengetahui lokasi alamat GPIO Anda dapat menggunakan driver ruang pengguna standar dengan mudah.