Pull-up and pull-down testing on I/O pins
Cluso99
Posts: 18,069
in Propeller 2
Tonight I've been testing pull-ups and pulldowns on the I/O pins.
While this is not exhaustive testing and there maybe my problems lurking, this is what seems to be happening.
The test routine in the ROM seems to need changing to
DRVL
WAITX
FLTL
WAITX 2-5 clocks
TESTP PA WC
and
DRVH
WAITX
FLTH (note H !!!)
WAITX 2-5 clocks
TESTP PA WC
I've done this on pins 7, 9, 11 & 13. Note TAQOZ reports pins 11 & 13 as pulldowns even tho the pin should be floating. Note a number of pins report as low!!!
Now, I tested with 5K, 10K and 15K pull-ups and pulldowns.
However, I always read pin 13 as LOW even with a 5K pull-up
As I said, I am not certain it's not my fault.
Next testing tomorrow evening.
While this is not exhaustive testing and there maybe my problems lurking, this is what seems to be happening.
The test routine in the ROM seems to need changing to
DRVL
WAITX
FLTL
WAITX 2-5 clocks
TESTP PA WC
and
DRVH
WAITX
FLTH (note H !!!)
WAITX 2-5 clocks
TESTP PA WC
I've done this on pins 7, 9, 11 & 13. Note TAQOZ reports pins 11 & 13 as pulldowns even tho the pin should be floating. Note a number of pins report as low!!!
Now, I tested with 5K, 10K and 15K pull-ups and pulldowns.
However, I always read pin 13 as LOW even with a 5K pull-up
As I said, I am not certain it's not my fault.
Next testing tomorrow evening.
Comments
Here's the thread with captures and table of what we saw, pin by pin. Along the the ten posts or so after it (Peter confirms he also seems something similar.
forums.parallax.com/discussion/comment/1447899/#Comment_1447899
There's a race condition going on with DIR and OUT that seems to cause the glitch.
Peter reported he could clean up the dip with a small capacitor, I think he mentioned 20pF was enough. I noticed when I had the cro probe on P11 its 'phantom pulldown' (as reported by taqoz lsio command) disappeared.
I just tested P2D2 pin #13.
4k7 pullup shows 'h' in TAQOZ and 'd' as pulldown.
With no resistor shows 'd' instead of '~'
Are there any opcodes/pinmodes that can totally avoid that OUT-affects-DIR DIR-affects-OUT cross coupling ?
Is it worth patching the ROM, so that those are used instead, as added insurance in case OnSemi cannot nail this issue entirely ?
Absolutely. We can set the pin to drive high and float low, to avoid the whole problem. I was just thinking of changing the ROM this morning to do this.