DAB+ uGreen Board I2S über HiFiBerry AMP2

  • Hallo,


    ich habe mir das uGreen Board zugelegt und wollte es mit einem Raspberry Pi 3B+ (Raspberry Pi OS) und HiFiBerry AMP2 laufen lassen. Über die Audio-Buchse konnte ich sowohl DAB als auch FM Sender empfangen und wiedergeben. Nun würde ich gerne den Sound über den HiFiBerry AMP2 wiedergeben. Ich habe es mit der Anleitung Advanced: use an external amplifier to play the I2S versucht.


    Ich erkläre mal was ich gemacht habe :conf:


    Zuerst habe ich Pin 38 des uGreen Boards mit Pin 40 vom HiFiBerry mit Jumper Wire Leitung verdrahtet.

    Daraufhin das hifiberry-dacplus Overlay in /boot/config.txt deaktiviert. Reboot durchgeführt und dann die Befehle:



    Code
    sudo rmmod snd_soc_hifiberry_dacplus snd_soc_pcm512x_i2c
    sudo rmmod snd_soc_pcm512x snd_soc_bcm2835_i2ssudo rmmod


    und


    Code
    sudo i2cset -y 1 0x4d 40 0x00
    sudo i2cset -y 1 0x4d 13 0x10
    sudo i2cset -y 1 0x4d 37 0x08
    sudo i2cset -y 1 0x4d 61 0x82
    sudo i2cset -y 1 0x4d 62 0x82
    sudo i2cset -y 1 0x4d 2 0x00

    im Terminal eingegeben.

    Danach habe ich i2s auf DAB Board mit

    Code
    sudo ./radio_cli_v2.1.0 -b D -o 1

    aktiviert.


    Und dann die Station "Antenne Bayern" gewählt

    Code
    sudo ./radio_cli_v2.1.0 -f 3 -c 2 -e 54040 -p -l 40


    Dann bekomme ich die Meldung "Could not tune to frequency".


    Danach habe ich es wieder mit deaktiviertem i2s versucht und "Antenne Bayern" wird gefunden und über die Audio Buchse wiedergegeben.

    Ich hatte auch nicht ganz verstanden, wie man das DABBoard als I2S-Master startet und den Hifiberry AMP2 manuell als I2S-Slave konfiguriert. :daumendreh2:


    Hat das vielleicht schonmal jemand gemacht?


    Danke


    (Hab ein Bild von meinem Aufbau dazu gepackt)

  • Servus Thomas196,


    Die Meldung "Could not tune to frequency" bei Auswahl von Antenne Bayern verwundert mich in keiner Weise! Es ist eher bedenklich, dass diese Warnmeldung nicht auch kommt, wenn man die 3,5mm-Buchse verwendet :lol:


    Spaß beiseite!

    Ich habe auch schon ein bisserl mit DAB+ gebastelt, aber mit dem DAB+-Monkeyboard. Das uGreen-Board steht auch noch auf meiner todo-/habenwill-Liste. Das Monkeyboard hat ebenfalls einen I2S-Masterausgang und den konnte ich problemlos am I2S-Slaveeingang des Hifiberry-MiniAmp anschließen.

    Lese Dich einfach mal in meinen Thread ein, aber Vorsicht! Der ist lang...

    Stromlaufplan HifiBerry MiniAmp

    Stromlaufplan HifiBerry DAC+


    I2S-Verdrahtung zwischen DAB+-Board und HifiBerry


    Vielleicht hilft Dir das als Anregung ja schon mal weiter?



    EDIT:

    Die HifiBerry-Verstärker sind immer I2S-Slaves. Da braucht man auf dem RPi eigentlich gar nichts zu konfigurieren (außer die Standardeinstellungen des entsprechenden HifiBerry-Boards in der config.txt einzufügen, für den MiniAmp z.B. hier beschrieben).

    Die DAB-Boards (egal welche) sind normalerweise I2S-Master.


    EDIT2:

    Problematisch ist bei manchen I2S-Soundkarten (z.B. beim MiniAmp mit dem einfacheren I2S-D/A-Wandler PCM5101A), dass die Lautstärke nicht als Parameter übergeben werden kann. Stattdessen muss die Amplitude über die Binärwerte im Audiostream skaliert werden. Wenn die I2S-Audiodaten nicht vom RPi, sondern von einer autarken anderen Quelle, wie z.B. einem DAB+-Board kommen, dann bleibt die Softwareeinstellung auf dem RPi-Desktop wirkungslos! Hier braucht man dann das Glück, dass die Lautstärke auch am DAB-Board eingestellt werden kann. Dies geht beim Monkeyboard.


    Wird aber ein Chip wie der PCM5122 verwendet, dann stellt der Treiber die Lautstärke z.B. über den separaten I2C-Bus hardwaremäßig am Wandler-IC ein und der Schieberegler am RPi-Desktop funzt einwandfrei. Könnte sein, dass Du mit dem HifiBerry AMP2 diesbezüglich Glück hast.

  • Hiho schlizbäda,


    danke für deine Antwort :danke_ATDE: , dann zieh ich mir deinen Stuff mal rein. :)


    Ah oke das wusste ich nicht, dass die HifiBerry-Boards standardmäßig I2S-Slaves und die DAB Boards I2S-Master sind.

  • Der Vollständigkeit halber:

    Auch die I2S-Pins an der 40-poligen Stiftleiste des RPi (Pins 12, 35, (38), 40) sind von einem I2S-Master

  • Hallo zusammen!


    Ich hoffe ich "kapere" den Thread jetzt nicht unerlaubt! :) Die vergangenen Jahre habe ich mir immer irgendwelche Schwarzen Boxen gekauft, die irgendwie UPNP, Spotify, DAB+ & Co beherrschten und ich so meine Anlage mit Konnektivität nachrüsten konnte, aber mittlerweile hätte ich gerne etwas mehr Flexibilität. Da ich mit Linux schon viele Jahre Erfahrungen habe und in der Software-Entwicklung keine 2 linken Hände habe, dachte ich mir, ich könnte mir da was mit einem Raspberry zusammenbauen.

    Mein Gedanke war, das DAB+ Board von uGreen zu kaufen, die Stiftleiste mit den längeren Pins dran zu löten und da drauf dann das HifiBerry-Board zu stecken. Wenn ich das richtig verstehe, wäre das die Variante wie bei dir schlizbäda oder? Hast du das soweit problemlos final zum laufen bekommen?


    Grüße, p7

  • ich habe das Monkeyboard gekauft. Ist dezent teurer als das uGreen-Board, war aber damals das einzige(?) verfügbare DAB+-Modul, zumindest nach meiner Internetrecherche. Mein DAB-Radio läuft an sich problemlos und steht bei mir im Bastelkeller. Aus diesem Grunde hat es nur noch nicht den nötigen WAF für Wohnzimmer, Küche etc. Aber ja, ich habe es problemlos ans Laufen bekommen, siehe meinen Thread dazu.


    Ich liebäugel ja auch schon mit dem uGreen-Board und werde es mir "demnächst" holen. Meinen dabd werde ich dann im Sinne der objektorientierten Progrmmierung so umbauen, dass es abgeleitete Klassen für jede verwendete Hardwarevariante (Monkeyboard, uGreen, ...) geben wird. Aber das ist von meiner Seite her noch Zukunftsmusik.

    Ich denke, dass die Umstellung/Erweiterung auf uGreen für Dich als Softwerker nicht problematisch sein dürfte.


    Lautstärkeregelung an den Hifiberry-Boards:

    Ich schalte ja den I2S-Bus am HifiBerry-Modul per 4-Kanal-Relais um zwischen RPi und DAB+-Modul. Bei den Boards auf Basis des Treibers DAC+ (HifiBerry DAC+ etc.) wird die Lautstärke hardwaremäßig über den I2S-Wandler PCM5122 eingestellt. Die Lautstärkesteuerung erfolgt dann auch bei Umschaltung des I2S-Busses auf DAB+-Betrieb ganz normal über die Lautstärkeregelung des RPi/Raspbian.

    Beim MiniAmp, der den "kleineren" I2S-Wandler PCM5101A verwendet, wird die Lautstärke eingestellt, indem der Software-Treiber die Amplitude der digitalen Audiosignale am I2S-Bus rechnerisch anpasst. Wenn man jetzt den I2S-Bus auf ein davon unabhängiges DAB+-Modul umschaltet, bleibt die Lautstärkeregelung am RPi natürlich wirkungslos.

    So ist es zumindest bei mir mit dem Monkeyboard am MiniAmp. Gott sei Dank kann man die Lautstärke auch am Monkeyboard in 16 Stufen einstellen, womit sich dieses Problem bei mir erübrigt hat. Wie das am uGreen-Board umgesetzt ist, weiß ich nicht. Aber dafür gibt es wesentlich mehr RPi-spezifische Doku als für das Monkeyboard. Kläre das ab und schau, wie die Audiodaten vom uGreen-Board auf den RPi kommen und welches HifiBerry-Board (bzw. mit welchem Wandler) Du dann letztlich verwenden kannst/musst.