Do any PSoC5 pins have integral capacitors?

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

cross mob
david-given
Level 4
Level 4
10 sign-ins 5 sign-ins First solution authored

I am trying to build a keyboard controller based around a PSoC5 CY8CKIT-059. It's mostly working really well, apart from one problem I've been unable to sort out.

The controller uses a keyboard matrix: a grid of horizontal probe lines connected to a ControlReg, which are grounded one at a time, connected via the keyswitches to vertical sense lines connected to a StatusReg. I detect a keypress by looking at the sense lines and correlating which ones move with which probe lines get grounded. Disconnected lines float high (I have the StatusReg set to pull up).

Here is an example. This is the status of a sense line with a key pressed on the keyboard. The corresponding probe line gets grounded for 1ms, and we get a nice crisp pulse in the sense line. This one is working fine.

IMG_20180308_220141.jpg

However, one --- just one --- of my sense lines produces pulses which look like this. It's behaving as if there's a big capacitor connected to the line. Electrically it's almost identical, with no active components at all. Even the PCB traces go in roughly the same places; but it's taking multiple milliseconds for the voltage to rise back to the logic-high threshold. This is causing spurious keypresses. I tried connecting an additional pull-up resistor; this is 3K3, which is as low as I dare go at 5V, and it's still not rising fast enough.

IMG_20180308_220039.jpg

Are there any internal components in the PSoC5 which might be causing this? I've had a look and don't see anything, but that doesn't mean much. The only difference between the two examples is that the good one is connected to P0[5] and the bad one to P0[4]; they're the same StatusReg, with identical settings: it's set to input only, pull up. Anything I'm missing?

0 Likes
1 Solution

Seems odyssey1 has already done a good job for you. look at here:

Annotation library for CY8CKIT-059 Prototyping Kit

You can see that the contact P0[4] there is connected a capacitor C9.

View solution in original post

0 Likes
7 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

When you have a look into the CY8CKIT-059 schematics you will see that there are some pins connected to caps. When you install the kit files you'll find all kit documentation in c:\Programs(x86)\Cypress.

Bob

0 Likes

I've looked at the docs --- do you have any more specific references?

I was hoping to get a sanity check from a human. Is this something other people have run into? Can they be turned on and off? Do I just need to pick different pins (which is tricky)? Are there ways to work around this?

0 Likes

BTW, based on about a 3K0 pullup resistor, 5V, and the curve shown in the second picture, I reckon the equivalent capacitance to be about 500nF. (Based on a completely random guess about the value of the internal pullup resistor.)

That seems like a lot for any internal capacitor --- aren't on-chip caps usually in the pF range?

0 Likes

Seems odyssey1 has already done a good job for you. look at here:

Annotation library for CY8CKIT-059 Prototyping Kit

You can see that the contact P0[4] there is connected a capacitor C9.

0 Likes

There are capacitors on the board!!! It never even occurred to me to look there... at least that explains why there was no mention of them in the chip documentation.

(Also, if anyone from Cypress reads this: I was completely unable to find the CY8CKIT-059 documentation via PSoC Creator. There appears to be no top-level documentation index? I can get to datasheets for components easily enough, but anything else is unfindable. And searching for "cy8ckit-059" inside the Technical Documentation section of the Cypress website doesn't produce anything. I eventually found it by searching for "cy8ckit-059" in the site-wide search box. This could definitely be improved.)

It looks like only P0[4] has the capacitor --- P0[5-7] don't. That explains what I'm seeing. And the value stated is 1uF, which is less than one order of magnitude out from my estimate, which is nice.

There's no way to eliminate this in software, isn't there? There's only about a paragraph in the documentation, but the circuit diagram suggests it's hard-coded. My physical layout is constrained so I may need to be creative.

0 Likes
Anonymous
Not applicable

Why not take the cap off the board? If you aren't using SAR0 you don't need it.

I keep a list of the 7 pins with caps on the board because I was gettnig caught with this all the time.

0 Likes

That's what I did in the end, actually. But I don't like modifying the board --- I don't have the equipment to cleanly remove SMD components, and I don't want to risk lifting a track or damaging the board. (Plus, it's a bit antisocial to ask other people to do it to try my stuff.)

0 Likes