This page contains informations, links and descriptions about various CD
changer protocols.
Choose your brand:
Blaupunkt ( DMS ?? )
Here some source code for controlling a Blaupunkt car radio.
It is basically a 2 wire (rx/tx) async. serial protocol with 9 bits of data
where the 8th bit is used for synchronisation.
That made it easy to interface it to a player or PC because you can use the
serial port.
The only documents that´re left is one sheet of paper containing the initial
communication between a cd changer and the radio and
the source code.
Here is the protocol cut:
radio
|
direction,info
|
changer |
baudrate 4800 | ||
0x17B | (3 times ) -> | no response |
0x17C | (3 times ) -> | no response |
0x17D | (3 times ) -> | no response |
0x17E | (3 times ) -> | no response |
0x17F | (3 times ) -> | no response |
0x180 | -> | 0x180 |
0x48 | -> | 0x48 |
0x02 | -> | 0x02 |
0x14F | ->, change in baudrate to 9600 | no response |
0x180 | -> | 0x180 |
0x9F | -> | 0x9F |
0x14F | -> | no response |
0x180 | -> | 0x180 |
0xA1 | -> | 0xA1 |
0x14F | -> | no response |
0x180 | -> | 0x180 |
0xAD | -> | 0xAD |
0x14F | -> | no response |
0x180 | -> | 0x180 |
0x48 | -> | 0x48 |
0x01 | -> | 0x01 |
0x14F | -> | no response |
0x10F | <- | 0x10F |
0x48 | <- | 0x48 |
0x01 | <- | 0x01 |
0x14F | <- | 0x14F |
0x103 | <- | 0x103 |
0x20 | <- | 0x20 |
0x09 | <- | 0x09 |
0x20 | <- | 0x20 |
0x00 | <- | 0x00 |
0x14F | <- | 0x14F |
0x10B | <-( text info ??? ) | 0x10B |
0x20 | <- (8 times space ) | 0x20 |
0x14F | <- | 0x14F |
0x101 | <-( disc / track info ??? ) | 0x101 |
0x09 | <- | 0x09 |
0x01 | <- | 0x01 |
0x14F | <- | 0x14F |
0x10D | <- ( disc / track / time info ( BCD ) ?? ) | 0x10D |
0x01 | <- | 0x01 |
0x09 | <- | 0x09 |
0x43 | <- | 0x43 |
0x57 | <- | 0x57 |
0x14F | <- | 0x14F |
Kenwood
Recommended links:
Patrick Loef´s Page with AVR
based Kenwood CD changer emulator (KECANI)
http://zzottel.de/joomla/index.php/de/electronics/kenwood-cd-changer
The protocoll used here is a synchron serial protocoll.
First let us start with the connector pinout.
The pins have a 2.54mm distance, so you can simply build a plug using some
prototyping board ………
New connector pin-out (for head units >´99?) Thanks to Patrick Loef for this
information.
pin | direction | description |
1 | O | CH-REQH – Request output to changer; “Low” : Request |
2 | – | Ground |
3 | – | Vcc +12V |
4 | O | CH-CON – Changer control; “High” : Operation mode “Low” : Standby |
5 | I | CH-MUTE – Mute request from changer; “High” : Mute |
6 | – | AGND – Audio Ground |
7 | O | CH-RST – Reset output to changer |
8 | I | Audio right channel |
9 | I | CH-REQC – Request input from changer; “Low” : Request |
10 | I | CH-DATAC – Data input from changer |
11 | O | CH-DATAH – Data output to changer |
12 | I | Audio left channel |
13 | I/O | CH_CLK – Clock input/output for changer |
The following works only with newer kenwood radios.
Older models have the same pinout but use some more simple protocol …
The clock low and high periods had a length of 4us.
The data is transfered in bytes ( 8 bits … MSB first ), data is valid at
the rising clock edge..
The data transfer is initiated either by the radio or the changer, the initiator
just pulls its fs line low.
When the changer starts the communication it gets 40 clocks from the radio
( 4 bytes addr + 1byte data size ).
The radio then sets its fs to low if it accepts the transfer.
When a transfer is initiated by the radio by setting its fs low it waits for
the changer to answer with a low fs,
then it sends the 4 byte addr header, the size byte for the data and the data.
Packet header, direction: both | ||
byte | log value ( r->cdc) | description |
0 | 0x29 | destination address |
1 | 0x10 | destination address |
2 | 0x1E | own address |
3 | 0x00 | own address |
4 | x | data size in bytes |
5 | x | first data byte |
4+data size | x | last data byte |
From this point I only write the data part of a packet
initialisation handshake answer, direction: cdc->r | ||
byte | log value | description |
0 | 0x11 | command identifier |
1 | 0xA4 | cycle numer of the above packet |
2 | 0x00 | ?? |
3 | 0x01 | ?? |
4 | 0x02 | ?? |
send after above packet, maybe radio identification and caps, direction: r->cdc |
||
byte | log value | description |
0 | 0x20 | command identifier |
1 | 0x00 | |
2 | 0x11 | |
3 | 0x01 | |
4 | 0x03 | |
5 | 0x0B | |
6 | 0x0B | |
7 | 0x07 | |
8 | 0x05 | |
9 | 0x83 | |
10 | 0x84 | |
11 | 0xC0 | |
12 | 0xC1 | |
13 | 0xC2 | |
14 | 0xC3 | |
15 | 0xC4 | |
16 | 0xC5 | |
17 | 0xC6 |
send after above packet, maybe init ack from radio, direction: r->cdc |
||
byte | log value | description |
0 | 0x20 | command identifier |
1 | 0x01 | |
2 | 0x11 | |
3 | 0x29 | changer address |
4 | 0x10 | changer address |
5 | 0x00 | maybe last bytes of cmd 0x11(cdc->r) |
6 | 0x01 | maybe last bytes of cmd 0x11(cdc->r) |
7 | 0x02 | maybe last bytes of cmd 0x11(cdc->r) |
changer caps info, send after above packet, direction: cdc->r | ||
byte | log value | description |
0 | 0x70 | command identifier |
1 | 0x02 | |
2 | 0x0A | maybe disc count |
3 | 0x3F | |
4 | 0x03 | |
5 | 0x0C | |
6 | 0x02 |
play position info, direction: cdc->r | ||
byte | log value | description |
0 | 0x60 | command identifier |
1 | 0x02 | maybe sub command id |
2 | 0x00 | |
3 | 0x00 | |
4 | 0x00 | error code, 0 is no error |
5 | 0x00 | changer status ( load, eject, ….. ) |
6 | 0x02 | play status (1 – play, 2 – pause ) |
7 | 0x00 | |
8 | 0x01 | |
9 | 0x00 | track order mode ( normal 0, tscan 1, dscan 2,random 6, …) |
10 | 0x04 | |
11 | 0xBB | some bcd number field, displayed when field 3 != 0 |
12 | 0x01 | |
13 | 0x0B | track number |
14 | 0x07 | disc number |
15 | 0x01 | min ( bcd ) |
16 | 0x22 | sec ( bcd ) |
17 | 0x62 | min disc ( bcd ) |
18 | 0x26 | sec disc ( bcd ) |
19 | 0x09 | min remain ( bcd ) |
20 | 0x30 | sec remain ( bcd ) |
text info request, direction: r->cdc | ||
byte | log value | description |
0 | 0x42 | command identifier |
1 | 0x02 | |
2 | 0x07 | disc number |
3 | 0x0A | track number |
4 | 0x00 | text section number, sections had 12 bytes size here |
5 | 0x00 | |
6 | 0x80 | text id ( 0x80 -> name 0x81 -> artist ) |
text info send after request, direction: cdc->r | ||
byte | log value | description |
0 | 0x62 | command identifier |
1 | 0x02 | |
2 | 0x07 | disc number |
3 | 0x02 | |
4 | 0x0A | track number ( 0 -> disc title transfer ) |
5 | 0x00 | text section number, sections had 12 bytes size here |
6 | 0x09 | |
7 | 0x00 | |
8 | 0x80 | text id ( 0x80 -> name 0x81 -> artist ) |
9..20 | x | text |
commands send when keys on the radio were pressed, direction: r->cdc |
||||||
byte | log value (play) | fwd(toggle) | bwd(toggle) | disc-(toggle) | disc+(toggle) | description |
0 | 0x50 | 0x50,0x50 | 0x50,0x50 | 0x50,0x50 | 0x50,0x50 | command identifier |
1 | 0x02 | 0x01,0x04 | 0x01,0x04 | 0x02,0x00 | 0x02,0x00 | maybe event id ( 0 all up, 01 down, 02 toggle, 04 up, 06 hold ) |
2 | 0x02 | 0x02,0x02 | 0x02,0x02 | 0x02,0x02 | 0x02,0x02 | |
3 | 0x00 | 0x02,0x02 | 0x02,0x02 | 0x00,0x00 | 0x00,0x00 | |
4 | 0x07 | 0x01,0x01 | 0x02,0x02 | 0x04,0x00 | 0x02,0x00 | key id |
5 | 0x00 | 0x05,0x05 | 0x06,0x06 | 0x00,0x00 | 0x00,0x00 |
Using the information above you should have some starting point if you are
intrested in doing your own project, it is simple to build
a converter to send and receive these commands using a pc so you can find
out the meaning of other commands and fields if you need.
Pioneer
The pioneer IP bus uses a 2 wire differential signal for communication.
An equal level on both lines is a logical low while a high is encoded as a
voltage difference of some 100mV.
The data transfer is initiated by either the cd changer or the radio.The initiator
generates a high pulse ( ca. 170us ) and a following low pulse ( ca 20us ).
Then the data transfer starts, a 1 is encoded as a high-low sequence with
a duration of ap. 20us for both levels and a 0 consists of a 33us high and
a 7us low pulse.
The data is now transfered in bytes with MSB first, the 8th bit is an odd
parity bit.At the end of the 3rd and all following Bytes there is an additional
bit inserted after the parity where the receiver acknowledges the transfer.
This is done by holding the data lines in a high state after the initiator
sets them low.If this ack is missing the transfer is stopped.
The timings may vary because the real data is encoded in the pulse to space
length relation.
The first 3Bytes seem to be some kind of device address.The changer I used
transfered a 0x88,0x68,0x00 here while the radio sended 0x88,0x08,0x06.
The next 4 bits were always high. After that a size byte and then size bytes
were transfered. The last byte in the transfer is a checksum generated adding
the values of all data beginning with the 4bit sequence ( = 0x0F ).
In the following part I only will write the raw data excluding size and cheksum
field.
Each command transfered was first answered by some acknowledge packet consisting
of a single 0xA1.
(which looks like: 0x88 0x08 0x06 0xF 0x02 0xA1 0xB2 -> 0xB0 is the checksum
).
The following packet sended by the changer contained the time disc and track
information.
Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
Info | command | modus | mcd | disc | min | sec | track | cdt | ||||||||||||
Data | 0x61 | 0x10 | 0x06 | 0x01 | 0x20 | 0x04 | 0x16 | 0x01 | 0x06 | 0x01 | 0x00 | 0x00 | 0x01 | 0x00 | 0x3F | 0x00 | 0x00 | 0x00 | 0xC0 | 0x48 |
modus:
Value | 0x02 | 0x07 | 0x08 | 0x10 | 0x11 | 0x13 | 0x14 | 0x15 | 0x16 |
Info | ready | track blink | pause | ready and disc blink | disc blink | load and disc blink | eject and disc blink | load | eject |
cdt: bit0: (1:cdtext),(0:normal)
The text information was encoded within this packet
Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13-22 |
Info | command | modus | disc | track | text seqence number | text | ||||||||
Data | 0x61 | 0x10 | 0x06 | 0x01 | 0x20 | 0x04 | 0x38 | 0x09 | 0x00 | 0x06 | 0x00 | 0x00 | 0x00 | 0x00 |
Recommend link: Vitaliy´s Page @ http://www.vitat.spb.ru/
with IP bus interface on AVR basis and more IP bus informations
Possibly pinout of Pioneer headunit in Renault Espace III
Panasonic
The protocol panasonic uses is of the serial sync. type. There is one data
line, a clock line and a sync line the changer uses to send data to the radio.
The radio to changer communication is done by some signals known from standard
IR remote controls (without a carrier) using one dataline.
This remote control signal is pulse width modulated,the dataline is active
high.
After an initail high(9ms) low(4.5ms) there follows a 32 bit sequence with
a 0 encoded as 550us high,550us low and a 1 as 550us high,1.7ms low.
If the low pulse in the init phase is only 2.25ms long it is just a signal
send periodical when a key is hold down and there are no data bits.
The data is transfered lsb first, the 1st byte is 0xFF-0th byte and the 3rd
byte is 0xFE-2nd byte.The 2nd byte is the command.
The changer to radio communication transfers the data in bytes msb first,
the data is valid at the falling clock edge and a low pulse of one half clock
period is sent after the first and the last byte of the transfer on the sync
line..The clock period is arround 8us.
There was only one packet containing state, time, disc and track information.
Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Info | disc(b0-b3) | track | min | sec | state | |||
Data | 0xCB | 0x42 | 0x09 | 0x02 | 0x56 | 0x00 | 0x30 | 0xC3 |
state:
Value | 0x00 | 0x10 | 0x20 | 0x04 | 0x08 |
Info | normal | scan | random | random | repeat |
Recommended links:
Panasonic CD Changer
Emulator – PIC 16F84A controlled
Homepage
by Matthias Klumpp – Descripting an Atmel based Panasonic CDC simulator
for VW and Audi car radios.
(Languages: German, English and Portuguese)
Alpine M-Bus
For informations about the Alpine M-Bus protocol see this page:
Volkswagen VW
VWCDPIC
Pre-assembled boards that let people use the VW CD Changer connector
for auxilary audio inputs.
Schematic diagrams and firmware source code under GNU GPL available.
Ed Schlunder´s VWCDPIC
– VW CD changer emulator / audio interface
Clarion
This should be the pinout for the Clarion 13-pin DIN connector which is used
for Clarion C-Bus.
Ford ACP
The following informations are taken from Andy Hammonds Yampp3/USB MP3 player
firmware with ACP protocol support.
Ford ACP is a network protocol used by the Head Unit to communicate with
and control audio devices such as the Ford 6 disc CD Changer and the Nokia
integrated cell phone or Ford Telematics units.
It is based on RS485 with 9 bit character data at 9600 baud.
A MAX-481 low power RS485 transceiver will work as interface between a serial
USART and ACP bus.
Pin Function
1 ACP +
2 ACP Shield
3 GND
4 n/c
5 Audio Left +
6 Audio Right +
7 ACP –
8 CDENABLE
9 +12V Power (unfused)
10 Audio Shield
11 Audio Left –
12 Audio Right +
You will need an AMP plug to connect to the head unit.
AMP Multilock Series 40 cable connector housing with 12 pins or sockets.
The CDENABLE line is 0V when the radio is off and +10V when it is on and
can be used as a standby switch for the yampp.
It is not a power supply and can´t drive a relay directly.
Communication
* a delay of 1642us (16 Bit times) will indicate a start of new message
* the 9th bit in a byte must be set in the last byte of message to indicate
the end of message
* Acknowledge is given with 0x06
Byte 0 – Medium/Priority, should be 0x71
Byte 1 – Changer functional address, should be 0x9A or 0x9B
Byte 2 – Head unit address, 0x80 on receive, 0x82 on transmit
Byte 3 – Command control byte
- 0xE0 – Handshake 1, byte 4 should be 0x04
- 0xFC – Handshake 2, byte 4 must be the same for transmit and receive
- 0xC8 – Handshake 3, byte 4 must be the same for transmit and receive
- 9xFF – Current disc status in byte 4
-
- Byte 4 – 0x00 Disk OK
- Byte 4 – 0x01 No disc in current slot
- Byte 4 – 0x02 No disc at all
- Byte 4 – 0x03 Check current disk
- Byte 4 – 0x04 Check all disc
-
- 0xC2 and 0xD0 – Change or request current disc
-
- Byte 1 – 0x9A – command to change disc
- Byte 1 – not 0x9A – request current disc
- Byte 4 – disc number
-
- 0xC1 – Control command
-
- Byte 4
- Bit 0 – Fast search
- Bit 1
- Bit 3
- Bit 4 – change Random status
- Bit 5 – change Loudness status
- Bit 6 – change Play/Stop status
- Bit 7
- Send back byte 4 with actual mode
- Byte 4
-
- 0xC3 – Next track
-
- Byte 4 – Track number
-
- 0x43 – Previous track
-
- Byte 4 – Track number
-
The last byte in all message is a checksum of all previous bytes. Simply add
all bytes of message to calculate the checksum.
Message examples
To display current play time, disc and track number:
Byte 0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
0x71
|
0x9B
|
0x82
|
0xD0
|
Disc No
|
Track No
|
Minutes
|
Seconds
|
Checksum
|
No disc message:
Byte 0
|
1
|
2
|
3
|
4
|
5
|
0x71
|
0x9B
|
0x82
|
0xFF
|
0x01
|
Checksum
|
All informations are given without guarantee. Please mail for update or change
requests.
Renault (Tuner
List / Update List)
This project aims at PC emulation of a VDO/Dayton CD changer (CDC) compatible,
among others, with the factory “Tuner List” head units of Renault
and Dacia cars since 2000. Higher-end “Update List” models, although
they provide an analog auxiliary input, can still enjoy some benefits using
this project, including improved sound quality thanks to SPDIF.
The emulator site: http://tlcdcemu.sourceforge.net/
The protocol description: http://tlcdcemu.sourceforge.net/protocol.html
Toyota AVCLan
Interesting site about the Toyota AVCLan protocol for multimedia devices
including protocol details and emulator hardware to access the AUX-In input
on Toyota car audio units.
http://www.softservice.com.pl/corolla/avc/
Chrysler / Jeep / Dodge
The given informations are only valid for Chrysler / Jeep OEM radio with J1850 VPW (PCI) bus connection between radio and CD changer. (most radios before 2005)
Example: or
Communication between radio and CD changer works over the cars J1850 VPW bus system. This bus is in accordance with specification SAE J1850, the protocol uses one byte header frames in accordance with SAE J2178.
The radio will poll the changer with the following frame:
Frame header | 0x8D | CD Changer control frame |
Data byte 1 | 0x0F | Poll to CD changer |
Date byte 2 | 0x00 | Actual Radio mode0x01 = Radio off0x10 = Internal CD drive
0x20 = Mode MW or LW 0x21 = Mode FM 0x24 = Mode CD changer |
CRC |
The following frame is the poll response if changer is in idle mode or changing disc/track:
Frame header | 0x8D | CD Changer control frame |
Data byte 1 | 0x93 | Response to frame 8D 0F – Pong from CD changer when in idle status |
Data byte 2 | 0x01 | Actual disc, range 0-0xFF, Hex coded0-9 = numbers 0-9A = ´:´
B = ´;´ C = ´<´ D = ´=´ E = ´>´ F = ´?´ |
Data byte 3 | 0x01 | Actual track, range 0-0xFF, Hex coded0-9 = numbers 0-9A = ´:´
B = ´;´ C = ´<´ D = ´=´ E = ´>´ F = ´?´ |
Data byte 4 | 0x80 | Display control0x02 = Blinking “SCAN” text0x04 = “RND” activated
0x30 = “NO MAG” text 0x60 = “NO DISC” text 0x70 = “–:–” steady 0x80 = Disc number + radio clock 0x90 = Disc number + track number + radio clock 0xA0 = Disc number + track number + “00:00” 0xB0 = Disc number + track number + song play time |
CRC |
The following frame is the poll response if changer is playing a track:
Frame header | 0x8D | CD Changer control frame |
Data byte 1 | 0x94 | Response to frame 8D 0F – Pong from CD changer while playing |
Data byte 2 | 0x00 | Actual minutes of play time, range 0-99, BDC codedIf byte is 0x9x the time is displayed like “-0:00”, remaing time |
Data byte 2 | 0x00 | Actual seconds of play time, range 0-99, BCD coded |
CRC |
This frame must be send before the first 0x8D 0x94… frame, otherwise time update is not possible:
Frame header | 0x8D | CD Changer control frame |
Data byte 1 | 0xE1 | Command to activate time displayRequired before 8D 94Otherwise play time update not possible |
Data byte 2 | 0x01 | ??? |
Data byte 3 | 0x10 | ??? |
CRC |
The following frame will be send from radio to the changer, if a changer related button was pressed:
Frame header | 0x3D | CD Changer control frame, button press |
Data byte 1 | 0x12 | ??? |
Data byte 2 | 0x810x830x84 | ??? With “TUNE” and “SEEK” button??? With “DISC” button??? With “RND” button |
Data byte 3 | 0x26 | Key ID0x23 = Button “TUNE FF” pressed0x24 = Button “TUNE RW” pressed
0x25 = Button “TUNE” released 0x26 = Button “SEEK UP” pressed 0x27 = Button “SEEK DOWN” pressed 0x35 = Button “RND” pressed 0xF1 = Button “DISC UP” pressed 0xF2 = Button “DISC DOWN” pressed |
CRC |
To activate the CD changer audio inputs you simply answer the poll frame 0x8D 0x0F with response frame 0x8D 0x93.
Be aware that the CD changer bus (J1850/PCI) is the same bus where all other control boxes are connected together, like ECU, RKE or SKIM module. So be carefull while handling the bus, mistakes can lead to serious damage on your car.
Radio connector pinout:
Valid for this type of connector.
Radio Connector | ||
Pin | Layout Code | Description |
1 | BATT | Fused B+ (IOD) |
2 | AC | Fused Ignition Switch Output (run-acc) |
3 | P-LAMP | Panel Lamp Driver |
4 | Side-M | ??? |
5 | NC | No Connection |
6 | NC | No Connection |
7 | RF- | Right Front Speaker + |
8 | RF+ | Right Front Speaker – |
9 | LF- | Left Front Speaker + |
10 | LF+ | Left Front Speaker – |
11 | GND | Ground |
12 | BATT | Fused B+ (IOD) |
13 | P-ANT | Ant/Amp Remote (12V Output during Radio ON) |
14 | J1850 | PCI Bus |
15 | EVA-MUTE | Speaker Mute Input (Low active) |
16 | NC | No Connection |
17 | NC | No Connection |
18 | LR- | Left Rear Speaker – |
19 | LR+ | Left Rear Speaker + |
20 | RR- | Right Rear Speaker – |
21 | RR+ | Right Rear Speaker + |
22 | GND | Ground |
CD Changer Connector | ||
Pin | Layout Code | Description |
1 | CDC R | CD-Changer Audio Input Right |
2 | S-GND | Shield Ground |
3 | GND | Ground |
4 | J1850 | PCI Bus |
5 | CDC ACC | CD-Changer Ignition Switch Output (run-acc) |
6 | CDC L | CD-Changer Audio Input Left |
7 | GND | Ground |
8 | NC | No Connection |
9 | RDW | ??? |
10 | CDC BATT | CD-Changer B+ Output |
Chrysler/Jeep CD changer emulator
Hardware schematic and layout:
Firmware file:
Hi! Is anybody know, what should i write in the high / low configuration bits in the programmer, when i would like to build the Chrysler / Jeep / Dodge J1850 VPW CDC Emulator? I did not find related infos in the firmware zip…
The VPW CDC Emulator is based on the J1850 VPW interface. Fuse settings are the same.
So you can use the documentation from the J1850 interface: https://www.mictronics.de/?wpfb_dl=40
I am really struggling to find a protocol definition document outthere for a communications protocol between old pioneer HU units (with radio, tape and CD changer function) and 2 or 3 different cd changers models(cars are for years 1992 to 1996). The hardware is used in different Lexus and Toyota cars.
In essence, the hardware uses two channels, one is a master (txm+, txm-) and the other is the slave (txs+ and txs-), I think the master is the HU and the slave is the changer. The HU will not activate the CD changer function if the changer device is not connected to this bus, I want to know if this scheme follows any kind of existing document outthere, so far I am finding nothing.
Thanks a lot.
I tryed dowloading the FORD ACP files for spec and monitor from above, but appear to get bad files. cannot unzip or look inside.
I am trying to “braek” into my 98 FORD Explorer Premium sound to provide MP3/XM audio input. i now know that tapping into the CD signal is not enough as the HU is expecting a command from the Protocol wires about cd presence and what is palying. i feel i should be able to create a serial communicator to trick the HU to thinking cd is playing while not actually having the CD changer installed.
any ideas?
Download again and use 7zip to open the files.
Ideas? No, never worked on ford protocol.
Look this http://ipod-remote.blogspot.com/ it is possible that you search
Awesome project!
Please change the URL to Panasonic CD Changer
Emulator – PIC 16F84A controlled (http://www.lafrog.com/cdcemu/) to http://q1.se/cdcemu/ above. Thanks!
Done, thanks for the note.
I Love this information. I wish I had a little bit more knowledge in my head as Im trying to fool my old Nakamichi CD-350 into using the changer input as an AUX Input, and also maybe use the head unit to do simple track forward, and back.
Anyone up for the task of helping me out? 🙂
Mike
the VWCDPIC website (http://www.k9spud.com/vwcdpic/) doesn´t seem to be working..
Hello, Michael. I´d like to thank you for this article.
Also I´d like to ask you about hardware shematic of Chrysler/Dodge/Jeep cd changer emalator.
J1850_cdc_emulator rev.B.
The PDF file with hardware shematics & layout contains the following annotation:
R8/D4 designed for at least 315 Ohm bus load. Do not keep the J1850 line in HIGH state without load resistor.
But I see no R8 and D4 in shematics.
By the way: is R4 = 47 Ohm, not 47 KOhm?
Thanks a lot!
Right, that is not R8/D4 but R4/D2.
R4 = 47Ohm is correct.
Hi, I have an older Chrysler P04859504AB-A Tuner with CDC input using a 8 pin DIN connector. (see pictures here: http://monitor.net.ru/forum/topic100899-32.html )
Are the pins labeled BAT and ACC to short together?
Best regards
BAT is the direct connection to battery and always under power.
ACC is switched power supply, usually when ignition is switched ON.
Can be tied together if needed.
Many thanks for your answer.
Now, that means that this short don´t let think the radio that there´s a cdc connected…
Michael, is it possible to use bc548b instead of bc548a in Chrysler/Dodge/Jeep cd-changer emulator?
Yes, any BC548 will work.
Thank you.
I´d like to refine the Chrysler cd-changer connector pin-out.
9th pin is PDW that means Panel lamps dimmer signal.
3rd pin is Shield.
2nd pin is Audio ground.
7th pin is Power ground.
Also, Michael, I´d like to ask you if it is better to add a key transistor in Chrysler cd-chagner emulatror shematics? It will give the possibility to connect the power not constantly, but only when there is volltage on ACC.
Maybe stretching the topic a little but I was wondering if there was any info available on the Kenwood head unit´s wired “Remote Control” interface? I´m trying to build my own custom steering wheel interface using an AVR microcontroller. I have the front-end completed & working perfectly on an ATMEGA328 but can´t figure out the protocol and/or cmds to send to the Kenwood? FWIW my hu is a DNX9960 & any info would be
Sorry, have now info on that.
Michael, hello.
How is much current consumption of chrysler-dodge-jeep cdc emulator?
Just a few mA. Not measured so far…
Hi, does anyone know where I can purchase an interface adaptor to connect a Sony 6 disc changer (T69) to my OEM Chrysler PT Cruiser (2004) head unit, please?
hi I´m interested in putting together the circuit Emulator J1850 VPW unemployment CDC I have doubts that serves k4 (ISP) and that by the firmware program ATTINY20-16PC
Sorry, can´t understand what you mean?
What are the fuse bits set in the firmware? attiny26-16pu, dodge
Hello,
I stumbled upon your project while searching the web. I want to activate my CD changer audio ports on my stock radio (it´s a 2004 Chrysler unit), so I can plug in my mp3 player. I don´t have a CD changer. I don´t really need full control, I just want to be able to play audio through the ports. What is the easiest way i can do this?
Under the chrysler page I read “To activate the CD changer audio inputs you simply answer the poll frame 0x8D 0x0F with response frame 0x8D 0×93.” How do I achieve this? Do I have to build the hardware completely?
My digital electronics knowledge isn´t so great; i don´t understand what it means to “poll headers” etc..and my hex code knowledge is small. So if it´s not hard and you could explain it to me in simple terms. i I would be very thankful. Thanks.
Below the Chrysler/Jeep chapter you will find the hardware and software that fit your needs. (J1850 VPW CDC Emulator)
I´d tried also build this emulator but I can´t get it work on my Chrysler Sebring 2001a.
Stereo is:
I ask:
1. Is the transistors must be exactly BC548A or can I use BC548?
2. Is the MCU must be exactly Attiny 26-16PC or can I use Attiny26-PU version?
Place: Detail name: I used these:
IC1 78L05; UA7805-MBR (UA7805CV 5V 1A TO220 L7805CV)
IC2 ATTINY26-16PC; 9171630 (attiny26-16pu: 8bit 2k flash mcu, dip20 atmel)
C1 100?; 100/25PHT (100uF*25V 105C 6*11mm)
C2/C5 0,1?; CCLS2 100K (100nF*50V monolayer 5mm 5YM)
C3/C4 22p; KC22/50/2.5 (22pF*50V 2.5mm)
D1 1N4148; 1N4148-MBR (1N4148 Si-D 75V 0.15A 4nS)
D2 ZPD8V2; 1.3W 8V2 (Z-DI 8.2V 1,3W=ZPY8.2)
Q1 6MHz; 6.000 HC49 (6.000MHz HC49)
R1/R2 47K; 1/4W 47K
R3 10K; 1/4W 10K
R4 47; 1/2W 47R
R5 56K; 1/4W 56K
R6 1K; 1/4W 1K
T1/T2/T3 BC548A; 1467872 (bc548: transistor, npn, to-92)
ISP 6 pin (2×3)piigid
Others you can see on picture:
My problem is that it doesn´t work on my stereo. I connect it – can´t activate cd-box, then I connect audio from my phone, then car speacers start making crumpling noise… thats it
I use your hardware drawing and frimware – I programmed it by ISP usb programator.
1. The last letter of BC548 tels only the voltage amplifying factor. Any will do, A, B or C.
2. ATtiny26-16PU is just fine
Are these the only two connectors of your radio?
What are you mean: “Are these the only two connectors of your radio?”
I have this stereo:
stere front
Stere back
I use cd-box connector (gray cable) – back side of stereo
And second is audio cable (black) with 3,5mm jack to my phone.
I think that I must control cd-box cable pinouts…
I use cd-box connector (gray cable) – back side of stereo
And second is audio cable (black) with 3,5mm jack to my phone.
I think that I must control cd-box cable pinouts…
The radio is different than mine and never saw this before, seems to be an older model. A wild guess but I think the CDC control is different to my implementation.
May be… I opened the stereo and I used tester to satisfy oneself of right pins.
Inside there are marked text right on pins.
Look stereo mainboard
I marked stereo back cdc conn
And ofcourse I give to you on tip – put CDC in the TIC-TAC box 😉
Sorry but it won´t work on my stereo, so bad…
I made EAGLE file from you CDC and newer PCB layout also… I removed ISP – it is not necessary when you can easly remove MCU from the socet.
So next I would like test it another chrysler stereo, but it take time, when I find some friend who have newer stereo in the car.
Hi hmm, 5 years later I did make this emulator too. I have older 2001 chrysler radio with DIN-8 CDC port. Emulator is not workig. Did you manage to make it work ?
I did manage to make it work with 2001 radio after all.
two things were needed:
1/ a delay between ping and pong (I used 5ms)
2/ special message on startup as follows
0x8D 0x91 0x04 0x02 0x01 CRC
0x8D 0x92 0xC0 0x00 0x00 CRC
0x8D 0x93 0x00 0x00 0x00 CRC
0x8D 9×96 0x00 0x00 CRC
maybe not all of the four messages are needed.
I did also add code to work with buttons. Then you can control ipod through radio buttons.
messages are :
Disc UP…..0x3D 0x12 0x81 0xF1 CRC
Disc Down 0x3D 0x12 0x81 0xF2 CRC
FF…………..0x3D 0x12 0x83 0x25 CRC
RW…………0x3D 0x12 0x83 0x29 CRC
Seek+…….0x3D 0x12 0x83 0x26 CRC
Seek-…….0x3D 0x12 0x83 0x27 CRC
Random on 0x3D 0x12 0x84 0x35 CRC
Random off 0x3D 0x12 0x84 0x30 CRC
Здравствуйте. Не могли вы послать мне на почту измененный файл .hex. У меня тоже магнитола 2001 года (8-pin)
Hello. Could not you send me a modified .hex file to the mail. At me too a radio tape recorder of 2001 (8-pin)
Could u make it work? I mean this emulator on old Head unit of Jeep/crhysler from ’99 to ’01? I don’t understand where he says to change the programmed code!
Can u sent me the correct hex only?
hello would like to ask to share, as you made possible the work of the CDC. I have a tape recorder in 1999 rbp p56038623.
Hi all. can you control the ipod? how did you do it?
Micheal or bajin,
Can you help me get the code files updated? Not sure where the delay needs to go and if the messages need to go in in the unit8_t j185_txtmsg_buf[] = or someplace else. IF the files gets updated can this be added to the Chrysler chapter?
Thanks
Michael, please, help me. I´d like to connect some device to AUX of cd changer´s connector of my cd player (alfa 147 – original Blaupunkt)
| Blaupunkt ( DMS ?? )
| It is basically a 2 wire (rx/tx) async. serial protocol with 9 bits of data where the 8th bit is used for synchronisation.
| That made it easy to interface it to a player or PC because you can use the serial port.
Pin 13 asci bus CDC>RO
Pin 14 asci bus RO<CDC
Pin 15+12 permanent
Pin 16+12Vswitched
Pin 17digital earth
Pin 18audio earth
Pin 19 CDC left audio
Pin 20 CDC right audio
Like I understand, 18/19/20 pins – AUX; I must connect rx/tx to 13/14 pin and receive/send signals via some program (like hyperterminal) to emulate cd changer . Also I can do special scheme, based on Attiny xxx (also i must to program it), isn't it?
What program I must to use to connect via rx/tx? What signals i must to send? rx/tx is on ttl level (3.3v or 5v or higher)?
If it possible, can You say, what scheme I must do, what hex I must to program in Attiny xxx (xxx -?)?
Sorry for my English.
Thank You.
Can´t help you here. I never worked with Blaupunkt. The information I have are just a backup of a webpage which no longer exists.
hi
i am trying to detail the ip-bus (pioneer) communication protocol – and am trying to create a small circuit to capture the communication between the changer and hu. I see that you have already created a similar circuit – using a AT90S2313 controller
It will be great it you can also share the details of your circuit (schematics + code)
Thanks in advance
I will share back the protocol details if and when I succeed
~Jitesh
You better look here: http://www.vitat.spb.ru/
Hi,
I am trying to enable my aux button on my Ford Focus 2007 radio, it is a can bus unit and the only info that I am getting from the HU is
id:3E8 DLC:8 2,0,10,14,0,0,0,0
and
id:50c dlc:3 c,4,0
any idea where I can get more info on the hand shake with this unit.
Thanks
dhenriq
Your picture of the HU in the Espace is right in that it´s a Pioneer unit but it doesn´t use the protocol described. Instead it´s a single ended synchronous bus called either P-BUS or M-BUS. I have decoded the protocol sufficiently to create an MP3 player using the VS1011 and an SD card which is controlled by the steering column controls or the remote control. It was initially based upon the idea here: http://www.teuthis.com/html/mmc_mp3.html although the code doesn´t bear much resemblance any more. If you are interested I can send the details of the bus and protocol.
Hi Rob, I drive an Espace with the Pioneer system installed and would like to add a MP3-player. I´m interested in your details about the bus and the implementation of the player. I would be glad to get some information from you.
Shows how often I read this. If you´re still interested let me know and address and I´ll send the info.
Hi Rob, I´m still interested in the information. Please contact me under lake.constance(at)gmx.de
Thanks H.-J. from Germany
Hi Rob and H.-J,
Would it be possible to also send me the infor?
You can send it to bj(at)automatic-rock.nl
Best regards,
Benno
HI Rob,
I´m interesting by your decoding of PIoneer P-BUS protocol. I´m owner of Renault Espace III and i´m searching everything for Pioneer SCU-2XXX and this display !
Many thanks for reply if you read this (3 years ago !!)
-> ludo.space@free.fr
Hello Rob
I´m interested in your MP3 project with M-BUS comunication. Could you contact me? amr101dm (at) yahoo.com. Thanks!
Best regards,
Alberto
Hi Rob,
i’m also interested about the specs of the protocol of the mbus from pioneer.
Can you please send me information about this ?
Many thanks
Christopher
Hello, I just had a quick question, I downloaded the files for the Ford ACP protocol and im trying to take a look at the files in the yampp3 folder. What program was used to create the program?
Thanks.
WinAVR or AVR-Studio
Hi, good day
First I apologize for my unknowledge of electronic concepts.
I´m very interested and I read your project for Chrysler/Jeep cdc emulator and I don´t understand, what ISP does mean? (K4 component), I guess it´s a kind of eprom memory or something like that but I´m not sure, and what is component model? or how can I ask for it at the store?.
Finally, I´m guessing too, the firmware file is to program the ISP component? and how do I can do this? Someone at the store could help me for that?.
Thank for your attention. Best Regards
ISP means In-Circuit-Programmer. It´s an interface to program the AVR from your PC. Any AVR programmer with STK500 compatible pinout will work. The following hardware will work out of the box: STK500, AVR-ISP or AVR-ISP MkII (all Atmel products).
Has anyone built the Jeep CD Changer Emulator?
Would you be willing to build one for me?
Send me a price quote for it at my website. (don´t think I can post email here?)
Thanks!
Hi, what is the emulator supposed to do? Can I connect an mp3 player trough it to be controlled with the Infinity unit?
If thats the case, I can figure out where the input is in the schematic.
Thank you!
What emulator are you talking about?
Hello, Michael! I have a strange issue with CDC emulator for Chrysler Sebring ´04. My radio is RBK without a tape player. I disconnected it from a car, took it home and used an old soviet power supply unit to power it with 12V. I connected 12V to pins 1, 2 and ground to pins 11, 22 of 22 pin socket, and plugged CDC emulator too. At home, using this system, it works just fine, it shows “disc 1, track 1, 0:00” as it´s supposed to and plays audio from 3.5mm jack. But when I took it back to my car and connected it nothing happened. It plays CD, works in FM/AM mode but doesn´t do anything when I press MODE button. I double checked it, it works at home perfectly. Can you possibly help me with my problem? Maybe there´s something I missed?
BTW, binary file is broken so I had to recompile HEX-file in order to make it work.
There is usually a connection between the radio and the cars data bus.
could be a problem that the emulator interferes with the car bus. You
may try to connect just power inside the car and see if the radio
works with the emulator. If yes then just connect the other wires one
by one and see if it stops working at a certain wire.
Hi there!
I have bought all electronic components from ebay. I believe all parts will came soon.
WRT Sergei comment about broken binary file. can anyone share correct hex file?
Really appreciate your support!
Hi Michael,
I also have the chrysler RBK stereo. Mine also does not detect when I change ^Disc to the emulator. Is there a switch of some kind to let the head unit know there is an acc attached? Is it looking for some resistance?
You need an emulator for CDC mode a simple resistor will not work.
Hello great program,
I would build the project, how do get a 3k hex file into the ATtiny26 2k flash.
Thanks
Using an AVR programmer that supports the ATtiny26. Please Google that, it´s covert a million times.
Hi colleagues.
How does the CD Changer protocol used by Skoda Symphony CD player looks like electrically?
I did not find something relevant.
I would need this info in order to build my own project for AUX-in for this radio-CD.
Thanks in advance.
Hello, i am trying to turn on a factory radio for a hummer h3 2008 on a bench outside of the car, and would like a little help. It is a class 2 vpw j1850 radio, and i have the serial data pin of the radio hooked to pin 2 of an elm327 bluetooth. I would like to know what mode and pid should i call to simulate the BCM or other module of the car when it is telling the radio to turn on. Pac manufactories GM turn on interfaces but they are for gmlan 11 bits and 24 bits. Class 2 is a little bit older. Anyone have a clue?
Thanks.
Anyone able to get this working on a PIC?
Hello, my name is Anatoly and I want to ask you about cd changer Kenwood KDC-C660 is compatible with Audi Concert 1 and if it is compatible how to connect them.
Does anyone know if, from the Chrysler / Jeep / Dodge radio 10-wire CD Changer Connector, can I just connect a 3.5mm Y wire to Pins 1 and 6 and play my iPod through the CD Changer? Or do I have to connect to the other Pins?
Thanx!
Mike
Hello,
I follow your works.
Do you think it´s possible to convert the display of the Renault Espace mk3 with an unilink interface ?
You know that original car radio is a pioneer auditorium.
I had mount an Sony MEX-BT3800U with an steering wheel adaptor, I have an DRNS003 too but how connect it ?
Thank you very much from all Renault Espace mk3 owner into France.
Mathieu
Hi!
Has anyone trying to build emulator to jvc kd kl111r??
Share your knowlede plz
Good afternoon. Do not know what Protocol is used in Mazda 5?