IFCLK (internal/external) - Design aspects to considers

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