IMX93 SAI3 FSYNC

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IMX93 SAI3 FSYNC

1,307件の閲覧回数
KMES
Contributor I

I'm using i.MX93 SAI3 audio interface to control "ADS8354" ADC with the following settings:

  • External clock 20 MHz 
clock_root_config_t saiClkCfg = {
.clockOff = true,
.mux = kCLOCK_SAI3_ClockRoot_MuxExt,
.div = 1,
};​
  • SAI3 configuration 
sai_transceiver_t saiConfig;
SAI_GetClassicI2SConfig(saiConfig,kSAI_WordWidth16bits,kSAI_Stereo,0x01);
saiConfig.bitClock.bclkPolarity = kSAI_SampleOnFallingEdge;
saiConfig.serialData.dataWord0Length = 18;
saiConfig.frameSync.frameSyncWidth = 2;
saiConfig.serialData.dataWordNum      = 3;
saiConfig.frameSync.frameSyncEarly    = false;
saiConfig.frameSync.frameSyncPolarity = kSAI_PolarityActiveHigh;
SAI_TxSetConfig(SAI3, &g_saiConfig);
g_saiConfig.masterSlave = kSAI_Master;
g_saiConfig.syncMode = kSAI_ModeSync;
SAI_RxSetConfig(SAI3, &g_saiConfig);

SAI_TxSetBitClockRate(SAI3, 20000000, 400000, 50, 1);
SAI_RxSetBitClockRate(SAI3, 20000000, 400000, 50, 1);

 

target FSYNC/ADC_CS frequency: 400 KHz = 20Mhz / (18 bits + 2x16bits) = 20000000/50 

Measured FSYNC/ADC_CS frequency: 200 KHz 

Question: How can I generate an FSYNC/ADC_CS signal at 400 kHz with a frame length of 50 bits and 20 MHz external clock ?

NB: Worked properly using a 40 MHz external clock 

M33 SDK version: SDK_2_14_0_MCIMX93-EVK

タグ(2)
0 件の賞賛
返信
3 返答(返信)

1,205件の閲覧回数
KMES
Contributor I

Yes with TDM mode.

PS: SYWD[8:12] of RCR4/TRC4 equal 0 (1 bit-clock cycle)

saiConfig.frameSync.frameSyncWidth = 1;
0 件の賞賛
返信

1,137件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

sorry for my delay, I took my AL this week, since you use TDM mode, but the SAI_GetClassicI2SConfig is for I2S mode, and you only set one channel according to the function as below, pls check these settings again

SAI_TxSetBitClockRate(SAI3, 20000000, 400000, 50, 1);
0 件の賞賛
返信

1,268件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

