Newsgroup: it.hobby.elettronica.digitale
Titolo: Leggere USB Pen con PIC

Devo esportare un piccolo file di testo (1k circa) da un PC, dove gira
un software che lo genera, dentro un sistema a microprocessore dove
sta(rà) un Pic. 
All'inizio avevo pensato ad una smart card o qualcosa del genere, che
però prevede per l'utilizzatore la necessità di dotarsi di un hardware
apposito per la memorizzazione dei dati su tale supporto.
Oggi, mentre guardavo i miei due stagisti scambiarsi pezzi di codice
con una USB Pen mi è venuta l'idea che utilizzare un piccolissima
penna Usb sarebbe molto carino... l'ideale sarebbe di trovare un "USB
Host for dummies" che giri su un Pic flash. Infatti non nessuna voglia
di sviluppare il sistema sul 16c745 che è un OTP.
 
Anche se ho passato il pomeriggio a guardarmi esempi di codice in C e
altre robe e,sinceramente, sarei piuttosto propenso a lasciare
perdere...prima di arrendermi lancio il sasso qui sopra, chissà...
remove ù for e-mail reply

Dimenticavo:
tra le varie ricerce con google, ho girovagato qui:
http://www.alanmacek.com/usb/
http://www.beyondlogic.org/usbnutshell/usb7.htm#PIC16F876Example
remove ų for e-mail reply

"Simone Bern" <arttù@iolù.itù> ha scritto nel messaggio
news:6v7b70t0nmsf59f2n...@4ax.com...

Su 
shop.elettronicamente.com
 vendono un kit per la conversione USB <->
seriale.
Considerando che ormai molti PIC hano un USART la soluzione potrebbe essere
questa..... il problema sarà solo capire il protocollo di comunicazione....
Io te l'ho buttata lì, a te provare :o)
Ciao
W@lt

 piccolissima penna Usb sarebbe molto carino...
??????????????????????????????????????????????????????????
La vedo dura.
Anche perchč l'usb del pic deve funzionare Da HOST e non da periferica...
con tutto quello che ne consegue. E non so se un pic riesca a fare tutto.
(personalmente ritengo che sia impossibile, sia per un problema di potenza
di processore, sia di standard. Mi sembra che il pic in questione non sia in
standard USB OTG)
Io ho risolto il problema con le Multimedia Card... che oltretutto sono pių
sicure
Davide
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 di sviluppare il sistema sul 16c745 che è un OTP.
prova questi: 
www.ftdichip.com
ciao,
Marco

> prova questi: 
www.ftdichip.com
Sono dei convertitori usb - 232
Secondo il mio modesto parere non č la strada giusta!
Continuo a ritenere che sia pių semplice salvare su MMC
Davide B.


 il sasso qui sopra, chissà...
Gestire una pen-drive USB con un PIC (ma anche da
altri micro) è un'impresa immane!!! :-)
Dovresti infatti implementare:
1) la gestione del protocollo (pacchetti, enumerazione,
endpoints, trasferimenti bulk...)
2) la gestione della classe Mass Storage (le operazioni
elementari, il set di comandi SCSI...)
3) la gestione del file system (la FAT32...)
Tra l'altro, per esperienza posso dirti che le difficoltà
non sono solo tecniche, ma anche pratiche! Infatti
spesso la documentazione su molti punti è carente
o del tutto inesistente, e bisogna procedere per
tentativi... o tramite "reverse-engineering"... :-)
Probabilmente per il tuo scopo è meglio usare una piccola
"chiavetta" contenente una EEPROM seriale da attaccarsi alla
RS232 o alla parallela...
Ciao,
A.D.

 Continuo a ritenere che sia piů semplice salvare su MMC
uhm... mi sbaglierň ma avevo visto qualche tempo fa su quel sito degli
integrati che non erano convertitori USB ma implementavano completamente il
sistema di interfacciamento a windows. ha un nome preciso ma al momento mi
sfugge. č il protocollo secondo il quale quando colleghi una periferica USB
al PC (tipo chiave o macchina digitale) windows la vede come un "hard-disk"
USB. quegli aggegini permettevano di usare un uC in maniera trasparente al
protocollo USB. cioč tramite funzioni di lettura/scrittura ad alto livello
potevi realizzare appunto una periferica USB di cui sopra.
ciao,
Marco

 sito degli integrati che non erano convertitori USB
Si, fanno più asic. Comunque il più famoso è il Ft232 (am o bm).
Io preferisco il CP2101 della SILABS che oltretutto costa di meno ed ha il
risonatore e la eeprom interni.
L'unica fregatura è che è un SIMIL_BGA, per cui montarlo a mano è un
casotto!
Però si tratta di PERIFERICHE USB e non di HOST USB.
E per quanto qualcuno cerchi di non capire la differenza, ce n'è un bel po'.


 Davide B.
