Utöka IO på FPGA - MUX vs Shifregister vs ????

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
arte
Inlägg: 317
Blev medlem: 13 januari 2006, 01:18:50

Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av arte »

Hej,

Jag har ont om IO pinnar på mitt FPGA kort (Spartan 3A Eval kit) och behöver utöka dessa med ca 30-40 st.
För nuvarande har jag två alternativ på att göra detta men andra förslag välkomnas varmt.

Önskemålet är att det skall vara så enkelt som möjligt att bygga (LÄS lite löda), i FPGAn behöver det inte vara enkelt:
- Så få sladdar mellan FPGA och 'IO modul'
- Få komponenter som möjligt
- Inga krav på prestanda (skall driva knappar och rotations encoders)

1. Shift Register.
Kaskad koppla flera shift register som som har paralell load och serial out.
Väldigt få sladdar till FPGAn, nackdelen är att det enda jag har hittat är 8bitars shiftregister med paralell load och serial out.

2. MUX
Elfa har 16 MUXar.
Fördelen är att det blir mycket få komponenter men dock lite flera sladdar till FPGAn.

Några andra förslag?
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av bearing »

De kan ju kaskadkopplas, de där shiftregistrena. Eller blir det för "krångligt"?

Många knappar kan läsas med få I/O med hjälp av sk. "charlieplexing". Kanske vore det ett alternativ till att utöka antalet I/O?
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av Swech »

En uC i mellan kanske? med 4-5 st 8 bitars portar
T.ex en Atmega.. eller liknande PIC

Då blir det inte mycke löda, men däremot mjukvara...
Men t.ex avstudsning och annat kan ju uCn ta hand om

Swech
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av Micke_s »

Vad sägs om microchip MCP23S17 har 16 i/o:s
Går att kaskadkoppla eller köra 8 enheter med address..(16*8=128), de har 3bit address som man kan sätta individuellt.
De går att köra upp till 10Mhz.

Edit: för 48 i/o:s så behöver du bara 3...
Edit2: du kan få interrupt on change som bonus också.
ds77
Inlägg: 2461
Blev medlem: 24 juli 2008, 09:38:07
Ort: småland

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av ds77 »

då slänger jag in ett förslag med en CPLD programmerad som ett skiftregister eller mux eller vad du nu vill...
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av blueint »

Varför inte en extra FPGA ..? ;)
monstrum
Inlägg: 620
Blev medlem: 13 januari 2005, 05:38:32
Ort: Göteborg

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av monstrum »

Om det är knappar det handlar om kanske det går att matriskoppla och slippa expansion helt. Eller det kanske redan är gjort och ytterligare IO behövs ändå.

Annars är nog en dedikerad uC det enklaste, kanske med SPI-interface.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av sodjan »

> (skall driva knappar och rotations encoders)

*Driva* knappar och encoders ?
Normalt brukar man läsa knappar och encoders.

> det enda jag har hittat är 8bitars shiftregister med paralell load och serial out.

Då har du inte letat speciellt mycket eller bra.
arte
Inlägg: 317
Blev medlem: 13 januari 2006, 01:18:50

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av arte »

Hej tacksam för alla svar,

Har inga programmerare för uC och CPLDer så det blir inget med det. Men en CPLD i DIL kapsel hade varit perfekt.
Har tyvärr inte tillräckligt med portar för att matriskoppla.

Micke_s:
MCP23S17 verkar bra, interrupten var en fin bonus.
Vet du var man kan köpa några sådana?
Annars så blir det till att kaskad koppla några shiftregister tror jag.


Sodjan din fillur:
Du har helt rätt, man läser knapparna och encoders.
Jag har letat på ELFA, inte så jätte dåligt?
Men om du har några andra tips så får du gärna dela med dig!
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av Micke_s »

farnell har t.ex. 1292238 hålmonterad, finns ytad också...
Microchipdirect, digikey, mouser har också,

Edit: Mouser tar 20€ i frakt och tar kort direkt.
edit2: mouser nr 579-MCP23S17-E/SP för hålmonterad
monstrum
Inlägg: 620
Blev medlem: 13 januari 2005, 05:38:32
Ort: Göteborg

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av monstrum »

arte skrev: Har tyvärr inte tillräckligt med portar för att matriskoppla.
Förstår inte riktigt. Det går ju åt färre pinnar vid matriskoppling. Har du 20 knappar så går det endast åt 4 utportar och 5 inportar, istället för 20 inportar.
arte
Inlägg: 317
Blev medlem: 13 januari 2006, 01:18:50

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av arte »

Hej,

Jag kommer inte att matriskoppla på FPGAn då jag endast har ca 10 pinnar ledigt (och alltid bra att ha några extra).
Så det får bli något serielt interface till en IO modul.
Men man skulle kunna tänka sig att man matriskopplar på IO modulen.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av sodjan »

Alltså...

Eftersom du skrev "driva" så antog jag att det var *utgångar* du ville ha.
Alltså "serial in, parr out". Du sa att du enbart hade hittat "parr in, ser out",
vilket ju nu låter som precis det du behöver (?). I alla fall för att läsa
vanliga tryckknappar. I'm lost... :-)
arte
Inlägg: 317
Blev medlem: 13 januari 2006, 01:18:50

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av arte »

Aha, jag utryckte mig lite oklart angående shift registerna.
Vad jag menade var att jag bara hade hittat PISO shiftregister med ENDAST 8bitar.

Skulle gärna vilja ha ett PISO shiftregister med betydligt mera bitar.

Med ett 8bitars PISO så behöver jag kaskad koppla flera stycken (kanske 5 st).

Det jag bygger är en MIDI controller, altså en box med massa rattar och knappar som genererar MIDI signaler via USB.
Orsaken till min noja med att löda är att mitt förra MIDI controller bygge haverarade pga av för mycket sladdar och komponenter.
Då hade jag en PIC + massa muxar som läste av knappar och potentiometrar (via AD).
Nu har jag ersatt pottarna med rotationencodrar, jag har fått för mig att det blir enklare.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Utöka IO på FPGA - MUX vs Shifregister vs ????

Inlägg av sodjan »

Aha, var det så du menade... :-)
Skriv svar