Ir para o conteúdo
triplexim32

Duvida ICs

Mensagens Recomendadas

triplexim32

Como é que eu sei que um micro-controlador ATMEL precisa de um cristal e condensadores ou não precisa?

Por exemplo este ATMEGA328P-PU precisa de um cristal e 2 condensadores cerâmicos, eu sei isto porque vi na net, mas não consigo encontrar isso no datasheet: http://www.atmel.com/Images/8161s.pdf

Tem alguma coisa a ver com o nome dos pinos?

----------------

Aproposito se vi que quando se programar com um FTDI ligo às portas RX e TX e com um ISP tenho q ligar às portas MISO MOSI SCK, o que difere mais? Por exemplo se programar com um ISP preciso dos condensadores e do cristal?

---------------

Sobre este IC: http://www.ebay.co.uk/itm/290729231218?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2648 o que preciso de ligar se programar com um ISP?

Editado por triplexim32

<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bubulindo

Antes de mais... acho que tens de entender algumas coisas antes de começares com a programação destes microcontroladores.

O cristal a que te referes é o que faz o controlador andar para a frente. O datasheet desse microcontrolador em específico é este:

http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf

Existe por lá uma parte chamada System Clock and Clock Options (página 26) que te explica as opções para o clock do chip. Normalmente isso escolhe-se com a gravação dos fuses do chip (isso faz-se com um gravador) e permite-te usar diferentes tempos de começo (não muito importante) e diferentes tipos de clock. No caso deste chip em concreto, ele vem com um oscilador (a mesma coisa que um cristal, mas não tão bom) interno de 8MHZ e se ninguém lhe mexeu desde que saiu de fábrica é esse clock que ele vai usar quando o ligares pela primeira vez.

Depois com o gravador, podes alterar os fuses de forma a que ele passe a utilizar um clock externo e então podes lá colocar qualquer cristal com a frequência que desejares. Normalmente coloca-se 16MHZ porque é o máximo que esse chip aguenta (com 5V de alimentação). Os cristais são para melhorar a resposta do cristal e garantir que ele funciona realmente a essa frequência.

Se estiveres a utilizar o cristal externo, perdes funcionalidade de dois pinos onde vais ligar o cristal. Nota que em microcontroladores maiores (tipo o ATmega16 ou 32) isso não acontece e os pinos são reservados para lá ligar um cristal externo. Como este chip é bem mais versátil, o utilizador pode escolher o que quer fazer. Uma aplicação que fiz (e para a qual tenho uma biblioteca para o Arduino) é programar o chip para usar o cristal interno (de 8MHz) e ligar um cristal de 32,768 kHZ (ou algo parecido) nos pinos do cristal para fazer um Real Time Clock. Mas suponho que isso seja um pouco avançado demais de momento.

Isto é uma das questões relativamente ao clock do chip.

Outra coisa que estás a confundir é a gravação do programa. Este chip tem uma funcionalidade que lhe permite gravar o seu próprio programa... e aliado a isso existe a possibilidade de gravar um pequeno programa chamado bootloader na memória do controlador. Este bootloader, o que faz é receber o programa que queremos gravar por um método (SPI, UART, I2C) e depois gravar esse programa na memória interna do microcontrolador. Se um chip tiver um bootloader, apenas precisas de comunicar com ele para passar o programa e ele grava-se a si próprio. Se esse não for o caso e o chip estiver vazio (como o que meteste no link), vais precisar dum gravador externo para passar para lá o programa. Ou seja, vais precisar do que chamam um ICSP (ou ISP) para ligares aos pinos do interface SPI.

Com o bootloader, usas o FTDI... nota que a diferença aqui está no bootloader e não no interface que usas para gravar o programa. O FTDI não funciona se o chip não tiver um bootloader lá dentro.

O cristal deve ser usado se o chip estiver programado para isso. Como disse anteriormente, se o chip estiver programado para usar o cristal externo então precisas de lá o ter para acederes ao chip. Se esse não for o caso, não precisas. Mais uma vez, o cristal não interfere com a forma como queres programar o chip, mas como o chip está configurado para ser usado.

