Behavior of unspecified pins for PSoC 5 LP and PSoC 5.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Hvdbrand
Level 1
Level 1
First solution authored 10 sign-ins 5 sign-ins

Dear all,

We intend to use a PSoC 5 LP, but due to chip shortage will start our development using the PSoC 5 (of which we have secured some stock).

We have a bootloader and a main application of which the main application will be interacting with the peripherals. We would like to have all or peripherals in a known state when the bootloader running. We intend to achieve this by defining pull-ups and pull-downs in our schematic and need to have all pins in a high impedance state.

Reading PSoC 5LP: CY8C52LP Family Datasheet 6.4.16 Reset Configuration, it seems that all IOs are set to High Impedance at reset and that later on they are reconfigured. Does this imply that the all pins that are not configured remain in a high impedance state?

I found the same statement ("At reset, all I/Os are reset to the High Impedance Analog state. ") in the PSoC 5: CY8C52 family datasheet in section 6.4.16. Does that imply that the high impedance state is also maintained for pins that are not differently configured?

0 Likes
1 Solution
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

Hvdbrand,

Yes.  By default, at reset the pin is assigned as "Hi-Z analog".  Very shortly during the boot code before entering main(), your pin drive assignment will be made.  Note:  This should be within a few usecs of a reset.

There is a way to pre-assign a pin to a "Input with pull-up" or "Input with pull-down". 

To do this, you can select a different "Power-On Reset:" under the "Pin/Configure/Reset" tab.  Note:  Please read the cautions when using this feature.

Len_CONSULTRON_0-1647544154175.png

If you need to pre-assign a pin input type, use the drop-down on the "Power-On Reset:".

Len_CONSULTRON_1-1647544177542.png

 

Len
"Engineering is an Art. The Art of Compromise."

View solution in original post

2 Replies
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

Hvdbrand,

Yes.  By default, at reset the pin is assigned as "Hi-Z analog".  Very shortly during the boot code before entering main(), your pin drive assignment will be made.  Note:  This should be within a few usecs of a reset.

There is a way to pre-assign a pin to a "Input with pull-up" or "Input with pull-down". 

To do this, you can select a different "Power-On Reset:" under the "Pin/Configure/Reset" tab.  Note:  Please read the cautions when using this feature.

Len_CONSULTRON_0-1647544154175.png

If you need to pre-assign a pin input type, use the drop-down on the "Power-On Reset:".

Len_CONSULTRON_1-1647544177542.png

 

Len
"Engineering is an Art. The Art of Compromise."
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

Hvdbrand,

I've created circuit designs in the automotive industry for 13 years.

In general they discourage "floating" inputs especially when the CPU is supposed to be asleep.  This is because a Hi-Z analog input in the floating state can either trigger a wakeup condition if the analog input is connected to a low power comparator.   

A Hi-Z digital input can also cause an unintentional wakeup if programmed to do so.

The unintentional causes of these Hi-Z analog and/or digital inputs are due to external high electric or magnetic field coupling on to the traces to the pins of other external components on the circuit.

For example: Let's say you have a small signal transformer-coupled isolation design.  It passes the intended signal with no problems and wakes up the CPU.  However, in the presence of an external strong magnetic field, the transformer can pickup a weak signal from the external source and it could be enough to falsely trigger unintended wakeups.

A specific example I encountered was in a key FOB design.  Today, nearly 90% of all key FOBs are passive entry.  There are listening to a specific Low Frequency (LF) serial data pattern using a 3D inductive antenna.   If the pattern matches the first 20 bits correctly, the IC wakes up and decodes the remaining pattern.  Normally, this LF serial sequence is provided by the vehicle to which it is programmed.

However, our team encountered situations where the vehicle also contained an optional LF charging pad.  It the key FOB was on the pad and the pad was in charging mode, it was possible that the FOB would wakeup multiple times per minute to try to validate the remaining LF pattern.   These were unintentional wakeps in time had an adverse effect on the battery life.

In summary:   Wires (via internal bonding or PCB trace) are a possible antenna.  If the input (analog or digital) is  Hi-Z, it could translate to many mVs of signal enough to trigger a connected circuit in the IC downstream.

How to protect:

It possible, use an external or internal (on the PSoC5 about 5.6K nom) pull-up or pull-down.   This lowers the input impedance to the value of the resistance.

A small external 100pF MLCC cap directly on the input will look like a temporary 0 ohm impedance on the line until the cap charges up.  The 100pF cap is good up to about 1GHz.  

I recommend the following procedures:

  • Allocate ALL bonded pins in your TopDesign.  This included unused pins as well.
  • Allocate unused pins with internal pull-ups or pull-downs.
  • In the PCB design, do not connect any traces to these unused pins.   ANY length of wire can act as an antenna.   Having only the bond wire and lead frame lengths will significantly limit E-field or H-field coupling.

 

Len
"Engineering is an Art. The Art of Compromise."