He visto algunos pines como los pines GPIO del microcontrolador en las placas base de la computadora de escritorio por un par de veces, quería saber, primero, ¿son realmente GPIO? En caso afirmativo, ¿es posible leerles o escribirles?
microcontroller
motherboard
Mohsen Salahshoor
fuente
fuente
Respuestas:
Las PC normales no tienen GPIO como tal en el sentido de "pines destinados a ser de uso general". Los conectores en una placa base de PC (ya sean encabezados internos o puertos externos) fueron diseñados para funciones específicas. Sin embargo, algunos de ellos pueden reutilizarse para sus propios fines.
Lo más parecido a GPIO que tienen las PC es probablemente el puerto paralelo de la impresora que tiene varias líneas de datos y líneas de apretón de manos. Estas líneas son algo así como los pines GPIO, aunque tiene menos flexibilidad en términos de sus direcciones. http://retired.beyondlogic.org/spp/parallel.htm
Las líneas de protocolo de enlace en los puertos serie también se pueden usar como E / S generales, aunque tienen niveles de voltaje extraños.
Los puertos paralelos y seriales son menos comunes de lo que solían ser, pero aún así es bastante fácil encontrar placas base que las tengan si compras.
También es posible que pueda reutilizar entradas y salidas destinadas a LED de casos, botones, etc., pero me imagino que los detalles serán muy específicos para un sistema en particular.
Las PC usan un bus basado en I2C llamado SMBUS para diversas funciones de administración. Estoy seguro de que he visto informes de personas que pusieron sus propios dispositivos I2C en este bus a través de cables de soldadura antes, pero no puedo encontrar enlaces en este momento.
Hay otro bus I2C en los puertos de video utilizados para la identificación del monitor. Si puede obtener acceso a software depende de qué sistema operativo y hardware de video esté utilizando http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- Proyectos /
Y, por supuesto, hay USB. Ahora hay microcontroladores baratos con interfaces USB que puede usar para conectarse a esto.
fuente
Creo que la pregunta si las placas base tienen GPIO es muy específica para el modelo y la marca. Algunos pueden, otros no.
Por ejemplo, en mi computadora de escritorio Asus, contiene un Nuvoton NCT6775 para control de ventilador y lectura de temperatura. Se puede acceder a este desde el BIOS (personalizado del proveedor) y las utilidades de escritorio de Windows. Necesito ejecutar el software de Asus para que el control del ventilador funcione, lo que significa que el control del ventilador PWM se realiza mediante software. En una instalación de Linux, necesito configurarlo manualmente a través de este módulo del núcleo y pwmconfig.
Si mira la hoja de datos de Nuvoton NCT677xF , encontrará hardware genérico para controlar PWM, leer la temperatura y los voltajes y también GPIO a través de SMBus. Equipado con ambos le da un comienzo decente para que funcione. En teoría, podría usar este conjunto de chips para funciones GPIO.
Sin embargo, no lo tocaría. No sabe qué hardware está conectado a él, a menos que desee sumergirse en un modelo muy específico de placa base y aplicar ingeniería inversa (por ejemplo, diseño, asignación de pines, etc.). Tampoco está roto a un conector.
Lo más importante, si su aplicación necesita durar varios años, el modelo de placa base también debería hacerlo. De lo contrario, no es una buena idea vincular hardware de placa base muy específico.
fuente
Sé que este es un tema antiguo, pero de todos modos ...
Habiendo programado el código del BIOS, puedo decir que cada placa base tiene GPIO y están completamente disponibles en el espacio de direcciones del usuario y la dirección del puerto generalmente está muy cerca del puerto paralelo. He creado controladores personalizados para placas base personalizadas utilizando controladores de puerto paralelo estándar, todo lo que tenía que hacer era modificar el número de dirección, pero conocía ese número de antemano.
¿Puedes usarlos? Bueno, eso depende de la persona que programó el BIOS. El estado de todos los GPIO debe configurarse antes de la compilación, todos los GPIO no utilizados pueden configurarse fácilmente para que se deshabiliten.
Si un GPIO no se utiliza y no está configurado, ¿cuál es su estado predeterminado? Muy probablemente solo flotando (la mayoría son tri-estados, así que buena suerte).
¿Tiene un GPIO un pullup / pulldown? Quién sabe si EE agregó uno ...
¿Hay rastros para alguno de los GPIO no utilizados? Lo dudo, pero bueno, todo es posible ...
En resumen, debe tener la suerte de que un GPIO no utilizado se haya configurado de manera que pueda usarlo; al igual que arduino (pero sin valores predeterminados reales), piense "ENTRADA / SALIDA / TRI". Tiene que tener un rastro utilizable en la placa base que, con suerte, tenga un pin o almohadilla para soldar. Luego, si conoce la ubicación de la dirección del GPIO, puede usar fácilmente un controlador de espacio de usuario estándar.
fuente
Las PC generalmente tienen interfaces i2c, y puede encontrar chips expansores de E / S para i2c como el TI TCA9535DBR.
Por lo tanto, indirectamente, podría hacerlo dependiendo de sus requisitos de velocidad. Si estás en una PC, los requisitos de tiempo exactos son difíciles de todos modos.
fuente