Por último, esse chip que meteste tem um formato nada amigável para usar em casa. Porque pensas usar esse e não um com as patinhas mais longas que são simples de usar?

Em todo o caso, como disse também anteriormente, se ninguém lhe mexeu desde que saiu de fábrica, apenas precisas do ICSP para o programares. Mas aí vais estar a usar o oscilador interno.


include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32
Os cristais são para melhorar a resposta do cristal e garantir que ele funciona realmente a essa frequência.

Não percebi muito bem, quererias dizer "Os cristais são para melhorar a resposta do IC"?

Aproposito, o que acontece se eu meter um cristal com mais Mhz do que o recomendado (o mesmo caso: o que acontece com um menor)

Se estiveres a utilizar o cristal externo, perdes funcionalidade de dois pinos onde vais ligar o cristal.

Ou seja, onde ligar o cristal já não posso usar essas portas para IO ou Analogico caso elas tenham tambem essa funcionalidade.

Real Time Clock

Explica-me por favor um pouco mais do que fizeste com isto e qual a utilidade, fiquei curioso :)

UART, I2C

Funcionam igual ao FTDI certo? Pelo q vi na net tambem teem uma porta TX e RX para comunicação serie.

Com o bootloader, usas o FTDI... nota que a diferença aqui está no bootloader e não no interface que usas para gravar o programa. O FTDI não funciona se o chip não tiver um bootloader lá dentro.

Ou seja: Uso FTDI quando tenho o bootloader instalado no chip. e uso o ISP quando o chip vem vazio de fabrica. Aproposito, gravar com o ISP funciona sempre em qualquer chip (quer tenha ou não tenha bootloader instalado)?

Como disse anteriormente, se o chip estiver programado para usar o cristal externo então precisas de lá o ter para acederes ao chip. Se esse não for o caso, não precisas. Mais uma vez, o cristal não interfere com a forma como queres programar o chip, mas como o chip está configurado para ser usado.

Caso o IC precise do cristal externo, preciso de o colocar na altura que estiver a fazer o flash do IC ou apenas preciso dele para processar informaçao?

Por último, esse chip que meteste tem um formato nada amigável para usar em casa. Porque pensas usar esse e não um com as patinhas mais longas que são simples de usar?

Porque eu queria solda-lo num PCB e preciso de espaço, e porque também é uma coisa nova para usar ^^

Aproposito, tens uma técnica para conectar o programador a isto sem ter q comprar queles slots que custam 30 e tais euros? Estava a pensar em soldar-lhe fios de cabos de rede (visto q são finos e tal) nas portas para depois o ligar ao ISP, tens outras ideia melhor? Sei q existem placas PCB (solda-se á placa) para o efeito, mas depois para remover o IC é um trabalhão tolo.

------------------

Outra questão:

Posso usar o meu USBtinyISP para gravar por exemplo PIC's?

----

Mais uma vez muito obrigado pela ajuda q me tens dado :)


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bubulindo

Não percebi muito bem, quererias dizer "Os cristais são para melhorar a resposta do IC"?

Os condensadores são para melhorar a resposta do cristal. Era isso que eu queria dizer.

Aproposito, o que acontece se eu meter um cristal com mais Mhz do que o recomendado (o mesmo caso: o que acontece com um menor)

Com mais MHz do que o recomendado, podes estragar o chip (não imediatamente, mas pelo desgaste que isso provoca). Com menos MHz, não há problema algum, tens no entanto de alterar os parâmetros do bootloader (se estiveres a usar um) ou das comunicações/PWM etc... já que tudo isso é dependente da frequência do cristal.

Ou seja, onde ligar o cristal já não posso usar essas portas para IO ou Analogico caso elas tenham tambem essa funcionalidade.

Exacto. Estas em questão serviam para digital IO ou para entradas de clock para o Timer 2.

Explica-me por favor um pouco mais do que fizeste com isto e qual a utilidade, fiquei curioso :)

