Pages: [1] 2   Go Down
Author Topic: [RISOLTO]:clock out su Arduino  (Read 3116 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Usando il Fuse Calc http://www.engbedded.com/fusecalc/ ho visto che si può settare un valore per avere in uscita su un pin (mi pare il 14 di ATmega = 8 di Arduino) il clock del chip; l'ho testato ma l'oscilloscopio non rileva nulla. Sarebbe utilissimo laddove shield esterne avessero bisogno di un oscillatore. Ho impostato il pin in OUTPUT ma credo gli si debba dare un comando.
Chi ne sa qualcosa?
« Last Edit: May 08, 2011, 08:33:21 am by menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ragazzi, nessuno sa nulla di questa cosa?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22817
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io so quello che c'è scritto sul datasheet. Quel pin viene abilitato con il fuse.
Se non ti funziona, torno a pensare quello che ti ho chiesto già in un altro thread: se stai usando sempre lo stesso micro, non è che per caso ha subito qualche alterazione e non funziona più correttamente?
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hai ragione, ma ieri , tra le mille cose che stavo facendo, sembravo un Robocop con tutti quei chip attaccati addosso smiley-lol
Sì, domani (oggi digiuno  smiley-sad) provo con un altro chip ma il datasheet dove parla di questa cosa? Io ho visto solo la voce sul Fusecalc, se hai la pagina me la indichi, per favore? Altrimenti me la cerco io, giusto per capire se bisogna fare qualcosa anche a livello software.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

cerca sul datasheet la voce "clock output"
Ciao Uwe
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 130
Posts: 9516
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho visto solo la voce sul Fusecalc, se hai la pagina me la indichi, per favore? Altrimenti me la cerco io, giusto per capire se bisogna fare qualcosa anche a livello software.

Il datasheet ne parla al capitolo 8.9 Clock Output Buffer, sono poche righe ma dicono tutto quello che c'è da sapere.

Code:
The device can output the system clock on the CLKO pin. To enable the output, the CKOUT
Fuse has to be programmed. This mode is suitable when the chip clock is used to drive other circuits
on the system. The clock also will be output during reset, and the normal operation of I/O
pin will be overridden when the fuse is programmed. Any clock source, including the internal RC
Oscillator, can be selected when the clock is output on CLKO. If the System Clock Prescaler is
used, it is the divided system clock that is output.

Non serve settare nulla in software, basta settare il relativo fuse che a sua volta scavalca la normale funzionalità di I/O settando PB0 esclusivamente come OUT del clock.
« Last Edit: May 07, 2011, 06:29:01 am by astrobeed » Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-eek ma mi confermate che PB0 è il 14 del micro e 8 di Arduino? non dovrei vedere una qualche sinusoide (viste le frequenze in gioco dubito sia una quadra) alla frequenza del clock; ho impostato il micro 8MHz e attivata questa uscita, l'oscilloscopio, tra questo pin e massa non vede né misura un bel nulla, è un digitale. Forse ha ragione leo, farò la prova con un altro chip, ma questo sta funzionando senza problemi. smiley-eek-blue
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No dovrebbe essere una forma quadrata.
Senó per sicurezza prova con un semplicissimo tester tutte le uscite con un sketch che non fa niente (basta un loop() vuoto); dovresti leggere  ca 2,5V sul uscita che porta il segnale del Clock.

Comunque confermo, dovrebbe essere il PB0 pin 14 del Atmega e 8 del Arduino.

Ciao Uwe
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22817
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma a quanto lo alimenti? Che forse dipenda dalla tensione che riceve in ingresso?
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No dovrebbe essere una forma quadrata.
Senó per sicurezza prova con un semplicissimo tester tutte le uscite con un sketch che non fa niente (basta un loop() vuoto); dovresti leggere  ca 2,5V sul uscita che porta il segnale del Clock.
Comunque confermo, dovrebbe essere il PB0 pin 14 del Atmega e 8 del Arduino.
Ciao Uwe
Ciao Uwe, grazie, gli avevo mandato il blink che non tocca il pin 8, farò anche
questa prova, però ho due oscilloscopi (analogico e digitale) ed un buon frequenzimetro, mi pare davvero da oppio che riesca a rilevare qualcosa con un tester dopo non aver preso niente con tutta quella strumentazione smiley-sad
Ma a quanto lo alimenti? Che forse dipenda dalla tensione che riceve in ingresso?
Questa è una cosa interessante, in effetti ho lavorato sempre a 3,6V sulla board anche perché a 5v ottenevo cose strane sul comportamento del blink, a ben pensare è possibile che qualche cosa sia davvero andata in palla nel chip, e comunque ti avevo già confermato che domani proverò un altro chip a cui non ho fatto sevizie. Penso di fare così, per essere sicuro: lo metto sul Arduino2009 e lo programmo da Arduino UNO per farlo lavorare su Arduino (clock esterno 16MHz) eclock out attivo; poi lo piazzo su Arduino UNO e misuro. Vi farò sapere  smiley-roll-sweat
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Uwe, grazie, gli avevo mandato il blink che non tocca il pin 8, farò anche
questa prova, però ho due oscilloscopi (analogico e digitale) ed un buon frequenzimetro, mi pare davvero da oppio che riesca a rilevare qualcosa con un tester dopo non aver preso niente con tutta quella strumentazione smiley-sad
Non posso immaginarmi la Tua disponibiliá di strumentazione. Se do un consiglio cerco di darlo con i mezzi piú semplici.

Quote from: menniti
Questa è una cosa interessante, in effetti ho lavorato sempre a 3,6V sulla board anche perché a 5v ottenevo cose strane sul comportamento del blink, a ben pensare è possibile che qualche cosa sia davvero andata in palla nel chip, e comunque ti avevo già confermato che domani proverò un altro chip a cui non ho fatto sevizie. Penso di fare così, per essere sicuro: lo metto sul Arduino2009 e lo programmo da Arduino UNO per farlo lavorare su Arduino (clock esterno 16MHz) eclock out attivo; poi lo piazzo su Arduino UNO e misuro. Vi farò sapere  smiley-roll-sweat

Ma Tu sai che a 3,6V non puoi usare un clock da 16MHz, ma solo da 12MHz?
http://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf
pagina 316, capitolo 28.3 Speed Grades.

Ciao Uwe
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Uwe, grazie, gli avevo mandato il blink che non tocca il pin 8, farò anche
questa prova, però ho due oscilloscopi (analogico e digitale) ed un buon frequenzimetro, mi pare davvero da oppio che riesca a rilevare qualcosa con un tester dopo non aver preso niente con tutta quella strumentazione smiley-sad
Non posso immaginarmi la Tua disponibiliá di strumentazione. Se do un consiglio cerco di darlo con i mezzi piú semplici.
Sì, hai ragione, ma io avevo scritto nel post di apertura che ho misurato con l'oscilloscopio.

Quote
Quote from: menniti
Questa è una cosa interessante, in effetti ho lavorato sempre a 3,6V sulla board anche perché a 5v ottenevo cose strane sul comportamento del blink, a ben pensare è possibile che qualche cosa sia davvero andata in palla nel chip, e comunque ti avevo già confermato che domani proverò un altro chip a cui non ho fatto sevizie. Penso di fare così, per essere sicuro: lo metto sul Arduino2009 e lo programmo da Arduino UNO per farlo lavorare su Arduino (clock esterno 16MHz) eclock out attivo; poi lo piazzo su Arduino UNO e misuro. Vi farò sapere  smiley-roll-sweat

Ma Tu sai che a 3,6V non puoi usare un clock da 16MHz, ma solo da 12MHz?
http://www.atmel.com/dyn/resources/prod_documents/doc8161.pdf
pagina 316, capitolo 28.3 Speed Grades.

Ciao Uwe
[/quote]
No, non lo sapevo, ma in realtà sto facendo prove a 1 e 8MHz con 3,6V, quindi i problemi derivano da altro, infatti a me succede l'opposto: cioè il circuito minimal (senza oscillatore esterno) a 1 o 8MHz, se lo alimento a 5v si blocca, ma forse ora mi è venuto un flash: poiché ho messo un led "arancio" (il primo che ho acchiappato nello scatolino smiley-mr-green), che mi pare consumi tanto, e ho dimensionato la R su 3,3V (il primo esperimento a bassa tensione), probabilmente aumentando a 5V il pin di Arduino eroga oltre 40mA e mi blocca tutto, pensi sia possibile? smiley-red Più tardi vado a fare la prova.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 130
Posts: 9516
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non dovrei vedere una qualche sinusoide (viste le frequenze in gioco dubito sia una quadra)

Da un'uscita digitale può uscire solo un'onda rettangolare, però quello che vedi dipende dalla strumentazione che usi e dalla qualità, oltre che la tipologia, dell'accoppiamento tra pin e resto del circuito.
Se guardi un clock a 8 MHz con un oscilloscopio da 20 MHz vedi una sinusoide distorta, se lo guardi con un oscilloscopio da 200 MHz vedi l'onda quadra con i fronti di salita leggermente arrotondati verso il picco e relativa piccola sinusoide, da poche decine di mV a pochi mV, smorzata in 2-4 cicli, è dovuta alla componente induttiva del pcb e dalla qualità della sonda.
Sicuramente lo sai già, però ricordarlo non fa mai male, la sonda deve essere settata a 10x (10 Mohm di impedenza), il limitatore di banda, tipicamente 20MHz, del canale su cui fai la misura deve essere OFF, altrimenti non solo non vedi l'onda quadra, vedi qualcosa di molto distorto, ma rischi pure di dare fastidio al normale funzionamento del circuito.
Ultima nota, per questo tipo di misure è indispensabile che GND sia preso tramite il cavetto della sonda e da un punto di massa il più vicino possibile, questo più che altro per non introdurre ulteriori distorsioni, e rumore, alla misura, però nel tuo caso è più una misura di verifica presenza segnale che qualitativa, quindi va bene pure usare un cavo GND collegato all'apposita presa dell'oscilloscopio.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12576
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie, mi riferivo al fatto che ho avuto a che fare recentemente con la problematica dei generatori di onde quadre, quindi sapevo che per generare una quadra degna di tale nome servivano molte armoniche; ho un generatore da 10MHz (niente di pauroso, comunque a controllo digitale, abbastanza stabile) e oltre i 6MHz i circuiti riconoscono comunque i due livelli ma sull'oscilloscopio si vede una cosa che è un misto tra una sinus e una triangolare; nell'AT in effetti la situazione è opposta, cioè stiamo partendo da un'oscillatore più "grande" per avere una frequenza più piccola, quindi mi devo aspettare proprio una quadra.
L'oscilloscopio è un digitale da 60MHz, la sonda è impostata a 10x ed uso il cavetto attaccato ad essa e collegato al pin 14(GND) ma non vedo niente, però ancora non ho fatto le nuove prove...; invece ti ringrazio per la fiducia ma non so del limitatore di banda; non è che le "mie" distorsioni dipendono proprio da questo? Mi daresti qualche altra indicazione su dove cercare la funzione? Ho un GW-Instek GDS-2064.

EDIT:
Ce l'ho fatta! vedo 8 o 16MHz sull'oscilloscopio, l'onda è quadra ma piuttosto distorta (vorrei che astrobeed mi chiarisse la questione del limitatore). Non chiedetemi come ho fatto, sto provando mille cose in contemporanea, stasera cerco di riordinare le idee.
« Last Edit: May 08, 2011, 08:09:20 am by menniti » Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se non vedi la quadra come tale puó anche essere che la sonda non sia regolata bene. L'oscilloscopio ha un pin con un segnale di calibrazione. Attacca lí la Tua sonda e regola il condensatore nel BNC della sonda in modo che vede una bella quadra.
Qua é spiegato come fare col Tuo oscilloscopio:
http://www.testequipmentdepot.com/instek/pdf/gds2000_manu.pdf a pagina 115
e spiegazione come funziona:
http://www.salvitti.it/geo/scope/index.htm in basso capitolo "sonde".

Ciao Uwe
« Last Edit: May 08, 2011, 04:02:42 pm by uwefed » Logged

Pages: [1] 2   Go Up
Jump to: