comparaçãoi PIC ATMEL

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

pic

Mensagempor silverbolt » 18 Mai 2007 23:06

Maurício escreveu:Num fala assim, silver!!

Pow!?!? Tadinho dos piqueiros, ehehehehehehe

[]'s

RETI.


To com uns 30 pç do 16F877 - 20 Mhz.
Vou jogar pela janela heheheh
Quem quiser, aceito troca, de preferencia AVR
Symphony Robotica
gravador usb, icd2 PIC, AVR e ARM.
Distribuidor BASCOM no Brasil.
www.roboticafacil.com.br
Locação de robos para eventos
www.symphony.com.br
Avatar do usuário
silverbolt
Byte
 
Mensagens: 468
Registrado em: 03 Nov 2006 10:17
Localização: Vulcano - SP

Mensagempor RobL » 19 Mai 2007 07:52

Ao migrar para AVR é importante ter em mente que haverá nessecidade de maior atenção na organização do programa devido a disponibilidade do hardware e set de instrução.
Para quem vem de qualquer linha, os 32 registros de trabalho parece pancéia, mas podem virar dor de cabeça se não forem bem organizados.
Para quem vem dos PICs, nada se faz com dados na SRAM a não ser armazenar dados e passará a usar load/storage. Os AVRs são conhecidos como sendo um micro load/storage e é preciso organizar quando manter um work registro exclusivo ou o dado na SRAM.
Outro detalhe que choca inicialmente é o fato de cada conjunto de registros serem tratados por instruções dedicadas. Por exemplo, testar bits nos I/O, usa-se instrução distinta de testar bits nos works registros.
Os primeiros 15 registros trabalho, não aceitam carga direta de constantes ("números"), somente os 16 superiores. Por oturo lado, todas as operações lógicas e aritiméticas são suportadas diretamente sobre os work registros.
A questão é que na época em que os PICs foram desenhados a onda acadêmica era o RISC e um set de instrução perfeitamente ortogonal que atingisse todas os registros do microcontrolador.
Já os AVRs, são da decada de 90, foram centrados na velocidade e um set de insturção mais amplo e para tal, essas manobras foram necessárias.
Posteriormente projetistas notaram que não só de RISC precisa viver o homem e a Motorola lançou na contramão controladores rápidos e eficientes (não RISC), contra a moda.
Cabe observar que tantos os pics como os avrs tem o mesmo princípio são risc baseados em registros.
Normalmente consegue-se com os AVRs uma eficiênica de código muito melhor que nos pics devido a facilidades do set de instrução. Por exemplo mover registros com uma só instrução ( com 1 ciclo), comparação aritmética com uma instrução, cópia de bits com 2 instruções, contra no mínimo 3 com um pic. Mas se esse conjunto de instrução não for bem apreciado, o migrante, poderá estar em um AVR tendo a mesma eficiência de um PIC.

Uma observação importante: Os PICs são um show de inteligência e já entrou para a História.
Ao contrário do que se propaga, programar com seu set de instrução, a fim de ter eficiência, exige muito e excelentes conhecimentos matemáticos do usuário. Observe que todos expert usam (usaram)PICs também, mesmo diante do 8051. Relembrem suas maravilhosas acrobacias matemáticas, com lindos "cortes" no site piclist.

Nota final: Já tivemos mais de uma vez, nosso produto pejorado e desaconcelhado pelo dpto de produtos de empresas, quando o engenheiro de produto toma conhecimento que tal produto era feito com PICs!!! Isso deu uma mão de obra danada. Em todas elas, foi necessário a intervenção pessoal para mostrar que PIC não é usado somente em brinquedos ou para hobistas. Os pics são confiáveis em ambiente ruidosos.
É lamentável que pessoas habilitadas repitam palavras de ordem, na técnica.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor silverbolt » 19 Mai 2007 12:22

RobL escreveu:Nota final: Já tivemos mais de uma vez, nosso produto pejorado e desaconcelhado pelo dpto de produtos de empresas, quando o engenheiro de produto toma conhecimento que tal produto era feito com PICs!!! Isso deu uma mão de obra danada. Em todas elas, foi necessário a intervenção pessoal para mostrar que PIC não é usado somente em brinquedos ou para hobistas. Os pics são confiáveis em ambiente ruidosos.
É lamentável que pessoas habilitadas repitam palavras de ordem, na técnica.


