Jenvisage de créer des gadgets personnalisés pour me connecter au port de jeu sur mon PC rétro-amateur (adaptateur de contrôleur SNES, boîtier macro / turbo, etc.) mais je nai pas pu trouver beaucoup dinformations sur des détails tels que les limites actuelles autorisées.
(Juste cette mention non citée sur les forums DSLReports qui prétend « La tension de fonctionnement standard pour un MIDI / Gameport est de 5 Volts ± 5% et une sortie de courant de 40 mA lorsquil est actif et de 22 mA en veille. »)
Compte tenu de certains des plus sophistiqués numériques joysticks qui ne nécessitent pas d’alimentation externe, je sais qu’il est possible de suspendre une sorte de charge sophistiquée sur les lignes 5V du gameport, mais je ne veux pas parier que le SoundBlaster 16 Jai soigneusement acheté sur eBay il y a quelques années est au moins aussi robuste que nimporte quelle combinaison dadaptateur USB-Gameport toujours en production et de Raspberry Pi que je risque pour les tests de développement.
Du côté de la protection du PC hôte, jespère fi Trouvez une source solide pour des détails tels que:
- Courant de crête de sécurité maximal
- Courant maximal de sécurité soutenu
- Les choses à faire et à ne pas faire avec les joysticks numériques collé à quand des brochages comme celui-ci listent plusieurs lignes dalimentation 5V et spécifient que chaque ligne GND est destinée à un bouton spécifique.
Du côté de la protection du microcontrôleur, est-ce que quelquun a des spécifications sur le courant maximal observé lorsque les boutons sont enfoncés ou que les lignes des axes X et Y sont à lextrémité 0Ω de leur plage?
(Au cas où cest pertinent, jespère utiliser ces cartes STM8S chinoises de moins de 1 $ avec Sduino si les chiffres sont vérifiés. 16MHz devrait suffire à bit-bang les choses et vous ne pouvez pas les « battre » pour la taille ou le prix.)
Une citation qui contient également des informations similaires sur les ports PC et clavier PS / 2 serait appréciée puisque je « Jenvisage également de créer une imitation du Dynapoint GameStar .
Réponse
La documentation de ladaptateur Game Control original dIBM contient quelques détails qui seront utiles. Même si vous utilisez une carte SoundBlaster à la place, elle devrait toujours être compatible avec loriginal IBM.
Bien que la documentation ne spécifie pas les courants maximum pour les broches, elle a un schéma logique:
Il peut être vu que sur le port de jeu dorigine, les entrées de bouton sont envoyées à un tampon 74LS244 (via des résistances de rappel 1Kohm et des condensateurs 51pF). La 74LS244 « s fiche technique spécifie un courant de sortie de bas niveau maximum de 24 mA par broche et un courant de sortie de haut niveau de -15 mA.
Les entrées du potentiomètre (axes) sont alimentées aux entrées de temporisation dun quadruple timer NE558 (via des résistances en ligne de 2,2 kohm et des condensateurs de 0,01 uF). Sa fiche technique ne répertorie pas détails de la charge actuelle sur ces broches dentrée; ils « sont utilisés comme valeurs de synchronisation RC.
Le diagramme IBM montre toutes les terres (et les alimentations 5V) connectées en commun. Je soupçonne que les broches 5V du gameport sont connectées directement à lalimentation 5V du slot ISA; cela pourrait être vérifié pour votre carte avec un test de continuité sur un multimètre. Si tel est le cas, le tirage maximum actuel autorisé pour une carte ISA peut donner des indications supplémentaires.
Réponse
retour dans les jours (x386), jutilisais le port GAME comme ADC pour un scanner maison et dautres matériels dauto-construction. Comme dhabitude pendant le développement, il y a parfois des revers comme un court-circuit, etc. Les ports GAME que jutilisais étaient toujours une carte IDE / ports ISA alimentée par puce GoldStar (ils étaient très courants) et un court-circuit sur les broches analogiques brûlait toujours + Ligne dalimentation 5V sur le PCB (aucune puce na été endommagée à ma connaissance car en contournant le fil brûlé, tout a fonctionné à nouveau) donc il ny a pas de limite de courant évidente autre que la densité de courant des fils de PCB utilisés.
Le les fils dans la journée pouvaient transférer en toute sécurité 0,5 A (ils commencent généralement à brûler au-dessus de 1 A) mais je ne ferais pas une charge supérieure à 100 mA.
Cependant, quand jai regardé la fiche technique du NE558 (le lien est dans le Kaz « s answer) à part le bogue de brochage, voici un circuit équivalent à une seule minuterie:
lintervalle de temps est:
t = R.C
où C = 0.1 uF
et R >= 2K2
. Considérant Vcc = 5V
et selon
Principes de base du transistor la tension de chute du transistorVce = ~0.2V
puis le courant maximal absolu « sûr » pour la sortie de synchronisation (broche analogique GAMEPORT) est:
I = (Vcc-Vce) / R = (5-0.2)/2200 = 2.18 mA tmin = R.C = 2200*0.1/1000000 = 220 us
ce qui semble raisonnable compte tenu de son courant dentrée pour un comparateur.Après une telle analyse Les courants de court-circuit dont je me souviens sont impossibles, donc mon GAMEPORT avait des circuits différents ou des courants passant par différentes broches (peut-être VCC / GND).
Les broches analogiques de Gameport ont une limite de courant 2.18 mA
.
attention, la charge doit être passive car la broche se vide le courant seul donc soit un potentiomètre, soit un transistor NPN (collecteur-> Vcc, émetteur-> GAMEPORT_analog_pin) faisant le même travail.
Cependant, les adaptateurs SB16 et / ou USB peuvent avoir des circuits différents (surtout sils incluent Interface MIDI) mais 2mA est une valeur commune pour les comparateurs et les amplificateurs.
Attention, des courants plus faibles signifient des temps de conversion plus longs, vous devez donc trouver un compromis pour que votre code de lecture dinterrogation nattende pas trop longtemps et ait une résolution suffisante. . par exemple 1 ms
:
t = (Rl+R)*C Rl = (t/C)-R Rl = (0.001/0.1)*1000000-2200 = 7800 ohm
donc si je vois bien si votre charge est 0 .. 7K8
puis th La conversion se terminera par 1 ms
sommets.
En mesurant mon ancien joystick Rockfire, laxe x a 160K à droite, position zéro à gauche et 68K au milieu (havre « t utilisé pendant des siècles afin que la position centrale puisse être décalée) conduisant au temps de conversion maximum t = 16.22 ms
Commentaires
- Le 100mA est pour la sortie NE558, pas pour lentrée de synchronisation qui est à quoi les entrées analogiques du port du joystick sont connectées.
- @Justme You ‘ re right ( +1) Je mennuie de le lire. Après un examen plus approfondi, jai trouvé une limite plus fiable. Jai édité la réponse.
- Je ne ‘ Je ne comprends pas pourquoi vous supposez que Vce est de 0,6 V, ce qui réduit la circulation du courant. Il serait préférable de supposer que Vce du transistor de décharge est nul à ces niveaux de courant et donc plus de courant dans le cas le plus défavorable. Cependant, la différence nest pas grande, étant donné toutes les tolérances, elle devrait toujours être inférieure à 2,5 mA par entrée analogique.
- Jaimerais vraiment pouvoir donner deux réponses acceptées » » coches car votre réponse mise à jour et la réponse de Kaz ‘ ressemblent vraiment aux deux moitiés de la réponse idéale. Cela dit, jai dû le donner à Kaz pour être à la fois le début de la réponse combinée et celui qui a trouvé le schéma logique de ladaptateur IBM dorigine.
- @Spektre Vbe drop serait denviron 0,6V dans transistors. Mais cest la goutte Vce. Si le transistor de décharge est similaire au transistor de sortie, selon la fiche technique du NE558, la chute de Vce serait généralement de 0,1 V à 10 mA, et comme le courant disponible à la broche de synchronisation est inférieur à 3 mA, la tension serait également bien inférieure à 0,1 V.
Réponse
Il ny a pas de spécifications officielles pour la limite actuelle du port de jeu. Certains adaptateurs peuvent avoir des résistances, des billes de ferrite ou des fusibles pour limiter le courant, mais généralement un court-circuit fait toujours frire quelque chose (sauf pour un polyfuse). Je dirais que 100mA est une limite de sécurité dans tous les cas. Ladaptateur dorigine a 1k pull ups sur les boutons, donc pour les quatre boutons simultanément enfoncés, il ajoute jusquà 20mA de courant des fils des boutons au fil de terre. Les entrées analogiques ont 2,2 k en série de sorte que tous les potentiomètres dentrée analogiques étant à la position extrême 0R ajoutent environ 9 mA de courant du fil 5 V aux fils dentrée analogiques.