Problemas com clock

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

Problemas com clock

Mensagempor denis neves » 30 Nov 2010 11:03

Fala pessoal...

estou trabalhando com um MSP430F149 e estou tendo problemas em configurar o clock do bichinho !!!

Tenho o livro do Fabio Pereira, estava lendo a teoria e vi que esse MSP tem varias fontes de clock.

Bom, configurei o XT2 (cristal de 8MHs) como fonte de clock principal e também como fonte para o SMCLK de acordo com a teoria do livro.

Fiz uma rotina para fazer um toogle de um pino na rotina principal do programa e constatei que a frequência gerada por essa rotina não ultrapassa os 700KHz !!!

Alguém poderia me ajudar com a configuração do clock do dito cujo ???

Muito obrigado,

Denis.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor luisf.rossi » 28 Mar 2011 00:34

Bom.. posta o seu código e compilador para podermos ajudar.. eu realmente nunca vi os livros do Fabio Pereira.. acho melhor ir direto a fonte dos conhecimentos (o datasheet, ou no cado o User's Guide).

De uma olhada na pagina 4-12 (121 do pdf) com um exemplo de como proceder.

De modo geral o que você deve fazer é configurar o Bit 7 do BCSCTL1 (ou XT2OFF), zerar o OFIFG, esperar 50us e olhar o OFIFG. Se ele não estiver em zer quer dizer que deu algo de errado na inicialização do clock, dai repete tudo até funcionar. Depois que ele estiver estavel voce configura os Bits SELMx e SELS do BCSCTL2.

Abs
luisf.rossi
Byte
 
Mensagens: 109
Registrado em: 28 Nov 2010 12:48
Localização: São Paulo, SP

Mensagempor denis neves » 06 Abr 2011 15:19

Bom...acabei trocando de modelo de MSP...agora estou usando o MSP430FG439 pois tive a necessidade de um canal de DA. Mas ainda estou com problemas no clock....bom, não sei se é um problema ou se é limitação de hardware !!!

Fiz um código no IAR para testar o sistema de clock :

#include <msp430xG43x.h>

void main(void)
{
volatile unsigned int i;

WDTCTL = WDTPW + WDTHOLD;

P6DIR = 0xff; //configura o PORT P6 como saída
P6OUT = 0x00; //zera o PORT P6

//xxxxxxxxxxxxxxxxxxxxxxx Configuração do clock xxxxxxxxxxxxxxxxxxxxxxxxxxx

do
{
IFG1 &= ~OFIFG;
for (i = 0; i < 1000; i++);
} while(IFG1 & OFIFG); //zera o flag do clock

FLL_CTL1 = 0x14; // liga XT2, SMCLK = XT2CLK, MCLK = SMCLK

P1DIR |= 0x32; // Configura P1.5,P1.4 e P1.1 como saida
P1SEL = 0x32; // Configura P1.5,P1.4 e P1.1 como saida de clock
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

while(1)
{
P6OUT ^= 0xff; //toogle no port P6

}
}

O que vejo no osciloscópio não passa dos 625KHz....acho estranho, pois estou usando um cristal de 4MHz no XT2 !!!....não deveria dar os mesmos 4MHz no toogle ???

Na saída de clock do SMCLK (P1.4) eu consigo ver os 4MHz, mas a CPU não passa dos 625KHz !!!

Luis, eu estou achando que isso é uma limitação de hardware !!!...peço ajuda a vocês do fórum para esclarecer essa minha duvida.

Muito obrigado,

Denis.
Editado pela última vez por denis neves em 07 Abr 2011 08:52, em um total de 2 vezes.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor denis neves » 06 Abr 2011 15:20

..
Editado pela última vez por denis neves em 07 Abr 2011 08:41, em um total de 1 vez.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor andre_luis » 06 Abr 2011 19:40

As saídas de clock estão "bem-comportadas", ou sofrem alguma alteração numa cadencia fixa ?
( Acredito que o Watchdog esteja atuando e voce não o esteja ressetando )

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor luisf.rossi » 07 Abr 2011 00:14

Bom primeiramente o fato de o seu processador estar rodando a 4Mhz não garante que você consegue chavar seus pinos nesta frequencia. Depende da arquitetura do microcontrolador. Por exemplo, um PIC32 a 80Mhz consegue chavear o sue pino a 80Mhz.. ja um AVR32 a 66Mhz consegue chavear a 33Mhz.. e um Cortex-M3 auns 72Mhz acredito que no maximo uns 16Mhz.

Segundo .. você não esta setando o clock do seu processador para o XT2, apenas o SMCLK e terceiro você tem que ajustar o XT2S no FLL_CTL2 para a frequencia correta.

Um bom modo de você descobrir qual o seu clock é colocando a UART para funcionar. Isso não vai ter erro.

Abs
luisf.rossi
Byte
 
Mensagens: 109
Registrado em: 28 Nov 2010 12:48
Localização: São Paulo, SP

Mensagempor denis neves » 07 Abr 2011 10:00

Olá andre_teprom,
as saídas de clock estão bem comportadas sim !!!....consigo ver os 4MHz bunitinho na saída do SMCLK (P1.4) !!!!....será que o WATCHDOG está atuando ?!?!...eu desativei ele no inicio do programa !!!
( WDTCTL = WDTPW + WDTHOLD;).

Olá Luis,
eu configurei o MCLK para XT2...

(FLL_CTL1 = 0x14;) que é igual a (FLL_CTL1 = 00010100)...aqui eu ligo o XT2 e configuro o MCLK e o SMCLK para XT2 !!!

O MSP430FG439 não possui o registrador FLL_CTL2 !!!...basta configurar o registrador FLL_CTL1 !!!

Ok...vou fazer os testes com a UART !!!

Muito o brigado a todos,

Denis.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor andre_luis » 07 Abr 2011 19:17

denis neves escreveu:...consigo ver os 4MHz bunitinho na saída do SMCLK (P1.4)...


Então o problema está resolvido, não é mesmo ?
Voce nunca vai conseguir uma saída manipulada pelo firmware com a frequencia do OSC, já que as microinstruções, mesmo num uC RISC consomem alguns ciclos de máquina.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor denis neves » 08 Abr 2011 08:55

Olá Andre,

é eu suspeitava que poderia ser isso mesmo, mas não imaginava que teria tanta diferença !!!...estou usando um cristal de 4MHz e o uC não consegue rodar meu firmware pra fazer um simples toogle a mais do que 625K !!!

Vou ter que mudar de uC !!!...talvez use um dsPIC !!!

Depois posto os resultados !!!

Muito obrigado,

Denis.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16


Voltar para Texas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x