I2S vs PCM interface

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

I2S vs PCM interface

18,915件の閲覧回数
apiscozzo
Contributor II

Hi all,

I've always considered the I2S interface as a synchronised bus meant to transmit audio content in PCM format.

Now.. in my project I need to interface a GSM modem to the i.MX8 MQ processor.

All (not only one) the datasheets of all the GSM modems that I've been considering refer to their audio interface as PCM (not I2S).

Signals seem different (although similar). The PCM interface doesn't differentiate between L and R channel and the sync signal only provides synchronisation between successive samples. 

GSM modem audio interface signals (PCM interface)

PCM audio interface.jpg

Question:

is it possible to configure the SAI in the iMX8 MQ processor to communicate with this standard? 

Not interested in details. For now I'd only need the name of the configuration that NXP uses to identify this standard (I2S, Codec/DSP modes, TDM, etc.).

Thanks and kind regards,

Alessandro

ラベル(1)
タグ(5)
0 件の賞賛
返信
10 返答(返信)

17,806件の閲覧回数
jimi_lin
Contributor I

Hi Alessandro,

I'm also facing the same issue on IMX8MM.

In your scenario who is the PCM master? Quectel or IMX8?(I mean who generate the clk & sync?)

And how do you set your DAI fmt for PCM interface(SAI)?

I was confuse on the PCM data formats, which one should I need to set?

ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAI_FORMAT_DSP_A | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);

If you can help on this, it would be great.

Thanks

0 件の賞賛
返信

17,806件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Alessandro

>is it possible to configure the SAI in the iMX8 MQ processor to communicate with this standard? 

sorry i.MX8MQ I2S does not support PCM format which described on Pulse-code modulation - Wikipedia 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信

17,806件の閲覧回数
apiscozzo
Contributor II

Hi Igor, thanks for your answer.

Is there any NXP official document showing the waveforms of the DSP/Codec functional mode of the SAI interface inside the iMX8 MQ?

Thanks and regards,

Alessandro

0 件の賞賛
返信

17,806件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Alessandro

one can look at sect.3.9.11 SAI/I2S switching specifications

i.MX 8M Dual / 8M QuadLite / 8M Quad Applications Processors Data Sheet for Consumer Products

and sai appnotes for other processors, as sai is the same module:

AN12202 Using Synchronous Audio Interface (SAI) on S32K148

https://www.nxp.com/docs/en/application-note/AN12202.pdf 

Best regards
igor

0 件の賞賛
返信

17,806件の閲覧回数
apiscozzo
Contributor II

Hi Igor,

Thanks. Actually the first link shows the SAI waveforms only in I2S mode.

The second link shows exactly what I was looking for.

The DSP mode is described at page 4. This matches exactly the waveforms of my GSM module. So, if I could use this operating mode on the iMX8MQ, that would work.

The document that the second link refers to though, is about another processor: the S32K148,

Question:

Can I assume that there is no difference between the implementation of the SAI in the S32K148 and iMX8MQ?

Thanks and kind regards,

Alessandro

0 件の賞賛
返信

17,806件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Alessandro

yes in general SAI module is the same on both processors.

Best regards
igor

0 件の賞賛
返信

17,806件の閲覧回数
apiscozzo
Contributor II

Hi Igor,

I think it's solved... I'm waiting for NXP's official feedback but I think that “codec/DSP” functional mode (as any other SAI operating mode) is nothing but a configuration of the SYNC signal, polarities and width of involved signals.

So there won’t be any register telling the SAI to behave like a “PCM” interface or “DSP/Codec”, or “I2S” interface, but I2S, PCM and DSP/Codec interfaces are different configurations of the signals involved (mainly SCK and SYNC) setting individual registers.

Below an example of how to configure the SAI interface to communicate with the GSM module that I intend to use. Different information came from different sources.. it was a bit of a collage work but I think it makes sense.

SAI config.jpg

17,806件の閲覧回数
davideballestre
Contributor I

Hi Alessandro,

I'm facing the same issue on a custom IMX8M board. I'm going to try your solution to support a Quectel PCM modem.

Any news from NXP support?

Regards

Davide

0 件の賞賛
返信

17,806件の閲覧回数
apiscozzo
Contributor II

Hi Davide,

NXP has confirmed that the solution is correct.

Regards,

Alessandro

13,320件の閲覧回数
ko-hey
Senior Contributor II

Hi @apiscozzo ,

 

We have the same problem with i.mx8mm.
Did you finally succeed in sending and receiving PCM with SAI?

 

Ko-hey

0 件の賞賛
返信