Newsgroup: it.hobby.elettronica.digitale
Titolo: Ethernet lowest-cost

Volendo realizzare in serie (diciamo 1000pz) una scheda a microcontrollore con 
porta Ethernet abbassando al massimo il costo, cosa mi consigliereste?
Sulla porta Ethernet ci sarà il protocollo TCP/IP (forse solo UDP) di tipo raw 
(niente livello applicativo, o meglio, il livello applicativo è mio e molto 
semplice).
Io scarterei soluzioni tipo convertitori RS232/Ethernet perchè penso che costino 
un bel po'. Andrei su qualche micro con MAC integrato. Addirittura ci sono micro 
con MAC+PHY integrato (manca solo il trasformatore esterno).
Volendo rimanere su ARM?

 costino
Hai valutato il nemo 10 della Sena sembra che costasse attorno ai 10 dollari 

Enzo ha scritto:

Però, se il processore con MAC integrata mi costa meno di 10 dollari, penso che 
usare un convertitore da 10 dollari solo per avere la porta Ethernet mi sembra 
uno spreco... o no?

 ha scritto nel messaggio 
news:aoaAi.97520$U01.8...@twister1.libero.it...

Su ARM non so... per quanto riguarda i pic invece hai 18F96J60 che è un 
controllore con controller integrato oppure ENC28J60 che è un controllore 
stand-alone con interfaccia SPI
Oppure i modulini TIBBO 
www.tibbo.com
 o Lantronix 
www.lantronix.com
 che 
integrano anche un piccolo webserver
Ciao
-- 
____________________
      CG Engineering
 Lab. Ricerca & Sviluppo
********************
Skype : cg_ingegnering
MSN : 
cgaudiola...@interfree.it
ICQ UIN# : 104528066 

 costo, cosa mi consigliereste?
Ubicom IP2022?
Dipende anche da cos'altro deve fare il micro però...
HTH,
Stefano Frosio
www.esse-effe.com

 Ubicom IP2022?
sconsigliato, sta uscendo fuori produzione e sta diventando difficile e 
costoso da reperire in Italia.
Forse sarà anche un caso, ma l'ultima partia ricevuta, pagata un'occhio 
della testa, è risultata anche appartenere ad un vecchissimo lotto di 
produzione che ci ha fatto perdere un bel po' di dindini perchè non 
funzionavano correttamente.

 ha
scritto:

Su ARM se usi un ARM9 ci puoi mettere un Linux embedded e utilizzare la
ethernet, ma non costerà poco.
In alternativa con AVR guarda qui
http://tuxgraphics.org/electronics/
voce  "Avr ethernet device/web server"
--
ciao
  Stefano

 integrano anche un piccolo webserver
Volevo rimanere su single-chip (processore e Ethernet) per abbassare i
costi.

 voce  "Avr ethernet device/web server"
Mi sembra che utilizzino sempre il controllore Ethernet esterno della
Microchip...

Microchip...
In effetti implementare Ethernet con i layers e lo stack Tcp-ip con un AVR è un
pò tirato, e con un ARM ce la fai ma è costoso.
In questo sito ne hanno diversi, ma usano dei controllers esterni per la
Ethernet, credo che sia quella la strada giusta:
http://www.olimex.com/dev/pdf/cs8900a-h.pdf
http://www.olimex.com/dev/pdf/DM9000E-H.pdf
--
ciao
  Stefano

 
http://www.olimex.com/dev/pdf/DM9000E-H.pdf
Sono solo delle schede con controller Ethernet e trasformatore/connettore e 
costano 34$, una fortuna!!!
La olimex ci fa il suo guadagno, ma secondo me siamo molto su rispetto a quello 
che si può fare con un single-chip.
Stavo pensando, per esempio, all'AT91SAM7X128 della Atmel che ha un core ARM7 
con un 10/100Mbps MAC controller integrato, oltre a tutta una serie di altre 
periferiche.
Il suo costo sul sito Mouser è 7$ per quantità, probabilmente si riesce a fare 
molto meglio da qualche distributore.
A questo bisogna aggiungere un PHY compatibile MII. Non ne conosco molti, penso 
che possa andare bene il Micrel KSZ8721 (l'ho visto usato in alcuni progetti in 
rete) che costa, su Future Electronics, circa 3$.
A questo punto bisogna aggiungere connettore RJ45, trasformatore e stampato: 
penso che stiamo entro i 20$ totali.
Non so se si riesce a fare meglio.
Mi chiedevo, però, come gestire una connessione TCP/IP. Cioè, l'ambiente di 
sviluppo della Atmel (o quello GNU) fornisce le librerie per gestire connessioni 
TCP o UDP in modo semplice? Del tipo: apri un socket con un certo indirizzo IP 
ad una certa porta e invia o ricevi dei dati.
Qualcuno ha esperienza in merito?

 sta diventando difficile e costoso da reperire in Italia.
