Thanks everyone for your help!
Attached to the post the screenshots of the I2S signals and the !PDN pin. They look good to me, it is a 48khz / 64FS stream, with 32bit per slot and 16bit of useful data. it is a left-right test signal, I also tried to connect another hat with other type of I2S amplifier, they play fine.
This is the sequence I applied, using some python scripts
1) Toggle !PDN pin to low
2) sleep 5 seconds
3) Toggle !PDN pin to high
4) sleep 1 second
5) Register dump#1
4) Start playback, I2S signals active
5) Init sequence
6) sleep 1 second
7) Register dump #2
This is the init sequence
bus.write_byte_data(0x4c, 0x00, 0x00)
bus.write_byte_data(0x4c, 0x7f, 0x00)
bus.write_byte_data(0x4c, 0x4c, 0x30)
bus.write_byte_data(0x4c, 0x03, 0x03)
sleep(0.005)
bus.write_byte_data(0x4c, 0x78, 0x80)
This is dump#1
0x39: CLKDET_STATUS: 0x00
0x68: POWER_STATE: 0x00
0x69: AUTOMUTE_STATE: 0x00
0x70: CHAN_FAULT: 0x00
0x71: GLOBAL_FAULT1: 0x00
0x72: GLOBAL_FAULT2: 0x00
0x73: WARNING: 0x00
0x28: SIG_CH_CTRL: 0x00
0x37: FS_MON: 0x00
0x38: BCK_MON: 0x40
0x5e: PVDD_ADC: 0x00
0x67: DIE_ID: 0x95
This is dump#2
0x39: CLKDET_STATUS: 0x00
0x68: POWER_STATE: 0x01
0x69: AUTOMUTE_STATE: 0x00
0x70: CHAN_FAULT: 0x01
0x71: GLOBAL_FAULT1: 0x00
0x72: GLOBAL_FAULT2: 0x00
0x73: WARNING: 0x01
0x28: SIG_CH_CTRL: 0x00
0x37: FS_MON: 0x00
0x38: BCK_MON: 0x40
0x5e: PVDD_ADC: 0x78
0x67: DIE_ID: 0x95
last dump shows several difference from the "normal operation"reported by lutkeveld
I still don't understand if the issue is caused by the OCP reported on right channel or by something else.
I will remove the output filters and try again if I get something new, I did't use the 10uH coils of the reference design, but some ferrite beads (in the datasheet it was fine for reduced output power). I did't change any settings to take this into account, can this be the root cause?
I noticed the small reference PCB shared by lutkeveld is using ferrite beads too, but he has 1nF capacitors and I have 680nF, as per reference design.
Attached to the post the screenshots of the I2S signals and the !PDN pin. They look good to me, it is a 48khz / 64FS stream, with 32bit per slot and 16bit of useful data. it is a left-right test signal, I also tried to connect another hat with other type of I2S amplifier, they play fine.
This is the sequence I applied, using some python scripts
1) Toggle !PDN pin to low
2) sleep 5 seconds
3) Toggle !PDN pin to high
4) sleep 1 second
5) Register dump#1
4) Start playback, I2S signals active
5) Init sequence
6) sleep 1 second
7) Register dump #2
This is the init sequence
bus.write_byte_data(0x4c, 0x00, 0x00)
bus.write_byte_data(0x4c, 0x7f, 0x00)
bus.write_byte_data(0x4c, 0x4c, 0x30)
bus.write_byte_data(0x4c, 0x03, 0x03)
sleep(0.005)
bus.write_byte_data(0x4c, 0x78, 0x80)
This is dump#1
0x39: CLKDET_STATUS: 0x00
0x68: POWER_STATE: 0x00
0x69: AUTOMUTE_STATE: 0x00
0x70: CHAN_FAULT: 0x00
0x71: GLOBAL_FAULT1: 0x00
0x72: GLOBAL_FAULT2: 0x00
0x73: WARNING: 0x00
0x28: SIG_CH_CTRL: 0x00
0x37: FS_MON: 0x00
0x38: BCK_MON: 0x40
0x5e: PVDD_ADC: 0x00
0x67: DIE_ID: 0x95
This is dump#2
0x39: CLKDET_STATUS: 0x00
0x68: POWER_STATE: 0x01
0x69: AUTOMUTE_STATE: 0x00
0x70: CHAN_FAULT: 0x01
0x71: GLOBAL_FAULT1: 0x00
0x72: GLOBAL_FAULT2: 0x00
0x73: WARNING: 0x01
0x28: SIG_CH_CTRL: 0x00
0x37: FS_MON: 0x00
0x38: BCK_MON: 0x40
0x5e: PVDD_ADC: 0x78
0x67: DIE_ID: 0x95
last dump shows several difference from the "normal operation"reported by lutkeveld
I still don't understand if the issue is caused by the OCP reported on right channel or by something else.
I will remove the output filters and try again if I get something new, I did't use the 10uH coils of the reference design, but some ferrite beads (in the datasheet it was fine for reduced output power). I did't change any settings to take this into account, can this be the root cause?
I noticed the small reference PCB shared by lutkeveld is using ferrite beads too, but he has 1nF capacitors and I have 680nF, as per reference design.
Attachments
I was just going to reply that, but you already found it yourself
680nF is for the LC output filter, the recommended value for FB based filters is 1 or 2 nF
The upside of FB is of course size/price, but the quiescent current is almost double and filtering (audio and electromagnetic) is also much worse. But in some cases the trade-off is okay.
680nF is for the LC output filter, the recommended value for FB based filters is 1 or 2 nF
The upside of FB is of course size/price, but the quiescent current is almost double and filtering (audio and electromagnetic) is also much worse. But in some cases the trade-off is okay.
See for example figure 5 in TI SLOA145 : http://www.ti.com/lit/an/sloa145/sloa145.pdf
Or look at other reference designs that actually use FB filters instead of LC, like the TAS5805M EVM
Or look at other reference designs that actually use FB filters instead of LC, like the TAS5805M EVM
Thanks!
I think TI should give a better review of their datasheets, I've spotted several typos and missing details on the TAS5825M one. Furthermore, spreading information on several documents can be confusing. I usually use datasheets as the "source of truth", but apparently it is not enough.
In my case using ferrite beads was a design choice to minimize cost and PCB area. Increase on THD will not be so severe to be audible, increase on idle consumption will be negligible, especially turning off the amplifier when playback is not active.
I think TI should give a better review of their datasheets, I've spotted several typos and missing details on the TAS5825M one. Furthermore, spreading information on several documents can be confusing. I usually use datasheets as the "source of truth", but apparently it is not enough.
In my case using ferrite beads was a design choice to minimize cost and PCB area. Increase on THD will not be so severe to be audible, increase on idle consumption will be negligible, especially turning off the amplifier when playback is not active.
Is site down?
Who? Us or them? The link works for me.
Also no need to re-post. As a newbie your posts need approval before appearing
Thank you for sharing this. Great work.
One Question: Did you made a dtoverlay for the RPi like justboom or hifiberry?
- Status
- This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
- Home
- Amplifiers
- Class D
- TAS5825M based amp