Aumentare gli I/O di un atmega8, come fare?

Sezione dedicata ai Microcontrollori e ai Sistemi Embedded

Aumentare gli I/O di un atmega8, come fare?

Postby ulisse21 » 14 Mar 2013, 21:51

ciao a tutti.
come posso aumentare gli ingressi/uscite di un atmega8? magari aggiungendo altri integrati esterni. domanda: quali? e come collegarli? come micro mi va bene, ma ho necessità di aumentare il numero di I/O per gestire un display, una tastiera a matrice, uscite per rele e ingressi di contatti. in pratica mi vorrei cimentare nella costruzione di un antifurto per casa.

buon lavoro, e grazie per l'aiuto

W il PAPA.
questo Papa mi piace e a voi?
ulisse21
 
Posts: 49
Joined: 10 Nov 2012, 14:36

Re: Aumentare gli I/O di un atmega8, come fare?

Postby flz47655 » 14 Mar 2013, 22:27

Ciao, ti do solamente qualche "keyword" di approfondimento:
- Shift register
- Port extender

Sarebbe possibile, meno costoso ed interessante in alcuni casi utilizzare una piccola CPLD per aumentare gli IO e magari liberare da qualche compito la MCU
Ciao

PS: E' presto per dirlo
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Aumentare gli I/O di un atmega8, come fare?

Postby adriano » 15 Mar 2013, 12:32

hahahaaa sto lavorando alla stessa cosa .3X 74htc541 .3X 74htc245 ... un 74138 ... :)))) ma conviene farlo ? non diventa un casino la programmazione ? compriamo un xmega con più porte ? sono le domande che mi faccio io. Quindi con 8 bit + 3 di controllo possiamo avere moltissime porte .
interesante argomento :)))
Mai mi fu dato di vedere un animale in cordoglio di sé. Un uccelletto cadrà morto di gelo giù dal ramo senza aver provato mai pena per sé stesso.
User avatar
adriano
 
Posts: 108
Joined: 17 Feb 2013, 11:07

Re: Aumentare gli I/O di un atmega8, come fare?

Postby deluca » 15 Mar 2013, 13:44

Salve a tutti,
io vi consiglierei :
PCF8575 - REMOTE 16-BIT I2C AND SMBus I/O EXPANDER WITH INTERRUPT OUTPUT
http://www.ti.com/lit/ds/symlink/pcf8575.pdf

Stiamo parlando un un 16 linee di I/O, su ogni porta(2) potete leggere e scrivere.
Poi sfruttando gli indirizzi A0-A2 potete collegarne fino a 8 sulla stessa linea I2C fino a 400Khz
Avreste 16*8 = 128 linee di i/o. Inoltre il chip genera un interrupt non appena cambia lo stato su uno dei pin..... lo potete collegare ad un INT del micro.

buon fine settimana a tutti.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: Aumentare gli I/O di un atmega8, come fare?

Postby flz47655 » 15 Mar 2013, 13:53

In alcuni casi uno shift register è ancora conveniente rispetto ad un "upgrade" della MCU, quando si va sui port extender che costano >1€ però spesso conviene l'upgrade se è disponibile una MCU uguale ma con maggiori IO.

Bisogna contare che un upgrade spesso non è indolore e richiede l'adattamento del firmware che si sta scrivendo (es. da ATMega ad XMega il passaggio non è proprio indolore), se si ha poco tempo un port extender può essere una soluzione più rapida.

In alcuni casi soluzioni come charlieplexing possono salvare la giornata.

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Aumentare gli I/O di un atmega8, come fare?

Postby adriano » 15 Mar 2013, 14:54

@deluca / @flz

ciao ragazzi , grazie per le delucidazioni . La mia soluzione e dettata dal fatto di fare con ciò che si ha nel casetto :) ma la soluzione di deluca mi piace molto !
PS: Da deluca c’erra da aspettarsi ad una soluzione “professional” :)))
grazie per il pdf !!!!
ciao amici !!!
Mai mi fu dato di vedere un animale in cordoglio di sé. Un uccelletto cadrà morto di gelo giù dal ramo senza aver provato mai pena per sé stesso.
User avatar
adriano
 
Posts: 108
Joined: 17 Feb 2013, 11:07

Re: Aumentare gli I/O di un atmega8, come fare?

Postby m.brox » 18 Mar 2013, 22:03

ohoh,
e pensare che per aumentare gli IO io ho usato due micro.
l'idea di usare questo componente mi sembra ottima. grazie deluca
non è che avete da postare uno stralcio di codice. no?

grazie
m.brox
 
Posts: 22
Joined: 08 Nov 2012, 21:02

Re: Aumentare gli I/O di un atmega8, come fare?

Postby adriano » 19 Mar 2013, 01:48

m.brox wrote:ohoh,
e pensare che per aumentare gli IO io ho usato due micro.
l'idea di usare questo componente mi sembra ottima. grazie deluca
non è che avete da postare uno stralcio di codice. no?

grazie


atmega dualcore :) :) ...... io non posso aiutarti per il codice perchè sto muovendo i primi passi con i micro ( a grande fatica ) ...ma tu per favore uno stalcio di chema di come hai usato due micro per avere più porte ??? Non penso sia possibile colegare in parallelo due micro . Come fai a scrivere il codice ?
;)
ps: l'integrato consigliato da deluca è molto interessante ( averlo nel caseto , un pò più difficile ) pero se ci pensi che con due fili si possono avere tutte le porte che si vuole in ingresso o in uscita ..... e fantastico .
ps2 : aaaa ...dimenticavo ...l'integrato consigliato da deluca si trova anche nella sezione hardware del manuale di bascom avr e li c'è anche un pezzo di codice inerente la communicazione I2C bus : ( io al momento non ci ho capito molto e non ho un DS1624 da provare ) ...
vai in : bascom hardware .... "Using the I2C protocol"
qui : http://avrhelp.mcselec.com
Mai mi fu dato di vedere un animale in cordoglio di sé. Un uccelletto cadrà morto di gelo giù dal ramo senza aver provato mai pena per sé stesso.
User avatar
adriano
 
Posts: 108
Joined: 17 Feb 2013, 11:07


Return to Microcontrollori e microprocessori

Who is online

Users browsing this forum: No registered users and 15 guests