AnsweredAssumed Answered

IMX6 SSI audio interface Playback issue with PC and target in imx6 SSI mode

Question asked by Venkatesh P on Jul 10, 2014
Latest reply on Jul 14, 2014 by Wigros Sun

Hi All,

   Imx6 with wm8960 codec.And IMX6 set as slave codec set as master mode.

   By used to recorded by the imx6 Target recording files not playing PC properly.This files slowly playing to PC.Same way PC recorded file not playing in my IMX6 Target.

 

   Requirement: 8k with S16_LE fmt Mono Capture and playback ADCDIV and DACDIV support for target.Also PC side need to play this 8k sample as normally


          Recording with PC (Linux PC) and playback with Target (Imx6
SSI>I2S->wm8960codec) -->recorded wav files playing very fast.
          Recording with Target(Imx6 SSI>I2S->wm8960codec)  and playback
with PC (Linux PC) -->recorded wav files playing very slow.


          Now codec is working as L2J justified  master mode  and imx6
working as slave with SSI interface mode.

 

          Both PC and target will properly playing only for 44.1 khz .
In that case i was enabled

 

          I have set following things in codec register settings based o
the rates.

 

 

 

CLOCK settings:
           MCLK(24MHz)->SYSCLK(11.2896MhZ)

 

PLL1=0x55    //PLLN=5
PLLK1=0x134
PLLK2=0x450
PLLk3=0x38   //PLLK=0x13445038 (323244088)

 


In 8000 rate settings in our CODEC settings:RE: RE: Advise on CODEC WM8960-Volume level issue and u- law supoort
                     WL=00  //16 bit
                     Bclk = WM8960_BCLK_DIV_8; //1.412MhZ
                     Pll_out = 11289600;
                     Sysclk_div = 2
                     Pll_Prescale = 2
                     Dacdiv = 101(SYSCLK / (5.5 * 256);   //bit[8:6] 8k
                     Adcdiv = 101(SYSCLK / (5.5 * 256);  //bit[5:3] 8k
8khz Isssue:
In this case PC recorded file was not playing to target properly same
way target recorded file not playing to PC .
     ALRCGPIO=1 so the DACLRC pin is used as a frame clock for ADCs and
DACs.
     DACLRC =8.028KhZ
     BCLK   =1.412MhZ

 

In 44100 rate settings in our CODEC settings:
                     WL=00  //16 bit
                     Pll_out = 11289600;
                     Sysclk_div = 2
                     Pll_Prescale = 2
Mode 1 Mono:
                     Bclk = WM8960_BCLK_DIV_16; //705.6 KHZ
                     Dacdiv = 010(SYSCLK / (2 * 256));   //bit[8:6] 22.05k
                     Adcdiv = 000(SYSCLK / (1 * 256);  //bit[5:3] 44.1k

 

File playing Both PC and Target normally.
     DACLRC =22.05KhZ
     BCLK   =705.6 KHz

 

Mode 2 Stereo:
                     Bclk = WM8960_BCLK_DIV_8; //1.412MhZ
                     Dacdiv = 000(SYSCLK / (1 * 256);   //bit[8:6] 8k
                     Adcdiv = 000(SYSCLK / (1 * 256);  //bit[5:3] 8k

 

   in 8000k sample recording files was  not playing properly  to PC ,i was recorded 30 sec by it is capturing completed with in 10 sec and size 480044.

 

 

 

 

 

This file slowly playing to PC.

 

in 44100k sample recording files was  playing properly  to PC ,i was recorded 30 sec and also  capturing completed after 30 sec and size 2646044.

 

This file properly playing to PC.

 


      Please suggest the ADCDIV and DACDIV value for 8000 sample rate.How to solve this playback issue in codec side.

 

 

 

Thanks by,
Venkat

 

Outcomes