Pico85 SMD - La prima board Arduino compatibile di Gioblu Robotics

menniti:
abbia detto qualcosa di negativo a proposito di frequenze elevate non quarzate, ma non ricordo il contesto,

Se la memoria non mi inganna era relativamente all'utilizzo della Vusb senza quarzo e allo "smanettamento" dell'oscillatore RC per tirarlo a 12MHz, cosa fuori specifiche e poco raccomandabile.
Il discorso del PLL (8x) è diverso perché dal data sheet risulta che è possibile utilizzarlo anche come clock di sistema, l'uso primario è come clock delle periferiche, e grazie ad un divisore 1:4 dovrebbe essere possibile ottenere 16 MHz sul clock del micro.
Però il data sheet è un pochino criptico su questa cosa dato che c'è di mezzo anche un divisore per due sul clock RC in ingresso al PLL che sembra riportare il clock del micro a 8 MHz (8MHz / 2 * 8 / 4 = 8 MHz) quando si opta per il clock proveniente dal PLL invece che direttamente dall'oscillatore RC.
C'è da fare qualche prova pratica per capire come stanno realmente le cose.

gbm:
Pagina 26 datasheet http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf
High Frequency PLL Clock
There is an internal PLL that provides nominally 64 MHz clock rate locked to the RC Oscillator
for the use of the Peripheral Timer/Counter1 and for the system clock source.
The system clock source, by programming the CKSEL fuses to ‘0001’, it is divide by four.

Il succo è che il PPL clock ad alta frequenza integrato nell'MCU puo' arrivare a 64mhz.
Programmando CKSEL fuse a 0001 lo si divide x 4 ottenendo 16mhz

Devo assolutamente provarlo a 64mhz ahahahah

Se CKSEL settato a 0001 divide 64x4, chissà che a 0000 non divida per 0, praticamente un over-clock infinito, non reggerebbe la vetronite ]:smiley: Scherzi a parte bisogna capire se non sia vera questa storia del cane che si morde la coda citata da Astrobeed (hai ragione, era sulla questione della virtual USB :))

Un'altra cosa davvero criptica nel datasheet è limiti dell'uso del PIN reset come input o output, che viene definito weakpin.
Qualcuno di voi ha qualche info al riguardo?

la corrente di quel pin usato come output è più bassa degli altri pin digitali.
tornando al discorso del pll o High Frequency PLL Clock se non ho capito male viene attivato il generatore interno che è a 64mhz ma ha il suo divisore x4 quindi in teoria se alimntato oltre i 4V dovrebbe far girare il timer1 a 16Mhz al massimo no?

gbm:
Un'altra cosa davvero criptica nel datasheet è limiti dell'uso del PIN reset come input o output, che viene definito weakpin.

Significa che può fornire molta meno corrente degli altri pin quando utilizzato come GPIO, sul data sheet ci sono varie tabelle che illustrano come varia la tensione in funzione della corrente sul reset, già a solo 2.5 mA siamo al limite dei livelli logici.

Dite che basta la corrente del reset per dare un HIGH logico?? E' possibile utilizzarlo come input analogico o digitale?
Vorrei capire se puo' essere utilizzata come una normale porta input o output e quali sono i limiti (es evitare di resettare la mcu :grin:)

aspetta però, l'uso è esclusivo, nel senso che o è reset o è pin. (non è questione di soglie)
e quando è pin (output) la corrente che ti può dare in uscita è quella che ha detto astrobeed prima.
Occhio che se disabiliti il reset per usarlo come pin , dici addio alla programmazione icsp.

gbm:
Dite che basta la corrente del reset per dare un HIGH logico?? E' possibile utilizzarlo come input analogico o digitale?

