| View previous topic :: View next topic |
| Author |
Message |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Wed Jan 26, 2005 7:28 pm Post subject: PSP remote control pinout? |
|
|
| I was thinking on building a small pcb that permits to hear the PSP in any FM receiver (your car radio or your hi-fi home system), but I've got no idea if the remote control connector (the 6 pin flat one) has any signal of power (+3'3 or something similar). Any idea? |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Wed Jan 26, 2005 9:00 pm Post subject: |
|
|
I don't remember exactly how it was an audio signal to headphones, but could it be possible to extract power from that?
I just ask if someone knows it... :P |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Thu Jan 27, 2005 1:06 am Post subject: |
|
|
Yes. The remote control contains a microcontroller of some sort (can't tell exactly which sort as it's covered in black plastic, as per tradition :), so one of the pins will definitely be a power feed to drive it. Don't know exactly which one though. I started investigating the remote control port, putting the results on http://mc.pp.se/psp/phones.xhtml, but I didn't have time to finish it at the time. If you want to help out with the measurements, you're welcome. Signal ground can be found on the normal headphone connector, to get a good reference point. _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Thu Jan 27, 2005 7:16 am Post subject: |
|
|
| For sure I will make some tests... |
|
| Back to top |
|
 |
cj
Joined: 26 Jan 2005 Posts: 7
|
Posted: Thu Jan 27, 2005 9:26 am Post subject: |
|
|
well I ripped mine open earlier today, took some pic's (they are bad, but gives you a jist of whats up.
8 wires inside, 2 for the audio, 6 for the buttons, which looks like all 6 may be used (dunno), just 6 buttosn = 6 wires + one of the audio ones for a ground would make it work, + theres a small chip inside, but its covered with a small heatsink (in a way)
www.cjpcweb.com/psp/r1.JPG
www.cjpcweb.com/psp/r2.JPG
www.cjpcweb.com/psp/r3.JPG
www.cjpcweb.com/psp/r4.JPG
(yeah there bad but MEH)..and if you take your's apart, be careful the buttons tend to "fall" out |
|
| Back to top |
|
 |
