Page 1 of 1

Push-pull pins on RIOT

Posted: Sat May 02, 2015 1:01 am
by srowe
I'm thinking of using a R6532 RIOT instead of a VIA for my I2C board (to give some extra RAM to play with). Reading the datasheet I notice that the PB lines are push-pull. Is this different from the VIA? Are these safe to use for bit-banging where multiple devices can pull the line low?

Re: Push-pull pins on RIOT

Posted: Mon May 04, 2015 1:41 pm
by TLovskog
After a quick look they seem to be identical. Both 6522 and 6532 port 'B' are push/pull although 6522 in some cases only can source 1mA and 6532 seem to be able to source 3mA. Port 'A' has an open drain configuration with a pull-up on both chips.

I checked the Rockwell 6522 data sheet which has nice figures (figure 2 and 3) of the output configurations. I couldn't find any figures for the 6532 chip, but the text are nearly identical in this respect.

That said I might be hesitant to deliberately short the push/pull stages. Might be better to switch the buffer between input and output, with an output set to 0.

Re: Push-pull pins on RIOT

Posted: Tue May 05, 2015 12:52 am
by srowe
TLovskog wrote:After a quick look they seem to be identical. Both 6522 and 6532 port 'B' are push/pull although 6522 in some cases only can source 1mA and 6532 seem to be able to source 3mA. Port 'A' has an open drain configuration with a pull-up on both chips.
Thanks for confirming that.
I checked the Rockwell 6522 data sheet which has nice figures (figure 2 and 3) of the output configurations. I couldn't find any figures for the 6532 chip, but the text are nearly identical in this respect.
Yes, shame there wasn't similar diagrams for the 6532, I'd have been less confused :mrgreen:
That said I might be hesitant to deliberately short the push/pull stages. Might be better to switch the buffer between input and output, with an output set to 0.
That's what my code does at present but I was concerned that I'd damage the 6532 if it and another device tried to drive the line low at the same time.

I think I'll switch to using Port A, open drain will pull up is what I need anyway.

Re: Push-pull pins on RIOT

Posted: Tue May 05, 2015 2:36 pm
by TLovskog
The problem is not if many pins sink the output to "0". The problem is when one or more sink "0" and one or more source "1".

Using port A fixes that.