ATTiny 45 board usb

Mettiamo dei paletti:

Chi ha esperienze in queste metodologie dica la sua:

  • Usare la V-Usb SOLO come convertitore usb-ttl, al fine di comunicare con un secondo micro, ma non per programmarlo.
    (quindi sia il secondo micro che il primo usato per la v-usb sono programmati via ISP)

  • Usare un solo micro, con sopra la V-Usb e lo sketch, SOLO per comunicare via seriale con il pc, SENZA usarlo come programmatore.
    (intendo che il micro viene programmato via ISP tramite altri programmatori, usbasp, arduinoisp, ecc)

  • Usare due micro, uno per v-sub ed uno per lo sketch, programmandoli con arduinoide via seriale
    (un ArduinoUno ma con un 328p al posto dell'8u2)

  • Usare un solo micro, con sopra V-Usb, Bootloader, Sketch, programmabile via Arduino IDE
    (questo e' il piu' difficile che funzioni)

@Testato:
stai confondendo V-Usb e Metaboard.
La V-usb è un firmware per un chip che funziona solo da emulatore di convertitore. La Metaboard si basa su un codice derivato dalla V-Usb che altro non è se non un bootloader con integrate le funzionalità della V-Usb. Hai posto male il quesito.

scusa ma io sono andato sul sito ufficiale v-usb e come esemppi ci sono micro che accendono led ad esempio, ricevendo comandi seriali via usb.

non sono solo convertitori. non trovo scritto da nessuna parte che l'obiettivo e' solo di fare un adattatore usb seriale. Non avrebbe senso, il senso arriva proprio quando, con un solo micro, mi attacco sia alla usb sia faccio girare il mio sketch

Altra cosa. Con la V-Usb non si usa l'ISP. Te l'ha già un paio di volte anche Menniti. :stuck_out_tongue:
Con la V-Usb si programma via seriale, quindi necessariamente il chip a valle del convertitore deve avere il bootloader di Arduino sopra.

Comunque io ho usato avr-cdc, che è un progetto derivato dalla V-Usb.

mi manca qualche elemento perche' non ti seguo.
Se io voglio programmare un 328P con uno sketch che andra' a creare la v-usb (in qunto la v-usb e' un codice), perche' non potrei farlo via ISP ? O carico un blink via ISP o carico V-USB via ISP cosa cambia ?

Questo e' un progetto ufficiale v-usb, credo il primo in assoluto, il concetto che vedo e' proprio quello che sto' esprimendo, un solo micro, programmato via ISP, che si connette ad un pc via USB

Nessuno lo chiama metaboard, e' l'implementazione della v-usb nel suo concetto base secondo me

powerswitch.jpg

Una prova così tanto per provare: avete provato con un cavo molto corto USB per alta velocità con quell' "tondino" per eliminare i disturbi che ora non mi ricordo come si chiama ma che è ad esempio sui cavi di alimentazione dei portatili e vedere se la situazione migliora (lo si può prendere in prestito dall'hard disk usb ad esempio)

Secondo me anche il design della millifori influisce quando si lavora con segnali ad alta velocità e con timing molto precisi, bisognerebbe fare alcune prove magari copiazzando qualche design esistente e funzionante.

Un buon oscilloscopio probabilmente è necessario per capire cosa sta succedendo senza andare alla cieca

Io sinceramente ho ordinato alcuni convertitori USB-UART per alcuni progetti http://www.aliexpress.com/product-gs/492071325-CP2102-Serial-Converter-USB-2-0-To-TTL-UART-6PIN-Module-OT814-wholesalers.html e ho chiuso il discorso, rischiavo un esaurimento a stare dietro a V-USB senza l'adeguata strumentazione per fare debug altrimenti

Ciao

A me sinceramente funziona anche Su una breadboard da 2 euro con cavi volanti...

Testato:
Mettiamo dei paletti:

Si hai ragione mettiamo dei paletti :slight_smile:
Prima di tutto vi consiglio caldamente di scaricarvi l'A.N. AVR309 di Atmel, con il relativo codice, dove spiega come realizzare una comunicazione USB di tipo CDC ACM (seriale virtuale) tramite emulazione software, che come ho già detto altre volte è si possibile, ma ci sono grossi limiti.
Se vi leggete l'AN di Atmel vi appare subito chiaro come stanno realmente le cose, tanto per cominciare il micro viene alimentato a 3.3V e non a 5V, il clock deve essere tassativamente un quarzo da 12 MHz, questo per via delle temporizzazioni imposte dalla USB.
Potete ottenere solo un device che va in Low Speed (1.5 mbps) e che fa solamente ed esclusivamente il convertitore USB seriale, oppure un canale dati HID, con la possibilità di comandare da USB svariati pin per farli commutare di stato, nulla di più ovvero potete scordarvi di farci girare sopra del software utente, tanto meno degli sketch di Arduino, perché tutte le risorse e tutto il tempo cpu sono impegnati per gestire la USB.
Da notare che il software Atmel, sia per ATmega8 che per Attiny 2313, è scritto in Assembler per via della criticità dei vari timing, si può fare anche in C ANSI, ammesso di essere molto esperti, ma non certo con un compilatore limitato come l'avr-gcc che per la cronaca non è il massimo dell'efficienza con gli AVR.
Il software Atmel usa un driver dedicato, c'è solo per Windows, e mette a disposizione un demo in Delphi per testare tutte le funzionalità, se lo provate e realizzate bene il circuito, semplicissimo però deve essere montato a regola d'arte, state pure certi che funziona come atteso.
Rimane valido il limite della lunghezza cavo perché manca il transciever hardware per la USB, due GPIO non sono la stessa cosa anche se riescono ad emularlo in parte, difficilmente riesce a funzionare con un cavo più lungo di 1 metro.

Aggiungo:
http://vusb.wikidot.com/troubleshooting

Bah, qui c'è gente che è certa del non funzinamento per le proprie notevoli conoscenze teoriche (Astro), gente che è certa del non funzionamento per le proprie esperienze pratiche (Leo ed io), gente che ragionevolmente rinuncia fidandosi di tanta dir male (flz), gente che nutre speranza di riuscire dove altri hanno clamorosamente fallito (Testato), gente che dice di aver fatto funzionare tutto con vai di varia misura ma non mostra nulla di concreto, infine gente che dice di far funzionare tutto, ad ogni intervento rilascia una goccia di saggezza, l'ultima quella che ci vogliono due euro, ma che ancora non ha mostrato un briciolo di schema applicativo né fornito info tali da far capire agli altri cosa ha fatto (Niki77): VIVA L'ITALIA.

L'unico fattore comune è che sembra che questo tipo di comunicazione funzioni colo a quelli il cui NICK comincia con NIK: quindi a tutti gli altri: rinunciate, siete fottuti per nascita! :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :smiley-yell

grazie astro dell'approfondimento.

solo un appunto: ArduinoUNO usa il codice V-USB ? l'8u2, ed il 16u2 usati ufficialmente usano un quarzo 16MHz, e' la dimostrazione che i 12MHz non sono obbligatori. a questo punto teoricamente non vedo problemi a prendere i sorgenti dell'8u2 e modificarli al fine di fare accendere un led su una sua uscita oltre a fare da convertitore (di certo non sarei io a poterlo fare) :slight_smile:

p.s. spettate non e' che l'8u2 ha una usb hardware ? :stuck_out_tongue_closed_eyes:

Microcontroller with USB Controller

:stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:
:zipper_mouth_face: :zipper_mouth_face: :zipper_mouth_face:

Mi e' venuta un'idea che cambiera' il corso delle cose, se devo usare la usb uso un micro con usb integrata
(forse l'avevo gia' letta...., ma come insegna la mela morsa l'importante e' brevettarle le cose, non inventarle)
]:slight_smile: ]:slight_smile: ]:slight_smile:

Testato:
l'8u2, ed il 16u2 usati ufficialmente usano un quarzo 16MHz, e' la dimostrazione che i 12MHz non sono obbligatori.

Invece i 12 MHz sono obbligatori eccome, è puramente una questione di timing, al limite è possibile usare i 6 MHz per la low speed, però poi non ce la fai a gestire tutto quanto col micro perché diventa troppo lento.
Una delle cavolate della Vusb è proprio quella di voler gestire anche clock diversi da 12 MHz, è un errore molto grave.
Secondo te, se Atmel ha deciso di utilizzare un quarzo da 12 MHz, alimentazione a 3.3V e software in assembler c'è un motivo reale oppure è solo perché gli passava per la testa di fare così in quel momento, oppure è la soluzione giusta per far funzionare una emulazione software, per quanto con dei limiti, di una porta USB ?

Edit: sto parlando di emulazione software della USB, nei micro con USB Hardware, come l'8u2, il discorso è diverso.

ok,
ma tecnicamente quindi, l'8u2 che ha il controller integrato, perche' viene usato con quarzo da 16 ?
avra' un prescaler che poi li porta a 12 ? ma perche' non usare direttamente 12 MHz come quarzo ?