Cogboy
Joined: 19 Jan 2005 Posts: 45
|
Posted: Thu Jan 27, 2005 6:33 pm Post subject: |
|
|
have you tried just testing the terminals for a constant voltage?
and if you can get some photos that are in focus that would help. it doesn't matter if they aren't as big, they just have to be clear.
I don't get why they would need 6 wires for a simple remote like this anyway? |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 1:22 am Post subject: |
|
|
Finally hi opened my controller and those are the results;
looking the conector from the front of the psp I numbered the pins like that;
1 2 3
- - -
O
- - -
4 5 6
And the jack ones are 7, 8 and 9 (7 is the contact in the end, 8 the middle and 9 the bigger, usually gnd).
They correspond to wires colours;
1 - BROWN
2 - BLUE
3 - ORANGE
4 - GREEN
5 - YELLOW
6 - GREY
7 - PINK
8 - RED
9 - BLACK
Testing those cables with the controller plugged there are some interesting things;
1,2 - are tyed to GND
3 - seems some kind of serial interface controlled by PSP asking for some information at some rate (some kind of SCL in I2C).
4,5 - are tyed to 2'5V, they seem comunication lines, they canot give power, 4 is managed by PSP and 5 by the external controller (when you unplug this 4 keeps it's state but 5 changes to GND)
6 - seems the corresponding data pin from the serial comunication, when you press something the serial signal changes (some kind of SDA in I2C).
7 - Audio channel signal PLUS 600mV DC (I guess this is the power output for external devices).
8 - Audio channel with no DC value.
9 - GND
That's all, when I've got time I will try to decouple the DC value for feeding some electronics. Have fun! |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Fri Jan 28, 2005 2:43 am Post subject: |
|
|
Nice. Did you look at pin 3 and 6 in an oscilloscope? I do have access to an oscilloscope myself, but I did not want to splice up my cable. :-)
I'm a little sceptical to the idea that the remote is phantom fed through the left channel; if for no other reason 0.6 V seems a somewhat low voltage. Could not the DC offset be related to ProLogic surround or something?
And why do you say that pin 4 can not give power? Did you measure the current when the remote was plugged in? _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 3:23 am Post subject: |
|
|
Yes, I did use an oscil.loscope to look at all the signals, and while most where fixed I saw those variations in pins 3 and 6 suposed to be due to data comunication, and since 3 is periodically changing I supose It was PSP asking for something, while the other is the response (it changes when you press something). It's not necessary to slice your cable, you can just open the box with the buttons (that's what I did).
I not measured the current, but I put a led with a resistor between pin 1 and 4 (1.7V led with 100 Ohms, suposed to draw just 8 mA and the output did not suported that, I have tryed also a 1k resistor for lower load, but the output still goes to a value near zero, so it seems a pull-up or something similar).
I agree 0'6V seems quite a small signal... but it's ALWAYS fixed. I don't know much about audio signals, but it's very strange to me, and there are step up converters that may work at that voltage, and it's the only way I see to power the device... by the moment. |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 5:45 am Post subject: |
|
|
| Ok, let's try the easy way... If you desolder yellow cable the remote controll does not work, so power may come from that line. I guess that if the chip says nothing when the PSP asks, the output power is disabled... |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 7:29 am Post subject: |
|
|
| Ok... don't trust very much what I've said... It seems that SCE likes to do things the "hard way"... someting as simple as powering devices become very complicated. What I've stated by now is that when you connect the jack, starts a round of qüestions/answers; the psp brings power up form pin 4, it looks if pin 5 is up (I must check that) and if it's up it asks something, if PSP does not see pin 5 up it does nothing, just stop power. If the answer to the question is not good the psp lows ping 4 and retries 2 times. Quite difficult, don't you think so?? I want to make some more tests but I need to build hardware (something like a pic12f629 atached to the psp) and that would need some time... |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Fri Jan 28, 2005 8:34 am Post subject: |
|
|
It seems like pin 5 is an indicator that the device is connected, yes. So the PSP will power down the device if it doesn't answer to the communication, even if pin 5 is still active? Maybe it's intended as a way to reset the device if it gets into some kind of weird state...
I'll have to check out these data/clock signals for myself to see if they're really I2C or something else, I suppose I'll just attach the probes inside the remote as you suggested. _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Fri Jan 28, 2005 8:38 am Post subject: |
|
|
| Ihsan wrote: | | I not measured the current, but I put a led with a resistor between pin 1 and 4 (1.7V led with 100 Ohms, suposed to draw just 8 mA and the output did not suported that, I have tryed also a 1k resistor for lower load, but the output still goes to a value near zero, so it seems a pull-up or something similar). |
Well, it could also be the case of a pull-down on pin 1. We don't know that pin 1 is a proper ground sink, so using it as such might be dubious. Try using the audio ground instead? _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 8:43 am Post subject: |
|
|
| It's not a standard I2C, it's a very strange protocol, the PSP first downs one pin for a long time, then the controller responds doing the same, and later the PSP asks for something (some kind of frame) and the controller responds with four bits (if you don't press anything). So it seems a one line protocol with fixed baud rate... |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 8:50 am Post subject: |
|
|
| I already tryed audio ground, but It's not conected with digital ground in the controller. It works equally, but I think blue(I don't remember exactly) cable is the proper gnd (at least the one used in the small pcb). |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 8:35 pm Post subject: |
|
|
| If you want you can download a document I've been writting summing up all those things... it's available here; http://www.comerma.net/PSP/ I'm still working on it. Let's hope today I've got time to make some oscil.loscope captures... |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Fri Jan 28, 2005 9:52 pm Post subject: |
|
|
I have uploaded a pair of osciloscope captures, images, and raw-data, the first (TEK000) corresponds to the startup process, when you plug the remote controller what happens. The second one is the periodically interrogation that does the PSP. The probes conections are;
BLUE-GND
YELLOW - CH1
ORANGE - CH2
GREY - CH3
GREEN - CH4 |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Sat Jan 29, 2005 12:08 am Post subject: |
|
|
Yes, you're right. This looks like RS232, ~4800bps, 8N1 to me. _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
pukko
Joined: 17 Jan 2004 Posts: 17
|
Posted: Sat Jan 29, 2005 1:38 am Post subject: |
|
|
| Have you guys checked the data interface Sony uses for its Minidisc & CD remotes? I'd be surprised if they made up a completly new interface/protocol just for the PSP (feel free to prove me wrong ;). |
|
| Back to top |
|
 |
Victor
Joined: 26 Jan 2005 Posts: 15
|
Posted: Sat Jan 29, 2005 2:09 am Post subject: |
|
|
psp remote like somy plam clie remote , it a another interface.
hehe, or soon sony make like this....:
 |
|
| Back to top |
|
 |
ooPo Site Admin
Joined: 17 Jan 2004 Posts: 2032 Location: Canada
|
Posted: Sat Jan 29, 2005 2:38 am Post subject: |
|
|
| This sounds like the type of serial connector a GPS unit would use. |
|
| Back to top |
|
 |
