IIS frame start delay (units of SCLK/BCK periods)

Discussion about writing software for VS1005 and the VSOS Operating System. Also posts about VS1005-related hardware design and device drivers should be posted here.
Post Reply
shehold
User
Posts: 19
Joined: Tue 2023-01-31 8:51

IIS frame start delay (units of SCLK/BCK periods)

Post by shehold »

I am now using IIS data, I want to know the clock problem of next frame synchronization, the external ADC is set to standard IIS format, VS1005 read and output data has been wrong (there is noise), my DAC frame synchronization data is set to 1.0 delay, which should be the standard IIS protocol. But I carefully read the IIS protocol description of VS1005, it seems to be 0 or 0.5 delay format, can 1005 change the IIS data alignment? How to change.
shehold
User
Posts: 19
Joined: Tue 2023-01-31 8:51

Re: IIS frame start delay (units of SCLK/BCK periods)

Post by shehold »

Another problem is that IIS in 32-bit mode, I read IIS on a 24bit data, the final read down value is what? For example: 0xFFFFFF(24BIT mode),

Code: Select all

 static s_int32 myBuf[2*BUFSIZE];
    fread(myBuf, sizeof(s_int32)*2, BUFSIZE, stdaudioin); //IIS INPUT 24BIT MODE value :0xFFFFFF
//What is the *myBuf value read out at this time
    fwrite(myBuf, sizeof(s_int32)*2, BUFSIZE, stdaudioout); //IIS OUTPUT 32BIT MODE, *myBuf = 0x00FFFFFF OR *myBuf = 0xFFFFFF00 ?
User avatar
pasi
VLSI Staff
Posts: 2174
Joined: Thu 2010-07-15 16:04

Re: IIS frame start delay (units of SCLK/BCK periods)

Post by pasi »

VS1005 I2S is always using the I2S format (one-bit delay to frame sync). If you have bit errors, maybe the data (or frame sync) is changing too close to the bit clock changing.

If fewer bits are sent, the data should be MSb-aligned, i.e. 0xffffff becomes 0xffffff00. (But I have not personally verified this.)
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Post Reply