what mode do you use? TDM mode?

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2164317%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX93%20SAI3%20FSYNC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2164317%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%A7%81%E3%81%AFi.MX93%20SAI3%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E6%AC%A1%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%80%8CADS8354%E3%80%8DADC%E3%82%92%E5%88%B6%E5%BE%A1%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CUL%3E%3CLI%3E%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%2020%20MHz%3C%2FLI%3E%3C%2FUL%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3Eclock_root_config_t%20saiClkCfg%20%3D%20%7B%0A.clockOff%20%3D%20true%2C%0A.mux%20%3D%20kCLOCK_SAI3_ClockRoot_MuxExt%2C%0A.div%20%3D%201%2C%0A%7D%3B%E2%80%8B%3C%2FCODE%3E%3C%2FPRE%3E%3CUL%3E%3CLI%3ESAI3%E6%A7%8B%E6%88%90%3C%2FLI%3E%3C%2FUL%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Esai_transceiver_t%20saiConfig%3B%0ASAI_GetClassicI2SConfig(saiConfig%2CkSAI_WordWidth16bits%2CkSAI_Stereo%2C0x01)%3B%0AsaiConfig.bitClock.bclkPolarity%20%3D%20kSAI_SampleOnFallingEdge%3B%0AsaiConfig.serialData.dataWord0Length%20%3D%2018%3B%0AsaiConfig.frameSync.frameSyncWidth%20%3D%202%3B%0AsaiConfig.serialData.dataWordNum%20%20%20%20%20%20%3D%203%3B%0AsaiConfig.frameSync.frameSyncEarly%20%20%20%20%3D%20false%3B%0AsaiConfig.frameSync.frameSyncPolarity%20%3D%20kSAI_PolarityActiveHigh%3B%0ASAI_TxSetConfig(SAI3%2C%20%26amp%3Bg_saiConfig)%3B%0Ag_saiConfig.masterSlave%20%3D%20kSAI_Master%3B%0Ag_saiConfig.syncMode%20%3D%20kSAI_ModeSync%3B%0ASAI_RxSetConfig(SAI3%2C%20%26amp%3Bg_saiConfig)%3B%0A%0ASAI_TxSetBitClockRate(SAI3%2C%2020000000%2C%20400000%2C%2050%2C%201)%3B%0ASAI_RxSetBitClockRate(SAI3%2C%2020000000%2C%20400000%2C%2050%2C%201)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88FSYNC%2FADC_CS%E5%91%A8%E6%B3%A2%E6%95%B0%3A%20%3CFONT%20color%3D%22%2399CC00%22%3E400%20KHz%3C%2FFONT%3E%20%3D%2020Mhz%20%2F%20(18%E3%83%93%E3%83%83%E3%83%88%20%2B%202x16%E3%83%93%E3%83%83%E3%83%88)%20%3D%2020000000%2F50%3C%2FP%3E%3CP%3E%E6%B8%AC%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9FFSYNC%2FADC_CS%E5%91%A8%E6%B3%A2%E6%95%B0%3A%20%3CFONT%20color%3D%22%23FF0000%22%3E200%20KHz%3C%2FFONT%3E%3C%2FP%3E%3CP%3E%E8%B3%AA%E5%95%8F%3A%20%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E9%95%B7%2050%20%E3%83%93%E3%83%83%E3%83%88%E3%80%81%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%2020%20MHz%20%E3%81%A7%20400%20kHz%20%E3%81%AE%20FSYNC%2FADC_CS%20%E4%BF%A1%E5%8F%B7%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E6%B3%A8%3A%3C%2FSTRONG%3E%2040%20MHz%20%E3%81%AE%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%3C%2FP%3E%3CP%3E%3CSTRONG%3EM33%20SDK%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%3C%2FSTRONG%3E%3A%20SDK_2_14_0_MCIMX93-EVK%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2172609%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX93%20SAI3%20FSYNC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2172609%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E9%81%85%E3%82%8C%E3%81%A6%E7%94%B3%E3%81%97%E8%A8%B3%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E4%BB%8A%E9%80%B1AL%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82TDM%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%20%3CSPAN%3ESAI_GetClassicI2SConfig%E3%81%AFI2S%E3%83%A2%E3%83%BC%E3%83%89%E7%94%A8%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E9%96%A2%E6%95%B0%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A61%E3%81%A4%E3%81%AE%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E3%81%BF%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E3%82%82%E3%81%86%E4%B8%80%E5%BA%A6%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3ESAI_TxSetBitClockRate(SAI3%2C%2020000000%2C%20400000%2C%2050%2C%201)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2169750%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX93%20SAI3%20FSYNC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2169750%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%AF%E3%81%84%E3%80%81TDM%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EPS%3A%20RCR4%2FTRC4%E3%81%AESYWD%5B8%3A12%5D%E3%81%AF0%EF%BC%881%E3%83%93%E3%83%83%E3%83%88%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%EF%BC%89%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3EsaiConfig.frameSync.frameSyncWidth%20%3D%201%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2164974%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX93%20SAI3%20FSYNC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2164974%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%A9%E3%81%AE%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3FTDM%20%E3%83%A2%E3%83%BC%E3%83%89%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E