Da ich befürchte, bei meinem DAB+-Radio-Projekt von einigen Unzulänglichkeiten des Orginal HifiBerry MiniAmps eingeholt zu werden, habe ich heute die Leiterplatte durchgemessen und nach bestem Wissen und Gewissen mit EAGLE 7.5.0 einen Stromlaufplan davon gezeichnet und den will ich Euch nicht vorenthalten
siehe auch:
Stromlaufplan HifiBerry DAC+ Hier habe ich bereits vor geraumer Zeit einen Schaltplan von dieser Leiterplatte gezeichnet
Besonderheiten beim MiniAmp:
Beim MiniAmp wird nicht der I2S-D/A-Wandler PCM5122 verwendet, der eine Steuerung über I2C böte, sondern das "kleinere" Modell PCM5101A zusammen mit dem Class-D Verstärker-IC PAM8403. Das bedeutet, dass die Wiedergabelautstärke beim MiniAmp nur über die I2S-Audiodaten selbst gesteuert werden kann. In Raspbian müssen dazu spezielle ALSA-Einstellungen vorgenommen werden, damit die Pegel in den I2S-Audiodaten vom RPi entsprechend der eingestellten Lautstärke angepasst werden.
Der Forenthread HifiBerry MiniAmp aktivieren beinhaltet Informationen zu den ALSA-Einstellungen für den MiniAmp.
Dies basiert u.a. auf der Internetseite https://support.hifiberry.com/…g-software-volume-control:
Einfache Variante von /etc/asound.conf, direkt der HifiBerry-Seite nachempfunden:
# Einstellungen ohne Mixerfunktionalität:
# Diese Variante nur verwenden, wenn die erweiterte Variante Probleme machen sollte...
pcm.hifiberryMiniAmp {
type softvol
slave.pcm "plughw:0"
control.name "Master"
control.card 0
}
pcm.!default {
type plug
slave.pcm "hifiberryMiniAmp"
}
Display More
Erweiterte Variante von /etc/asound.conf mit Software-Mixer in ALSA. Damit können mehrere Audioprogramme gleichzeitig den MiniAmp benutzen -- Danke an smutbert. Leider funktioniert diese Variante nicht mit allen Programmen (z.B. nicht mit dem omxplayer):
pcm.dmixer {
type dmix
ipc_key 1236
slave.pcm "hw:sndrpihifiberry"
}
pcm.softvolume {
type softvol
slave.pcm "dmixer"
control.name "Master"
control.card sndrpihifiberry
}
pcm.!default {
type plug
slave.pcm "softvolume"
}
Display More
Weitere Hinweise auch in der Bedienungsanleitung zu meinem Raspiblaster (Datei raspiblaster_de.pdf), Kapitel 3.2 "HifiBerry MiniAmp installieren" (Seite 27ff)
Genial am MiniAmp ist, dass er sofort läuft, wenn korrekte I2S-Audiodaten am I2S-Bus (RPi-Pins 12, 35, 40) anliegen.
Gleichzeitig ist aber keine direkte Lautstärkeregelung möglich: Das muss dann entweder softwaremäßig über die Manipulation der I2S-Daten (siehe ALSA-Einstellungen im Spoiler) erfolgen oder durch zusätzliche Hardware, die die Lautstärke im analogen Backend regelt (empfehle ich jedoch nicht).
Tatsächlich verwendete GPIO-Pins beim MiniAmp:
Neben den obligatorischen GND-, 3.3V- und 5V-Pins sind dies konkret:
Pin 12 (GPIO 18, PCM_CLK): I2S-BCLK
Pin 35 (GPIO 19): I2S-SYNC
Pin 40 (GPIO 21): I2S-DATA
Pin 36 (GPIO 16): MUTE (PAM8403)
Pin 37 (GPIO 26): SHDN (PAM8403)
EDIT 21.12.2019:
Auch Pin 38 (GPIO 20 / PCM_DIN) sollte/darf bei Betrieb des MiniAmps am RPi nicht anderweitig verwendet werden, da er für I2S als Eingangspin für Tonaufnahmen reserviert ist, siehe Beitrag #22 im Thread "Kein Ton über HiFiBerry MiniAmp am RPi 4". Pin 38 wird zwar auf der MiniAmp-Leiterplatte nicht verwendet, es könnte aber sein, dass ALSA (oder ander Linux-Audiotreiber) diesbezüglich möglicherweise keinen Spaß verstehen. Danke Benzinbruder:
HiFiBerry MiniAmp
GPIOs 18-21 (pins 12, 35, 38 and 40) are used for the sound interface. GPIO16 can be used to mute the power stage. GPIO26 shuts down the power stage. You can’t use these GPIOs for any other purpose.
Ansonsten:
Beim MiniAmp werden weder die I2C-Pins 3 (GPIO 2) I2C-SDA1 und 5 (GPIO 3): I2C-SCL1 verwendet, noch ist ein ID-EEPROM (I2C) an den ID-Pins 27 und 28 angeschlossen.
So, jetzt habe ich genug geschwafelt, der Rest ist in den Dateianhängen zu finden.
Viel Spaß,
schlizbäda