How to get a clock with any frequency at FlexIO I2S module of S32K144?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to get a clock with any frequency at FlexIO I2S module of S32K144?

622 Views
18362881285
Contributor II

I used Flexio to simulate I2S communication,use SDK example.the SDK example offered a demo for flexio i2s,include 4 pins(SCK,WS,TX,RX),it's a three wires i2s protocol,but now we need a four wires i2s protocol(MCLK,SCK,WS,TX,no need rx),so we need to patch a master clock(MCLK,PTE10) for four wires I2S .Our flexio peripheral clock is 48MHz(or can configure it to 112MHz).we all known,audio signals often require a clock that is not an integer multiple,MCLK = (128,196,256...)* Fs, Fs may equals 22.05kHz,26.8kHz,28.2kHz,44.1kHz...).If we divide from Flexio timer,MCLK will not  produce the frequency I need,because it only has integer multiples frequency.So Is there any other way to get the any frequency I need?In addition,how to ensure that the phase of MCLK we generated is the same as SCK?Looking forward to your reply。Many thanks

QQ图片20200401104122.png

0 Kudos
1 Reply

551 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hi 18362881285@163.com,

Please take a look at this application note:

AN4955 Emulating the I2S Bus Master with the FlexIO Module

The example there uses MCLK.

But as you mentioned, it is difficult to get the standard frequency from the 48MHz clock.

The application note recommends using special crystals. 

pastedImage_3.png

BR, Daniel

0 Kudos