Post Go back to editing

Main board with an internal subordinate node with 32 microphones

Category: Software
Product Number: AD2428
Software Version: SS 4.7

Hello, I am trying to write on an eeprom for a project. In this one, we have a evaluation main board EVAL 2428WD1BZ to hear the sound, and a proper subordinate node that has a AD2428 transceiver, the 32 microphones linked to 8 ADC (so 4 mic on each one and paired 4 to 4), there is also an I2C multiplexer because it switch 4ADC to the other 4 ones (4 I2C addresses and the same on ther 4 other ones), and an eeprom to write the datas. The node is recognized as a subordinate but we cannot hear anything in headphones on the main node. We are working on TDM16 with 32 bits. For tests we are trying to work only with 4 ADCs without multiplexing but we are stuck and hear nothing. the bclk and fsync are working but the data pins (TDM0 and TDM1) does not show any signals more when we are doing some noise next to the microphones. Thanks in advance and if you have any ideas about the TDM configurations and also stream configurations that we need for that.

Parents
  • not sure if you're still stuck but I'll rehash what I said in another thread when faced with this:
    1) Make a known set of hardware work in 2 channel mode.  EVMs/whatever, following the ADI example
    2) If your hardware can't run in 2 channel mode then make an example on the known hardware that runs in the TDM mode you can support

    3) Keep the playback/listening side at 2 channels

    4) Look at the i2S lines and see what's really happening.  Post them here if they don't make sense.

    The WD board has a lot of places to get a bit or three wrong getting the AD2428 and ADAU1452 set up correctly.  To me it's a universal problem with I2S; I always spend half a day banging my head on the wall wondering *** is going on.

  • Hi Brewster, yep we are still stuck. We tried to change the DSPs. I also posted the i2s lines that I saw on the oscilloscope, they are on the other thread and imo they do not make sense, and does not look like datas from microphones or entry of a sound from a pc. We tried our projects and your one but still the same and also with 2 channels. Thanks if you can help us more

  • Ah, I thought you had it working.  I didn't look real closely at the I2S data scope capture but at first look it was more or less what you might expect.  Though I might change my answer if there were mode details.

    (old thread: ez.analog.com/.../a2b-network-that-hear-sound-from-a-slave2-that-keeps-sound-from-the-jack-port-audio-in-and-send-it-to-a-slave1 )

    That project had some WGZ boards and here you're talking about microphone boards so I assumed you had the old setup working and had moved on to this.

    If that's not the case then let's backup and get you a known working configuration using only the ADI eval boards:

    WDZ (main) <--> WGZ (sub node 0)  <--->  WGZ (sub node 1)

    and set it up so that audio in S-N1 and comes out S-N0. Then also make the audio come out the WDZ board, i.e. get the ADAU1452 talking to the AD2428 correctly.  This is *sort of* like the example I gave you; that example was not intended to work in your setup, but just illustrate the overall set up.

    Once that's working you could swap your mic board in for S-N1. 

    If you do have problems I suggest posting the .ssproj file along with a screen shot.  If you post screen captures (try and avoid cell phone snaps) of your scope capturing I2S show FSYNC and the data line for a couple of samples as well as a close zoom in that includes BLCK  on maybe 16 BCLK edges starting 2 edges before FSYNC changes.  Include in your  note for those scope capture(s) which BCLK edges you have the two devices set to and the FSYNC 'delay' as then you will answer your own question. It's real easy to get one end wrong and 99% of the time when I have a system with no or screwed up audio it's because I've set the wrong combination(s) to get (for example) 2428 and 1452 to talk to each other over I2S.

  • Without sounding all preachy on this comment of mine: post screen captures (try and avoid cell phone snaps)

    I have all my equipment networked so from the same PC that's running SS 4.7 I can also see (for example) I2S scope traces,  control my AP to generate/analyze the output, etc.  It's way easier when you can see everything side by side and not having to fiddle with things on the bench.  

    That also makes it easy to capture plots, settings, etc, and paste them into a word doc (or post here) so I can keep track of what works and doesn't work.  the next time I can just look at the screen captures in SS 4.7 of the I2S settings to remind myself of what worked.

    Everyone has different workflows but that's what works for me.

  • I also posted the i2s lines that I saw on the oscilloscope

    Hi Nicoo, I looked at the scope traces, to make sense of these find a way to trigger properly. Arrange to send known data and introduce a fixed delay (holding SDA high) and have your scope trigger on that fixed delay high pulse width (trigger on pulses, not edges, greater than a set width) then you can see the whole byte and the ACK pulses.  

Reply
  • I also posted the i2s lines that I saw on the oscilloscope

    Hi Nicoo, I looked at the scope traces, to make sense of these find a way to trigger properly. Arrange to send known data and introduce a fixed delay (holding SDA high) and have your scope trigger on that fixed delay high pulse width (trigger on pulses, not edges, greater than a set width) then you can see the whole byte and the ACK pulses.  

Children
No Data