Hi, I'm currently having some trouble in getting the PmodIOXP and PmodKYPD to play well together. Separately, I have no issues in running either Pmod in a standalone fashion e.g. I can run the PWM output on the PmodIOXP with no issues, and I can drive the PmodKYPD correctly using the GPIO outputs of a Raspberry Pi. So I know there are no problems with either Pmod. However, when I connect the KYPD to the IOXP (via J1) and configure the IOXP for what I think is correct KYPD use, the column lines never go low as is standard for matrix switch operation. This means key presses cannot be detected by the IOXP. The register settings I use on the IOXP are as follows (Am I missing anything?):
These seem to be the main settings I need. I've played around with other settings such as pull-ups to no avail.
The only thing I can think of from a hardware point of view is that because there are 10K pull-ups on the PmodKYPD, it may mean that in conjunction with the 300K internal pull-ups of the PmodIOXP (giving an effective resistance of ~9K) the column lines will not pull down properly to a logic low level. Can you please confirm? I could take the 10K resistors off the PmodKYPD to confirm this theory, but would rather some feedback before I hack the module. (Also, I'm clutching at straws regarding the pull-ups, as from reading the ADP5589 datasheet, I think an effective 9K pull-up resistance should be fine. But I can't be sure).
Question
DerekM
Hi, I'm currently having some trouble in getting the PmodIOXP and PmodKYPD to play well together. Separately, I have no issues in running either Pmod in a standalone fashion e.g. I can run the PWM output on the PmodIOXP with no issues, and I can drive the PmodKYPD correctly using the GPIO outputs of a Raspberry Pi. So I know there are no problems with either Pmod. However, when I connect the KYPD to the IOXP (via J1) and configure the IOXP for what I think is correct KYPD use, the column lines never go low as is standard for matrix switch operation. This means key presses cannot be detected by the IOXP. The register settings I use on the IOXP are as follows (Am I missing anything?):
PIN_CONFIG_A 0x49 = 0x0F. PIN_CONFIG_B 0x4A = 0x0F INT_EN 0x4E = 0x01
These seem to be the main settings I need. I've played around with other settings such as pull-ups to no avail.
The only thing I can think of from a hardware point of view is that because there are 10K pull-ups on the PmodKYPD, it may mean that in conjunction with the 300K internal pull-ups of the PmodIOXP (giving an effective resistance of ~9K) the column lines will not pull down properly to a logic low level. Can you please confirm? I could take the 10K resistors off the PmodKYPD to confirm this theory, but would rather some feedback before I hack the module. (Also, I'm clutching at straws regarding the pull-ups, as from reading the ADP5589 datasheet, I think an effective 9K pull-up resistance should be fine. But I can't be sure).
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.