Choose Right Kinetis MCU

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

Choose Right Kinetis MCU

7,798 Views
nguyentien
Contributor II

Hi everyone.
I'm looking for a Kinetis MCU have a hardware enough for my project with requirement : 5/6 UART, 4 PCM, 1 USB ports, Fcyc >100MHZ, can support interface with SD card, SD/DDRAM.
I looked on highest version of Kinestis but cant choose a MCU suitable.
Please help me to choose right part
Thanks

Tags (1)
21 Replies

7,271 Views
nguyentien
Contributor II

Hi Xiangjun Rong
Really thanks for your details answers

About connection for I2S on GSM module , it have 4 wire, I2S_TXD,_RXD,_CLK, _WA
So I2S_WA will be SAI0/1_TX_SYNC pin
I intend to use I2S switch for control beween SAI0 will be connect with GMS0 or GSM1, SAI1 will be connect with GMS2 or GSM3 
My issue in this case all GSM module will be transmit/receive data or random will have 1 module  transmit& 3 module  receive, or  with K60 on same time, so I intend to use switch for connection with K60 in one time slot.

Really 2 SAI channel can care of this?
So the last issue maybe confirm about way to control bettween GSM modules in this case .
Thanks

0 Kudos
Reply

7,270 Views
nguyentien
Contributor II

Hi Xiangjun Rong
Now I map connection from GSM module to MK60FN1M0VLQ12
But some pin not have same your define
Please help me to check it

ThanksCapture.JPG

0 Kudos
Reply

7,270 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Tien,

As you see in the following figure for K60 with 144 pin package. K60 has two I2S module:I2S0 and I2S1.

I suppose that you can connect the GSM with I2S as following:

I2S0_TX_BCLK of K60 to I2S_CLK_CH0 and I2S_CLK_CH1

I2S0_TX_FS of K60      to I2S_WA_CH0  and I2S_WA_CH1

I2S0_TXD0                   to I2S_RXD_CH0

I2S0_TXD1                   to I2S_RXD_CH1

I2S0_RXD0                   to I2S_TXD_CH0

I2S0_RXD1                   to I2S_TXD_CH1

BTW, I suggest you use asychronous mode, in the case,

I2S0_TX_BCLK to I2S0_RX_BCLK

I2S0_TX_FS      to I2S0_RX_FS

The I2S0 transmitter is master, the I2S0 receiver is slave.

Hope it can help you

BR

XiangJun Rong

pastedImage_1.png

0 Kudos
Reply

7,271 Views
nguyentien
Contributor II

Hi Xiangjun rong
My GSM module have support both master/slave mode ( config by AT commmand)

Buy i not care about speed sample rate of SAI modules on Kinetis.

My GSM module have highest sample rate is 48Khz, and also support I2S in two mode 

ublox201.JPG

So, when I using normal I2S for capture voice or send voice with 48Khz sample rate, the bit clock frequnecy for one module is 48Kx 16bitx2 channel ~ 1.536MHz

so total for 4 module GSM, i must need bit clock about 4x1.536MHz ~ 6.144Mhz

And with Maximum bit clock divider: 512 of SAI module , we need about 6.144Mhz/512 = 12Khz for I2S bitlock form SAI module?
And in maximum, 4 module can be working same time, the TDM method does allow it can control same this way?

Please help me to clearly it
Thanks

0 Kudos
Reply

7,271 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Tien,

As you said that the GSM module supports slave mode, and I2S mode or normal mode. I suppose that you use K60 which has two SAI modules:SAI0 and SAI1.

This is the connection:

SAI0_TX_BCLK: GSM0 and GSM1 Receiver bit clock

SAI0_TX_SYNC:GSM0 and GSM1 Receiver Frame clock

SAI0_TX_DATA0: GSM0 Rx

SAI0_TX_DATA1:GSM1 RX

SAI0_RX_BCLK: GSM0 and GSM1 Transmitter bit clock

SAI0_RX_SYNC:GSM0 and GSM1 transmitter Frame clock

SAI0_RX_DATA0: GSM0 Tx

SAI0_RX_DATA1:GSM1 TX

