Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

Port Expander

Port Expander

2005-09-06 by javida13

I'm looking for an I2C Port Expander for both 8 and 16-bits,
preferably with light pull-ups when configured as inputs.

I have found two possible devices:
  Philips  PCA9555  (16-bits with pull-ups)
  Microchip MCP23016 (16-bits w/o pull-ups)
            MCP23008 (8-bits w/o pull-ups)

I was able to get some samples of the Microchip part but I'm having a
problem with the Philips.  Anyone have experience with using a port
expander and if so, what device was chosen?

Thanks,
  
  Barry

RE: [lpc2000] Port Expander

2005-09-06 by David Kay

Hi Barry,

I just happened to have the Philips I2C bus selection guide open on my
desktop. Have you looked at the other devices in the range:-

################################################

I2C General-purpose I/O (GPIO) Expanders

- Extend GPIO from I2C or SMBus

- Connect parallel I/O to serial I2C or SMBus
and provide I/O expansion

- Quasi output: upper transistor is on for half
a clock cycle and then held up by a weak
current source (25-mA sink)

- True Output: configurable as input or output
with polarity inversion (push/pull with
25-mA sink and 10-mA source)

Quasi Output (Weak Current Source)

PCA9500 8-bit with 2-kbit EEPROM
PCA9501 8-bit with 2-kbit EEPROM, Interrupt
PCA9558 8-bit w/ 5-bit DIP, 2-kbit EEPROM
PCF8574/74A 8-bit with Interrupt
PCF8575/75C 16-bit with Interrupt

True Output (Configurable Push/Pull)

PCA9536 4-bit with Interrupt
PCA9537 4-bit with Interrupt, Reset
PCA9538 8-bit with Interrupt, Reset
PCA9539 16-bit with Interrupt, Reset
PCA9534/54/54A 8-bit with Interrupt
PCA9535/55 16-bit with Interrupt
PCA9557 8-bit with Reset

############################################

Samples of any of these devices should be easy to source from your local
Philips Disti.

Best regards,

David Kay
www.adilam.com.au
Show quoted textHide quoted text
-----Original Message-----
From: lpc2000@yahoogroups.com [mailto:lpc2000@yahoogroups.com] On Behalf
Of javida13
Sent: Tuesday, 6 September 2005 12:45 p.m.
To: lpc2000@yahoogroups.com
Subject: [lpc2000] Port Expander

I'm looking for an I2C Port Expander for both 8 and 16-bits,
preferably with light pull-ups when configured as inputs.

I have found two possible devices:
  Philips  PCA9555  (16-bits with pull-ups)
  Microchip MCP23016 (16-bits w/o pull-ups)
            MCP23008 (8-bits w/o pull-ups)

I was able to get some samples of the Microchip part but I'm having a
problem with the Philips.  Anyone have experience with using a port
expander and if so, what device was chosen?

Thanks,
  
  Barry




YAHOO! GROUPS LINKS 

•  Visit your group "lpc2000" on the web.
  
•  To unsubscribe from this group, send an email to:
 lpc2000-unsubscribe@yahoogroups.com
  
•  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

Re: Port Expander

2005-09-06 by javida13

I have no need for the other parts in the family.  I need to read in
5-bits of a 5x4 keypad and 12-bits of a 12-position rotation switch
(5+12=16).

I'm using a Ramtron I2C memory device for my external memory
requirements and RTC.  The part that I'm considering is a FM3164-S.  I
 just checked out the memory section and starting on the RTC.

  Barry

--- In lpc2000@yahoogroups.com, "David Kay" <david.kay@a...> wrote:
> Hi Barry,
> 
> I just happened to have the Philips I2C bus selection guide open on
my
> desktop. Have you looked at the other devices in the range:-
> 
> ################################################
> 
> I2C General-purpose I/O (GPIO) Expanders
> 
> - Extend GPIO from I2C or SMBus
> 
> - Connect parallel I/O to serial I2C or SMBus
> and provide I/O expansion
> 
> - Quasi output: upper transistor is on for half
> a clock cycle and then held up by a weak
> current source (25-mA sink)
> 
> - True Output: configurable as input or output
> with polarity inversion (push/pull with
> 25-mA sink and 10-mA source)
> 


