Jeg overvejer at opbygge nogle brugerdefinerede gizmos til at oprette forbindelse til gameporten på min retro-hobby-pc (SNES-controller-adapter, makro / turboboks osv.) men jeg har ikke været i stand til at finde meget information om detaljer såsom tilladte nuværende grænser.
(Bare denne ikke-citerede omtale på DSLReports-fora der hævder “Standarddriftsspændingen for en MIDI / Gameport er 5 volt ± 5% og en strømudgang på 40 mA når den er aktiv og 22 mA i standby.”)
Givet nogle af de mere avancerede digitale joysticks, der ikke krævede ekstern strømforsyning, jeg ved, det er muligt at hænge noget slags fancy belastning fra gameports 5V linjer, men jeg vil ikke gamble på, at SoundBlaster 16 Jeg hentede omhyggeligt eBay for et par år siden, er mindst lige så robust som den kombination af USB-Gameport-adapter, der stadig er i produktion og Raspberry Pi, som jeg risikerer for udviklingstest.
På siden af at beskytte værts-pc, jeg håber at fi og en solid kilde til detaljer såsom:
- Maksimal sikker spidsstrøm
- Maksimal sikker vedvarende strøm
- DOs og DON “Ts, som digitale joysticks fast ved når pinouts som denne ene viser flere 5V forsyningslinjer og angiver, at hver GND-linje er beregnet til en bestemt knap.
Har nogen nogen specifikationer på den maksimale observerede strøm på siden af beskyttelsen af mikrokontrolleren, når der trykkes på knapperne, eller X- og Y-akselinjerne er i 0Ω slutningen af deres rækkevidde?
(I tilfælde af det er relevant, jeg håber at bruge disse under $ 1 kinesiske STM8S-kort med Sduino , hvis tallene tjekker ud. 16MHz burde være nok til at bit-bang ting, og du kan ikke slå dem for størrelse eller pris.)
Et citat, der også har lignende oplysninger om pc- og PS / 2-tastaturporte, ville være værdsat, da jeg “overvejer også at opbygge et afslag på Dynapoint GameStar .
Svar
dokumentationen til IBMs originale Game Control Adapter har nogle detaljer, der kan bruges. Selvom du i stedet bruger et SoundBlaster-kort, skal det stadig være kompatibelt med IBM-originalen.
Selvom dokumentationen ikke angiver maksimale strømme for alle ben, har den et logisk diagram:
Det kan være set, at knapindgangene på den originale gameport fødes til en 74LS244 buffer (via 1Kohm pull-up modstande og 51pF kondensatorer). 74LS244 “s datablad specificerer en maksimal udgangsstrøm på lavt niveau på 24 mA pr. Ben og udgangsstrøm på højt niveau på -15 mA.
Potentiometerindgangene (akserne) tilføres timingindgangene til en NE558 quad-timer (via inline 2.2kohm-modstande og .01uF-kondensatorer). detaljer for den aktuelle belastning på disse indgangsstifter; de bruges som RC-timingværdier.
IBM-diagrammet viser alle de tilsluttede grunde (og 5V-forsyninger) til fælles. Jeg formoder, at gameports 5V-ben er forbundet direkte til ISA-slotets 5V-forsyning. dette kunne bekræftes for dit kort med en kontinuitetstest på et multimeter. Hvis dette er tilfældet, kan den maksimale strømforbrug, der er tilladt for et ISA-kort, give nogle yderligere vejledning.
Svar
tilbage i de (x386) dage, jeg brugte GAME-porten som en ADC til hjemmelavet scanner og anden selvbygget HW. Da det er sædvanligt under udviklingen, er der lejlighedsvis tilbageslag som kortslutning osv. SPILSPORTERne, jeg brugte, var altid GoldStar-chipdrevne IDE / porte ISA-kort (de var meget almindelige) og en kortslutning på de analoge ben brændte altid op + 5V strømledning på printkortet (ingen chip blev skadet, jeg ved, som ved at omgå den brændte ledning, alt arbejdet igen), så der er ingen åbenbar strømgrænse bortset fra strømtætheden af de anvendte printkortledninger.
ledninger tilbage på dagen kunne sikkert overføre 0,5A (de begynder normalt at brænde over 1A), men jeg ville ikke gøre en belastning større end 100 mA.
Men når jeg kiggede på databladet NE558 (link er i Kaz “s svar) bortset fra pinout-bug er her ækvivalent kredsløb med enkelt timer:
timingintervallet er:
t = R.C
hvor C = 0.1 uF
og R >= 2K2
. Overvejer Vcc = 5V
og ifølge
Transistor basics transistorens dropspændingVce = ~0.2V
så er absolut “sikker” maksimal strøm for Timing output (GAMEPORT analog pin):
I = (Vcc-Vce) / R = (5-0.2)/2200 = 2.18 mA tmin = R.C = 2200*0.1/1000000 = 220 us
som lyder fornuftigt i betragtning af dens indgangsstrøm for en komparator.Efter en sådan analyse Kortslutningsstrømmene, jeg husker, er umulige, så min GAMEPORT havde enten forskellige kredsløb eller strømme hvor gennem forskellige ben (måske VCC / GND).
Gameport analoge ben har 2.18 mA
strømgrænse.
pas på, at belastningen skal være passiv, når stiften løber strømmen alene, så enten potentiometer eller en NPN-transistor (collector-> Vcc, emitter-> GAMEPORT_analog_pin) gør det samme job.
SB16- og eller USB-adaptere kan dog have forskellige kredsløb (især hvis de inkluderer MIDI-interface) men 2mA er almindelig værdi for komparatorer og forstærkere.
Pas på lavere strømme betyder større konverteringstider, så du skal finde et kompromis, så din valglæsningskode ikke venter for længe og har nok opløsning .. f.eks. 1 ms
:
t = (Rl+R)*C Rl = (t/C)-R Rl = (0.001/0.1)*1000000-2200 = 7800 ohm
så hvis jeg ser det rigtigt, hvis din belastning er 0 .. 7K8
derefter th Konvertering slutter med 1 ms
toppe.
Måling af mit gamle Rockfire joystick x-aksen har 160K højre position nul til venstre og 68K i midten (haven “t brugte den i årevis, så centerpositionen kunne forskydes), hvilket førte til maksimal konverteringstid t = 16.22 ms
Kommentarer
- 100mA er til NE558-udgangen, ikke timingindgang, hvilket er det, joystickportens analoge indgange er tilsluttet.
- @Justme Du ‘ har ret ( +1) Jeg savner at læse den. Efter mere dybtgående undersøgelse fandt jeg en mere pålidelig grænse. Har redigeret svaret.
- Jeg forstår ‘ Jeg forstår ikke, hvorfor du antager, at Vce er 0.6V, hvilket får mindre strøm til at strømme. Det ville være bedre at antage, at Vce af afladningstransistoren er nul ved disse nuværende niveauer og dermed mere værste tilfælde strømme. Forskellen er dog ikke meget, i betragtning af alle tolerancer skal den stadig være under 2,5 mA pr. Analog indgang.
- Jeg ville virkelig ønske, at jeg kunne give to ” accepterede svar ” markeringer, fordi dit opdaterede svar og Kaz ‘ s svar virkelig føles som to halvdele af det ideelle svar. Når det er sagt, måtte jeg give det til Kaz for at være både starten på det kombinerede svar og den der fandt logikdiagrammet til den originale IBM-adapter.
- @Spektre Vbe drop ville være ca. 0,6V transistorer. Men dette er Vce drop. Hvis afladningstransistoren svarer til udgangstransistoren, som beskrevet i NE558-databladet, ville Vce-fald være typisk 0,1 V ved 10 mA strøm, og da den tilgængelige strøm ved timing-pin er under 3 mA, ville spændingen også være godt under 0,1 V.
Svar
Der er ingen officielle specifikationer for den nuværende grænse for spilport. Nogle adaptere kan have modstande, ferritperler eller sikringer til strømbegrænsning, men som regel fryser en kortslutning stadig noget (undtagen en polyfuse). Jeg vil sige, at 100mA under alle omstændigheder er en sikker grænse. Den originale adapter har 1k pull ups på knapper, så for alle fire knapper, der trykkes samtidigt, tilføjer den op til 20mA strøm fra knappekabler til jordledning. De analoge indgange har 2,2 k i serie, så alle analoge inputpotter, der er i 0R ekstrem position, tilføjer op til ca. 9mA strøm fra 5V ledning til analoge indgangsledninger.