Jeg vurderer å bygge noen egendefinerte gizmos for å koble til spillporten på min retro-hobby-PC (SNES-kontrolleradapter, makro / turbokasse osv.) men jeg har ikke vært i stand til å finne mye informasjon om detaljer som tillatte gjeldende grenser.
(Bare denne ikke siterte omtale på DSLReports-forumene som hevder «Standard driftsspenning for en MIDI / Gameport er 5 volt ± 5% og en strømutgang på 40mA når den er aktiv og 22mA når den er i standby.»)
Gitt noen av de mer avanserte digitale joysticks som ikke krevde eksterne strømforsyninger, jeg vet at det er mulig å henge noe slags fancy belastning av spillportens 5V-linjer, men jeg vil ikke gamble på at SoundBlaster 16 Jeg hentet eBay nøye for noen år siden, er minst like robust som den kombinasjonen av USB-Gameport-adapter som fortsatt er i produksjon og Raspberry Pi som jeg risikerer for utviklingstesting.
På siden av å beskytte verts-PC, jeg håper å fi og en solid kilde for detaljer som:
- Maksimal sikker toppstrøm
- Maksimal sikker vedvarende strøm
- DOs og DON «Ts som digitale styrespaker holder fast ved når pinouts som denne viser flere 5V forsyningslinjer og spesifiserer at hver GND-linje er ment for en bestemt knapp.
På siden av beskyttelsen av mikrokontrolleren, er det noen som har spesifikasjoner for maksimal observert strøm når knappene trykkes eller X- og Y-akselinjene er i 0Ω slutten av deres område?
(I tilfelle det er relevant, jeg håper å bruke disse under- $ 1 kinesiske STM8S-kortene med Sduino hvis tallene sjekker ut. 16MHz bør være nok til å slå litt på ting, og du kan ikke slå dem for størrelse eller pris.)
En sitering som også har lignende informasjon om PC- og PS / 2-tastaturporter, vil være verdsatt siden jeg «Jeg vurderer også å bygge et avslag på Dynapoint GameStar .
Svar
dokumentasjonen for IBMs originale Game Control Adapter har noen detaljer som vil være til nytte. Selv om du bruker et SoundBlaster-kort i stedet, bør det fortsatt være kompatibelt med IBM-originalen.
Selv om dokumentasjonen ikke angir maksimale strømmer for alle pinner, har den et logisk diagram:
Det kan være sett at på den originale spillporten blir knappinngangene matet til en 74LS244 buffer (via 1Kohm pull-up motstander og 51pF kondensatorer). 74LS244 «s datablad angir en maksimal utgangsstrøm på lavt nivå på 24 mA per pin, og utgangsstrøm på høyt nivå på -15 mA.
Potensiometerinngangene (aksene) blir matet til tidsinngangene til en NE558 quad-timer (via innebygde 2.2kohm motstander og .01uF kondensatorer). datablad viser ingen detaljer for gjeldende belastning på disse inngangspinnene; de brukes som RC-tidsverdier.
IBM-diagrammet viser alle grunner (og 5V-rekvisita) som er koblet til felles. Jeg mistenker at spillportens 5V-pinner er koblet direkte til ISA-sporets 5V-forsyning; dette kan verifiseres for kortet ditt med en kontinuitetstest på et multimeter. Hvis dette er tilfelle, kan den maksimale strømtrekkingen som er tillatt for et ISA-kort, gi ytterligere veiledning.
Svar
tilbake i de (x386) dagene jeg brukte GAME-porten som ADC for hjemmelaget skanner og annen egenbygget HW. Som det er vanlig under utviklingen, er det sporadisk tilbakeslag som kortslutning osv. SPILLPORTENE jeg brukte var alltid GoldStar-chipdrevne IDE / porter ISA-kort (de var veldig vanlige) og en kortslutning på de analoge pinnene brenner alltid opp + 5V kraftledning på kretskortet (ingen chip ble skadet jeg vet om som ved å omgå den brente ledningen, alt arbeidet igjen), så det er ingen åpenbar strømgrense annet enn strømtettheten til kretskortene som brukes.
ledninger tilbake på dagen kunne trygt overføre 0.5A (de begynner vanligvis å brenne over 1A), men jeg ville ikke gjøre en belastning større enn 100mA.
Men når jeg så på databladet NE558 (lenken er i Kaz «s svar) bortsett fra pinout-feilen her er ekvivalent krets for enkelt timer:
tidsintervallet er:
t = R.C
der C = 0.1 uF
og R >= 2K2
. Tatt i betraktning Vcc = 5V
og i henhold til
Transistor grunnleggende transistorens fallspenningVce = ~0.2V
så absolutt «sikker» maksimal strøm for Timing output (GAMEPORT analog pin) er:
I = (Vcc-Vce) / R = (5-0.2)/2200 = 2.18 mA tmin = R.C = 2200*0.1/1000000 = 220 us
som høres rimelig ut ifra inngangsstrømmen til en komparator.Etter en slik analyse Kortslutningsstrømmene jeg husker er umulige, så GAMEPORT hadde enten forskjellige kretsløp eller strømmen der gjennom forskjellige pinner (kanskje VCC / GND).
Gameport analoge pinner har 2.18 mA
strømgrense.
pass på at belastningen skal være passiv når pinnen tømmes strømmen alene, slik at enten potensiometer eller en NPN-transistor (samler-> Vcc, emitter-> GAMEPORT_analog_pin) gjør den samme jobben.
SB16- og eller USB-adaptere kan imidlertid ha forskjellige kretser (spesielt hvis de inkluderer MIDI-grensesnitt), men 2mA er vanlig verdi for komparatorer og forsterkere.
Pass på at lavere strømmer betyr større konverteringstider, så du må finne et kompromiss slik at valglestekoden din ikke venter for lenge og har nok oppløsning .. . for eksempel 1 ms
:
t = (Rl+R)*C Rl = (t/C)-R Rl = (0.001/0.1)*1000000-2200 = 7800 ohm
så hvis jeg ser det riktig hvis belastningen din er 0 .. 7K8
deretter th Konverteringen slutter med 1 ms
topper.
Måling av min gamle Rockfire-joystick x-aksen har 160K høyre posisjon null til venstre og 68K i midten (har ikke t brukte det i mange aldre, slik at midtposisjonen kunne bli forskjøvet) og førte til maksimal konverteringstid t = 16.22 ms
Kommentarer
- 100mA er for NE558-utgangen, ikke timinginngang som er det joystickporten analoge innganger er koblet til.
- @Justme Du ‘ har rett ( +1) Jeg savner å lese den. Etter litt mer grundig undersøkelse fant jeg mer pålitelig grense. Har redigert svaret.
- Jeg forstår ikke ‘ t forstår hvorfor du antar at Vce er 0.6V som får mindre strøm til å strømme. Det ville være bedre å anta at Vce av utladningstransistoren er null på disse nåværende nivåene og dermed mer verste tilfelle strømmer. Forskjellen er imidlertid ikke mye, med tanke på alle toleranser bør den fortsatt være under 2,5 mA per analog inngang.
- Jeg skulle ønske jeg kunne gi ut to » akseptert svar » hakemerker fordi det oppdaterte svaret og Kaz ‘ sitt svar virkelig føles som to halvdeler av det ideelle svaret. Når det er sagt, måtte jeg gi det til Kaz for å være både starten på det kombinerte svaret og den som fant logikkdiagrammet for den originale IBM-adapteren.
- @Spektre Vbe drop ville være omtrent 0,6V i transistorer. Men dette er Vce drop. Hvis utslippstransistoren er lik utgangstransistoren, i henhold til NE558-databladet, vil Vce-fall være typisk 0,1V ved 10mA strøm, og siden den tilgjengelige strømmen ved timingpinnen er under 3mA, vil spenningen også være godt under 0,1V.
Svar
Det er ingen offisielle spesifikasjoner for spillportens nåværende grense. Noen adaptere kan ha motstander, ferritperler eller sikringer for strømbegrensning, men vanligvis steker en kortslutning fremdeles noe (bortsett fra en polyfuse). Jeg vil si at 100mA i alle fall er en sikker grense. Den originale adapteren har 1k pull ups på knapper, så for alle fire knappene som trykkes samtidig, gir den opptil 20mA strøm fra knappekabler til jordledning. De analoge inngangene har 2,2 k i serie, slik at alle analoge inngangspotter er i 0R ekstrem posisjon, legger opp til omtrent 9mA strøm fra 5V ledning til analoge inngangsledninger.