> Quasi Output (Weak Current Source)
> 
> PCA9500 8-bit with 2-kbit EEPROM
> PCA9501 8-bit with 2-kbit EEPROM, Interrupt
> PCA9558 8-bit w/ 5-bit DIP, 2-kbit EEPROM
> PCF8574/74A 8-bit with Interrupt
> PCF8575/75C 16-bit with Interrupt
> 
> True Output (Configurable Push/Pull)
> 
> PCA9536 4-bit with Interrupt
> PCA9537 4-bit with Interrupt, Reset
> PCA9538 8-bit with Interrupt, Reset
> PCA9539 16-bit with Interrupt, Reset
> PCA9534/54/54A 8-bit with Interrupt
> PCA9535/55 16-bit with Interrupt
> PCA9557 8-bit with Reset
> 
> ############################################
> 
> Samples of any of these devices should be easy to source from your
local
> Philips Disti.
> 
> Best regards,
> 
> David Kay
> www.adilam.com.au
>  
> 
> -----Original Message-----
> From: lpc2000@yahoogroups.com [mailto:lpc2000@yahoogroups.com] On
Behalf
> Of javida13
> Sent: Tuesday, 6 September 2005 12:45 p.m.
> To: lpc2000@yahoogroups.com
> Subject: [lpc2000] Port Expander
> 
> I'm looking for an I2C Port Expander for both 8 and 16-bits,
> preferably with light pull-ups when configured as inputs.
> 
> I have found two possible devices:
>   Philips  PCA9555  (16-bits with pull-ups)
>   Microchip MCP23016 (16-bits w/o pull-ups)
>             MCP23008 (8-bits w/o pull-ups)
> 
> I was able to get some samples of the Microchip part but I'm having
a
> problem with the Philips.  Anyone have experience with using a port
> expander and if so, what device was chosen?
> 
> Thanks,
>   
>   Barry
> 
> 
> 
> 
> YAHOO! GROUPS LINKS 
> 
> •  Visit your group "lpc2000" on the web.
>   
> •  To unsubscribe from this group, send an email to:
>  lpc2000-unsubscribe@yahoogroups.com
>   
> •  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.

Re: Port Expander

2005-09-06 by javida13

--- In lpc2000@yahoogroups.com, "javida13" <javida13@y...> wrote:

Oohs, 4-bits of a 5x4 keypad (4+12=16).

I have no need for the other parts in the family.  I need to read in
> 5-bits of a 5x4 keypad and 12-bits of a 12-position rotation switch
> (5+12=16).
> 
> I'm using a Ramtron I2C memory device for my external memory
> requirements and RTC.  The part that I'm considering is a FM3164-S.
 I
>  just checked out the memory section and starting on the RTC.
> 
>   Barry
> 
> --- In lpc2000@yahoogroups.com, "David Kay" <david.kay@a...> wrote:
> > Hi Barry,
> > 
> > I just happened to have the Philips I2C bus selection guide open
on
> my
> > desktop. Have you looked at the other devices in the range:-
> > 
> > ################################################
> > 
> > I2C General-purpose I/O (GPIO) Expanders
> > 




