Infineon MA12070 Class D

Hi all! After getting one of the Shenzhen Pillor PL-ADP-160 (V1.5) from AliExpress that were also discussed on this thread "a while ago", I naively hooked it up to an old Odroid C1+ that was lying around, while still waiting for a Raspberry Pi to arrive in the mail. Currently, for testing purposes, the amplifier is powered by a 20V Lenovo laptop brick.

The Odroid was a nice SBC, which, unfortunately didn'd get any support beyond Ubuntu 18.04 with kernel 3.10.107. My thinking was that I2S is I2S and perhaps I might get some sound out of the amplifier using the PCM5102 driver that ships with the Odroid's image. Unfortunately, just silence.

My wiring is:

BCLK - SCLK
LRCK - LRCK
GND - GND
DATA - DATA
MCLK - MCLK
(EN and MUTE are unconnected)

Assuming the wiring is correct, is there just no way without a kernel new enough to run https://github.com/Infineon/merus-audio-amp-hat-zw/ ? Or does perhaps something generic exist that could be used?
 
Founder of XSA-Labs
Joined 2012
Paid Member
Khadas VIM3 SBC’s run Linux and has I2S to connect to the stack-on Toneboard DAC, and other DACs.

https://forum.khadas.com/t/how-to-use-i2s-interface-for-hi-res-audio/596

Here is gpio header on VIM3:

1705918631899.png

1705918787402.jpeg
 
Thank you xrk971 ... indeed I'm not really uncertain about my wiring. It's pretty standard for I2S once you know that BC(L)K and SC(L)K are often used interchangeably. My question was more about the driver side of things.

From what I understand about the MA120x0, they expect LEFT justified (or "Texas Instruments"-style) I2S, not RIGHT justified, which is more commonly expected. Not a problem as such, only that the driver has to provide it...
 
Founder of XSA-Labs
Joined 2012
Paid Member
That stuff can drive you nuts. I developed a DSP board and used an ADAU chip and remember manually setting the I2S parameters. There is a lot that can go wrong. It sounds like a garbled mess if not right. But once you hear some sound it’s a matter of playing with all the settings and when it’s right you hear clear music. Having a logic analyzer helps to see the pulses and justification and header and clock etc.

If you don’t have control then, yes, it’s up to the driver to handle all that.
 
Ah, putting an ADAU1451 in between is my ultimate goal. I thought it'll probably do myself a favor by figuring them both out on their own, first...

A little OT, but have you ever succeeded in programming an ADAU using one of these cheap CY7C68013A boards with freeUSBi firmware? So far, SigmaStudio is not giving any indication that it's recognizing the programmer. But then, I don't really know where to click. It's quite the complicated piece of software.

Back to the MA12070 ... I do have a Rigol DS1054Z, which is 4-channel, so I guess I could peek at BCLK, LRCK, MCLK and DATA if nothing else. Or repurpose the CY7C68013A as a LA with Sigrok. Might be less of a hassle than using the scope...

Edit: just found https://github.com/jorgenkraghjakobsen/merus_bt ... not sure if that's already part of this (pretty gigantic) thread. Looks like Jorgen has all the I2S settings figured out there. I'll abandon the Odroid and try with an ESP instead!
 
Founder of XSA-Labs
Joined 2012
Paid Member
Last edited:
Founder of XSA-Labs
Joined 2012
Paid Member
The EVM boards with Dongle were $250 vs $100 for plain Dongle. This was a company expense and very reasonable for an EVM board.

That’s my DSP board and Rev 1 so plain and simple error in failing to see that the AKM DAC needed its Mute pin actively controlled by the DSP. I chose a conveniently available spare digital output.

In rev 1 boards I would highly encourage diagnostic probe point pins for reading the logic state of all inputs/outputs data and clocks.
 
Ah, well, as a company expense it's a good price of course!

Re. MUTE pin: do you know anything about the V1.5 board's MUTE and ENABLE pins (the one with I2S input, red heatsink and throughholes for I2C, that ships with standoffs already mounted)? Do they work like stated in the MA12070's datasheet? Or are they pulled HIGH/LOW differently from what the chip does itself?
 
Founder of XSA-Labs
Joined 2012
Paid Member
Ah, well, as a company expense it's a good price of course!

Re. MUTE pin: do you know anything about the V1.5 board's MUTE and ENABLE pins (the one with I2S input, red heatsink and throughholes for I2C, that ships with standoffs already mounted)? Do they work like stated in the MA12070's datasheet? Or are they pulled HIGH/LOW differently from what the chip does itself?
Sorry I can’t answer question about the mute control on the amp boards. I have only used MA12070 as ready made amp inside an SMSL amp with USB and BT connectivity. The only thing about mute is what is the logic? Normally on or off and is it open collector logic or level logic with pull up resistors etc.
 
As I expressed in my previous post. ma12070 1.5v cards have arrived. I made the connections as seen in the pictures. The result is perfect. I had no problems.
 

Attachments

  • IMG_20240122_145223.jpg
    IMG_20240122_145223.jpg
    145.9 KB · Views: 70
  • IMG_20240123_002145.jpg
    IMG_20240123_002145.jpg
    209.7 KB · Views: 78
  • IMG_20240123_002137.jpg
    IMG_20240123_002137.jpg
    261.2 KB · Views: 82
  • IMG_20240123_002158.jpg
    IMG_20240123_002158.jpg
    272.9 KB · Views: 85
  • IMG_20240123_002209.jpg
    IMG_20240123_002209.jpg
    144.2 KB · Views: 81
Last edited:
frobek: I have the same question as what xrk971 is asking:

Is there a step-by-step guide for the Chinese boards? Driver installation for the CY7C68013A board went fine. My problem is that I need some hand holding with SigmaStudio. Where to click exactly? I'm fine with anything CLI, but complex GUIs like SigmaStudio always overwhelm me a little...

My board is this one specifically (if it matters):

Adau1452-dsp-Entwicklungs-platine-und-Lern-platine-stm32f103c8t6-ad1938-codec-cs42448-Decodier...jpg


Porsuk, congratulations! It seems you got the analog boards?

xrk971, thanks and no worries. Got a multimeter at hand and will figure it out :)
 
  • Like
Reactions: 1 user
An update regarding the V1.5 board: I've now managed to get https://github.com/jorgenkraghjakobsen/merus_bt to compile with ESP-IDF v5.1.2. Unfortunately, my ESP-WROOM-32 only remains connected via BlueTooth for a few seconds. If, during that time, there's audio playing, it sounds terribly loud and distorted. But at least that means the amp board is working I guess :D

Will buy a TTgo T7 ESP board like the one used by the project author and maybe try again with that. Would be a nice alternative to a full-on SBC.
 

Attachments

  • 20240123_060222[1].jpg
    20240123_060222[1].jpg
    429.8 KB · Views: 61
Wait, does PBTL mode mean you can drive 160W off of one these boards?

That'd be both great as well as a shame, seeing as Infeneon are not making these anymore. Nor any successor, not with I²S input, anyways. Did they sell so badly or is there a gotcha to them (mine works and sounds great, so really wondering...)