A utilidade é poupar um chip com um RTC (tipo o DS1307), já que esse microcontrolador tem um timer (o numero 2) com a possibilidade de correr como RTC.

Funcionam igual ao FTDI certo? Pelo q vi na net tambem teem uma porta TX e RX para comunicação serie.

O FTDI é um chip que faz a tradução de sinais USB para sinais UART. SPI, I2C, etc... são protocolos de comunicação.

Ou seja: Uso FTDI quando tenho o bootloader instalado no chip. e uso o ISP quando o chip vem vazio de fabrica. A proposito, gravar com o ISP funciona sempre em qualquer chip (quer tenha ou não tenha bootloader instalado)?

Sim. Desde que o chip não esteja estragado.

Caso o IC precise do cristal externo, preciso de o colocar na altura que estiver a fazer o flash do IC ou apenas preciso dele para processar informaçao?

Em ambas as situações.

Porque eu queria solda-lo num PCB e preciso de espaço, e porque também é uma coisa nova para usar ^^

A proposito, tens uma técnica para conectar o programador a isto sem ter q comprar queles slots que custam 30 e tais euros? Estava a pensar em soldar-lhe fios de cabos de rede (visto q são finos e tal) nas portas para depois o ligar ao ISP, tens outras ideia melhor? Sei q existem placas PCB (solda-se á placa) para o efeito, mas depois para remover o IC é um trabalhão tolo.

Qualquer coisa que não seja numa placa PCB é pedir sarilhos. Que slots te referes? Que cabos de rede?

Outra questão:

Posso usar o meu USBtinyISP para gravar por exemplo PIC's?

Não.


include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

Muito obrigado pela ajuda,

Qualquer coisa que não seja numa placa PCB é pedir sarilhos. Que slots te referes? Que cabos de rede?

DHL-Free-Shipping-PLCC32-font-b-PLCC-b-font-32-TO-DIP32-Universal-IC-Chip-font.jpg

Cenas tipo estas, tens tambem outros formatos.

Os cabos de rede eu estava a dizer porq é um fio só e é facil de soldar as patas que preciso (foi uma ideia q tive para conseguir programar o chip fora do local a soldar).

Aproposito, preferes os PIC, ATMEGA ou outros IC e porque?


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bubulindo

Isso chama-se de breakout board.

Não gosto particularmente porque são caras e ocupam imenso espaço numa única breadboard. Para aproveitares a breadboard ao máximo tens de usar duas normalmente. Uma para cada lado do IC.

Eu prefiro ATmega porque estou mais habituado a eles e porque não gosto de maneira nenhuma da filosofia dos PIC. Mas isto é baseado em preferências pessoais e não qualidade.


include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

Só uma questão: Eu preciso de calcular o cristal a usar tendo em conta a voltagem q vou aplicar? Se sim, que calculo se faz?


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bubulindo

Só uma questão: Eu preciso de calcular o cristal a usar tendo em conta a voltagem q vou aplicar? Se sim, que calculo se faz?

Não precisas de calcular. Precisas de garantir que o cristal está dentro do especificado pelo fabricante.

Isso vê-se aqui:

http://www.atmel.com/Images/doc8161.pdf

página 316, Speed grades.

Vês um gráfico. De lá dá para ver que de 4,5 a 5,5V podes usar 20MHz no máximo com este chip.

Com 3,3V a frequência deve andar pelos 10MHz no máximo.

Nota que como nos computadores também é possível fazer overclocking nestes chips, mas eu desaconselho. Existe imensa gente a dizer que é seguro fazê-lo, etc, etc... mas duvido que alguém o faça (sem que seja propositadamente para garantir uma falha do equipamento) em empresas.

Se precisas de mais velocidade, procura outro chip.

Ok, muito obrigado pela ajuda, vou daqui mais sábio : )

Estamos cá para isso... embora esse seja também o papel do teu professor.

Abraço.


include <ai se te avio>

Mãe () {

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
triplexim32

:( pois mas deixa la assim caso alguém precise de ajuda já tem aqui a solução : )

Muito obrigado pela ajuda, forte abraço


<

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.