Estoy considerando crear algunos artilugios personalizados para conectarlos al puerto de juegos en mi PC retro-hobby (adaptador de controlador SNES, caja macro / turbo, etc.) pero no he podido encontrar mucha información sobre detalles como los límites de corriente permitidos.
(Solo esta mención no citada en los foros de DSLReports que dice «El voltaje operativo estándar para un puerto MIDI / Gameport es de 5 voltios ± 5% y una salida de corriente de 40 mA cuando está activo y 22 mA cuando está en espera»).
Dado algunos de los más sofisticados digitales joysticks que no requieren fuentes de alimentación externas, sé que es posible colgar algún tipo de carga elegante de las líneas de 5V del puerto de juegos, pero no quiero apostar que el SoundBlaster 16 Lo obtuve cuidadosamente de eBay hace unos años y es al menos tan robusto como cualquier combinación de adaptador USB-Gameport y Raspberry Pi que aún esté en producción y que me arriesgue a realizar pruebas de desarrollo.
En el lado de proteger el host PC, espero fijar Busque una fuente sólida para obtener detalles tales como:
- Corriente pico máxima segura
- Corriente sostenida máxima segura
- Lo que debe y no debe hacer con los joysticks digitales atascado cuando los pines como este enumeran múltiples líneas de suministro de 5V y especifican que cada línea GND está destinada a un botón específico.
Del lado de la protección del microcontrolador, ¿alguien tiene alguna especificación sobre la corriente máxima observada cuando se presionan los botones o las líneas de los ejes X e Y están en el extremo 0Ω de su rango?
(En caso de es relevante, espero usar esos tableros STM8S chinos de menos de $ 1 con Sduino si los números son correctos. 16MHz debería ser suficiente para bit-bang cosas y no puedes «ganarles» por tamaño o precio.)
Una cita que también tiene información similar sobre puertos de teclado de PC y PS / 2 sería apreciada ya que «También estoy considerando crear una imitación del Dynapoint GameStar .
Respuesta
La documentación del Adaptador de control de juegos original de IBM tiene algunos detalles que serán de utilidad. Aunque esté usando una tarjeta SoundBlaster en su lugar, debería ser compatible con la original de IBM.
Si bien la documentación no especifica las corrientes máximas para ningún pin, sí tiene un diagrama lógico:
Puede ser visto que en el puerto de juegos original, las entradas del botón se alimentan a un búfer 74LS244 (a través de resistencias pull-up de 1Kohm y condensadores de 51pF). La 74LS244 «s hoja de datos especifica una corriente de salida máxima de bajo nivel de 24 mA por pin y una corriente de salida de alto nivel de -15 mA.
Las entradas del potenciómetro (ejes) se alimentan a las entradas de temporización de un temporizador cuádruple NE558 (a través de resistencias en línea de 2.2kohm y condensadores de .01uF). Su hoja de datos no detalles de la carga actual en estos pines de entrada; se utilizan como valores de temporización RC.
El diagrama de IBM muestra todas las tierras (y suministros de 5V) conectados en común. Sospecho que los pines de 5V del puerto de juegos están conectados directamente al suministro de 5V de la ranura ISA; esto podría verificarse para su tarjeta con una prueba de continuidad en un multímetro. Si este es el caso, el consumo máximo de corriente permitido para una tarjeta ISA puede brindar más orientación.
Responder
de nuevo en los días (x386) que estaba usando el puerto GAME como un ADC para un escáner casero y otros HW de autoconstrucción. Como es habitual durante el desarrollo, hay retrocesos ocasionales como cortocircuitos, etc. Los puertos GAME que estaba usando siempre eran tarjetas IDE / puertos ISA con chip GoldStar (eran muy comunes) y un cortocircuito en los pines analógicos siempre se quemaba + Línea de alimentación de 5 V en la PCB (no se dañó ningún chip, lo que sé, ya que al pasar por alto el cable quemado todo funcionó nuevamente), no hay un límite de corriente obvio que no sea la densidad de corriente de los cables de la PCB utilizados.
El los cables en el pasado podían transferir con seguridad 0.5A (generalmente comienzan a quemarse por encima de 1A) pero no haría una carga mayor a 100mA.
Sin embargo, cuando miré la hoja de datos de NE558 (el enlace está en Kaz «s respuesta) aparte del error de asignación de pines aquí hay un circuito equivalente de temporizador único:
el intervalo de tiempo es:
t = R.C
donde C = 0.1 uF
y R >= 2K2
. Considerando Vcc = 5V
y de acuerdo con
Conceptos básicos del transistor la caída de voltaje del transistorVce = ~0.2V
luego la corriente máxima «segura» absoluta para la salida de temporización (pin analógico GAMEPORT) es:
I = (Vcc-Vce) / R = (5-0.2)/2200 = 2.18 mA tmin = R.C = 2200*0.1/1000000 = 220 us
que suena razonable considerando que es la corriente de entrada para un comparador.Después de dicho análisis, las corrientes de cortocircuito que recuerdo son imposibles, por lo que mi GAMEPORT tenía circuitos diferentes o las corrientes pasaban por diferentes pines (tal vez VCC / GND).
Los pines analógicos de Gameport tienen 2.18 mA
límite de corriente.
cuidado, la carga debe ser pasiva ya que el pin se drena la corriente por sí sola, por lo que el potenciómetro o un transistor NPN (colector-> Vcc, emisor-> GAMEPORT_analog_pin) hacen el mismo trabajo.
Sin embargo, los adaptadores SB16 o USB pueden tener circuitos diferentes (especialmente si incluyen Interfaz MIDI) pero 2mA es un valor común para comparadores y amplificadores.
Tenga cuidado con las corrientes más bajas significan tiempos de conversión más grandes, por lo que debe encontrar un compromiso para que su código de lectura de sondeo no espere demasiado y tenga suficiente resolución. . por ejemplo 1 ms
:
t = (Rl+R)*C Rl = (t/C)-R Rl = (0.001/0.1)*1000000-2200 = 7800 ohm
así que si lo veo bien si su carga es 0 .. 7K8
luego th La conversión terminará en 1 ms
máximos.
Al medir mi antiguo joystick Rockfire, el eje x tiene 160K en la posición derecha cero a la izquierda y 68K en el medio (haven «t lo usó durante años, por lo que la posición central podría cambiarse) lo que lleva al tiempo máximo de conversión t = 16.22 ms
Comentarios
- El 100mA es para la salida NE558, no para la entrada de tiempo, que es a lo que están conectadas las entradas analógicas del puerto del joystick.
- @Justme You ‘ re correcto ( +1) Extraño leerlo. Después de un examen más profundo, encontré un límite más confiable. He editado la respuesta.
- No ‘ t entiendo por qué asume que Vce es 0.6V, lo que hace que fluya menos corriente. Sería mejor asumir que Vce del transistor de descarga es cero en estos niveles de corriente y, por lo tanto, fluye más corriente en el peor de los casos. Sin embargo, la diferencia no es mucha, dadas todas las tolerancias, debería estar por debajo de 2.5mA por entrada analógica.
- Realmente me gustaría poder dar dos » respuesta aceptada » marcas de verificación porque su respuesta actualizada y la respuesta de Kaz ‘ realmente se sienten como dos mitades de la respuesta ideal. Dicho esto, tuve que dárselo a Kaz por ser tanto el inicio de la respuesta combinada como el que encontró el diagrama lógico para el adaptador IBM original.
- La caída de @Spektre Vbe sería de aproximadamente 0.6V en transistores. Pero esto es Vce drop. Si el transistor de descarga es similar al transistor de salida, según la hoja de datos NE558, la caída de Vce sería típicamente de 0.1V a una corriente de 10mA, y dado que la corriente disponible en el pin de sincronización es inferior a 3mA, el voltaje también estaría muy por debajo de 0.1V.
Respuesta
No hay especificaciones oficiales para el límite actual del puerto de juego. Algunos adaptadores pueden tener resistencias, perlas de ferrita o fusibles para limitar la corriente, pero generalmente un cortocircuito todavía fríe algo (excepto por un polifusible). Yo diría que 100 mA es un límite seguro en cualquier caso. El adaptador original tiene 1k pull ups en los botones, por lo que para los cuatro botones presionados simultáneamente, agrega hasta 20 mA de corriente desde los cables de los botones hasta el cable de tierra. Las entradas analógicas tienen 2.2 k en serie, por lo que todos los potenciómetros de entrada analógica que están en la posición extrema 0R suman aproximadamente 9 mA de corriente desde el cable de 5 V a los cables de entrada analógica.