Testato:
p.s. spettate non e' che l'8u2 ha una usb hardware ? :stuck_out_tongue_closed_eyes:

Ovviamente si, giusto per la cronaca internamente ha un PLL che moltiplica la frequenza in ingresso per 6 allo scopo di portarla a 48 MHz( multiplo di 12 MHz) che serve per il modulo USB hardware.
Il clock del quarzo da 16 MHz viene diviso per 2 tramite il prescaler ottenendo 8 MHz che moltiplicati per 6 dal PLL consentono di arrivare a 48 MHz.

thanks
io chiudo qui per oggi.

BUONA PASQUA A TUTTI :slight_smile:

Più che viva l'italia direi viva gli italiani!

Mi rimangio tutto, mi sono sbagliato, non si può fare .
Così è tutto più semplice.

Niki77: ormai ti conosco troppo bene :wink: so quanto sei reticente, anche se non ne capisco il motivo (ma lo rispetto qualunque sia), a fornire info sui lavori che fai; per onestà devo dire che sono stato un privilegiato, ma poi il tempo mi ha impedito di darti soddisfazione e mi dispiace; dico però che in un Forum dove ognuno chiede e riceve aiuto, FORSE non bisognerebbe intervenire solo per sbandierare dei successi 8), e promettere cose ben sapendo che poi non si daranno mai. Sai che ho molta stima di te, e quella non si tocca, ma ciò non mi impedisce di dirti, a mio modesto parere, che in questo Topic hai sbagliato. E te lo dico esattamente come invece ti dissi che avevi ragione in un'altra situazione dove, a torto o ragione, ti sentisti "attaccato" ingiustamente =(, e per tale motivo decidesti di non diffondere i risultati del tuo ottimo lavoro.
Dire ora "mi sono sbagliato" non è un'uscita elegante :~, forse qualcuno può anche crederti, io invece non ti credo, ma questa è e se ne prende atto.
Magari un domani che avrai bisogno di qualcosa e ti si darà un aiuto può essere che ti verrà più facile "aprirti" :wink:
Ciao. :slight_smile:

L'unico fattore comune è che sembra che questo tipo di comunicazione funzioni colo a quelli il cui NICK comincia con NIK: quindi a tutti gli altri: rinunciate, siete fottuti per nascita

:grin: :grin: :grin:
Comunque anche io ho ammesso di avere dei "leggeri" problemi con la mia applicazione di convertitore USB seriale basato sul attiny45 .
In parole povere e meglio far fare le cose come questa ai micro predisposti apposta
Ciao Niko

Ma avrei sbagliato a fare cosa?
Ho aperto un thread dove chiedevo dove poter reperire determinate schede, senza ancora che si sapesse a cosa mi servisse era già nata una prosopopea degna del mitico Omero.
Sa caro professore cosa le dico, io quello che mi serviva di fare l'ho fatto, non ho bisogno di approfondire oltre l'argomento.
E con questo chiudo la mia partecipazione a questo thread (tra l'altro tutt'altro che in topic rispetto al titolo).

niki77:
Ma avrei sbagliato a fare cosa?
Ho aperto un thread dove chiedevo dove poter reperire determinate schede, senza ancora che si sapesse a cosa mi servisse era già nata una prosopopea degna del mitico Omero.
Sa caro professore cosa le dico, io quello che mi serviva di fare l'ho fatto, non ho bisogno di approfondire oltre l'argomento.
E con questo chiudo la mia partecipazione a questo thread (tra l'altro tutt'altro che in topic rispetto al titolo).

Beh, non c'è bisogno di scaldarsi tanto, non avevo alcuna intenzione provocatoria, ti ho detto ciò che pensavo e l'ho detto semplicemente dopo aver letto gli ultimi tuoi 3 post:

1 - Il chip si può autoprogrammare tramite la usb stessa senza ftdi o altre amenità varie.
Appena ho un minuto vi faccio un video così forse si capisce meglio.

2 - A me sinceramente funziona anche Su una breadboard da 2 euro con cavi volanti...

3 - Mi rimangio tutto, mi sono sbagliato, non si può fare. Così è tutto più semplice.

per non tacere dell'ultimo tuo intervento:

4 - io quello che mi serviva di fare l'ho fatto, non ho bisogno di approfondire oltre l'argomento

quindi la cosa è chiusa, ti chiedo scusa se ti ho offeso in qualche modo, ma "scripta manent" dicevano i nostri plus-plus-tera-trisavoli.