SPI Input port

Started by charlesgrenz January 6, 2006
Hello group,

Hope you all had a great holiday.

I have a LPC2106 design that turns out to need more input lines then
the 2106 has. Has any one have any luck with extending the I/O of the
2106 with the SPI bus?

Thanks in advance,

Charles


An Engineer's Guide to the LPC2100 Series

--- In lpc2000@lpc2..., "charlesgrenz" <charles.grenz@s...>
wrote:
>
> Hello group,
>
> Hope you all had a great holiday.
>
> I have a LPC2106 design that turns out to need more input lines
then
> the 2106 has. Has any one have any luck with extending the I/O of the
> 2106 with the SPI bus?
>
> Thanks in advance,
>
> Charles
>

Yes, I used the Microchip MCP23S08. It worked just fine as 8 inputs.
I didn't actually code the interrupt but I did wire it.

Richard


Thanks Richard.

I had forgotten I looked those over at one time.

Have you worked with the 2138 spi? Do you "still" need to pull the SPI
slave input high to make it work like the 2106?

best regards,
Charles --- In lpc2000@lpc2..., "rtstofer" <rstofer@p...> wrote:
>
> --- In lpc2000@lpc2..., "charlesgrenz" <charles.grenz@s...>
> wrote:
> >
> > Hello group,
> >
> > Hope you all had a great holiday.
> >
> > I have a LPC2106 design that turns out to need more input lines
> then
> > the 2106 has. Has any one have any luck with extending the I/O of the
> > 2106 with the SPI bus?
> >
> > Thanks in advance,
> >
> > Charles
> >
>
> Yes, I used the Microchip MCP23S08. It worked just fine as 8 inputs.
> I didn't actually code the interrupt but I did wire it.
>
> Richard
>




charlesgrenz wrote:

>Thanks Richard.
>
>I had forgotten I looked those over at one time.
>
>Have you worked with the 2138 spi? Do you "still" need to pull the SPI
>slave input high to make it work like the 2106? >
Sadly, yes, even though some Philips examples suggest this is not so.
The only way I got Master mode working properly was to pullup SSEL1.

TomW
>best regards,
>Charles >--- In lpc2000@lpc2..., "rtstofer" <rstofer@p...> wrote: >>--- In lpc2000@lpc2..., "charlesgrenz" <charles.grenz@s...>
>>wrote:
>>
>>
>>>Hello group,
>>>
>>> Hope you all had a great holiday.
>>>
>>> I have a LPC2106 design that turns out to need more input lines
>>>
>>>
>>then
>>
>>
>>>the 2106 has. Has any one have any luck with extending the I/O of the
>>>2106 with the SPI bus?
>>>
>>> Thanks in advance,
>>>
>>>Charles
>>>
>>>
>>>
>>Yes, I used the Microchip MCP23S08. It worked just fine as 8 inputs.
>>I didn't actually code the interrupt but I did wire it.
>>
>>Richard
>>
>>
> >
>
>Yahoo! Groups Links


--
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net, http://cyberiansoftware.com
"Windows? No thanks, I have work to do..."
----------------


Thanks Tom. I was just hoping....

regards,
Charles --- In lpc2000@lpc2..., Tom Walsh <tom@o...> wrote:
>
> charlesgrenz wrote:
>
> >Thanks Richard.
> >
> >I had forgotten I looked those over at one time.
> >
> >Have you worked with the 2138 spi? Do you "still" need to pull the SPI
> >slave input high to make it work like the 2106?
> >
> >
> >
> Sadly, yes, even though some Philips examples suggest this is not so.
> The only way I got Master mode working properly was to pullup SSEL1.
>
> TomW >
> >best regards,
> >Charles
> >
> >
> >--- In lpc2000@lpc2..., "rtstofer" <rstofer@p...> wrote:
> >
> >
> >>--- In lpc2000@lpc2..., "charlesgrenz" <charles.grenz@s...>
> >>wrote:
> >>
> >>
> >>>Hello group,
> >>>
> >>> Hope you all had a great holiday.
> >>>
> >>> I have a LPC2106 design that turns out to need more input lines
> >>>
> >>>
> >>then
> >>
> >>
> >>>the 2106 has. Has any one have any luck with extending the I/O of the
> >>>2106 with the SPI bus?
> >>>
> >>> Thanks in advance,
> >>>
> >>>Charles
> >>>
> >>>
> >>>
> >>Yes, I used the Microchip MCP23S08. It worked just fine as 8
inputs.
> >>I didn't actually code the interrupt but I did wire it.
> >>
> >>Richard
> >>
> >>
> >>
> >
> >
> >
> >
> >
> >
> >
> >Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
> >
> > --
> Tom Walsh - WN3L - Embedded Systems Consultant
> http://openhardware.net, http://cyberiansoftware.com
> "Windows? No thanks, I have work to do..."
> ----------------
>




