Hvorfor har vi ikke valgt at bruge en Raspberry Pi? - En introduktion til PCB'et
Som en hver anden aktiv højttaler, skal der bygges en forstærker ind i kabinettet af STRØM højttaleren. Udover en forstærker, skal der også være plads til en streamer og et web-interface.
Dette indlæg er en introduktion til vores forstærker og streaming platform – µVox – og nogle af de overvejelser vi har gjort os indtil videre.
Microcontroller versus Single Board Computer
Der er flere der har spurgt: "hvorfor vi ikke bare benytter en Raspberry Pi (RPI) til denne højttaler"? Der findes jo rigtig nok mange bud på en streaming løsning, med RPI i fokus. Mange af disse løsninger fungere også rigtig godt.
Det første problem vi er stødt på er forstærkeren. De løsninger vi har kendskab til, er enten ikke kraftige nok. Eller også fylder de fysisk for meget til, at kunne passe ind i dette kompakte kabinet.
Raspberry pi’en er heller ikke helt billig i forhold til en microcontroller baseret løsning (eller specielt tilgængelig i skrivende stund), og vil dermed være med til at drive den samlede udsalgspris op.
Det er også værd lige at nævne at når der benyttes en SBC (som RPI), så kører der jo et fuldt OS (Linux) under motorhjelmen. Det kan være smart (og måske endda nødvendigt) i flere use cases, men virker som unødvendig kompleksitet til en streaming højttaler. Og sådan et OS skal jo også boote. Så når højttaleren starter op, tager det hurtigt 30-60s med en RPI. For en microcontroller baseret løsning "booter" den på millisekunder [ms].
Forstærker- og Streamingplatform - µVox
Vores forstærker- og streaming-platform kalder vi for µVox og er ikke blevet udviklet specifikt til STRØM højttaleren. Den (STRØM højttaleren) er blot en af de første use cases for denne platform.
De to væsentligste komponenter i denne platform er forstærkeren - en Infineon MA12070P - og selve hjernen, en Xtensa baseret ESP-microcontroller - ESP32 PICO-V3-02.
Hvorfor har vi valgt en ESP, når nu der allerede findes så mange audio-specifikke mikroprocessor-løsninger?
Selve hardware projektet har været undervejs længe forinden, STRØM projektet blev en realitet. Og igennem årene har vi arbejdet med mange forskellige mikroprocessorer - også andre end dem fra Espressif. En gennemgående tendens er dog, at rigtige mange løsninger egner sig dårligt til open source projekter. De befinder sig i helt eller delvist, lukkede udviklingsmiljøer samt proprietær eksempel kode. Der skal benyttes prebuilt binaries til dekoder-firmware og lign. I visse tilfælde kræves der også betaling af udviklings-licenser, for at få adgang til at købe udviklings-boards, samt at få adgang til eksempelkode.
Disse økosystemer passer - i vores optik - dårligt med udviklingen af en open source forstærker- og streamingplatform. Foruden det, har vi sjældent set et community omkring en mikroprocessor platform, så omfattende og inviterende, som det vi ser blandt ESP-tilhængerne.
ESP32 PICO-V3-02 - Microcontrolleren
Kinesiske Espressif’s Xtensa-instruktionssæt baserede ESP-mikroprocessorer er i løbet af de sidste 6-8 år blevet en favorit mikroprocessor blandt fritids, deltids og fuldtids professionelle-elektronik entusiaster. Sjældent er det set, at en ellers hidtil ukendt, ung spiller kommer svævende ind fra sidelinjen, og leverer en markedspenetrering på niveau med Espressif’s.
Omkring start tierne så vi en eksponentielt stigende efterspørgsel på mikroprocessorer med performance nok til, ligefrem at kunne drive hele linux kernen. I høj grad til brug i mobiltelefoner, men hér også særligt nævneværdigt: platforme som Raspberry Pi.
ESP32’eren lægger sig et fornuftigt sted midt imellem og drevet af et Real Time Operating System (RTOS), er der tale om en rigtig kraftig løsning:
- 240MHz Dual Core Xtensa LX6 processor
- 520kB ram
- 8MB flash (op til)
- Mulighed for 2-4MB PSRAM.
- Integreret Bluetooth
- 2.4GHz WiFi radio
Altsammen i en kompakt QFN48 pakke til knap 20kr!
Dog særligt væsentligt for vores applikation er ESP’ens I2S periferi-enhed og dens audio grade Audio-PLL kreds, som sikrer et pålideligt clock signal til I2S-bussen. Og samtidig tillader finjustering at dette clock signal.
Vi benytter varianten af chippen ved navn: ESP32 PICO-V3-02
da denne, foruden ovenstående, i selve chippen indeholder 8MB flash-hukommelse, samt 2MB PSRAM.
Denne variant står til 24kr.
Infineon MA12070P - Forstærkeren
Vi har til platformen µVox, valgt at bruge Infineons MA12070P klasse-D forstærker. Netop denne IC er i vores optik perfekt til formålet, grundet særligt fire parametre:
- Kompakt printplade aftryk (på vores nuværende print: 28 x 54mm)
- Yderst høj effektivitet (+90%)
- Digital I2S Input, samt I2C styret volumenkontrol
- Høj udgangseffekt (uden køleelement!)
- 2x80W Peak @ 26V @ 4Ω @ 10%THD
- 2x60W Peak @ 26V @ 4Ω @ 1% THD
- 2x10W Peak @ 26V @ 4Ω @ 0.003% THD
MA12070P’en er tilmed en dansk udviklet chip, og ved +50 stk. koster den i omegnen af 40 kr. Forstærkeren gør sig yderligere positivt bemærket, da den i modsætning til konkurrerende løsninger ikke har behov for et enormt LC filter på udgangstrinnet. Dette er takket være dens patenterede multi level switching teknologi, der også bidrager til dens exceptionelle effektivitet.
Er man nysgerrig efter yderligere detaljer om den nævnte switching teknologi, kan det varmt anbefales at tage et kig på IEEE artiklen om netop denne teknologi.
Dansk udviklet forstærker
Læser man undertitlen til ovenstående artikel vil man som dedikeret læser af STRØM bloggen, bemærke at Jørgen er nævnt som medforfatter på artiklen - hvoraf sidste argument for valget af forstærker kommer.
Jørgen, som den første IC designer i det danske startup Merus Audio var i 2010 med til at udvikle den klasse-D forstærker, som skulle vise sig at blive til MA12070P’en.
µVox og STRØM
µVox er fusionen af ESP32’eren og MA12070P’en - en yderst minimalistisk all-in-one forstærker løsning, som gør det muligt for enhver højttaler, at få al funktionaliteten den moderne forbruger ville forvente af en moderne smart-højttaler.
Platformen understøtter indtil videre to forskellige HW brugergrænseflader:
- En varient med tre trykknapper og tre RGB lysdioder
- Og en med en roterende encoder med tryk i, til volumenkontrol og bla. skift af input-kilde
Funktionaliteten af disse input kan, og skal, naturligvis skræddersyes i softwaren.
Med et fysisk aftryk på størrelse med et kreditkort, et idle-forbrug på 0,6W, og en peak udgangseffekt på op til 2x80W, rigeligt af DSP-kapacitet, og så tilmed i et helt open source design, var valget af µVox til STRØM en selvfølge.
/Nicolai, Jørgen, Tue
