Estou pensando em construir alguns dispositivos personalizados para se conectar à porta de jogo em meu PC retro-hobby (adaptador de controlador SNES, caixa de macro / turbo, etc.) mas não consegui encontrar muitas informações sobre detalhes, como os limites atuais permitidos.

(Apenas esta menção não citada nos fóruns DSLReports que afirma “A voltagem operacional padrão para um MIDI / porta de jogo é 5 Volts ± 5% e uma saída de corrente de 40mA quando ativo e 22mA quando em standby.”)

Dado alguns dos recursos digitais mais sofisticados joysticks que não requeriam fontes de alimentação externas, eu sei que é possível desligar algum tipo de carga extravagante das linhas de 5V da porta de jogo, mas não quero apostar que o SoundBlaster 16 Eu cuidadosamente obtive o eBay alguns anos atrás e é pelo menos tão robusto quanto qualquer combinação de adaptador USB-Gameport ainda em produção e Raspberry Pi que eu arrisco para teste de desenvolvimento.

Do lado da proteção do PC host, espero que encontre uma fonte sólida para obter detalhes como:

  • Corrente máxima segura de pico
  • Corrente máxima segura sustentada
  • Os DOs e DON “Ts que joysticks digitais preso quando pinagens como esta listam várias linhas de suprimento 5V e especificam que cada linha GND se destina a um botão específico.

Do lado da proteção do microcontrolador, alguém tem alguma especificação da corrente máxima observada quando os botões são pressionados ou as linhas dos eixos X e Y estão na extremidade 0Ω de seu intervalo?

(No caso é relevante, espero usar aquelas placas STM8S chinesas abaixo de $ 1 com Sduino se os números verificarem. 16 MHz deve ser o suficiente para bit-bang coisas e você não pode “bater” em tamanho ou preço.)

Uma citação que também tem informações semelhantes sobre portas de teclado para PC e PS / 2 seria apreciada, já que eu “Também estou pensando em construir uma cópia do Dynapoint GameStar .

Resposta

A documentação do Adaptador de controle de jogos original da IBM contém alguns detalhes que serão úteis. Mesmo que você esteja usando uma placa SoundBlaster, ela ainda deve ser compatível com o original da IBM.

Embora a documentação não especifique as correntes máximas para nenhum pino, ela tem um diagrama lógico:

Diagrama de circuito do adaptador de controle de jogos IBM

Pode ser visto que na porta de jogo original, as entradas de botão são alimentadas a um buffer 74LS244 (via resistores pull-up de 1Kohm e capacitores 51pF). A folha de dados do 74LS244 “s especifica uma corrente de saída de nível baixo máxima de 24 mA por pino e corrente de saída de nível alto de -15 mA.

As entradas do potenciômetro (eixos) são alimentadas para as entradas de temporização de um cronômetro quádruplo NE558 (via resistores 2.2kohm em linha e capacitores de .01uF). Sua folha de dados não lista detalhes para a carga atual nesses pinos de entrada; eles são usados como valores de temporização RC.

O diagrama IBM mostra todos os aterramentos (e fontes de 5 V) conectados em comum. Suspeito que os pinos de 5 V da porta de jogo estão conectados diretamente à fonte de 5 V do slot ISA; isso pode ser verificado para sua placa com um teste de continuidade em um multímetro. Se for este o caso, o empate máximo permitido para um cartão ISA pode fornecer alguma orientação adicional.

Resposta

voltar em os (x386) dias em que usei a porta GAME como um ADC para scanner caseiro e outros HW de construção própria Como é normal durante o desenvolvimento, há contratempos ocasionais, como curto-circuito, etc. As portas GAME que eu estava usando sempre foram IDE / portas ISA alimentadas por chip GoldStar (elas eram muito comuns) e um curto-circuito nos pinos analógicos sempre queimava + Linha de alimentação de 5 V no PCB (nenhum chip foi danificado, eu sei que desviou o fio queimado e funcionou novamente), então não há limite de corrente óbvio além da densidade de corrente dos fios do PCB usados. fios de volta no dia poderiam transferir com segurança 0,5 A (eles geralmente começam a queimar acima de 1 A), mas eu não faria uma carga maior que 100 mA.

