Voor een projectje heb ik 20 digitale ingangen, 15 digitale uitgangen en 5 analoge in/ uitgangen.

Wie heeft er suggestie voor het bepalen van de juiste microcontroller welke overigens met de galvawisp geprog. moet worden.

E.v.t. gebruiken van I2C bus?
Alvast bedankt

Mischien dat je een PIC16F877A kan gebruiken? In DIP package is het een 40 pinner. Alleen dan het je net iets te weinig poorten want hij heeft natuurlijk ook voedingsspaning nodig:). Mischien dat je dan wat poorten kan laten vervallen. Ook heeft hij 8 digitale ingangen.

PIC16F677 => 12 x ADC
2 x 74HC595 => 16 digitale uitgangen
2 x 74HC165 => 16 digitale ingangen

Voor de aansturing van die 74HCxxx heb je maar 4 i/o van de PIC nodig. Daarnaast gebruik je nog 4 i/o van de PIC als digitale ingang.

Een 8052 met een extern geheugen en een 8255 (IO expander) gebruiken.
Voor de analoge I/O's map je in je hardware er iets bij zoals een ADC0808.

edit : Had te laat gezien dat je het met de galvawisp wou doen, dus vervalt deze oplossing. Dan is de oplossing van Roland van Leusden beter maar je zal met wat meer software zitten. Sorry.

[Bericht gewijzigd door Peter Claus op ]

8051f022.
64 io's 10 analoge ingangen ,
i2c aan boord ... inclusief nog een geweldige nest ander spul

Op 1 december 2006 17:05:21 schreef free_electron:
8051f022.
64 io's 10 analoge ingangen ,
i2c aan boord ... inclusief nog een geweldige nest ander spul

En hoe stuur je die aan met galvawisp >:)
Een PIC16C925 of 16F946 doet het ook (52 I/O, 5 analoog), maar dan kom je wel in de enge behuizingen (64/TQFP, 68/CERQUAD of 68/PLCC) wil je het makkelijk: I/O extender ic gebruiken.

Op 1 december 2006 15:29:48 schreef Bas Aaij:
Voor een projectje heb ik 20 digitale ingangen, 15 digitale uitgangen en 5 analoge in/ uitgangen.

Wie heeft er suggestie voor het bepalen van de juiste microcontroller welke overigens met de galvawisp geprog. moet worden.

E.v.t. gebruiken van I2C bus?
Alvast bedankt

Heb je al gekeken om je I/O's te comprimeren, veelal kan je met enig logisch redeneren het aantal benodigde pinnen halveren tussen het opstellen van een eerste lijstje, en de definitieve versie.

Op 1 december 2006 18:36:06 schreef JoWi:
[...]En hoe stuur je die aan met galvawisp >:)
Een PIC16C925 of 16F946 doet het ook (52 I/O, 5 analoog), maar dan kom je wel in de enge behuizingen (64/TQFP, 68/CERQUAD of 68/PLCC) wil je het makkelijk: I/O extender ic gebruiken.

als we zo kieskeurig gaan zijn...

trouwens , die galvawist heeft wel 4 io's , en die 8051 heeft een jtag poort en dat zijn ook 4 lijnen. met wat code te klooien .... >:)

> Voor een projectje heb ik 20 digitale ingangen, 15 digitale uitgangen en 5 analoge in/ uitgangen.

neem een 16F676: 14 pins, maar met A/D. Wat analoge multiplexers en een paar MCP23017 of MCP23S17's en je hebt bergen digitale I/O.

of neem meer dan 1 PIC.

of kies een andere programmer.

of reduceer je (nogal omvangrijke) I/O wensen (heb je echt 20 inputs nodig?)

De 16F73 heeft 21 poorten waarvan er dacht ik 5 analoog zijn

Siemens heeft ook van die dingen, gemakkelijk uitbreidbaar...S7 ;)

ofwel 15/20/5 pinnen per groep multplexen, zoals de aansturing van meerdere zeven segments displays.
ofwel met behulp van parallel naar serieel ic's (digitaal)vb. 74HCT165 en 74AHC164
wel meer programmeren.

ofwel gaan voor alle pinnen, maar dan zit je met het solderen.
l'embarras du choix.

Allereerst bedankt voor jullie reakties. Het aantal I/o ligt helaas vast op de genoemde aantallen.
Is het niet gebruikelijk om m.b.v. de I2C bus en bv een PCF 8574 zoiets te realiseren??

Alvast bedankt

Op 2 december 2006 16:33:07 schreef Bas Aaij:
Allereerst bedankt voor jullie reakties. Het aantal I/o ligt helaas vast op de genoemde aantallen.
Is het niet gebruikelijk om m.b.v. de I2C bus en bv een PCF 8574 zoiets te realiseren??

Alvast bedankt

Gebruikelijk, tja... Dat is inderdaad een optie, en dan kan je voor een kleine controller gaan, en neem je gewoon een berg van die PCF's (maximaal 8 op dezelfde bus dacht ik, dus 64 IOs) en een paar I2C ADC convertoren (1 zal wel volstaan als je een neemt met meer dan 5 channels). Dan is de rest gewoon kwestie van I2C te sturen...

MAAR: io over de I2C bus is trager dan IO die direct aan de UC zelf hangt, dit omdat de bus veel overhead heeft (adressering, start en stop conditie, meer dan slechts 1 bit data, enzovoort).

Dus als je nu iets concreter kan zijn over de snelheid die de IO moet hebben kan je een duidelijker en concreter antwoord verwachten :)

Groeten

De MCP's die Wouter aanbeveelt zijn 16 I/O lijnen per chip en wat sneller (je hoeft je niet aan de I2C snelheid te houden)

De digitale I/O is om m.b.v. drukknoppen via enige logica het aansturen van hydraulische ventielen, (geen snel proces).
De analoge I/O is t.b.v. het realisren van een capaciteitsmeting van een accupack. max 10 metingen per sec.
en een stroombewaking van led verlichting +/-1 meting per 2 sec. en dan nog een pwm uitgang om de helderheid v.d betreffende leds te regelen.
Dit is de eerste basis. Waarna dit geslaagt is wil ik hierin nog een gps antenne en een sms/gprs modem intergreren. (toekomst vanwege complexiteit)
Thanks