[GERAL] duvida sobre os tipos de memoria interna

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor rcakto » 11 Set 2010 01:42

opa alguem acordado ainda XD... mas tipo... eu realmente nao quero fazer um computador, so quero que ele atue sozinho... so ir adcionando mais tralhas nas i2c e afins e configurar tudo pelo lcd, tinha ate visto uns lcds bacanas da sharp so que a tela e vga entao nao deve roda com o modulo lcd que vinha no lpc2478.... e outra, a placa que eu vou usar com a protoboard e igual a essa

Imagem

so que no lugar do teclado, video e paralela so vai ter a serial para gravar e o dip para desacoplar os pinos usados para poder usar na protoboard, mais nada... assim posso gravar o codigo e usar livremente o chip
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor polesapart » 11 Set 2010 02:02

A maioria dos LCDs que brinquei (não foram muitos, infelizmente) ou tinham uma interface paralela padrão TFT (geralmente é só ligar pino a pino no µC, as vezes precisa de um buffer pra fazer conversão de tensões), ou então o lcd usava LVDS (dele saiam alguns pares trançados, mas eles iam ligados a um pequeno conversor TFT, então dava na mesma).

Eu postei aqui no forum há coisa de ... ano ou mais atrás .. um esquemático de um modulador de sinais vga, compatível com TFT. "Emprestei" de um produto e um amigo bolou um esquema legal: colocou um buffer desses que tem modo tristate entre o barramento TFT, montou o circuitinho do outro lado do buffer, mas tbm um conector (uma barra de pinos fêmea simples) direto no TFT. Aí por software vc controla se quer habilitar a saída vga ou usar direto o LCD :-) Mas vga tá tão em desuso que não sei se compensa hehe


Boa sorte e parabéns pelo empenho, começa simples que é pra não desanimar, e vai matando a complexidade aos poucos :P Analise bem as opções antes de partir pro hardware, do jeito que o papo tá indo acho que vc vai acabar abraçando um arm9 ou algo do gênero ehhehe :D
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor rcakto » 11 Set 2010 02:13

blz, entao aquele lcd nao vale a pena... so e bonito mas a comunicação dexa ele de fora, visto que quero projetar um produto final onde eu possa fazer melhorias futuras... to quase fazendo como eu fiz com pic: usar modulos... uma unica placa para rs232, outra para CAN, outra para ethernet, outra para i2s, outra para memoria, outra...outra...outra...outra... assim nao terei problema para melhorias...

entao o plano e o seguinte:
1-escolher o chip certo para nao gastar dinheiro atoa;
2-achar alguem para desenvolver a placa base com o chip, fonte, gravador e saida dos pinos;
3-fabricar ao menor custo possivel pois e so uma protoboard;
4-aprender a programar cada função nela;
5-apos saber como trabalhar com cada periferico, colocar em pratica o meu projeto;
6-comprar os componentes para o meu projeto de acordo com o que estiver saindo pronto;

por isso que eu to martelando tanto na escolha do chip... se eu precisar comprar fora to ferrado pq so terei uma unica oportunidade de convencer minha tia de deixar usar o cartao dela... nao tenho cartao internacional....
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor Viktor » 11 Set 2010 10:49

xultz escreveu:Marcelo, os LPC2XXX são Von Neumann, RAM, Flash e registradores estão todos num baramento único de 32 bits.


Exato. Cortex é Harvard. Alé disso são poucos que tem cache, portanto não é o cache que trata do mecanismo de acesso. Quando há acesso a dados o pipeline é "stallado" para que o "bridge"possa fazer o acesso.
Viktor
Byte
 
Mensagens: 281
Registrado em: 12 Out 2006 11:33

Mensagempor polesapart » 11 Set 2010 11:04

Esta descrição não é muito precisa. Se ele sempre tivesse que parar o pipeline pra fazer fetch, não seria um pipeline, não é mesmo? :D

A única condição em que os ARMs limpam o pipeline são em branches. No CM3 existe um branch speculator pra estatisticamente minimizar o impacto, tem outros mecanismos anti-stall como um write-buffer.
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor rcakto » 11 Set 2010 11:09

aloooo, gente eu to aqui... falem igual para leigos... qual a diferenca do arm7 e o cortex em relação ao pipeline??
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor polesapart » 11 Set 2010 11:23

rcakto escreveu:aloooo, gente eu to aqui... falem igual para leigos... qual a diferenca do arm7 e o cortex em relação ao pipeline??


As maiores diferenças entre eles nem estão nos pipelines, já que ambos tem 3 estágios. A maior diferença neste ponto é que o CM3 tem um branch speculator, que é um mecanismo que tenta ajustar a leitura de instruções da memória em antecipação a um branch, minimizando o custo (em número de instruções) necessário pra fazer um salto. Isto é facilitado pelo fato do CM3 possuir arquitetura harvard, portanto tem um barramento só pra acessar instruções, ele pode por um pouco mais de "pressão" neste barramento sem entrar em contenção com o tráfego no barramento de dados.

O assunto é vasto, procure na internet por comparações entre os dois, além disto o set de instruções é diferenciado, a função de multiplicação de inteiros de 32 bits do cm3 roda em 1 ciclo de clock (a do arm7tdmi tem número variável de clocks conforme os valores dos inteiros, vai de 3 a 5 ciclos se a memória não me falha) e instrução de divisão por hardware (é lenta, mas uma implementação genérica rápida por software ocupa muito código, as vezes é melhor ter um quebra galho pequeno do que um canhão pra matar mosca), dentre outros detalhezinhos, com destaque ao controlador de interrupções do cm3 que permite interrupções determinísticas...