If the GSM module use the same bit clock and frame clock for both transmitter and receiver, you just need to conncet SAI0_TX_BCLK to SAI0_RX_BCLK, SAI0_TX_SYNC to SAI0_RX_SYNC, while set the SAI0 transmitter as master, set SAI0 receiver as slave, it is okay.

For SAI1 module, it is connected to GSM2 and GSM3, pls refer to SAI0 connection.

Regarding the mode, from the description you gave, the GSM module supports mono mode, in other words, it only supports single channel. If you use I2S mode, you can fill the second channel with a dummy data.

If you use I2S mode, each frame convers two channel(first channel is valid data, second channel is dummy data), assume one bit frame clock, sample rate is 48KHz, the required  I2S bit clock frequency:

48KHz*17bits*2=1.632MHz. The bit clock frqeuency is not related to data channel, it is only related to slots number

If you can generate 1.632MHz or integer times frequency of 1.632MHz as MCLK, it is okay.

From your description, the GSM module only support I2S or normal mode, i do not know if it can support TDM mode.

In I2S mode, there are only two slots: first slot and second slot.

in normal mode, there are multiple slots, but only first slot includes valid data, the other slots includes dummy data.

In TDM mode, there are multiple slots, all slots includes valid data, but the GSM must be set to know which slot is a valid slot for itself.

I think there can be one slot in normal mode for GSM module, in the case, the required bit clock is 48KHz*17bits=816KHz

Hope it can help you

BR

Xiangjun Rong

0 Kudos
Reply

7,271 Views
nguyentien
Contributor II

Hi Xiangjun rong

Can i use I2S port on Kinetis with TDM method, maybe all GSM must support slave mode?
Thanks

0 Kudos
Reply

7,271 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Tien,

Pls confirm whether the GSM modules support slave mode, if GSM module supports slave mode, it is simple, you can use the Kinetis processor with 2 SAI modules.

For example, you can use K60, this is the features of SAI of K60. One SAI master can connect with two slave GSM modules, because each sai has two tramsmitter data lines and two receiver data lines.

Regarding TDM modes, it does not matter whether you use I2S mode or TDM mode, it is important whether the GSM supports slave mode.

Hope it can help you.

BR

Xiangjun Rong

3.9.9.1 Instantiation information
This device contains two I2S modules.
As configured on the device, module features include:
• TX data lines per module: 2
• RX data lines per module: 2
• FIFO size (words): 8
• Maximum words per frame: 32
• Maximum bit clock divider: 512

0 Kudos
Reply

7,271 Views
nguyentien
Contributor II

Hi Xiangjun rong
I checked on the selection guide which you gave me, maybe not MCU enough for my requirement : 4x I2S (/2 SAI), 5/6x UART, 4xI2C. Can you help me to choose suitable part ?
If can not find a right part, maybe i'll change to choose 4 slave MCU alternated which have ( 1x I2S, 1 UART, 1x I2C, 1 SPI) and 1 master MCU for controlling ( 1UART, 1 SPI, 1USB). This master MCU will interface with motherboard via USB and UART port, and interface with 4 MCU slave via SPI

I hope that you can give me advice about this system.
Thanks

0 Kudos
Reply

7,271 Views
nguyentien
Contributor II

Hi Xiangjun Rong

Sorry about my careless when typing.
Exactly is K65/K66 Kinetis version as you suggested on last post.
I tried with this link but cannot find a part with 2 SAI/ 4 I2S channel
Can you help me to show this part?
Thanks
NXP Product Selector 

0 Kudos
Reply

7,267 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

I attach the Kinetis selector guide, I have checked, there are at most 2 SAI for Kinetis MCU. For example K61 has two SAI modules.

BR

Xiangjun Rong#

0 Kudos
Reply

7,267 Views
nguyentien
Contributor II

Hi Xiangjun Rong
I forgot talking with you i need more 4 I2C port when interface with 4 new GSM module 
So now i need : 4 I2S, 4 I2C, 5/6 UART, 1 USB
I have checked on K66 version but i cant fast find I2S/SAI in prodution tool online on webiste
can you show me a way to fast find this parametter, now i must download datasheet for onece and checking
Thanks 

NXP Product Selector 

0 Kudos
Reply

7,267 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Nguyen,

I attached a Kinetis Selector Guide in the last post as the follwoing screenshot, pls open the KINETISKMCUSELGD.PDF, search the I2S key words, check the I2S module number, as far as I know, there are at most 2 SAI modules for Kinetis family.

