KL03 pin mux is pointless?

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

KL03 pin mux is pointless?

809 Views
michaelhaffner
Contributor I


Hi all!

I recently discovered the Kinetis family and I'm really impressed about the features, power, size and price of these little friends: Having a 12bit ADC and powerful and matured TPM in a QFN16 is pretty cool.

I'd love to use them!!

But when it comes to the pin layout, the so called pin multiplexer is just a huge show stopper! Of course I want to use the builtin UART bootloader and a VREF, to make use of the nice 12bit ADC. But you cannot connect an external VREF and you cannot even use the internal one (needs 100nF at VREF_OUT), because it collides with PTB2, the UART_RX for the internal bootloader.

This is just a deadlock!

Even a fixed pin layout would be much nicer here. And the chip designers would have noticed the dilemma in the first place...

Of course, for a very small device with a low pin count, you probably need a multiplexer to decide which feature to which pin. Because there are more features than pins. But designing two very important features to be available on only one pin, both immovable, does not solve the task of a multiplexer.

--

Michael

Labels (1)
0 Kudos
Reply
3 Replies

591 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Michael,

I have checked the pin assignments of Kl03, I find out that the signals LPUART0_RX can be outputted from multiple pins: PTA4, PTB1, PTB2, PTB4, can you use the other pins as LPUART0_RX? If the bootloader use pin   PTB2 as LPUART0_RX in default, can you change the bootloader code yourself?

BR

Xiangjun Rong

0 Kudos
Reply

591 Views
michaelhaffner
Contributor I

Hi Xiangjun Rong!

Thank you for your reply.

The bootloader resides in ROM, so i guess, i can't change it myself. -?-

BTW it gets a little worse: I need three ADC inputs. The chip has four of them, but one is already blocked by UART_TX (ROM bootloader uses PTB1). So, now I can't use  BOOTCFG0 pin, because PTB5 is already used by ADC0_SE1, and I can't assure a high level there for normal boot into flash.

Can i force the boot to ROM by using another GPIO, which i check in application firmware and set the RCM_FM [FORCEROM] bits (then SW reset)?

Regards,

Michael

0 Kudos
Reply

591 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Michael,

    QFN16 have low pin count, so the pin function is Multiplexing.

    PTB2 and PTB1 is the UART ROM bootloader, you can't change the other LPUART pin to this function.

    Actually, in this situation, you also need to use the 3 ADC inputs and the external ADC reference voltage in PTB2.

  I suggest you choose the flash bootloader instead of the ROM bootloader, then you can use the PTB2 as the ADC reference voltage, and PTB1 as the ADC pin.

  But this is need larger flash size, I already check the KL03, in QFN16 package, the max flash size is 32K, if your application code size is not very larger, I think you can consider to use the flash bootloader instead of ROM bootloader, then you can change your flash bootloader's uart pin to other pin,eg PTB3,PTB4.

Wish it helps you!

If you still have question, please kindly let me know!


Have a great day,
Jingjing

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

0 Kudos
Reply