Ñ posso entrar em detalhes pq preciso fazer o almoço, vou ter visitas! :P ehhehehe abraços!


p.s.: tudo o q eu possa ter dito sobre performance neste e no post anterior presumem memórias TCM (no barramento local da cpu, e nao atrás de um barramento de uso geral) e com 0 wait-state de acesso.
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor msamsoniuk » 11 Set 2010 14:26

que lixo hein! :)

Viktor escreveu:
xultz escreveu:Marcelo, os LPC2XXX são Von Neumann, RAM, Flash e registradores estão todos num baramento único de 32 bits.


Exato. Cortex é Harvard. Alé disso são poucos que tem cache, portanto não é o cache que trata do mecanismo de acesso. Quando há acesso a dados o pipeline é "stallado" para que o "bridge"possa fazer o acesso.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor rcakto » 11 Set 2010 14:55

agora sim eu estou comecando a entender.... visto dessa forma, posso até aplicar ao meu projeto, pois se o custo não for problema, é uma OTIMA ideia trabalhar com 2 CPUs, uma para periferico onde nao tenha problema estar sem memoria, pois seu codigo sera pequeno e somente para buscar informações e talvez enviar, ja uma outra cpu ira tratar todas as informacoes e elas irao se comunicar entre si
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor polesapart » 11 Set 2010 15:43

Marcelo Samsoniuk escreveu:que lixo hein! :)


Pô, se fosse exatamente assim como deu a entender o colega, perderia pro feio pra um PIC com metade do clock, ñ é o caso né hehehehe :P
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor polesapart » 11 Set 2010 15:44

rcakto escreveu:agora sim eu estou comecando a entender.... visto dessa forma, posso até aplicar ao meu projeto, pois se o custo não for problema, é uma OTIMA ideia trabalhar com 2 CPUs, uma para periferico onde nao tenha problema estar sem memoria, pois seu codigo sera pequeno e somente para buscar informações e talvez enviar, ja uma outra cpu ira tratar todas as informacoes e elas irao se comunicar entre si


Bom, eu não quis sugerir isso, eu tava comparando as cpus entre si, não pensando em ligá-las... Se eu fosse fazer um sistema com mais de uma CPU, procuraria usar da mesma família, a menos que tivesse uma razão externa muito forte pra fazer diferente.

Mas já que estamos no assunto, procura se tem algum cortex-m3 com bastante periféricos, eu não conheço nenhum. Os que vi tem poucos pinos comparados com o 2478, e periféricos feijão-com-arroz ehhehe, mas posso estar desinformado...
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor Djalma Toledo Rodrigues » 11 Set 2010 15:50

Uma sugestão recakto

Em um projeto expecifique os parametros necessários e
não avance alem disso

Se aparecem "maravilhas" de idéias, componentes, etc. ficam para o próximo projeto.

Se não vc se perde, perde o foco.

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor rcakto » 11 Set 2010 15:55

tipow a ideia de usar 2 chips e pq ninguem ta encontrando um igual o 2478 so que sem bugera, mas nem fu eu iria fazer isso de cara,

mas Djalma da um exemplo do que voce quer dizer, pois nao entendi aonde voce quer chegar
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

Mensagempor polesapart » 11 Set 2010 15:56

Djalma Toledo Rodrigues escreveu:Se aparecem "maravilhas" de idéias, componentes, etc. ficam para o próximo projeto.

Se não vc se perde, perde o foco.

DJ



Pois é, é preciso chegar a uma definição e persegui-la, senão vc fica sempre na reengenharia antes da engenharia. Mas é consenso entre qualquer pessoa que já perdeu noites de sono refazendo coisas, de que é preferível pensar alternativas antes de começar a por a mão na massa prematuramente, e a meu ver, é exatamente isto que ele tá fazendo, embora não sei se ele já tenha noção do tamanho do problema em que ele tá querendo se meter ehhehe, teriam jeitos + simples de atacar o problema :P
Warning: time of day goes back (-163479us), taking countermeasures. :)
Avatar do usuário
polesapart
Byte
 
Mensagens: 477
Registrado em: 19 Nov 2007 12:56
Localização: Curitiba

Mensagempor rcakto » 11 Set 2010 16:02

tipo a parte de programação eu sei que isso vai levar boas semanas varado para poder criar todo o codigo do meu projeto, MAS antes disso eu ja passeis bons meses aprendendo a programar o chip...

por isso a ordem:

1-escolher o chip certo para nao gastar dinheiro atoa;
2-achar alguem para desenvolver a placa base com o chip, fonte, gravador e saida dos pinos;
3-fabricar ao menor custo possivel pois e so uma protoboard;
4-aprender a programar cada função nela;
5-apos saber como trabalhar com cada periferico, colocar em pratica o meu projeto;
6-comprar os componentes para o meu projeto de acordo com o que estiver saindo pronto;


primeiro tenho que ver o chip que irei usar, DEPOIS eu parto para criar meu pequeno monstro e tentar dominar o mundo... zuera
(parado por culpa da faculdade...)Osciloscopio opensource... entre e participe:
http://asm51.eng.br/phpBB/viewtopic.php?t=10710
rcakto
Word
 
Mensagens: 787
Registrado em: 09 Jun 2010 00:57
Localização: vitoria ES

AnteriorPróximo

Voltar para ARM

Quem está online

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

cron

x