CD43 mit Raspberry Pi und DSP

  • Gleich Vorweg es wird etwas länger, möchte aber mein Projekt schon mal vorstellen und evtl. kann auch einer von euch zu beitragen.

    Ich hab in meinem e36 schon länger Doorboards und ein Vollaktivsystem mit DSP (Helix DSP) verbaut.

    Ich höre nur meine Musik (kein Radio) und die habe ich auf USB Stick im FLAC Format.

    In meinem F20 habe ich auch ein DSP System und gehe dort direkt digital über ein MOST-Interface (Audison bit DMI) in den DSP rein. Selbst Lautstäreregelung klappt damit damit.

    Deswegen widerstrebt es mir auch Musik die digital vorliegt erst analog über ein Autoradio in den DSP und dort wieder digital zu machen um es danach wieder zu wandeln.

    Zu CD Zeiten hatte ich ein Alpine CDA7998r (die älteren werden sich erinnern) und den passenden Alpine DSP, aber die Zeiten sind dich vorbei und das Alpine ist zwar schick, aber schaut doch nur bedingt gut im e36 aus.

    Außerdem ist mein e36 ein Cabrio und da kommt noch dazu, dass das Display auch in der Sonne noch ablesbar sein soll.

    Kurz: Eigentlich passt nur das CD43, Das Business RDS 2. Schlichte Optik, I-Bus fähig.


    Jetzt zu meiner Idee:

    Ich nehme einen Raspberry Pi mit HifiBerry Digi2 Pro, das simuliert auf einer Seite zum BMW hin einen CD-Wechsler und auf der anderen Seite gehe ich direkt digital mit 24bit SPDIF in den DSP rein.

    I-Bus ist ja an vielen Stellen schon beschrieben, und auch dass man das Display ansteuern kann usw.

    Was mir Kopfzerbrechen bereitet hat, war die Lautstärkeregelung.

    Hätte man ein MID und Radio getrennt (wie zb im e39), dann würde die Lautstärkeinformation über den I-Bus übermittelt werden.

    Beim CD43 ist ja "leider" alles in einem Gerät. Es hört zwar auf eine Lenkradfernbedienung (geht - werde ich aber nicht einbauen), aber regelt die Lautstärke ja nur intern und gibt diese dann ja direkt analog an die Lautsprecher aus.

    Hatte mit schon wilde Schaltungen überlegt, mit Sinus analog ins Radio einspeisen und dann wieder mitm Raspi auslesen und direkt analog wandeln und als Potiwert in den DSP eingeben (am Helix DSP kann auch einfach ein Poti zu Lautstärkenregelung angeschlossen werden).


    ABER durch Zufall habe ich was rausgefunden:

    Man kann das CD43 in einen DSP Modus versetzen.

    Schicke ich mit NavCoder auf de Ibus:

    6A 04 68 02 01 05

    Dann bekomme ich zum einen folgendes zurück:

    68 04 FF 36 AF 0A Audio_control Source = Off

    68 04 FF 36 70 D5 Audio_control Bass = 0

    68 04 FF 36 D0 75 Audio_control Treble = 0

    68 04 FF 36 50 F5 Audio_control Balance = Center_0

    68 04 FF 36 90 35 Audio_control Fader = Center0

    68 04 FF 36 30 95 Audio_control DSP_Function 0

    68 04 FF 36 E1 44 Audio_control DSP_Function 1 (Speed Volume 1 )

    68 04 FF 36 A0 05 Audio_control Source = CD


    sprich ich kann mir damit die Audio Parameter abfragen.

    Und jetzt kommts:

    Ab da an sendet das Radio die Lautstärkenänderungen auf den I-Bus!


    68 04 6A 32 11 25 Volume Control Increase 1 step

    68 04 6A 32 10 24 Volume Control Decrease 1 step


    Also kann ich damit die Laustärkeregelung mit dem Raspi abfragen und an den DSP weitergeben.



    Aktuell bin ich noch im Versuchsstadium mit Navcoder am PC.

    Danach heißt es "nur noch" das alles auf dem Raspi nachbauen.

    Ich werde berichten :)