tonid:
Avevo scaricato tutto il pacchetto per i tiny x4,x5,xx13,se ti serve provo a vedere se lo ritrovo in rete.....perdona l'ignoranza ma credo che fosse presente tutto all'interno del pacchetto.
Se parli del core Tiny, lì dentro NON c'è un bootloader vero e proprio ma solo dei finti bootloader che servono esclusivamente a programmare i fuse dei microcontrollori usando appunto l'opzione "Scrivi il bootloader" dell'IDE.
In rete ho trovato un paio di bootloader per i Tiny ma ha poco senso usarli perché consumano circa mezzo kB di memoria. Se pensi che un Tiny2313 ha 2048 byte di Flash, capisci come sia un po' controproducente usare il bootloader
Sulla breadboard ho ricostruito un circuito standalone, per cui c'è un C da 100nF poli su VCC (che prendo dal pin 5V di Arduino) da cui poi partono i ponticelli per portare tensione ai pin VCC e AVCCC del 1284P. Sempre dallo stesso nodo prelevo con una R da 30K la linea di pull-up per il pin di reset.
Sia il C che la R li ho lasciati collegati anche durante la prova. Il reset l'ho preso dal pin RST dell'Arduino, che ha quindi una ulteriore R da 10K.
Insomma, se ha funzionato a me con tutto questo intreccio di roba...
Mentre Tonid ricordo che ha detto che ha dovuto eliminare il C, lasciando il collegamento diretto RTS-RESET, e se non sbaglio ha eliminato le due R da 1k in serie a tx/rx; ma hai lasciato la pull-up sul reset del 1284? e quella sull'RX dell'MCP2200?
Confermatemi/correggetemi per favore.
Io le R da 1K ce l'ho per forza perché usando l'Arduino sono integrate sulla scheda stessa. Però essendo appunto in serie, sulla linea che va al pin RX0 avevo 100+10+10+1=121K e poi 100+75+1=176K
Se parli del core Tiny, lì dentro NON c'è un bootloader vero e proprio ma solo dei finti bootloader che servono esclusivamente a programmare i fuse dei microcontrollori usando appunto l'opzione "Scrivi il bootloader" dell'IDE.
In rete ho trovato un paio di bootloader per i Tiny ma ha poco senso usarli perché consumano circa mezzo kB di memoria. Se pensi che un Tiny2313 ha 2048 byte di Flash, capisci come sia un po' controproducente usare il bootloader
Ho capito....evviva l'ignoranza @Michele
Allora se usi l'aria ,non usarne più di 2 litri altrimenti porta dei problemi...
Ho usato l'MCP 2200,il condensatore di reset l'ho bypassato,poi ho aggiunto la R in questione in serie al pin RX di tutti i micro provati(644/1284/328),ho messo una R da 1k in serie sul TX di tutti i micro,R di pull-up (10K)al reset dei micro.
La circuiteria rimanente intorno all'MCP l'ho lasciata invariata......
Se parli del core Tiny, lì dentro NON c'è un bootloader vero e proprio ma solo dei finti bootloader che servono esclusivamente a programmare i fuse dei microcontrollori usando appunto l'opzione "Scrivi il bootloader" dell'IDE.
In rete ho trovato un paio di bootloader per i Tiny ma ha poco senso usarli perché consumano circa mezzo kB di memoria. Se pensi che un Tiny2313 ha 2048 byte di Flash, capisci come sia un po' controproducente usare il bootloader
Niente da fare, non ne vuole sapere in alcun modo, le ho provate TUTTE sempre con l'identico risultato: lampeggia il led del reset del micro, poi tre lampeggi del led tx del convertitore (o del led rx di Arduino) e poi il solito errore di sincronismo.
Poi ho riprovato con il 644 (e FT232RL) e non funzionava più nemmeno col filtro (ma nel mio caso uso 10k+100p), allora ho ripristinato il C da 100nF in serie al RESET e si è rimesso a funzionare, a questo punto ho tolto il filtro e messo la R da 120k (ma anche una 330k è uguale) e funziona; se ricordate la prima prova che feci con successo fu quella di usare u partitore invece del filtro, col risultato di non rovinare il segnale e risolvere comunque; insomma in un modo o nell'altro io ho con il 644P la stessa situazione che Voi avete col 644P, mentre il 1284P non ne vuole in alcun modo.
Ovviamente ho ripetuto le prove con il C da 100nF sul reset, ma anche con 220n, 470n, 1µ ed infine anche un 10nF (giusto una cosa minima), ma non c'è niente da fare; figuratevi che se scollego completamente i due cavi tx e rx il convertitore si comporta allo stesso modo, proprio non ne vuole ] Ho provato anche con delle pull-up/down da 10k, singole o incrociate o parallele: in questo caso anche il led rx inizia a dare segni di vita ma si vede che ognuno dei due lavora per conto proprio; ora devo scappare purtroppo, poi riprendiamo la questione.
@Michele
Beh,diciamo che hai buttato veleno
Volevo chiederti se durante l'upload degli sketch hai per caso tenuto la sonda del DSO collegata al pin RX del micro.....
Non l'ho fatto per non introdurre ulteriori elementi di disturbo, avrei voluto farlo dopo per prendere qualche "appunto" ma il mio tempo/lab è stato bruscamente interrotto da ordini dall'alto ] ] ]
Invece avevo intenzione di chiedere a te se fosse possibile fare un video, della fase UPLOAD-RESET-START in pratica dal comando fino a quando inizia il caricamento, collegando contemporaneamente tx ad un canale e rx all'altro, in modo sta studiarmi il comportamento e cercare di capire che cavolo non va; o almeno fai un confronto tra 644 e 1284 e vedi se si comportano allo stesso modo, tanto il 644 ce l'ho pure io e mi posso studiare quello, sperando di trovare un po' di tempo in più
Michele, hai provato a ponticellare il pin RX di Arduino con il pin RX0 del 1284 con la resistenza, senza inserire dei cavetti extra? A me andava solo in quel modo. Non so, forse può dipendere anche dalla basetta sottostante?
Altra prova, hai per caso un quarzo di clock inferiore? Tipo 8/10/12 MHz? Montando quello (senza toccare i fuse), riesci a programmarlo? Mi ricordo che io feci dei test con un risonatore ceramico da 12 MHz con esito positivo.
leo72:
Michele, hai provato a ponticellare il pin RX di Arduino con il pin RX0 del 1284 con la resistenza, senza inserire dei cavetti extra? A me andava solo in quel modo.
sì, l'ho infilata direttamente nell'header e nel foro accanto al pin
Non so, forse può dipendere anche dalla basetta sottostante?
no, come detto tolgo il 1284, metto al suo posto il 644 e funziona.
Altra prova, hai per caso un quarzo di clock inferiore? Tipo 8/10/12 MHz? Montando quello (senza toccare i fuse), riesci a programmarlo? Mi ricordo che io feci dei test con un risonatore ceramico da 12 MHz con esito positivo.
sono attrezzato da 1 a 40MHz, farò anche questa prova per curiosità, ma non ne colgo l'utilità, se anche funzionasse a che servirebbe?
Ciao ragazzi.. scusate se mi intrometto... ma io vi so seguito passo passo e ho fatto gli stessi collegamenti di Paolo S avendo lo stesso adattatore seriale (a dire il vero è del mio amico)
Ho fatto prima il caricamento del bootloader e del priogrammino BLINK via ISP con un arduino uno e funziona a meraviglia... Ho collegato poi l' adattatore seriale come da voi suggerito a Paolo S e mi da il solito messaggio not in sync.
Quando inizia il trasferimento dati, vedo che il led nel pin 13 lampeggia 2-3 volte e poi basta... continua con il BLINK caricato via ISP.
Ho un C da 100n in serie con il reset collegato al DTR. TX -> TX e RX ->RX..
Mi sono letto tutte ste pagine non so quante volte e sinceramente mi sembra tutto ok..
Grazie e scusate se magari vi annoierò sulla cosa, visto quanto è stata trattata.
Non annoi per niente, ci servono altri "tester"
Da come hai descritto mi sembra che tu NON abbia caricato il bootloader sul micro, visto che hai ancora su il blink
Ho fatto prima il caricamento del bootloader e del priogrammino BLINK via ISP con un arduino uno e funziona a meraviglia... Ho collegato poi l' adattatore seriale come da voi suggerito a Paolo S e mi da il solito messaggio not in sync.
Se hai caricato prima il bootloader in ISP e subito dopo anche il BLINK in ISP perdi il bootloader e non puoi più caricare in seriale.
Devi prima mettere il BL in ISP e poi ,per caricare uno sketch,colleghi il chip in seriale ed attraverso un convertitore gli mandi lo sketch in seriale............Se hai seguito quanto detto finora e stai utilizzando anche tu il BL di Leo,puoi collegare sul pin 2 del micro un led con la sua R e,quando il micro riceve il reset dal convertitore,il led farà 3 lampeggi,poi inizieranno a lampeggiare i led TX/RX del convertitore e,appena finito di caricare,il led sul pin 2 farà altri 3 lampeggi ad indicare che il chip è pronto ad eseguire il codice appena caricato.......Quindi se lo sketch era il blink,il led sul D13 comincia a lampeggiare....
Invece avevo intenzione di chiedere a te se fosse possibile fare un video, della fase UPLOAD-RESET-START in pratica dal comando fino a quando inizia il caricamento, collegando contemporaneamente tx ad un canale e rx all'altro
Ciao Michele,io ho un DSO della GW instek comperato proprio dal link che hai dato a Leo in quanto conosco molto bene il proprietario(è di Torino) con SD card ma non riesco a capire se posso memorizzare in qualche maniera ciò che visualizza a display......Devo cercare il libretto di istruzioni....Ho scaricato il programmino che ti permette di vedere sul pc lo schermo del DSO ma se provo a registrare pare che tende ad inchiodare tutto quello che ho contemporaneamente in funzione sul pc.....dovrei provare ad aprire l'applicazione del DSO su un pc e caricare il micro da un'altro pc ....mmmmm ...solo che è un po un casino....
Se riesci/sai aiutarmi in questo ti posso fornire il video,altrimenti devo vedere comunque di risolvere la cosa..
Inizialmente su AvrFreaks dicevano che il bug della UART0 riguardasse solo le connessioni verso chip con clock di 20 MHz. Io però ho trovato che anche a 16 MHz c'era il problema. Abbassando invece a 12 MHz ero riuscito a caricare lo sketch.
Tonid, il mio DSO è proprio quello del link e dovrebbe avere la funzione di memorizzazione di un periodo, ma non l'ho provata nemmeno io; finora mi sono limitato a fare dei print screen sulla pen drive USB; dovrei studiarmi il manuale ma chi lo trova il tempo? Non ti preoccupare, non ne vale la pena, come detto dispongo del 644, posso fare alcune prove di caricamento e vedere il comportamento e poi confrontarlo "a memoria" col 1284P; inoltre in settimana entrante dovrebbero ritornarmi i due MCP2200 e poi riprenderò le prove ultime, anche con il CP2102 che a memoria mi pare fosse stato l'unico a permettermi di caricare sul 644 senza alcun fronzolo....
Leo, ciò che hai detto mi era chiaro pure prima, il ragionamento che faccio è: ammesso che funzioni che ne faccio di questa informazione? Non posso certo mettere in piedi una bestia del genere con un miserabile quarzo da 12MHz!