BR

Xiangjun rong

pastedImage_1.png

7,267 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Nguyen

I suggest you use Kinetis K66 or K65 processors:

This is the K65 resources:

One SAI: it has two TX pins I2S0_TX0/I2S0_TX1 and two receiver pins I2S0_RX0/I2S0_RX1, each pin can transfer/receive two analog channels, in other words, SAI can transfer 4 channel PCM and receive 4 channels PCM.

5 Uart port

1 SDHC module

1 full speed usb and 1 high speed usb

support SDRAM

This is the Kinetis K6x link:

The core/system frequency ranges from 100MHz to 180MHz.

Kinetis® K6x Ethernet Microcontrollers (MCUs)|NXP 

Hope it can help you

BR

Xiangjun Rong

0 Kudos
Reply

7,267 Views
nguyentien
Contributor II

Hi Xiangjun Rong
Because IMX MCU is expensive so I decided change GSM module to I2S interface, which may be control with K55/K56 MCU through I2S port
But i checked on K55/K56 only support SAI mode, maybe it can support alternate 4 I2S chanel at same time?
Thanks

0 Kudos
Reply

7,267 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

I have checked the Kinetis family, there is neither K55 nor K56, can you give me the link of the K55/K56?

BTW, I guarantee that the SAI supports I2S mode, as the RM says that the SAI supports Normal Mode, TDM mode, I2S mode and AC97 mode, so it is okay to set SAI in I2S mode.

BR

Xiangjun Rong

0 Kudos
Reply

7,267 Views
nguyentien
Contributor II

Hi Xiangjun Rong
Thanks for your sugesstions.
I checked with K66 MCU based on info you given me.
I think SAI not affordable for my project, because it only support one mode in samtime.
But we need an 4 PCM channel alternated with those pin( PCM_CLK, PCM_SYNC, PCM_OUT, PCM_IN) can be work alternated because I want to interface with 4 GSM module via PCM channel, example : module 1 transfer audio data to K66, module 2,3 and 4 receive audio from K66 same time.
I think may be my though is wrong, because this's first time i try with K66 MCU
I draw an block function which ma help you o understand my perpose
Please review and give a suggest for me if can
Thank for your support
voip_block.PNG

* PCM interface with module( only support master mode from this module)

pcm.PNG

0 Kudos
Reply

7,267 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Nguyen,

can you tell me whether the GSM module is master or the GSM module is slave?

If all the GSM module is slave, i suppose that you can use the kinetis with two SAI modules for example K28. One SAI module can interface with two GSM slave, for example, connect PCM_CLK/PCM_SYNC signals  of K28 SAI to two GSM module respectively, connect the I2S0_TX0/I2S0_RX0 to one GSM, connect the I2S0_TX1/I2S0_RX1 to another GSM, it is okay. For another SAI module I2S1, it is the same as that of I2S0 module.

If the GSM module has to be master, it is another story, you have to use 4 SAI modules to interface. in the case, you have to select the processor with 4 SAI modules, you can refer to i.mx or the other chips.

Hope it can help you

BR

Xiangjun Rong

0 Kudos
Reply

7,267 Views
nguyentien
Contributor II

Hi Xiangjun Rong
Thank for your support.
About GSM module, it only have support  master mode, so I think shoud choose an MCu support 4 SAI modules.
Or another way, can choose 4 small MCU support 2 UART, 1 PCM to connect direct with GSM module before tranfer data to SOC.
What do you think about this idea?

Thanks


m95.PNG

0 Kudos
Reply

7,267 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Nguyen,

You can use FlexIO module to simulate the I2S, but  the K65/K66 with SDRAM controller have not FlexIO module. You can refer to KL family for the FlexIO module.

Kinetis L Series Microcontrollers - Arm® Cortex™-M0+ Core|NXP 

Hope it can help you

BR

Xiangjun Rong

0 Kudos
Reply

7,267 Views
nguyentien
Contributor II

Hi Xiangjun Rong
Thanks for your suggestion
But in this MCU series, I cant find and MCU have enough 4 UART
Please review and help me to solve this problem which may be difficult and waste time for you
Thanks.

0 Kudos
Reply