Victor
Joined: 26 Jan 2005 Posts: 15
|
Posted: Sat Jan 29, 2005 3:10 am Post subject: |
|
|
| if a serial that is cool. sony must use that port to open psp service menu. |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Sat Jan 29, 2005 5:32 am Post subject: |
|
|
Ok, I've now done some scoping of my own.
First of all, I now agree that blue (pin 2) is digital ground. It is directly connected to various ground planes on the PCB, as well as to the cases of the volume control switches (a great place to attach a crocodile clamp for grounding the probes, btw :).
I suspect that it's pin 6 which is used by the PSP to send, and pin 3 which is used by the remote though. The reason being that when I pressed a button on the remote, I noticed a change in the pattern on pin 3, but not on pin 6.
What I see happening after the remote has been connected and when no buttons are pressed, is that an exchange takes place once a second. Assuming the RS232 protocol and 4800bps 8N1 (which it really seems to be, all the waveforms I have seen have the correct framing), it looks like this every other time:
Pin 3: 0xf0 (this corresponds to a 1ms pulse of low signal)
Pin 6: 0xf0
Pin 3: 0xfd 0x02 0x00 0x02 0xfe
Pin 6: 0xfa
and every other time it's like this:
Pin 3: 0xf0 (this corresponds to a 1ms pulse of low signal)
Pin 6: 0xf0
Pin 3: 0xfd 0x03 0x00 0x03 0xfe
Pin 6: 0xfb
i.e. the 0x02:s have changed to 0x03, and the final 0xfa on pin 6 to 0xfb. This final byte might be some kind of checksum to acknowledge that the message has been correctly received.
Now, if I press the rewind button, the sequence
Pin 3: 0xf0
Pin 6: ?
Pin 3: 0xfb 0xf0
Pin 6: ?
is is inserted between the regular exchanges. I only had one channel connected and I was running out of time, so I don't have the responses on pin 6 (hence "?"), neither did I try any other buttons at the time.
The plot thickens... :-) _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Sat Jan 29, 2005 5:48 am Post subject: |
|
|
I have updated my webpage with some of the new information.
It just occured to me that pin 4 and 5 might be CTS and RTS, since we're dealing with RS232 here. The levels seem inverted though. _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Sat Jan 29, 2005 6:00 am Post subject: |
|
|
Yes, I also think the same, but still have no idea where power comes from, perhaps the RTS signal?
P.D.; what's your webpage? |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Sat Jan 29, 2005 6:02 am Post subject: |
|
|
| Sorry, I meant CTS... |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Sat Jan 29, 2005 6:12 am Post subject: |
|
|
The URL is posted further up in this thread. :-)
Well, the one pin we have left as a candidate for power supply is pin 1 (brown), which would be logical as it is next to the ground pin. But if you measured it as being ground level when the remote was connected, I suppose it can't be it either... _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Sat Jan 29, 2005 6:51 am Post subject: |
|
|
| Yes, sorry, I didn't remember... I will verify pin1, just in case... |
|
| Back to top |
|
 |
Ihsan
Joined: 23 Jan 2005 Posts: 28
|
Posted: Sat Jan 29, 2005 9:46 pm Post subject: |
|
|
| Yes, 1 is tied to GND... so power don't come from there. I've uploaded a pair of higher resolution pics of the remote circuitry in my webpage. |
|
| Back to top |
|
 |
mc

