Post Go back to editing

SPORT driver can't work

Category: Software
Product Number: ADSP-21565
Software Version: CCES 2.10.0

Hi,

In my project, I use sport1A and sport1B both in I2S mode.

Sport1B generate clock and sport1A use the clock from sport1B.

What trouble me is that when I initialize the sport driver, the sport can't get into the callback.

If I call the adi_sport_ConfigMC function which is not need in I2S mode, then sport can get into callback,

however the callback frequency to be called is not as same as the FrameSync.

If I use MC mode instead of I2S mode, the sport can work as expected.

So I think there may be something Ioss in my project.

I need to use I2S mode now, but I can't fix the problem now, please help to check my project and point out what's wrong to me.

Thanks!

1348.TEST.rar

  • Hi,

    Thank you for your inquiry.

    We are looking into your query now. Meanwhile, please refer the sample codes avaiable in the below BSP path for I2S and TDM mode examples.
    C:\Analog Devices\EV-2156x_EZ-KIT-Rel1.0.1\EV-2156x_EZ-KIT\Examples\drivers\sport

    We will review your code and get back to you within this week.

    Best Regards,
    Santhakumari.K

  • Hi santha,

    I find if I call the adi_sport_ConfigMC() function and set the nNumSlots to zero, then I can get the right callback.

    Just like this, adi_sport_ConfigMC(hSport1A, 1u, 0, 0u, false).

    In the past if I use I2S mode, I will never call the adi_sport_ConfigMC() function, but now I can't.

    What makes the difference?

    Thanks.

  • Hi,

    We have identified the issue in your project. Here Multichannel control Registers are updating in a static file. To resolve this, please follow the steps outlined below:

    1)Remove the SPORT driver from system.svc.
    2)Add the SPORT driver again. This will generate a new static file located at system/drivers/sport/adi_sport_config_2156x.h.

    Next, modify the ADI_SPORT_STATIC_INSTANCES macro to set it as 0. This adjustment ensures that the Multichannel control Registers do not update, allowing the SPORT to function correctly in I2S_MODE.

    Please double-check the SRU routing configuration in your project, specifically focusing on the data lines. While the clock (CLK) and frame sync (FS) have been correctly configured, it seems that data lines are not set properly.

    Hope this helps.

    Best Regards,
    Santhakumari.K