Beh puň darsi, hanno cambiato la politica di distribuzione. Piů 
che altro mi pareva assecondare le richieste dell'OP e l'ho 
indicato anche solo a titolo di confronto.
-- 
Stefano Frosio
www.esse-effe.com

Qualcuno ha esperienza in merito?
Sul sito Atmel c'è questo, vedi se ti può servire.
E' per AT91RM9200 ma cambiando gli header...
http://www.atmel.com/dyn/resources/prod_documents/AT91RM9200-BasicEMAC-ARM1_2-2_0.zip
--
ciao
  Stefano

 mai piaciuti.
Presto uscirà sul mercato (credo inizio anno nuovo) un datalogger 
industriale di mio progetto basato su un microcontrollore PIC, interfaccia 
ethernet basata su enc28j60, memoria SD (che ospita, oltre alle 
memorizzazioni, anche le pagine internet visto che l'oggetto si comporta 
anche da webserver integrato), interfaccia 485, 232, 4 ingressi analogici 
(sensori di ogni tipo, specializzato su temperature e umidità) e 4 I/O 
digitali optoaccoppiati, realtime clock, ecc.ecc.
Il tutto non viene a costare una follia, ed i microcontrollori PIC sono 
semplicissimi da utilizzare. Per quell'integrato di interfaccia si trovano 
già molti driver scritti che funzionano davvero bene


 titolo di confronto.
la tua proposta è azzeccatissima, ho solo riportato i problemi reali che qui 
in azienda abbiamo incontrato con l'ip2022, infatti l'ho sconsigliato per 
motivi pratici, non tecnici. 

 
http://www.atmel.com/dyn/resources/prod_documents/AT91RM9200-BasicEMA.
..
Guarderò...

 già molti driver scritti che funzionano davvero bene
Lo so, non so perchè alla fine molti si buttano sui prodotti Microchip e nascono 
tanti di quei progetti che sarebbe stupido non approfittarne.
Visto che hai usato questo controller Ethernet esterno della Microchip 
approfitto per farti alcune domande. Parli di driver... tu utilizzi MPLAB per la 
programmazione, giusto? Immagino che esistano delle funzioni di libreria per 
gestire questo controller esterno, oppure no? Questi driver cosa ti permettono 
di fare in termini di socket e da chi sono prodotti (sono free o commerciali)?
Facciamo questo esempio: ho un segmento Ethernet basato su un hub (o switch) a 
cui sono collegate 10 schede con il controller della Microchip.
Immaginiamo che tra il nodo A e il non B sia aperta una connessione TCP e i due 
stiano scambiando dei dati. Ora il nodo A vuole aprire anche una connessione TCP 
con il nodo C, lasciando aperta la connessione TCP con il nodo B. E' fattibile 
tutto ciò? E' troppo complesso gestire il tutto?
Quante connessioni TCP potrei aprire contemporaneamente? Il lavoro duro (TCP) 
viene fatto dal microcontrollore o dal controllore Ethernet? Esiste un concetto 
simile al socket usato nella programmazione sui PC (Windows o Linux)?

 (Windows o Linux)?
