Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

I2S Master Debug Help

Status
Not open for further replies.

derrick_chi

Junior Member level 3
Joined
Mar 21, 2006
Messages
26
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,594
Hello

OK so I’ve designed an I2S Master to facilitate the transfer of audio to/from onboard files, external microphones and external DSPs. I believe it’s designed correctly according to the spec, in simulation it looks like things are working fine, however in the real world, there is an obvious issue. So I’m taking audio data from a wave file and feeding that to the I2S Master and from there to a Bluetooth connected speak, and I can clearly hear the music but I also here very loud noise (static) which is periodic but very consistent.

I have no idea what is causing this, the I2S bit clock frequency is (44100*16*2), sample width is 16bits, there are two channels. The data is being taken from a .wav file (which has the exact same format as I just mentioned), and dumpe 512 bytes at a time into the I2S Master’s FIFO. Any one have any ideas as to what could be causing this noise?

I’ve added a photo of the simulation file so you guys can see exactly how the I2S Master’s signals look.
 

Attachments

  • 58F4E7FC-6E87-4C6F-BE29-889F55F7637A.jpeg
    58F4E7FC-6E87-4C6F-BE29-889F55F7637A.jpeg
    1 MB · Views: 208

I’m a bit confused. How are you connecting an I2S stream to a Bluetooth speaker? You must have some other hardware in there you’re not telling us about.
 

I’m a bit confused. How are you connecting an I2S stream to a Bluetooth speaker? You must have some other hardware in there you’re not telling us about.
Hi Barry

Yes there is a Bluetooth module which connects directly to our SoC via the I2S Master. It is configured for 16 bits, 44100 sample rate, Left Justified two clock delay before MSB after WS changes which from what I understand is the I2S standard? If you look at my wave, I believe that is what I’ve implemented but perhaps I’m misunderstanding something?
FF46C796-B642-4BB3-8E24-285B640C8DD6.jpeg
 
Last edited:

Have you verified that your Bluetooth module is working?

Could there be a signal integrity issue? (Your speeds are pretty slow, but that could be something to look at). Could something be interfering with the Bluetooth transmission?

Do you have a device other than your Bluetooth module you could hook your data stream up to to verify that it's correct?

I am not familiar with I2S, but these are general questions I would ask myself in trying to debug any system. You've got a lot of places where things could go wrong.
 

Have you verified that your Bluetooth module is working?

Could there be a signal integrity issue? (Your speeds are pretty slow, but that could be something to look at). Could something be interfering with the Bluetooth transmission?

Do you have a device other than your Bluetooth module you could hook your data stream up to to verify that it's correct?

I am not familiar with I2S, but these are general questions I would ask myself in trying to debug any system. You've got a lot of places where things could go wrong.
Well the fact that I hear the music sorta proves the Bluetooth device is working, its playing the audio the I2S master is sending it, so the static/noise must some how be in the audio data stream, or perhaps it’s a configuration issue? I’m sure someone with I2S experience has seen this before, its too consistent not to be a common problem. Am I in the correct forum?
 

Well the fact that I hear the music sorta proves the Bluetooth device is working,
It doesn't prove that the Bluetooth device is working CORRECTLY. The problem could be in the original file, your processing (I'm just guessing this is an FPGA), data stream, the bluetooth device, the speaker, the rf signal, configuration, loose wire, etc.

If I have noise coming out of my stereo speakers along with the audio, that doesn't mean that my amp is working and the problem is my disk player.
 

It doesn't prove that the Bluetooth device is working CORRECTLY. The problem could be in the original file, your processing (I'm just guessing this is an FPGA), data stream, the bluetooth device, the speaker, the rf signal, configuration, loose wire, etc.

If I have noise coming out of my stereo speakers along with the audio, that doesn't mean that my amp is working and the problem is my disk player.
It's not the bluetooth device ... something else is going on more fundamental to I2S. Hopefully someone with I2S experience will respond.
 

Hi,

You say you can hear the music, but there is additional noise. This does not sound like a digital problem.

If you want to vaerify the I2S, then use your I2S' slaves datasheet, especially it's I2S timing diagram
and check whether your real timing value by value complies with the datasheet specification.

Also check whether there are floating inputs.
A general rule: don't leave any input floating, neither used nor not_used, neither analog nor digital

Feel free to post your schematic, PCB layout, photos of the wiring.

Klaus
 

Hi,

You say you can hear the music, but there is additional noise. This does not sound like a digital problem.

If you want to vaerify the I2S, then use your I2S' slaves datasheet, especially it's I2S timing diagram
and check whether your real timing value by value complies with the datasheet specification.

Also check whether there are floating inputs.
A general rule: don't leave any input floating, neither used nor not_used, neither analog nor digital

Feel free to post your schematic, PCB layout, photos of the wiring.

Klaus
Hi KlausST

I’ve design a simulation slave model based on the exact design in the spec, and yes in simulation things are working. I do have some PULLDOWNS on certain signals, so as far as I can tell nothing is “floating” hmmm, I’m gonna take a look at the schematic of the bluetooth module and our FPGA as you suggested and see how that looks, perhaps there is something there?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top