cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 5, 3 & 1 MCU

GrCa_1363456
Contributor II

Using a PSoC 5 kit, CY8CKIT-059, the I2C running at 100kHz occasionally locks up at extreme cold ~ -25 to -40.

Are there know issues with the PSoC 5 at low temperatures or should I focus on the CY8CKIT-059 kit as the potential issue?

When the I2C locks up, it reports receiving 0 and won't work properly until power is recycled.

The problems go away when I2C speed is dropped to 50kHz.

Greg

 

0 Likes
5 Replies
Len_CONSULTRON
Honored Contributor II

Greg,

What are the I2C devices that the PSoC is talking to?

I'm assuming the PSoC is the I2C master.

Len
"Engineering is an Art. The Art of Compromise."
0 Likes
BiBi_1928986
Valued Contributor

Hello GrCa.

Several KIT-059 GPIO pins are connected to capacitors.
Check the KIT-059 schematic to ensure you are not using a GPIO with a capacitor hanging on it.  If you have connected I2C to one of these GPIO's, you can either remove the capacitor or use a different GPIO.

Are you operating KIT-059 at 5V or 3.3V?
What voltage is your I2C device operating at?

0 Likes
GrCa_1363456
Contributor II

Thank you both for the suggestions.

PSoC is running at 5V as is the external I2C device.

SCA is using P12-5; SCL is using P2-3. These were auto-selected by PSoC Creator. As I'm not using the I2C in sleep mode, the TRM notes any pins are acceptable. The pins are configured for Open Drain, Drives Low as recommended in section 26.3.3 of the TRM. External pullup of 2k supports higher speeds per table 7-2 of the datasheet assuming not unusual capacitance on the line, which I don't see.

Are there any tools that estimate internal timing in the PSoC?

I don't see anything that indicates potential violation of timing; but I'm curious if the design might be pushing some timing limits based on internal component placement, pin routing and resource utilization. 

0 Likes
BiBi_1928986
Valued Contributor

Hello.

Sounds like you've done your home work.

There's a Build Config setting (or it might be under design wide resources) that allows you to set the temperature range.  Make sure it's set to -40C.

As Len asked, what I2C devices are you using?

How long are the I2C wires?

Do you have decoupling capacitors across the I2C device power/ground pins?

Suggestion: you could try the 5LP built-in I2C port instead of UDB implementation to see if you get different results. 

Len_CONSULTRON
Honored Contributor II

Gary,

Are there any tools that estimate internal timing in the PSoC?

When you perform the Application Build phase, it generates a timing report. called "<proj_name>_timing.html"

I provides the internal worst-case timing analysis based on the selected temp range.  Default temp range: -40C to 85C.

Also the Application Build phase warns if there is a possible timing violation.

I hope this is about what you were inquiring.

 

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