isso que vc. disse sobre ruido é verdade.
O pic lida melhor com isso.
Os AVR são mais sensíveis mesmo.
Já tive diversos problemas em relação a ruídos.
Symphony Robotica
gravador usb, icd2 PIC, AVR e ARM.
Distribuidor BASCOM no Brasil.
www.roboticafacil.com.br
Locação de robos para eventos
www.symphony.com.br
Avatar do usuário
silverbolt
Byte
 
Mensagens: 468
Registrado em: 03 Nov 2006 10:17
Localização: Vulcano - SP

Mensagempor fabim » 21 Mai 2007 10:10

amigos.
Eu estava olhando o data, na parte do clock. me tirem esta duvida.

PIC.
Se clock = 4mhz .. cada instrução são 4 etapas, sendo assim clock 1mhz.

Aí blz.

Agora o ATMEGAXX.
SE enfiar um cristal de 4 mhz o clock de maquina é de 4mhz ?
se for 20 o clock e 20 ?

Hum estranho é isso mesmo ?

Fabim
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor RobL » 21 Mai 2007 15:08

É isso mesmo. Um clock do oscilador 1 ciclo de máquina, ou seja cristal de 20Mhz=> 20MIPS. Esse é o seu maior diferencial.
Mas isso foi possível com certo custo, custo esse perfeitamente contornável, conforme coloquei acima.

Nota: Não me informei suficientemente, mas os novos AVRs de 32 bits (NÃO ARM) está aproveitando a filosofia do core de 8 bits, devido a eficiência apresentada.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor RobL » 21 Mai 2007 15:15

Complementando. Porque alguns micros tem de 4, 8 até 12 clocks para um ciclo de máquina.
Uma das razões, de forma simplificada, é a necessidade de sincronizar intruções com acesso a tipos diferentes de hardware a fim de tornar o set de instrução comum a toda àrea (registros) de um micro. Isto foi abandonado nos AVRs em troca da velocidade. Por esse motivo, por exemplo, não se consegue setar ou testar um bit na SRAM como nos pics e por "tabela" consegue-se escapar da limitação de poder ter somente 256 bytes de SRAM sem banqueamento, etc...
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor fabim » 23 Mai 2007 11:52

bom observando a interface de gravação do ATMEGA32 e 128 que eu comprei e ja chegaram, ele usa um padrão SPI e + 1 pra reset.

Alguem poderia me indicar um software pra gravação de atmega que seja simplizim. abraços

Fabim
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor RobL » 23 Mai 2007 12:05

Fabim se estiver se referindo ao soft para gravação, vai depender do seu hardware.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor fabim » 23 Mai 2007 12:05