si esiste ma con la sostanziale differenza che il firmware tende ad 
essere ( E' ! ) un' unica applicazione in cui ci va la gestione del chip 
di rete, lo stack TCP/IP l'applicativo[i] server o client che siano

 infatti l'ho sconsigliato per motivi pratici, non tecnici.
Beh posso dire comunque che anche dal punto di vista tecnico non 
è che sia tutto rose e fiori. Probabilmente per le 1000 schede 
di cui parlava l'OP potrebbe andare bene, sia come prestazioni 
che come costo finale di una scheda, però va valutato anche 
l'investimento nello studio del micro e in quello che gli sta 
attorno.
-- 
Stefano Frosio
www.esse-effe.com

 rete
Sì, li conosco perchè li ho incontrati nelle mie ricerche ogni tanto. Però 
pensavo che lo stack TCP fosse implementato in qualche modo hw/fw nell'ENC... 
oppure fosse fornito insieme all'ambiente di sviluppo del microcontrollore con 
porta Ethernet integrata.
A questo punto mi viene il dubbio che anche i micro ARM7 della Atmel con porta 
Ethernet integrata hanno una filosofia del genere: è tutto software, compreso la 
stack TCP/IP e chissà se è fornito insieme all'ambiente di sviluppo.

 quello che gli sta attorno.
a livello di costi, da una stima fatta al volo e quindi anche non troppo 
affidabile, penso siano molto piů abbordabili i prodotti microchip, gli 
altri non li conosco quindi non posso esprimermi.
Per quanto riguara l'ip2022, noi stiamo cercando di sostituirlo nelle nostre 
applicazioni con la linea DiGi poichč a prodotto "finito" i costi sono molto 
simili. 

 
mi sembrava chiarissimo che fosse cosi', quasi lapalissiano :-(
uno stack TCP/IP e' un oggetto piuttosto complesso, difficile da 
realizzare in HW
sopratutto su dispositivi 'piccoli' va configurato tagliando via le 
parti inutili

 parti inutili
Sì, in realtà mi sono spiegato male. Quando pensavo agli ARM7 con MAC
integrata
e PHY esterna, avevo immaginato una cosa di questo tipo.
L'ambiente di sviluppo o il compilatore C ti mette a disposizione
anche delle
librerie già fatte e collaudate per il tuo hw. Infatti il MAC è
interno, quindi noto e
l'interfaccia con il PHY esterno è standard (dovrebbe chiamarsi MII).
A questo punto pensavo veramente di poter utilizzare delle funzioni ad
alto livello
per aprire/chiudere i socket TCP e inviare/ricevere dati (alla maniera
dei sistemi
operativi su PC).
Il fatto che le librerie occupino dello spazio per l'implementazione
dello stack
TCP/IP mi sta bene, però sarebbero già fatte e collaudate, senza,
nella pratica,
alcuna modifica.
Forse sto sognando?

 
e mi sembra che lo stack fornito dal microchip faccia proprio questo !
ma tu lo hai scaricato per visionarlo ? :-)
e' anche completo di esempi a livello di applicazione, pronti per essere 
compilato col loro compilatore
nota bene : difficilmente nel campo embedded trovi la soluzione pronta 
esatta per le tue necessita', un minimo di sma[netta|donna]mento ci 
vuole sempre

 Linux)?
Il lavoro viene fatto dal microcontrollore, ed ovviamente utilizzi i socket 
cosě come sui PC
Non posso aggiungere molte info per "firm policy" :)


 vuole sempre
Sì, ho dato un'occhiata molto veloce e stavo leggendo la Application
Note
sui dettagli implementativi di questo stack da parte della Microchip.
Prima di fare uno studio approfondito sulle varie soluzioni
(sicuramente molte)
volevo chiedere un parere ai guru di questo forum per indirizzare
meglio
la mia scelta tra le mille possibilità... questo il motivo del mio
primo post.

 mantenere connessioni aperte. Lo stack tcp/ip della microchip sì
In che senso "non permettono di mantenere connessioni aperte"?

 
in realta' stiamo qui ad aspettare un TUO report sulla tua scelta :-)
magari corredato da schemi e sorgenti :-))))
piuttosto ho recuperato i campioni dell' ENCxxxx appena trovo il 
trasformatore 'adatto' ed un po' di tempo tento un port verso l'8051
per la serie al peggio nno c'e' mai fine

 In che senso "non permettono di mantenere connessioni aperte"?
Nel senso che sono molto limitate. Intendo dire che tu puoi accedere tramite 
IP:socket al dispositivo e ricevere una risposta, ma la libreria chiude la 
connessione TCP (o UDP).
Prova a fare una ricerca sul forum di mikroC : 
www.mikroe.com/forum/