> > - Extend GPIO from I2C or SMBus
> > 
> > - Connect parallel I/O to serial I2C or SMBus
> > and provide I/O expansion
> > 
> > - Quasi output: upper transistor is on for half
> > a clock cycle and then held up by a weak
> > current source (25-mA sink)
> > 
> > - True Output: configurable as input or output
> > with polarity inversion (push/pull with
> > 25-mA sink and 10-mA source)
> > 
> 
> 
> > Quasi Output (Weak Current Source)
> > 
> > PCA9500 8-bit with 2-kbit EEPROM
> > PCA9501 8-bit with 2-kbit EEPROM, Interrupt
> > PCA9558 8-bit w/ 5-bit DIP, 2-kbit EEPROM
> > PCF8574/74A 8-bit with Interrupt
> > PCF8575/75C 16-bit with Interrupt
> > 
> > True Output (Configurable Push/Pull)
> > 
> > PCA9536 4-bit with Interrupt
> > PCA9537 4-bit with Interrupt, Reset
> > PCA9538 8-bit with Interrupt, Reset
> > PCA9539 16-bit with Interrupt, Reset
> > PCA9534/54/54A 8-bit with Interrupt
> > PCA9535/55 16-bit with Interrupt
> > PCA9557 8-bit with Reset
> > 
> > ############################################
> > 
> > Samples of any of these devices should be easy to source from your
> local
> > Philips Disti.
> > 
> > Best regards,
> > 
> > David Kay
> > www.adilam.com.au
> >  
> > 
> > -----Original Message-----
> > From: lpc2000@yahoogroups.com [mailto:lpc2000@yahoogroups.com] On
> Behalf
> > Of javida13
> > Sent: Tuesday, 6 September 2005 12:45 p.m.
> > To: lpc2000@yahoogroups.com
> > Subject: [lpc2000] Port Expander
> > 
> > I'm looking for an I2C Port Expander for both 8 and 16-bits,
> > preferably with light pull-ups when configured as inputs.
> > 
> > I have found two possible devices:
> >   Philips  PCA9555  (16-bits with pull-ups)
> >   Microchip MCP23016 (16-bits w/o pull-ups)
> >             MCP23008 (8-bits w/o pull-ups)
> > 
> > I was able to get some samples of the Microchip part but I'm
having
> a
> > problem with the Philips.  Anyone have experience with using a
port
Show quoted textHide quoted text
> > expander and if so, what device was chosen?
> > 
> > Thanks,
> >   
> >   Barry
> > 
> > 
> > 
> > 
> > YAHOO! GROUPS LINKS 
> > 
> > •  Visit your group "lpc2000" on the web.
> >   
> > •  To unsubscribe from this group, send an email to:
> >  lpc2000-unsubscribe@yahoogroups.com
> >   
> > •  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service.

Re: [lpc2000] Re: Port Expander

2005-09-06 by Peter Jakacki

Barry,

Have you considered using standard 8-bit shift registers so that all you 
need is clock out and data in/out? If serial to parallel S/Rs such as 
the 74HC164 are used you can connect the outputs to the 16 lines and 
then feed the common (hopefully) back to the data line via a 10K 
resistor. That way you can ripple out a single active bit and then read 
it back on the data line as an input. Some gotchas are what if more than 
one output is active and this shorts a S/R output high to an active S/R 
output low etc. Ok, this shouldn't be a problem with the 12 position 
switch but could be with the keypad. But if you use the 4 keypad lines 
as the selects then the other 5 keypad lines can become inputs without 
conflict. Sound ok?

PORT EXPANDER using 74HC164 x 2 (daisy chained)
uP clk -> S/R clock
uP dat -> S/R data in
uP dat <- 10K resistor to switch common
S/R data x 4 -> keypad selects
S/R data x 12 -> 12 pos. switch.

my2cents
*Peter*

javida13 wrote:
Show quoted textHide quoted text
> I have no need for the other parts in the family.  I need to read in
> 5-bits of a 5x4 keypad and 12-bits of a 12-position rotation switch
> (5+12=16).
>
> I'm using a Ramtron I2C memory device for my external memory
> requirements and RTC.  The part that I'm considering is a FM3164-S.  I
> just checked out the memory section and starting on the RTC.
>  
>

Re: Port Expander

2005-09-12 by Thiadmer Riemersma (ITB CompuPhase)

--- In lpc2000@yahoogroups.com, "javida13" <javida13@y...> wrote:
> I have found two possible devices:
>   Philips  PCA9555  (16-bits with pull-ups)
>   Microchip MCP23016 (16-bits w/o pull-ups)
>             MCP23008 (8-bits w/o pull-ups)

When designed a product initially using the MCP23016, but we switched
to the PCA9555 late in the design phase (delaying the production with
a month). This decision was taken due to two problems with the
MCP23016, one of which could not be resolved.

1. We have found that the MCP23016 does not follow the I2C protocol
specification precisely; we needed to add a few short delays in our
implementation of the I2C protocol (which should be redundant).

2. We have found that five of the 16 pins, when configured as outputs,
may occasionaly exhibit a "bounce" when switching from low level to
high level, or vice versa. These bounces occur approximately 10 us
after the level change and have a duration for about 80 us. We could
not find a solution for this problem.

Microchip suggested that we use the MCP23017. However, this took more
redesign of the PCB than switching to PCA9555. (This also allowed us
to remove the redundant delays and speed up the I2C protocol.)

A side note: the pull-ups on the PCA9555 are "weak pull-ups".

Thiadmer

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.