No entanto, quando olhei para a folha de dados NE558 (o link está no Kaz “s resposta) além do bug de pinagem, aqui está o circuito equivalente a um único temporizador:

NE558

o intervalo de tempo é:

t = R.C 

onde C = 0.1 uF e R >= 2K2. Considerando Vcc = 5V e de acordo com

Noções básicas do transistor a tensão de queda do transistorVce = ~0.2Ventão a corrente máxima “segura” absoluta para a saída de temporização (pino analógico GAMEPORT) é:

I = (Vcc-Vce) / R = (5-0.2)/2200 = 2.18 mA tmin = R.C = 2200*0.1/1000000 = 220 us 

o que parece razoável considerando a corrente de entrada de um comparador.Após tal análise, as correntes de curto-circuito de que me lembro são impossíveis, então meu GAMEPORT tinha circuitos diferentes ou as correntes passavam por pinos diferentes (talvez VCC / GND).

Os pinos analógicos da porta de jogo têm 2.18 mA limite de corrente.

cuidado, a carga deve ser passiva enquanto o pino drena a corrente por conta própria, então o potenciômetro ou um transistor NPN (coletor-> Vcc, emissor-> GAMEPORT_analog_pin) fazendo o mesmo trabalho.

No entanto, os adaptadores SB16 e / ou USB podem ter circuitos diferentes (especialmente se incluírem Interface MIDI), mas 2mA é um valor comum para comparadores e amplificadores.

Cuidado com correntes mais baixas significam tempos de conversão maiores, então você precisa encontrar um meio-termo para que seu código de leitura de pesquisa não espere muito e tenha resolução suficiente. . por exemplo 1 ms:

t = (Rl+R)*C Rl = (t/C)-R Rl = (0.001/0.1)*1000000-2200 = 7800 ohm 

então, se eu vejo certo se sua carga é 0 .. 7K8 então th A conversão terminará em 1 ms topos.

Medindo meu antigo joystick Rockfire, o eixo x tem 160K posição direita zero à esquerda e 68K no meio (não usei por muito tempo para que a posição central pudesse ser deslocada) levando ao tempo máximo de conversão t = 16.22 ms

Comentários

  • O 100mA é para a saída NE558, não a entrada de temporização, que é a qual as entradas analógicas da porta do joystick estão conectadas.
  • @Justme Você ‘ está certo ( 1) Eu sinto falta de ler. Depois de um exame mais aprofundado, descobri um limite mais confiável. Editei a resposta.
  • Não ‘ não entendo por que você assume que Vce é 0,6 V, o que faz com que menos corrente flua. Seria melhor assumir que Vce do transistor de descarga é zero nesses níveis de corrente e, portanto, mais fluxos de corrente no pior caso. A diferença não é grande, dadas todas as tolerâncias, ainda deve estar abaixo de 2,5 mA por entrada analógica.
  • Eu realmente gostaria de poder dar duas ” resposta aceita ” marcas de seleção porque sua resposta atualizada e a resposta de Kaz ‘ realmente parecem duas metades da resposta ideal. Dito isso, eu tive que dar a Kaz por ser o início da resposta combinada e aquele que encontrou o diagrama lógico para o adaptador IBM original.
  • @Spektre Vbe queda seria de cerca de 0,6 V em transistores. Mas esta é a queda de Vce. Se o transistor de descarga for semelhante ao transistor de saída, de acordo com a folha de dados do NE558, a queda de Vce seria normalmente de 0,1 V na corrente de 10 mA e, como a corrente disponível no pino de temporização está abaixo de 3 mA, a tensão também estaria bem abaixo de 0,1 V

Resposta

Não há especificações oficiais para o limite atual da porta do jogo. Alguns adaptadores podem ter resistores, contas de ferrite ou fusíveis para limitação de corrente, mas geralmente um curto-circuito ainda frita alguma coisa (exceto para um polifusível). Eu diria que 100mA é um limite seguro em qualquer caso. O adaptador original tem 1k pull ups nos botões, então para todos os quatro botões pressionados simultaneamente, adiciona 20mA de corrente dos fios do botão ao fio terra. As entradas analógicas têm 2,2 k em série, de modo que todos os potenciômetros de entrada analógica estando na posição extrema 0R somam cerca de 9mA de corrente do fio de 5 V para os fios de entrada analógica.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *