[Ampli sur Espace 3 du nouveau :)]
Publié : 22 avr. 2006, 17:46
Volà en cherchant j'ai enfin trouvé ce que je cherchais
, bon c'est en anglais
mais j'ai pas résisté à l'envie de le mettre en brut, pour que tout le monde en profite le plus vite possible
http://www.mictronics.de
pour le texte c'est ça:
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.
I think a CANbus tranceiver should work here.
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 ).
For now I just figured out some very basic things like the fields where time, track and disc number are encoded and also some
key codes the radio sends. There are many more fields in the packets where i still don't know the meaning of.
(I just got the radio from a friend for some days and so I couldn't do so much more on it ... however .. if somebody is intrested in some
more information and is wiling giving me a radio and a changer for some weeks I'll try to do some more .... )
I have also designed a small circuit using a AT90S2313 controller which can be used for logging the transfer through the pc serial port and also
to send commands.
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
Bon avec Google tranlate ça donne ça, c'est pas vraiment terrible mais pour les non bilingues ça peut aider
Frayez un chemin les utilisations d'autobus d'cIp de pionnier un signal différentiel de 2 fils pour la communication. Un niveau égal sur les deux lignes est un bas logique tandis qu'une haute est codée comme différence de tension d'un certain 100mV. Je pense que un tranceiver de CANbus devrait fonctionner ici. Le transfert de données est lancé par ou le commutateur CD ou l'initiateur de radio.The produit d'une impulsion élevée (ca. 170us) et une basse impulsion suivante (ca 20us). Alors le transfert de données commence, un 1 est codé pendant qu'un ordre haut-bas avec une durée de AP 20us pour les deux niveaux et un 0 se compose d'un 3ús haut et d'une basse impulsion 7us. Les données sont maintenant transférées dans les bytes avec MSB d'abord, le 8ème peu est une imparité bit.At la fin de la 3ème et tous les bytes suivants il y a un peu additionnel se sont insérés après la parité où le récepteur reconnaît le transfert. Ceci est fait en tenant les lignes de données dans un état élevé après que l'initiateur les place low.If que ce ACK manque le transfert est arrêté. Les synchronisations peuvent changer parce que les vraies données sont codées dans l'impulsion pour espacer la relation de longueur. Les premiers 3Bytes semblent être un certain genre de commutateur du dispositif address.The que j'ai utilisé ai transféré un 0x88,0x68,0x00 ici tandis que la radio sended 0x88,0x08,0x06. Les 4 prochains bits étaient toujours hauts. Ensuite qu'un byte de taille et classent alors des bytes ont été transférés. Le dernier byte dans le transfert est une somme produite ajoutant les valeurs de toutes les données commençant par l'ordre 4bit (= 0x0F). Dans la partie suivante je seulement écrirai les données brutes à l'exclusion du champ de taille et de cheksum. Chaque commande transférée a été répondue la première fois par certains reconnaissent le paquet se composant d'un 0xA1 simple. (au lequel ressemble: 0x88 0x08 0x06 0xF 0x02 0xA1 0xB2 - > 0xB0 est la somme). Pour moi ai maintenant juste figuré hors de certaines choses très de base comme les champs où le nombre de temps, de voie et de disque sont codés et également quelques codes de clef la radio envoie. Il y a beaucoup plus de champs dans les paquets d'où je ne sais toujours pas la signification. (j'ai juste obtenu la radio d'un ami pendant quelques jours et ainsi je ne pourrais pas faire tellement plus là-dessus... cependant. si quelqu'un est intrested dans encore plus d'information et wiling me donnant une radio et un commutateur pendant quelques semaines où j'essayerai de faire encore plus....) j'ai également conçu un petit circuit en utilisant un contrôleur AT90S2313 qui peut être employé pour noter le transfert par la porte série de PC et également envoyer des commandes. Le paquet suivant sended par le commutateur contenu l'information de disque et de voie de temps. Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 modus minimum des données 0x61 0x10 0x06 0x01 0x20 0x04 0x16 0x01 0x06 0x01 0x00 0x00 0x01 0x00 0x3F 0x00 0x00 0x00 0xC0 0x48 de cdt de voie de sec de disque de mcd de modus de commande d'information: La pause prête de clignotement de voie d'information de la valeur 0x02 0x07 0x08 0x10 0x11 0x13 0x14 0x15 0x16 prête et la charge de clignotement de disque de clignotement de disque et le clignotement de disque éjectent et la charge de clignotement de disque éjectent le cdt: bit0: (1:cdtext), (0:normal) l'information des textes a été codée dans ce byte 0 de paquet que 1 2 3 4 5 6 7 8 9 10 11 12 13-22 données 0x61 0x10 0x06 0x01 0x20 0x04 0x38 0x09 0x00 0x06 0x00 0x00 0x00 0x00 des textes de nombre de seqence des textes de voie de disque de modus de commande d'information recommandent le lien: La page de Vitaliy @ http://www.vitat.spb.ru/avec l'interface de bus d'cIp sur la base d'cAvr et plus d'informations d'autobus d'cIp



http://www.mictronics.de
pour le texte c'est ça:
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.
I think a CANbus tranceiver should work here.
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 ).
For now I just figured out some very basic things like the fields where time, track and disc number are encoded and also some
key codes the radio sends. There are many more fields in the packets where i still don't know the meaning of.
(I just got the radio from a friend for some days and so I couldn't do so much more on it ... however .. if somebody is intrested in some
more information and is wiling giving me a radio and a changer for some weeks I'll try to do some more .... )
I have also designed a small circuit using a AT90S2313 controller which can be used for logging the transfer through the pc serial port and also
to send commands.
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
Bon avec Google tranlate ça donne ça, c'est pas vraiment terrible mais pour les non bilingues ça peut aider

Frayez un chemin les utilisations d'autobus d'cIp de pionnier un signal différentiel de 2 fils pour la communication. Un niveau égal sur les deux lignes est un bas logique tandis qu'une haute est codée comme différence de tension d'un certain 100mV. Je pense que un tranceiver de CANbus devrait fonctionner ici. Le transfert de données est lancé par ou le commutateur CD ou l'initiateur de radio.The produit d'une impulsion élevée (ca. 170us) et une basse impulsion suivante (ca 20us). Alors le transfert de données commence, un 1 est codé pendant qu'un ordre haut-bas avec une durée de AP 20us pour les deux niveaux et un 0 se compose d'un 3ús haut et d'une basse impulsion 7us. Les données sont maintenant transférées dans les bytes avec MSB d'abord, le 8ème peu est une imparité bit.At la fin de la 3ème et tous les bytes suivants il y a un peu additionnel se sont insérés après la parité où le récepteur reconnaît le transfert. Ceci est fait en tenant les lignes de données dans un état élevé après que l'initiateur les place low.If que ce ACK manque le transfert est arrêté. Les synchronisations peuvent changer parce que les vraies données sont codées dans l'impulsion pour espacer la relation de longueur. Les premiers 3Bytes semblent être un certain genre de commutateur du dispositif address.The que j'ai utilisé ai transféré un 0x88,0x68,0x00 ici tandis que la radio sended 0x88,0x08,0x06. Les 4 prochains bits étaient toujours hauts. Ensuite qu'un byte de taille et classent alors des bytes ont été transférés. Le dernier byte dans le transfert est une somme produite ajoutant les valeurs de toutes les données commençant par l'ordre 4bit (= 0x0F). Dans la partie suivante je seulement écrirai les données brutes à l'exclusion du champ de taille et de cheksum. Chaque commande transférée a été répondue la première fois par certains reconnaissent le paquet se composant d'un 0xA1 simple. (au lequel ressemble: 0x88 0x08 0x06 0xF 0x02 0xA1 0xB2 - > 0xB0 est la somme). Pour moi ai maintenant juste figuré hors de certaines choses très de base comme les champs où le nombre de temps, de voie et de disque sont codés et également quelques codes de clef la radio envoie. Il y a beaucoup plus de champs dans les paquets d'où je ne sais toujours pas la signification. (j'ai juste obtenu la radio d'un ami pendant quelques jours et ainsi je ne pourrais pas faire tellement plus là-dessus... cependant. si quelqu'un est intrested dans encore plus d'information et wiling me donnant une radio et un commutateur pendant quelques semaines où j'essayerai de faire encore plus....) j'ai également conçu un petit circuit en utilisant un contrôleur AT90S2313 qui peut être employé pour noter le transfert par la porte série de PC et également envoyer des commandes. Le paquet suivant sended par le commutateur contenu l'information de disque et de voie de temps. Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 modus minimum des données 0x61 0x10 0x06 0x01 0x20 0x04 0x16 0x01 0x06 0x01 0x00 0x00 0x01 0x00 0x3F 0x00 0x00 0x00 0xC0 0x48 de cdt de voie de sec de disque de mcd de modus de commande d'information: La pause prête de clignotement de voie d'information de la valeur 0x02 0x07 0x08 0x10 0x11 0x13 0x14 0x15 0x16 prête et la charge de clignotement de disque de clignotement de disque et le clignotement de disque éjectent et la charge de clignotement de disque éjectent le cdt: bit0: (1:cdtext), (0:normal) l'information des textes a été codée dans ce byte 0 de paquet que 1 2 3 4 5 6 7 8 9 10 11 12 13-22 données 0x61 0x10 0x06 0x01 0x20 0x04 0x38 0x09 0x00 0x06 0x00 0x00 0x00 0x00 des textes de nombre de seqence des textes de voie de disque de modus de commande d'information recommandent le lien: La page de Vitaliy @ http://www.vitat.spb.ru/avec l'interface de bus d'cIp sur la base d'cAvr et plus d'informations d'autobus d'cIp