Jump to content
  • 0

I2S Data acquisition in Sync mode with Digital Discovery ?


Sandrine

Question

Hi,

We would like to synchronize the DD clock with an external clock and use an external trigger for starting the acquisition. Using the sync mode, we haven't managed to do so for acquiring I2S data.

In our set-up, the external signal clock is connected to one input of the DD (DIN15). The external clock signal connected to DIN15 is externally triggered. In the logic, we chose the Sync mode and specified this input channel (DIN15) as the clock beside the other channels used by I2S data.  And then the pattern is triggered by the logic. With that set-up, the pattern will start running while the external clock hasn't started to feed DIN15 and the logic is armed waiting for the clock signal on DIN15 (that is externally triggered). Once the clock signal is activated on DIN15, the acquisition starts. However, the data don't seem to be synchronized with the external clock.

Is it possible to acquire data using the I2S protocol with digital discovery in the sync mode?

Moreover,  is there a way  to use an external trigger for running multiples acquisitions (every 2 seconds for example) in the sync mode ?

Thanks!

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

HI @Sandrine

In Sync mode the trigger is not available.
The I2S interpreter needs to see the transitions on the clock signal, so if you use Sync mode select Edge option (sample on both edges) for Clock signal.

Repeated captures for the Logic Analyzer can be done from Script tool like this:

for(var c = 0; c < 10 && wait(); c++){
    print(c)
    Logic.run()
    Logic.wait()
}

 

Link to comment
Share on other sites

On 4/15/2019 at 2:28 AM, attila said:

HI @Sandrine

In Sync mode the trigger is not available.
The I2S interpreter needs to see the transitions on the clock signal, so if you use Sync mode select Edge option (sample on both edges) for Clock signal.

Repeated captures for the Logic Analyzer can be done from Script tool like this:


for(var c = 0; c < 10 && wait(); c++){
    print(c)
    Logic.run()
    Logic.wait()
}

 

Hi Attila,

Thank you very much for your reply. Will try then your suggestion.

Best,

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...