Jag överväger att bygga några anpassade gizmos för att ansluta till spelporten på min retro-hobby-dator (SNES-kontrolladapter, makro / turbokassa, etc.) men jag har inte kunnat hitta mycket information om detaljer som tillåtna aktuella gränser.

(Bara detta ociterade omnämnande på DSLReports-forumet som hävdar ”Standardspänningen för en MIDI / Gameport är 5 volt ± 5% och en strömutgång på 40 mA när den är aktiv och 22 mA när den är i beredskapsläge.”)

Med tanke på några av de mer avancerade digitala joysticks som inte krävde externa strömförsörjningar, jag vet att det är möjligt att hänga någon typ av snygg belastning från spelportens 5V-linjer, men jag vill inte spela att SoundBlaster 16 Jag hämtade noggrant ut eBay för några år sedan är minst lika robust som vilken kombination av USB-Gameport-adapter som fortfarande är i produktion och Raspberry Pi som jag riskerar för utvecklingstest.

På sidan av att skydda värd-dator, jag hoppas kunna fi och en solid källa för detaljer som:

  • Maximal säker toppström
  • Maximal säker hållbar ström
  • DOs och DON ”Ts som digitala joysticks fast vid när pinouts som den här listar flera 5V-försörjningslinjer och anger att varje GND-rad är avsedd för en specifik knapp.

På sidan av att skydda mikrokontrollern, har någon några specifikationer för maximal observerad ström när knapparna trycks ned eller X- och Y-axellinjerna ligger vid 0Ω-slutet av sitt intervall?

(Om det är relevant, jag hoppas kunna använda dessa under- $ 1 kinesiska STM8S-kort med Sduino om siffrorna checkar ut. 16MHz borde vara tillräckligt för att få lite saker och du kan inte slå dem för storlek eller pris.)

En citat som också har liknande information om PC- och PS / 2-tangentbordets portar skulle uppskattas eftersom jag ”Jag överväger också att bygga en avstängning av Dynapoint GameStar .

Svar

-dokumentationen för IBM: s original Game Control Adapter har några detaljer som kommer att användas. Även om du istället använder ett SoundBlaster-kort bör det fortfarande vara kompatibelt med IBM-originalet.

Även om dokumentationen inte anger maximala strömmar för alla stift, har det ett logiskt diagram:

Kretsschema för IBM Game Control Adapter

Det kan vara sett att på den ursprungliga spelporten matas knappingångarna till en 74LS244 buffert (via 1Kohm pull-up motstånd och 51pF kondensatorer). 74LS244 ”datablad anger en maximal lågnivåutgångsström på 24 mA per stift och högnivåutgångsström på -15 mA.

Ingångarna för potentiometern (axlarna) matas till tidsingångarna för en NE558 fyrtimer (via inbyggda 2.2kohm-motstånd och .01uF-kondensatorer). datablad innehåller inga information om den aktuella belastningen på dessa ingångsstift; de används som RC-tidsvärden.

IBM-diagrammet visar alla anslutna jord (och 5V-förbrukningar) gemensamt. Jag misstänker att spelportens 5V-stift är anslutna direkt till ISA-kortets 5V-strömförsörjning; detta kan verifieras för ditt kort med ett kontinuitetstest på en multimeter. Om så är fallet kan den maximala strömförbrukningen som tillåts för ett ISA-kort ge ytterligare vägledning.

Svar

tillbaka i (x386) dagarna använde jag GAME-porten som en ADC för hemgjord skanner och annan egenbyggd HW. Som det är vanligt under utvecklingen finns det enstaka tillbakagång som kortslutning etc. SPELPORTERNA jag använde var alltid GoldStar-chip-drivna IDE / portar ISA-kort (de var mycket vanliga) och en kortslutning på de analoga stiften brinner alltid upp + 5V kraftledning på kretskortet (inget chip skadades känner jag till som genom att kringgå den brända ledningen, allt fungerade igen) så det finns ingen uppenbar strömgräns förutom strömtätheten hos de använda kretskortledningarna.

