Você está na página 1de 3

AinterfacedeumPS2(PlayStation2)controlador

Intro:HtodosostiposdeguiasqueexplicamcomoainterfacedeumcontroladorPS2jestl
fora.Oobjetivoaquiparaconsolidarasinformaesetornloomaisrpidopossvelparase
levantarecorrer.Porfavor,informenossobreoserros!
Atualizao:Confiraabibliotecaps2arduinoqueBillPorterajudoupolons.
Contedo:

Hardwareconexesinterface/Fiao
Protocolodesoftware
LowLevel:comobytesindividuaissotransferidos
altonvel:descriesdepacotes/protocolo
MapeamentosbotoparaPS2DualShockcontroladorecontroladordeGuitarHero.
Comandocompletalistagemeexplicaes.
Exemplodecomandosnecessriolertodososjoysticksanalgicos(epresses)emotoresde
controle
GravadoCommandandResponseentreorealcontroladorPlayStationeduranteoprimeiro
conectar
ProjetosMPLAB(cdigoc)paraPIC18F4550paracontrolarumPS2.Vocvaiprecisardeum
programador(PICKIT2)ewww.microchip.com'sIDElivre,MPLAB.

Hardwareconexesinterface/Fiao:

CoresdosfioseFuncionalidade:Existem9fios,6fiossonecessrios,nomnimo,para
conversarcomocontrolador:(relgio,dados,comando,poder&cho,ateno).Paraoperar
motoresdevibrao,motor_powertambmnecessrio.
1. BrownDados:Controller>PlayStation.Estaumasadadecoletorabertoerequerumresistorpull
up(1a10k,talvezmais).(Aresistordepullupnecessriaporqueocontroladorspodeconecteesta
linhaaocho,nopoderealmentecolocartensonalinha).
2. OrangeComando:PlayStation>Controller.
3. GreyVibraoMotorsPotncia:69v?Comnenhumcontroladorligado,estameausurescercade
7.9V,comumcontrolador,7.6V,amaioriadossitesdizemqueeste9V(excetoplaystation.txt>7.6V),
emboraaindairconduzirosmotoresparabaixoemtornode4V,emboraumpoucomaislento.Quando
osmotoressoacopladosemprimeirolugar,quase500mAdesenhadasobreestalinha,enoestado
deplenapotnciaconstante,~300mAdesenhado.
4. BlackCho
5. RedPower:Muitossitesrotularistocomo5V,eenquantoissopodeserverdadepara1controladores
PlayStation,encontramosvriasmarcassemfioquesiriatrabalharem3.3V.Cadacontroladortestado
trabalhouem3.3V,eatensorealmedidoemumPlaystationvivofalandoparaumcontroladorfoi
3.4V.McCubbindizquequalquercontroladoroficialdaSonydevetrabalharapartirde35V.Amaioria
dossitesdizemquehumfusvel750mAparaambososcontroladoresecartesdememria,embora
estespodeaplicarseaPS1desde4controladoresDualShockpoderiaexcederfacilmente.
6. AmareloAteno:Estalinhadeveserpuxadoparabaixoantesdecadagrupodebytesenviado/
recebido,emseguida,definaaltonovamentedepois.Emnossostestes,nofoisuficienteparaamarrar
estepermanentementebaixoquetevedeserconduzidoparabaixoeparacimaemtornodecada
set.Digitanconsideraesteum"ChipSelect"linhaou"SlaveSelect"queusadoparatratardiferentes
controladoresemomesmonibus.
7. BlueRelgio:500kH/z,normalmenteemalta.AcomunicaopareceserSPInibus.Nschegoua
funcionardemenosde100kHzatravs500kHz(500kbits/segundo,semcontarcomatrasosentrebytes
epacotes).Quandoocontroladorguitarheroestligado,avelocidadedeclock250kHz,quetambm
ataxadePlayStation1usos.
8. WhiteDesconhecido
9. GreenReconhea:Issonormalmentealtalinhacaibaixosobre12USapscadabyteparametadede
umciclodeclock,masnoapsoltimobitemumconjunto.Estaumasadadecoletorabertoe
requerumresistordepullup(1a10k,talvezmais).Playstation.txtdizqueoPlayStationvaiconsideraro
controladoremfaltaseosinalack(>2us)novemdentrode100us.

BaixoNvelComoBytesepacotessotransferidos:
Aestaodejogoenviaumbyteaomesmotempomedidaquerecebeum(fullduplex)via
serial.AsimagensseguintesmostramsinaisreaisentreumcontroladordePlayStationeguitar
heroconfiguradonomodoanalgico(barwammyenviadevoltavalorde7bits(0x7f0x00)).

Orelgioesterguidaatqueumbyteparaserenviado.Emseguida,elecaibaixo(baixoativo)
parainiciar8cylcesduranteoqualosdadossoenviadoserecebidossimultaneamente.Quando
oclockcaibaixo,osvaloresnalinhacomearamudar.Quandoorelgiovaidebaixoaalto,
valorsorealmenteler.BytessotransferidosLSB(bitmenossignificativo)emprimeirolugar,de
modoqueosbitsnaesquerda(anteriornotempo)somenossignificativas.

mbitotirosquemostramaslinhasreconhecemeateno.

Dealtonvel:Packetestrutura,ComandoeSignificadosdedados:
GrandepartedestaseoprovenientededeDowtyconsolidaoehomefermentaosniffer
portoeemulador.
Ospacotestmumcabealhodetrsbytesseguidoporumperodoadicionalde2,6ou18bytes
dedadosdecomandoecontroladoresadicionais(comoestadosdeboto,comandosmotoresde
vibrao,aspressesdosbotes,etc.).

Umexemploquetrocardeumcontroladordedualshockquandopela
primeiravezligado:
Defaultscontroladorparaomododigitalestransmiteo/offstatusemumdosbotesno4e5
byte.Nohrecursosdedadosdojoystick,pressooudecontroledevibrao.

(nenhumbotopressionado)
byte#
1
2
3
4
5
Comando 0x01 0x42 0x00 0x00 0x00
Dados
0xFF 0x41 0x5A 0xFF 0xFF

Explicao:
Cabealho:(sempreosprimeirostrsbytes)

Interesses relacionados