visto che non sono molto pratico di USB, potresti spiegarmela cosě non farň
piů confusione ?
Marco

 cosě non farň piů confusione ?
Chiedo scusa per il tono non volutamente polemico con cui ho risposto.
Il problema č che il Bus USB ha una topologia ad albero in cui l'host, in
parole povere, controlla l'inizializzazione delle periferiche ed altre cose.
sul sito 
www.usb.org
, puoi trovare la documentazione necessaria. se non la
trovi fammi un fischio che te la spedisco.


> Chiedo scusa per il tono non volutamente polemico con cui ho risposto.
non c'è bisogno di scusarsi, non era affatto polemico il tono del tuo post!
M.

RS232 o alla parallela...
Anche questa idea mi è passata per la testa. Resta il dubbio che valga
la pena aggiungere al sistema un hardware dedicato in più oppure no...
Comunque, adesso mi metto a spulciare qualcosa su queste MMC, mi
potrebbero risolvere anche qualche altro problema...
Saluti e grazie a te a agli altri delle risposte.



Ma alla fine non puō semplicemente collegare il PIC tramite RS232 al PC???
Non ho capito la necessitā di una qualsiasi forma di "chiavetta" da dover
inserire prima nel PC e poi nel PIC...
Ciao

Ciao
perchè si tratta, come ho detto, di un apparecchio remoto, con un pic
a bordo, che sta nel mezzo di un piazzale con gli operai intorno, e
che ogni tanto prende 'sti dati da un ufficio dove qualcuno li
compila. E niente fili. 



Capisco... Mi ero perso questo passaggio! potrebbe essere una soluzione una
LAN Wireless?
Su internet ho visto parechie soluzione per interfacciare i pic alla LAN e
fatto ciō devi solo collegare un ricevitore wireless commerciale!
Altrimenti credo che la chiave con eeprom rs232 sia la cosa pių veloce da
realizzare...
Ciao

 hardware dedicato in più oppure no...
Oltre alle costatazioni puramente tecniche, penso che
implementare la funzionalità USB che dici in ogni caso ti
costi di più (tra componenti dedicati e mesi-uomo per
sviluppare e testare il firmware)...
Ciao,
A.D.

sviluppare e testare il firmware)...
Eh... effettivamente... nel frattempo ho dato un'occhiata a come può
essere "maneggiata" una piccola eeprom da 64 o 128 kbit, che farebbe
al caso mio. Da quanto ho visto nel sito microchip ne esistono in
diversi package, e ingegnerizzare una schedina non dovrebbe essere un
problema. 
Ma non c'erano anche della specie di eeprom card ? Ne esistono, che
qualcuno di voi sappia, di questa capacità ? 


Una eeprom montata su un piccolo c.s. od una smartcard credo siano la cosa più semplice... se tuttavia vuoi usare lo stesso un supporto di memorizzazione "informatico", puoi usare una CompactFlash, ad esempio.
Servono anche meno di 20 pin del tuo micro per gestirla, costano relativamente poco e anche le più piccole hanno capacità non irrilevanti.
Se ti può interessare, puoi provare a vedere questo :
www.circuitcellar.com/echips-pdfs/0201/c0201mspdf.pdf
Ciao.
---
Enzo B.
enz...@virgilio.it
www.geocities.com/b94_1999


 qualcuno di voi sappia, di questa capacitā ?
Si chiamano memory card.
Hanno all'interno una zona di memoria eeprom (da 2kbit in su), eventualmente
proteggibile da scrittura.
Ne utilizzo quotidianamente per impieghi simile a quello che vorresti
implementare tu.
Allo scopo ho progettato un lettore/scrittore di carte da collegare al pc
(funziona con semplici comandi seriali)
Dalla parte remota č sufficiente installare lo stesso lettore che comunica
via seriale con il dispositivo remoto.
Se vuoi posso darti altre informazioni.
Ciao, Robby

 mi potrebbero risolvere anche qualche altro problema...
Non sono cosě complicate, dai!
Io ci ho messo meno di due settimane per farle funzionare.
Se ti serve doc... fischia!
Davide B.
P.s.
Il taglio minimo di queste memorie č 16 MEGABYTE, anche se io non sono
riuscito a trovarne una piů piccola di 32.
Alla faccia dei 32K


 esistono, che qualcuno di voi sappia, di questa capacità?
Può darsi, però se usi una card di qualche tipo devi fornire
anche il programmatore/lettore, sia per il computer che per
il sistema "remoto"... per questo avevo pensato ad una
memorietta da mettere in una specie di "dongle", che invece
si può direttamente collegare alla seriale o alla
parallela...
Ciao,
A.D.
P.S. Ritornado all'USB, proprio oggi ho visto sul sito della
Cypress un controller USB che può comportarsi sia da
dispositivo che da host!