Where may I find intermmediate to advanced information to develop on the KL46Z?

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

Where may I find intermmediate to advanced information to develop on the KL46Z?

717 Views
carlosmendoza
Contributor III

Hello everybody,

I'm an embedded systems designer and I'm new to the Kinetis platform. I'm part of a team of developers designing a custom PCB based around the KL46Z. I have the reference schematics for the FRDM-KL46Z board and the PDF documentation available from the http://freescale.com/frdm-kl46z website. However, I haven't been able to find in depth descriptions of the pin layout or further application notes besides the precompiled examples.

Where may I find this sort of documentation?

Some of the specific questions I have include:

-Which GPIO are edge sensitive vs level sensitive?

-How to assign additional GPIO as chip select signals to address multiple SPI slaves? (Using the same SPI port, for example port zero).

The KL46P121M48SF4 pdf only describes the pin layout and names each pin's basic function. I have been searching around this forum but I haven't been able to find previous posts with my questions.

Thanks in advance! Any help would be appreciated.

0 Kudos
4 Replies

412 Views
Paul_Tian
NXP Employee
NXP Employee

Hi, Carlos

KL46 has launched, so you can find detail document such as datasheet and reference manual from link http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KL4x&nodeId=01624698C9E3EC&fpsp=1&tab...

As you description, you got datasheet. But for MCU operation and program, please reference document "L46P121M48SF4RM".

Hope my reply can help you.

Best Regards

Paul

412 Views
carlosmendoza
Contributor III

Dear Zhe,

Thank you for pointing me to this document. It contains very helpful information.

I just read the chapters about the SPI interface (ch. 37) and the signal multiplexing and signal descriptions (ch. 10) and I still have the following questions:

1) Is the KL46Z capable of acting as a master to a multislave system? In other words, I see that PTD0/SPI0_PCS0 is the default slave select for SPI0. But the reference document doesn't mention how to configure other GPIO as additional slave select outputs. For example, a real world application of this would be having the KL46Z use SPI0 to act as the master to two different sensors.

2) Where can I find the edge sensitivity of the GPIOs? In other words, how do I know which GPIOs are only level or edge sensitive? I'm particularly interested in the sensitivity for the PTD0 and PTD1 pins. But I'd like to know the sensitivity of all the other GPIO for future projects.

Thanks again Zhe!

412 Views
Paul_Tian
NXP Employee
NXP Employee

Hi, Carlos

A1: If you want to use one SPI interface, you need to use one GPIO for chip selection signal.

A2: Yes, KL46 can detect edge and generate a interrupt. You can find setting in register PORTx_PCRn.

Hope my reply can help you.

Best Regards

Paul

0 Kudos

412 Views
carlosmendoza
Contributor III

Dear Paul,

Thank you for mentioning the Port Control Register n. I found detailed information about setting the edge sensitivity of each pin on chapter 11.5.1.

Regarding the SPI's slave select signal... I re-read chapter 11 and I even did a search for the key words "slave select" on the whole document. It still seems to me like the KL46Z cannot be configured as a master for a multislave system. At least not easily. Each SPI port is assgined to only one slave select pin. There is no mention of configuring additional GPIO as extra slave select outputs.

Let's put this question into context. Let's imagine that I have the KL46Z as an SPI master and I want to talk to two inertial sensors using the same SPI zero port. Inertial sensor #1's slave select input would have to be connected to the KL46Z's default slave select output pin. This would be pin PTD0/SPI0_PCS0. Which KL46Z pin should I connect to inertial sensor #2's slave select input? Also, how do I tell the KL46Z that this pin should be treated as an additional slave select output?

The only other way I can image achieving the multislave configuration would be to use an external multiplexer chip so I can feed the output of the KL46Z's SPI0_PC0 pin to multiple slave sensors. This would require me to use an additional KL46Z GPIO pin to drive the multiplexer's select input. Other than that I would be forced to bit bang additional slave select outputs out of the KL46Z or to use one SPI port per SPI slave in my sensor system.

Is this multislave configuration possible within the KL46Z's built in features? Or do I have to go the hard way and use bit banging and/or an external multiplexer chip?

Thanks again Paul! Every answer you've written has also answered many other questions I was planning on asking later on in the forums.

0 Kudos