IFCLK (internal/external) - Design aspects to considers

Version 1
    Question: What are the design aspects that need to be considered when using IFCLK (internal/external)

     

    Answer:

    1. Please check if the external IFCLK source is present before the firmware sets IFCONFIG.7 = 0. This is necessary in order to provide synchronization for the internal endpoint FIFO logic. IFCLK should be free running.

    2. In your fw.c file,

    replace #define _IFREQ 48000

    with

    #define _IFREQ “your IFCLK frequency in KHz units”

    For eg:

    # define _IFREQ 12000 //here the IFCLK frequency is 12MHz

    This macro has to be placed before you include

    #include "syncdly.h"

    This is because the SYNCDELAY calculations include the IFCLK value and an incorrect IFCLK value will give an incorrect synchronization delay.

    3. Check if the slwr/slrd and data are meeting the setup and hold time requirements with respect to IFCLK