Il livello logico dipende esclusivamente dalla tensione, quindi non ci sono problemi sotto questo profilo, però dato che questo pin non è in grado di erogare più un paio di mA, anzi meglio rimanere sotto il singolo mA.
Non si può usare il reset come GPIO per accendere un led o pilotare la base di un transitor, puoi usarlo per comandare un qualunque gate logico, un ingresso digitale di un micro, il gate di un piccolo mos a patto che sia un azionamento a bassa velocità, no pwm.
Il reset risulta anche come ADC0, quindi è utilizzabile come ingresso analogico e, ovviamente, anche come ingresso digitale.
Attenzione che se setti il reset come GPIO non puoi più programmare il micro tramite ISP, devi ricorrere alla modalità HV.
Sul data sheet relativamente al fuse RSTDISBL trovi queste note:

1. Controls use of RESET pin. See “Alternate Functions of Port B” on page 62.
2. After this fuse has been programmed device can be programmed via high-voltage serial mode only.

In definitiva conviene, se proprio serve, utilizzarlo come ingresso A o D, sarebbe immediato e non richiederebbe logica esterna; mi pare che gbm accennasse ad una sorta di "protezione" della mcu, riferendosi certamente ad uno sketch precaricato; in effetti la programmazione HV non è proprio alla portata di tutti, quindi sarebbe una buona idea per un prodotto commerciale, non ci stiamo certo riferendo a copyright.

@Mike:
che devo dire, si vede che sono uno che anticipa i tempi XD
Cme adesso che sto usando i Tiny84 e mi trovo veramente bene.
Poi ho il 644 ancora da "scartare" e tra un po' ordino un nuovo micro, ci ho già messo gli occhi sopra. Devo capire se si può usare con l'IDE, il Tiny861. :stuck_out_tongue:

Il pin di reset del Tiny85 non va configurato come I/O altrimenti, come ha detto astrobeed, o si è dotati di un prrogrammatore professionale che ha anche l'A.T. oppure non ri riflasha più il micro. Fermo restando che riprogrammando i fuse lo si può rimettere "a posto" però diventa una menata ogni volta che devi cambiare lo sketch.

Ciao Leo, ci abbiamo gia pensato noi con ArduOpen!! :grin:
Come vedi dalla screen abbiamo integrato anche questo port insieme a moltissimi altri delle architetture AT90, ATmega e ATtiny, suddivisi da un comodo menu per tipologia. Anche secondo me è una delle MCU ATtiny piu' interessanti :grin:

Se hai tempo prova ArduOpen!! Sono curioso di sapere cosa ne pensi.

Hai un link diretto per la versione Linux dell'IDE Arduopengià compilata? Una volta ho provato a tirarmi giù i sorgenti Java ma non sapevo neanche come compilarli ed ho lasciato perdere. :sweat_smile:

EDIT:
ops, mi sa che è quello che hai linkato. L'estensione .zip mi ha tratto in inganno. Ma perché non hai usato un archivo tar.gz?

menniti:
i miei nanetti sono stati fatti artigianalmente, li ho fatti nascere uno per uno, a botte di percloruro riscaldato :sweat_smile:, e le dimensioni sono 12x32cm pur usando componenti DIP e non smd, quindi portate rispetto!

E che sono? Fogli di quadernone? XD XD XD

(PS: immagino saranno mm, e non cm :smiley: )

leo72:
Hai un link diretto per la versione Linux dell'IDE Arduopengià compilata? Una volta ho provato a tirarmi giù i sorgenti Java ma non sapevo neanche come compilarli ed ho lasciato perdere. :sweat_smile:

Io mi trovo con lo stesso problema in windows però :frowning:

leo72:
@Mike:
che devo dire, si vede che sono uno che anticipa i tempi XD
Cme adesso che sto usando i Tiny84 e mi trovo veramente bene.
Poi ho il 644 ancora da "scartare" e tra un po' ordino un nuovo micro, ci ho già messo gli occhi sopra. Devo capire se si può usare con l'IDE, il Tiny861. :stuck_out_tongue:

Stavolta ti ho anticipato :P, almeno in parte: già cambiati i fuses del 644 e del 461 (fratello piccolo dell'861, disponibile a giorni, già ordinato). Dalle prime umili prove dovrebbe funzionare tutto, altrimenti li facciamo funzionare lo stesso :sweat_smile:

leo72:

menniti:
i miei nanetti sono stati fatti artigianalmente, li ho fatti nascere uno per uno, a botte di percloruro riscaldato :sweat_smile:, e le dimensioni sono 12x32cm pur usando componenti DIP e non smd, quindi portate rispetto!

E che sono? Fogli di quadernone? XD XD XD
(PS: immagino saranno mm, e non cm :smiley: )

XD XD Mi hai fatto sinceramente ridere, avevo messo le misure in cm, poi ho deciso di trasformare in mm per la comparazione e mi so' scordato l'u.m., potevi anche mandarmi un PM invece di sputtanarmi così :blush: ora correggo il post. :wink:

@ gbm: ovviamente ArduOpen va provata anche sul tuo gioiellino, ma hai versione sia Linux che Win (pronta all'uso :*)? (se la risposta è + scrivmi in PM se no Leo inczz, appena vede una "W" comincia a sudare, gli vengono i brividi, abbandona il posto di lavoro e gira 1 ora per strada maledicendo Bill Gates :smiley:

@Mike:
per la 1), sarei curioso di usare il Tiny861, sulla carta non pare malaccio. In pratica dovrebbe essere una specie di Tiny84 con 6 piedini in più. Non mi pare abbia altre caratteristiche di rilievo, o mi sbaglio?

per la 2), ero troppo preso a parlarti d'altro in PM per pensare a questa cosa, e poi la battuta era troppo bella XD

per la 3), mi fa piacere vedere che gbm ha messo un software solo Linux, alla faccia dei Finestrati :stuck_out_tongue:

leo72:
@Mike:
per la 1), sarei curioso di usare il Tiny861, sulla carta non pare malaccio. In pratica dovrebbe essere una specie di Tiny84 con 6 piedini in più. Non mi pare abbia altre caratteristiche di rilievo, o mi sbaglio?

Diciamo che è il 2313 di nuova generazione, con in più doppia eeprom e sram e l'ADC, è effettivamente il fratello maggiore (in pin) dell'84

per la 2), ero troppo preso a parlarti d'altro in PM per pensare a questa cosa, e poi la battuta era troppo bella XD

concordo in pieno, quella del quadernone è da incorniciare XD XD

per la 3), mi fa piacere vedere che gbm ha messo un software solo Linux, alla faccia dei Finestrati :stuck_out_tongue:

@ gbm: allora aveva ragione ratto ad essere triste! :frowning: Beh, Leo a parte, penso che, se non ci sono particolari impedimenti, dovresti farci un pensierino, vuoi o non vuoi ti rivolgi ad un pubblico che è certamente in maggioranza "W", io di certo non installo Linux per testare questo software che, onestamente, mi sembra molto appetibile (specialmente vista la sfilza di "famiglie" di mcu).

L'Arduopen è disponibile in sorgenti. Volendo te li scarichi e li compili su qualunque SO, anche Mac. Resta solo da sapere come fare, io il carrozzone di Java non l'ho mai usato.

l'ultima volta che ho compilato qualcosa in vita mia è stato quando ho messo la prima volta il lettore CD in auto (secoli fa...), mi sono creato una bella compilation di: Dire Straits, Pink Floyd, Led Zeppelin, Rolling Stones, Beatles, Deep Purple e le italianissime "Le Orme", una band per la quale ancora oggi ho una passione sfegatata.
Tu dici che con quella tecnica riesco a far funzionare questo programma? :fearful:

Io NON ci sono riuscito a compilare i sorgenti Java dell'Arduopen :sweat_smile:
Se però qualcuno ti dice come fare (a me non l'hanno detto... sigh sob) forse ci riesci. Preparati comunque a dover tirar giù qualche centinaio di MB di roba :*