7 Replies Latest reply on Mar 11, 2018 12:17 PM by user_274994191

    Do any PSoC5 pins have integral capacitors?


      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.


      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.


      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?