Part 1 - Understanding
All new devices by pioneer electronics are connected by a bus-system. This is becaue you kneed only one system remote and one remote-receiver in order to control a complete hifi-deck. For example, the amplifier receives a signal for the tape-deck and gives it on the bus. The tape deck listens on that bus and executes the remote command.
The bus is realized in a very simple way: all devices are connected to each other by a two-wire-cable, one is for the SR, the other for digital audio. The ground is taken from audio-ground. All devices are connected parallel to the bus, which is risen to 5V by an active SR-Receiver (such as an amplifier). For sending information, the sending unit pulls it down to 0V several times. The duration of the downtimes contains the coded information.
If you want to send data, you just have to connect the bus to ground. You can get the bus from the SR-out of the last device, or you can take it on the sr-input of your receiver.
The protocol is explained very quickly:
A list of device-ids:
The most important commands:
Part 2 - The Hardware
As written above, you just need a piece of hardware, which connects the bus to ground. If you wand to control devices, which are not connected to an active sr-receiver, you can pull up the bus to 5V. If your PC-ground is not connected to the ground of your hifi-equipment, eg. via a soundcard, you will have to connect the masses. On the other hand, you should NOT connect them twice, if you have a something like a soundcard. Otherwise, you would create a mass-loop which would result in a 50Hz-line-noise.
For controlling such a device i reccomend the parallel port, because it is easy to control, and because it operates on the same voltage levels.
For the "short-circuit" we take a transistor, emmiter to ground, collector to the bus, base over resistors to DB0 and Ground. You could take a BC546. If thats not available, take anything else wich can switch about 200mA and has a working point about 5V.
You get the following schematic:
SR is the inner pole of the connector. Pay attention that you DO NOT use the outer one as ground. It is for digital data transmission, if you need a grounding, take it from a cinch-connector.
If you do not know the pins of the parallel port, here are the important ones:
As you can see, I misuse DB1 for raising the bus. If this results in errors, change the program to hold DB1 on 0.
If you didn't understand a single word of the above, but you can't continue your live without having such a cool control, send me a mail. I can solder a complete interface for you, for the price of the hardware, and perhaps a beer or two ;)
Part 3 - The Software
Now for the software. This one is not easy, because you need exact timing of down to 0,35ms. The dos-software uses loops, it makes n additions, and hopes, that the cpu needs the same time for each one. This results in a few consequences:
The linux software comes without such problems: if you have enabled "enhanced rtc-support" in your kernel, you can have timing up to a resolution of 1/8000 sec. But even Linux is not realtime-enabled, so you may have to fine-tune some vars. Further more, you need to have root-privileges for setting the RTC to such a high resolution.
The software is available in different versions:
The Linux-Doku is the best, so download the linux-package even when you wand to use the dos-package.
And now: have fun soldering, and sorry very much for my bad "inglisch".