MAGUEI. :(........

O ATMEGA8 e o 18Fxxx são bem similares, mas:
ATMEGA8: faz uma instrução por clock, com XTL=16MHZ faz 16MPIS (milhões de instruções por segundo).

18F1340: faz 1 instrução por 4 clock, com XTL=40MHZ faz 10MPIS.

O 18FXXX pode-se fazer uma operação com byte da memória, mas o ATMEGA8 tem uma arquitetura diferente ou seja só se pode operar com 32 registros o resto tudo e memória, exemplo:
Deseja-se somar +1 numa posição da memória RAM, vamos chama-la de POSITION

No ATMEGA:
Supondo que o para indexador Y já esteje posicionado sempre com o inicio da RAM:
LDD R16,Y+POSITION
INC R16
STD Y+POSITON,R16
(GASTA 3 INSTRUÇÕES, 3clocks NO CASO 16MHZ/3 = 5,3MHZ)

OU SEM O INDEXADOR COM O LDS, CADA UM GASTA 2BYTES

LDS R16,POSITION
INC R16
STS R16
(GASTA 5 INSTRUÇÕES, 5clocks)


No PIC18F XXXX
INC POSITION,F ;.....Incrementar POSITION e deixar o resultado lá (GASTA 4 INSTRUÇÕES,4CLOCKS, NO CASO 40MHS/4 = 10MHZ)
OU
INC POSITION,W ;.....mesma coisa só que deixa o resultado em W

COMPARANDO AQUI VEMOS QUE O 18F á 40MHZ é aproximadamente 2 vezes mais rápido que o ATMEGA8 com clock de 16MHZ.
Olha entre o ATMEGA e o PIC18F depende de gosto, porque os resultados são similares.


peguei isso de um site sobre atmel.

bom pelo menos vou aprender coisa nova. é o que vale.

abraços

fabim
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor RobL » 23 Mai 2007 12:28

Se comparar somente essa insturção fica complicado.
O stack dos 18F são limitados a 31 níveis contra toda SRAM dos AVRs. Nun AVRs cabe um Kernel preenptivo. Nos pics 18F também mas muito limitado.
Um programa tem muita operação que passa pelo W register. Sabendo fazer, nos AVRs, toda artmética e lógica são feitas entre os 32 W register. Isto economiza muito MOVF. É incomparável, são produtos que oferecem diferenças notáveis, mas vai depender do que se necessita. Por outro lado não esquecer que o preço dos AVRs são "sempre" (ou quase sempre) bem menores que os 18F.
Ninguém tem dúvida da melhora dos 18F em relação aos 16F, mas a escolha entre AVR e PIC deveria ser técnica não somente por gosto.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor fabim » 24 Mai 2007 14:41

amigos .

Será que alguem pode me informar um software para gravação do Atmega8 , 16 ,32, 128 ?

abraços

fabim
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor RobL » 24 Mai 2007 15:03

Voce quer um soft simples para gravar AVRs? Ou quer indicação do gravador com o software para o hardware do tal gravador?
Veja aqui que tem uns cabos que usar somente resistores e os softs correspondetes.
http://elm-chan.org/works/avrx/report_e.html
Veja os "cabos" abaixo nesta página.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor Maurício » 24 Mai 2007 19:08

fabim.

Pras ferramentas, veja esse tópico:

http://asm51.eng.br/phpBB/viewtopic.php?t=846&start=0

E uma recomendação antes de começar a sair gravando os AVRs, eheheheheh
LEIA todo o material que diz respeito aos fusíveis (fuses).
Se vc programar o fusível errado, vc trava a máquina e dá uma tremenda duma mão-de-obra pra colocar o cara em operação de novo.
O Pony-Prog é um perigo!!!

Um dos erros mais banais de quem está começando com AVR (incrusível foi o que eu fiz :oops: :shock: :lol: ).

[]'s

RETI.
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor rubenprom » 24 Mai 2007 20:02

Olá Fabim e para o pessoal que está começando com o AVR!

Uma recomendação muito importante, primeiro é conhecer as rotinas, os registros, portas que os AVRs usam, poder utilizar as portas I/O, ligando ou desligando ou lendo um sinal, comunicação serial, acionamento de alguns dispotivos externos, ex:LCD, Leitura do AD, utilização dos Timers, WTC, de tudo, ate do RESET. Depois de bem dominado isso, ai sim, pode-se partir estudar os FUSES BITS, e so estes podem se mexer via SOFTWARE, setando eles antes de mandar um arquivo hex, assim que muito cuidado, seja qualquer programa que estejam usando para fazer a gravação do software.

Ruben
rubenprom
Byte
 
Mensagens: 222
Registrado em: 16 Out 2006 00:23
Localização: Porto Alegre - RS

Mensagempor Fandango » 24 Ago 2007 16:45

Olá pessoal,

Bem, sou bem novo no assunto e até agora usei bastante a linha do 8051. Já fiz alguma coisinha com PICs, mas sinceramente... mesmo apanhando um pouco nos AVR (com o tempo a dor passa), creio que não há melhor relação custo-benefício. Muitos periféricos embutidos, custo acessível, programação em C. A única coisa que ainda me incomoda um pouquinho é que a maioria das informações que encontro (quando pocuro algo a respeito no Google) estão em alemão ou sueco ou essas línguas que tem um monte de consoantes juntas.
Fora isso, AVR é show.
Fandango
Byte
 
Mensagens: 187
Registrado em: 11 Jun 2007 22:13
Localização: SC - Brasil

Anterior

Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x