Joined: 12 Jan 2005 Posts: 212 Location: Linköping
|
Posted: Mon Feb 14, 2005 2:03 am Post subject: |
|
|
Ok, now I can't keep my soldering iron out of the remote any longer.
I built a snooping device using an EZ-USB microcontroller, and logged all the traffic between the PSP and the remote control.
First of all, forget what I said about pin 3 and 6. Looking at the logs, it is clear that pin 3 is the PSP talking, and pin 6 is the remote.
Without further ado, here are the logs I captured:
Cold start
=======
Pin6 00:00:00.557 : f0
Pin6 00:00:00.617 : f0
Pin6 00:00:00.677 : f0
Pin6 00:00:00.737 : f0
Pin6 00:00:00.796 : f0
Pin6 00:00:00.856 : f0
Pin3 00:00:00.870 : f8
Pin6 00:00:00.876 : fd 80 01 01 01 81 fe
Pin3 00:00:00.906 : fa
Pin6 00:00:00.911 : f0
Pin3 00:00:00.916 : f8
Pin6 00:00:00.921 : fd 83 01 a8 00 47 6d fe
Pin6 00:00:01.001 : f0
Pin6 00:00:01.061 : f0
Pin3 00:00:01.080 : f0
Pin3 00:00:02.430 Framing error (BRK?)
Pin6 00:00:02.430 Framing error (BRK?)
Pin6 00:00:02.555 : f0
Pin3 00:00:02.567 : f8
Pin6 00:00:02.571 : fd 80 01 01 01 81 fe
Pin3 00:00:02.600 : fa
Pin6 00:00:02.605 : f0
Pin3 00:00:02.617 : f8
Pin6 00:00:02.620 : fd 83 01 a8 00 47 6d fe
Pin3 00:00:02.650 : fb f0
Pin6 00:00:02.655 : f8
Pin3 00:00:02.667 : fd 03 01 02 fe
Pin6 00:00:02.680 : fb
Pin3 00:00:02.683 : f0
Pin6 00:00:02.685 : f0
Pin3 00:00:02.700 : f8
Pin6 00:00:02.705 : fd 84 00 00 84 fe
Pin3 00:00:02.719 : fa f0
Pin6 00:00:02.725 : f8
Pin3 00:00:02.733 : fd 02 00 02 fe
Pin6 00:00:02.745 : fa
*
Pin3 00:00:03.749 : f0
Pin6 00:00:03.757 : f8
Pin3 00:00:03.767 : fd 03 00 03 fe
Pin6 00:00:03.782 : fb
Pin3 00:00:04.800 : f0
Pin6 00:00:04.807 : f8
Pin3 00:00:04.817 : fd 02 00 02 fe
Pin6 00:00:04.832 : fa
repeat from *
As I already had seen on the oscilloscope, the last exchanges are repeated every second indefinitely. By pressing the button, I can get other exchanges:
Play/Pause Pressed
=============
Pin6 00:00:38.302 : f0
Pin3 00:00:38.317 : f8
Pin6 00:00:38.322 : fd 85 01 00 84 fe
Pin3 00:00:38.351 : fb f0
Pin6 00:00:38.357 : f8
Pin3 00:00:38.368 : fd 03 00 03 fe
Pin6 00:00:38.382 : fb
Play/Pause Released
==============
Pin6 00:00:42.250 : f0
Pin3 00:00:42.268 : f8
Pin6 00:00:42.275 : fd 84 00 00 84 fe
Pin3 00:00:42.301 : fa f0
Pin6 00:00:42.310 : f8
Pin3 00:00:42.334 : fd 03 00 03 fe
Pin6 00:00:42.350 : fb
(these logs show both one key even and one periodic event each.)
From studying this, much of the protocol becomes clear.
Control characters
============
F0 : I want to speak
F8 : Go ahead and speak
FD: Message begins
FE: Message ends
FA: Message received ok (phase 0)
FB: Message received ok (phase 1)
If a message is not acknowledged with FA/FB in due time, F0 is sent again to initiate a retransmission. If three F0's go unanswered after a connection has already been established, some kind of BREAK seems to be used to reset the communication (it's a low pulse longer than 9 bit lengths, but I haven't measured the exact length).
The actual messages begin with one command byte, the least significant bit of which is the phase bit, which is not part of the command itself. The phase is inverted for each successfully acknowledged command, so that you can tell a new command from a retransmission of an old one. This is also why there are two acknowledge codes.
After the command comes zero or more data bytes, depending on the command, and finaly a checksum, which is XOR of the command byte and all data bytes.
The periodic command, which is sent by the PSP, has command code 0x02, and one data byte which seems to be always zero.
The remote uses commands 0x80 and 0x82 during the init phase (presumably all commands that go from the peripheral to the PSP have the MSB set), probably to identify itself and perhaps set some parameters.
When keys on the remote are pressed or released, the command 0x84 is sent (this is also sent during the init phase, to tell which keys were already pressed when the remote was plugged in). It has two bytes of data, which is a 16 bit (little endian) bitfield of which keys are pressed. The keys are
0x0001: Play/Pause
0x0004: Fast Forward
0x0008: Rewind
0x0010: Vol +
0x0020: Vol -
0x0080: Hold
The remaining 10 bits do not correspond to any key on the remote, but the jumps in the codes suggest that they might be assigned to keys present on more feature-rich remotes.
Now one of the probe wires came loose, so I guess it's time to go and update the webpage. :-) _________________ Flying at a high speed
Having the courage
Getting over crisis
I rescue the people |
|
| Back to top |
|
 |
|