Charles,

> I have a LPC2106 design that turns out to need more input lines then
> the 2106 has. Has any one have any luck with extending the I/O of the
> 2106 with the SPI bus?

yes, a 74HC595 (serial in, parallel/serial out shift register) as an 8 bit
output expander is used to control a 7-segment LED at the Embedded Artists
prototype board:
http://www.embeddedartists.com/products/boards/prototype.php, schematics
can be found from that page.

Knowing the 74Hc series a counterpart (parallel in - serial out) in the
same range. Looks like the 74HC597 is a cheap SPI input variant.
(http://www.standardics.philips.com/products/hc/pdf/74hc597.pdf)

Rob


Hi Rob, thanks for the seuggestion and link. I looked at that at one
time as a cheap expansion for the 2106 and even ordered some parts to
play with but haven't had time to try it. Time is critical on this
project, so I was going to go the safe route and use the Microchip
version for now.

regards,
Charles --- In lpc2000@lpc2..., "Rob Jansen" <rob@m...> wrote:
>
> Charles,
>
> > I have a LPC2106 design that turns out to need more input lines then
> > the 2106 has. Has any one have any luck with extending the I/O of the
> > 2106 with the SPI bus?
>
> yes, a 74HC595 (serial in, parallel/serial out shift register) as an
8 bit
> output expander is used to control a 7-segment LED at the Embedded
Artists
> prototype board:
> http://www.embeddedartists.com/products/boards/prototype.php, schematics
> can be found from that page.
>
> Knowing the 74Hc series a counterpart (parallel in - serial out) in the
> same range. Looks like the 74HC597 is a cheap SPI input variant.
> (http://www.standardics.philips.com/products/hc/pdf/74hc597.pdf)
>
> Rob
>




--- In lpc2000@lpc2..., "charlesgrenz" <charles.grenz@s...>
wrote:
>
> Hi Rob, thanks for the seuggestion and link. I looked at that at one
> time as a cheap expansion for the 2106 and even ordered some parts to
> play with but haven't had time to try it. Time is critical on this
> project, so I was going to go the safe route and use the Microchip
> version for now.
>
> regards,
> Charles

Plus, you can configure the MCP23S08 pins as either input or output,
get interrupt-on-change, set the polarity of the 'normal' state and a
bunch of other things. It is a really nice chip.

Richard


Hi Robert,

I agree since this is a tight time frame project. I am winding up
using the 16 bit version of the parts which will give me 32 bits of
I/O and I can connect the interrupts to the processor to determine
when an input port changes. This project has 30 inputs and at approx.
8MHz clock will give me just enought time to collect the port values
and perform procedure in under 26us.

Rob's suggestion on the other hand is a cheaper way of doing this,
but I will not have the time to actually test the idea until the next
project (which is after this one).

Thanks to both of you for your help.

regards,
Charles --- In lpc2000@lpc2..., "rtstofer" <rstofer@p...> wrote:
>
> --- In lpc2000@lpc2..., "charlesgrenz" <charles.grenz@s...>
> wrote:
> >
> > Hi Rob, thanks for the seuggestion and link. I looked at that at one
> > time as a cheap expansion for the 2106 and even ordered some parts to
> > play with but haven't had time to try it. Time is critical on this
> > project, so I was going to go the safe route and use the Microchip
> > version for now.
> >
> > regards,
> > Charles
>
> Plus, you can configure the MCP23S08 pins as either input or output,
> get interrupt-on-change, set the polarity of the 'normal' state and a
> bunch of other things. It is a really nice chip.
>
> Richard
>