ledningar tillbaka på dagen kunde säkert överföra 0,5A (de börjar vanligtvis brinna över 1A) men jag skulle inte göra en belastning större än 100 mA.

Men när jag tittade på databladet NE558 (länken finns i Kaz ”s svar) bortsett från pinout-buggen här är ekvivalent krets av enstaka timer:

NE558

tidsintervallet är:

t = R.C 

där C = 0.1 uF och R >= 2K2. Med tanke på Vcc = 5V och enligt

Grundläggande transistor transistorns fallspänningVce = ~0.2Vär absolut ”säker” maximal ström för Timing-utgång (GAMEPORT analog pin):

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

som låter rimligt med tanke på dess ingångsström för en komparator.Efter en sådan analys Kortslutningsströmmarna som jag minns är omöjliga, så min GAMEPORT hade antingen olika kretsar eller strömmarna var genom olika stift (kanske VCC / GND).

Gameport analoga stift har 2.18 mA strömgräns.

se upp för belastningen bör vara passiv när stiften töms strömmen ensam så antingen Potentiometer eller en NPN-transistor (samlare-> Vcc, sändare-> GAMEPORT_analog_pin) gör samma jobb.

SB16- och eller USB-adaptrar kan dock ha olika kretsar (speciellt om de innehåller MIDI-gränssnitt) men 2mA är vanligt värde för komparatorer och förstärkare.

Akta dig för lägre strömmar betyder större omvandlingstider så du måste hitta en kompromiss så att din avläsningskod inte väntar för länge och har tillräcklig upplösning till exempel 1 ms:

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

så om jag ser det rätt om din belastning är 0 .. 7K8 sedan th Omvandlingen kommer att sluta med 1 ms toppar.

Mätning av min gamla Rockfire-joystick x-axeln har 160K höger position noll till vänster och 68K i mitten (haven ”t använde den i åldrar så att mittpositionen kan flyttas) vilket leder till maximal omvandlingstid t = 16.22 ms

Kommentarer

  • 100mA är för NE558-utgången, inte timingingång vilket är vad joystickportens analoga ingångar är anslutna till.
  • @Justme Du ’ är rätt ( +1) Jag saknar att läsa den. Efter en mer djupgående granskning fann jag mer tillförlitlig gräns. Har redigerat svaret.
  • Jag förstår inte ’ varför du antar att Vce är 0,6V vilket får mindre ström att strömma. Det vore bättre att anta att Vce för urladdningstransistorn är noll vid dessa strömnivåer och därmed mer värsta fall strömflöden. Skillnaden är dock inte mycket, med tanke på alla toleranser bör den fortfarande vara under 2,5 mA per analog ingång.
  • Jag önskar verkligen att jag kunde ge ut två ” accepterat svar ” bockar eftersom ditt uppdaterade svar och Kaz ’ svar verkligen känns som två halvor av det perfekta svaret. Som sagt, jag var tvungen att ge den till Kaz för att vara både början på det kombinerade svaret och den som hittade logikdiagrammet för den ursprungliga IBM-adaptern.
  • @Spektre Vbe-droppe skulle vara cirka 0,6V in transistorer. Men det här är Vce drop. Om urladdningstransistorn liknar utgångstransistorn, enligt NE558-databladet, skulle Vce-fallet typiskt vara 0,1V vid 10mA ström, och eftersom den tillgängliga strömmen vid tidpunkten är under 3mA, skulle spänningen också vara långt under 0,1V.

Svar

Det finns inga officiella specifikationer för spelportens nuvarande gräns. Vissa adaptrar kan ha motstånd, ferritpärlor eller säkringar för strömbegränsning, men vanligtvis steker en kortslutning fortfarande något (förutom en polysäkring). Jag skulle säga att 100mA är en säker gräns under alla omständigheter. Originaladaptern har 1k pull-ups på knappar, så för alla fyra knapparna som samtidigt trycks, lägger den till 20mA ström från knappkablar till jordledning. De analoga ingångarna har 2,2 k i serie så att alla analoga ingångspottar befinner sig vid 0R extremposition lägger till cirka 9mA ström från 5V-ledning till analoga ingångsledningar.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *