[SOLVED] HW problem on breadboard - can somebody help?
Posted: Sat Mar 09, 2024 10:46 am
Edit: Problem was in slow edges - using Schmitt triggered 74HC14 in place of 74HC04 fixed it. Also there was two problems in schema, which I fixed along the way.
Short: it works with jumper cable but fails with jumper wire and I am confused
Long:
I am trying to read PS/2 keyboard and I would like to read each byte in paralel similar to Ben Eater.
I wired something on breadboard, and it did not worked. I realized, that for my PS/2 keyboard are pullups necessary. I put the connector and pullups (3.3 kOhm) on universal board for mechanical stability and got some results.
Then I rewired all the Rat Nest Cables with neatly organized U-wires and it stopped to work. After some testing and debugging (with the Rat Nest style again) I found, that all works when there is one specific cable and changing it to wire makes it to fail. And it can be repeated.
The idea is simple, put data to shift registers. As the clocks start by falling edge, invert it to start with rising edge, like 595 likes. Make another clock with little delay (2xNOT) to fetch register for displaying. See, if it works, then try more following steps.
Here is the schema
Picture in color, the culprit is on the top left - the red cable vs. the white wire Here it is in BW, it works with the CABLE (top left), Stop bit is clear. And when the cable is removed and the same holes are used for a wire, it fails and Stop bit is lit. (usually the second 8-leds are all on or all off, acording to the 8.Led on the left - which is bit 6) And here is the same picture, with wiring enhanced (some wire are not (good)visible in the photo) ----
I would like to know, why such small difference (connect two points with something else) make such big difference in result (it works or no). I tried more different cables and made more wires too, but always cable works and wire does not.
I think, that there is some noise involved, but I do not understand, how it could affect the SECOND shift register. And how I can get rid of it, so my experiments on breadboard will be reliable again (and so it works, when transferred to PCB later).
There may also be some other problems involved, which I just do not see at all, or I did not understand something right, but I am now totally confused. Can somebody tell me, what is wrong?
Thank you in advance
Short: it works with jumper cable but fails with jumper wire and I am confused
Long:
I am trying to read PS/2 keyboard and I would like to read each byte in paralel similar to Ben Eater.
I wired something on breadboard, and it did not worked. I realized, that for my PS/2 keyboard are pullups necessary. I put the connector and pullups (3.3 kOhm) on universal board for mechanical stability and got some results.
Then I rewired all the Rat Nest Cables with neatly organized U-wires and it stopped to work. After some testing and debugging (with the Rat Nest style again) I found, that all works when there is one specific cable and changing it to wire makes it to fail. And it can be repeated.
The idea is simple, put data to shift registers. As the clocks start by falling edge, invert it to start with rising edge, like 595 likes. Make another clock with little delay (2xNOT) to fetch register for displaying. See, if it works, then try more following steps.
Here is the schema
Picture in color, the culprit is on the top left - the red cable vs. the white wire Here it is in BW, it works with the CABLE (top left), Stop bit is clear. And when the cable is removed and the same holes are used for a wire, it fails and Stop bit is lit. (usually the second 8-leds are all on or all off, acording to the 8.Led on the left - which is bit 6) And here is the same picture, with wiring enhanced (some wire are not (good)visible in the photo) ----
I would like to know, why such small difference (connect two points with something else) make such big difference in result (it works or no). I tried more different cables and made more wires too, but always cable works and wire does not.
I think, that there is some noise involved, but I do not understand, how it could affect the SECOND shift register. And how I can get rid of it, so my experiments on breadboard will be reliable again (and so it works, when transferred to PCB later).
There may also be some other problems involved, which I just do not see at all, or I did not understand something right, but I am now totally confused. Can somebody tell me, what is wrong?
Thank you in advance