bfogaca
Posts: 3
Joined: Sun May 03, 2015 8:17 pm

Expand over 700 IOs

Sun May 03, 2015 8:32 pm

I'm starting a project that will need over 700 digital outputs and about 50 inputs. Its possible? If yes, what would be the best aprouch?

Thanks.

User avatar
joan
Posts: 14361
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK

Re: Expand over 700 IOs

Sun May 03, 2015 9:11 pm

That rather depends on what the inputs and outputs will be used for.

bfogaca
Posts: 3
Joined: Sun May 03, 2015 8:17 pm

Re: Expand over 700 IOs

Sun May 03, 2015 11:16 pm

Both inputs and outputs will controls relays in a passive audio circuit.

User avatar
joan
Posts: 14361
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK

Re: Expand over 700 IOs

Mon May 04, 2015 8:42 am

So there is no requirement for high switching rates or PWM.

If that's the case perhaps a Pi could work.

The usual choice is I2C/SPI port expanders like the MCP23017/MCP23S17. They provide 16 I/Os per chip.

The I2C variant is limited to 8 per bus. So using the default I2C bus would give 128 I/Os.

I'm not sure how the SPI variant works but I think you can have 8 chips per channel. Given that it's not hard just to software select the channel that would allow you to connect say 10 channels, for 1280 I/Os.

You'd need to independently verify the last statement.

Are you sure a Pi is right for the project? It can hardly be a cost or electrical power driven project.

ceteras
Posts: 239
Joined: Fri Jan 27, 2012 1:42 pm
Location: Romania

Re: Expand over 700 IOs

Mon May 04, 2015 9:31 am

You can use CPLD boards for that, you can find them all over the internet.
Look up "cpld io expander board".

bfogaca
Posts: 3
Joined: Sun May 03, 2015 8:17 pm

Re: Expand over 700 IOs

Mon May 04, 2015 12:18 pm

Thanks Joan.

Besides the IOs this project will have a 10" display showing EQ curves e spctrum analisys of the audio these things performs a bunch of calculations. That's why I choose de PI.

Do you think there's a better choice?

I'll look up the SPI bus.

User avatar
Richard-TX
Posts: 1549
Joined: Tue May 28, 2013 3:24 pm
Location: North Texas

Re: Expand over 700 IOs

Thu May 21, 2015 5:26 am

700 inputs and 50 outputs? That is easy! How about 1024 I/O ports?

Get 64 mcp23017 chips and two i2c mux.

You will then have 1024 i/o ports.

http://dsscircuits.com/sale/product/dssc0107

Wire up one mux and 32 mcp23017 chips to one I2C bus and the rest to the other I2c bus.

If you need a few more, get 16 MCP23s17 and put them on the SPI bus for a total of 1280 I/O ports on a single Rpi..

You can have a maximum of 8 muxes per I2C bus. 16ports*8 chips*4 mux channels*8 muxes* two I2c buses = 8192 I2C I/O ports.
When you get that high the additional 256 SPI I/O ports seem pointless.

There are other ways to use the muxes and only use one i2c bus and still have 1024 I/O ports. I like to use both i2c buses and keep the same topology on both. It makes programming easier.

I don't want to think about cascading muxes.
Richard
Doing Unix since 1985.
The 9-25-2013 image of Wheezy can be found at:
http://downloads.raspberrypi.org/raspbian/images/raspbian-2013-09-27/2013-09-25-wheezy-raspbian.zip

Return to “Interfacing (DSI, CSI, I2C, etc.)”