¿Puedo usar pines de unidad de disquete en cualquier placa base como pines GPIO?

¿Puedo usar pines de unidad de disquete en cualquier placa base como pines GPIO?

Recientemente vi algunas características de raspberry-pi, y la característica que más me atrajo fueron sus pines GPIO (entrada y salida de uso general). Luego me pregunté si tenía una placa base vieja que tenía pines de unidad de disquete, luego la conecté, comencé e instalé ubuntu en ella. ¡Funcionó!

Ahora mi pregunta es:

  1. ¿Puedo usar los pines de la unidad de disquete como pines GPIO?
  2. Si no es así, hágame saber qué pines se pueden usar como GPIO o no hay nada para eso.

Respuesta1

En general, las conexiones para los disquetes no se pueden utilizar como pines GPIO. Si tiene las especificaciones exactas de los chips que accionan el disquete, a veces podrá hacer algo con él, pero de ninguna manera es fácil ni está garantizado que funcione. Entonces la respuesta probablemente sea no.

Para nosotros es imposible saber si su placa base tiene pines GPIO. Algunas placas base Gigabyte parecen tenerlos. Además, si su placa base es tan antigua que tiene un puerto de impresora paralelo, esa sería una opción seria.

La mejor opción parece utilizar un adaptador GPIO-USB si quieres controlarlo directamente. Deberían estar disponibles desde unos 15 EUR o su equivalente en su moneda local. Otra opción sería mirar Arduino. Y, por supuesto, también es posible una Pi zero W por ese precio.

Respuesta2

placa base vieja... ubuntu instalado

Si Ubuntu se está quedando sin caja, es probable que el controlador de disquete sea bastante "moderno". Ubuntu reciente no funciona tan bien en PC realmente antiguas.

¿Puedo usar los pines de la unidad de disquete como pines GPIO?

Puedes usar algunos. Echa un vistazo aconector de disquete, compárelo con una hoja de datos y verá que los únicos que puede usar fácilmente son Motor A Enable, Motor B Enabley Drive Select, como pines de salida.

Y es posible que ni siquiera puedas utilizarlos todos; El chip Super-I/O de una de las placas base más antiguas que tengo solo admite una única unidad (y, por tanto, una única señal de motor).

El resto está controlado por la complicada máquina de estados que es el controlador de disquete. Es posible que pueda engañar al controlador para que utilice algunos de los otros pines enviándole los comandos correctos, pero eso requiere un buen conocimiento de lo que sucede con las señales del disquete.

Entonces, primero debe averiguar el controlador de disquete exacto (o chip Super-I/O) que tiene su placa base y buscar en Google un manual o una hoja de datos.

En segundo lugar, Linux no es un sistema operativo en tiempo real, por lo que es difícil accionar los pines cuando el tiempo es crítico.

En tercer lugar, el Linux moderno hace que sea cada vez más doloroso "simplemente introducir valores en los dispositivos"; es posible que tengas que escribir un controlador de kernel simple.

Si su antigua placa base también tiene puertos serie o paralelo: es mucho más fácil usarlos como GPIO.

Y, como está escrito en la otra respuesta, la forma más sencilla es gastar unos pocos EUR y comprar un dispositivo USB GPIO; así no tendrás que trastear con todo (pero, por supuesto, tocar el violín tiene sus propios atractivos).

información relacionada