LPC2478 KIT

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor rocknroll » 10 Mai 2012 11:26

Acompanhando as dicas do Edsoncan,

gostaria de deixar mais algumas, para caso ainda de tempo de alterar.

- As serigrafias dos componentes são com suas referencias em vários angulos. Hoje o cara teria que dar uma volta 360° na placa para poder ler todos os componentes. Aconselho adotar 2 angulos possiveis, vertial e horizontal.

- As trilhas do Cristal do ARM estão dando muitas voltas e me pareceram estar longe demais de suas terminações. Aconselho aproximar o crital o maximo possivel dos terminais de entrada do ARM.

- Cada pino de alimentação deve ter seu respectivo capacitor de desacoplamento, os quais devem ser posicionados o mais proximo possivel do pino. Nunca leve a alimetançaõ vinda de um pino do processador para outro pino, mesmo que seja do mesmo processador. Você deve forçar para que a trilha passe pelo capacitor e só depois chegue ao pino do processador e morra ali. EX: Se você entrou com a tirlha pelo lado direito no capacitor, saia com ela por outro lado, menos o direito, nunca faça um "T" ou mesmo ligue a trilha no processador sem antes passa-la pelo capacitor.

- Configure os pads para fixação mecanica para No Plated. Ou ligue-os a trilha de GND se for o caso. Distancie as trilhas proximas destes furos, lembre-se que os parafusos tem cabeças as quais, depedendo do aperto, podem danificar as trilhas.

- Estude a possibilidade de dividir as áreas de solda em baixo dos QFN. Hoje está um PAD único, porém nem sempre isso é uma boa. Vc pode deixar a área de cobre no tamanho que está, mas derrepente pode reduzir a área de solda em 4. Outra opção seria adicionar um ou mais furos nesta área para evitar que bolhas do fluxo de solda dificultem a solda do componente. O borbulho do fluxo quente pode tirar o QFN do lugar.

- Verifique se os conectores DB-9 não estão muito para dentro da placa. Acho que dependendo do conector usado no cabo, você poderá ter problemas na conexão macho<>femea. Pode ser que o corpo do conector macho bata no limite da placa.

- Verifique se os resistores R702 E 703 não estão muito próximos do U600.

- Verifique também o alinhamento dos componentes SMD. Lembre-se que em um pick and place quando menor o número de referencias para placement dos componentes, melhor. Seria interessante até colocar pelo menos 2 fiduciais na placa, proximas ao processador.

- Vc comentou que o CON1 é para o LCD. Se for para pluga-lo fora da placa através de um cabo, blz, mas acho que se forma aqueles soldados em placa, que vc pluga em cima da sua placa mãe, talvez tenha problemas de acesso ao conector J3.

- Não sei como estão as trilhas de SPI, I2C, dentre outras de comunicação. Seria interessante reduzir ao máximo essas trilhas (tamanho) assim como em casos de par diferencial, deixa-las o maximo possivel com o mesmo tamanho, para evitar distorções de sinal, principalmente em clocks.

Espero que as dicas ajudem. É sempre bom ouvir as experiencias que cada um tem em seus designs.

Abraço
Rock N Roll
rocknroll
Byte
 
Mensagens: 218
Registrado em: 11 Out 2006 14:19
Localização: Butantã - São Paulo - SP

Mensagempor xultz » 10 Mai 2012 12:09

- As serigrafias dos componentes são com suas referencias em vários angulos. Hoje o cara teria que dar uma volta 360° na placa para poder ler todos os componentes. Aconselho adotar 2 angulos possiveis, vertial e horizontal.

Eu tenho utilizado uma política para designators meio radical. Tem gente que adora, e tem gente odeia com todas as forças: componente SMD que não será montado manualmente, não tem designator na placa. Eu mudo o layer dele pro Mechanical 2 e coloco bem em cima do componente. O motivo é simples: pick n place não lê o silkscreen. Porém, um técnico pode precisar. Aí eu faço uma impressão bem grande da placa, habilitando o Mechanical 2 e colocando como o layer mais alto na pilha. Deixo ele preto e os pads cinza. Com a impressão grande (maior que 1:1), fica confortável do técnico enxergar o que está escrito e se achar na placa. Quem gosta do método, gosta por causa disso. Tem placas que ficam tão densas, que fica um bolo de designators de componentes 0402 no silkscreen e fica difícil adivinhar quem é quem, ou a que componente pertence determinado designator. Em outros casos, o designator fica tão pequeno que é difícil enxergar a olho nu, e um R10 pode ser lido como R18. Os que odeiam é porque precisa de mais um papel na bancada, e às vezes se achar no desenho e na placa pode ser confusa. Meia dúzia de neurônios a mais resolvem isso, mas não achei prá vender.


- Configure os pads para fixação mecanica para No Plated. Ou ligue-os a trilha de GND se for o caso. Distancie as trilhas proximas destes furos, lembre-se que os parafusos tem cabeças as quais, depedendo do aperto, podem danificar as trilhas.

Isso está uma jaca mesmo. Minha regra de polegar: se o parafuso for M3 de fixação, faço o desenho a placa com uma via de 3,5mm de furo com aro de 7mm de diâmetro. É um monstro, mas é garantido que o instalador não vai colocar o parafuso sobre trilhas, ou outros objetos. Se o espaço for crítico, pode reduzir para 6mm de diâmetro, mas nunca jamais sob hipótese alguma menor que isto. Depois que a placa tá prontinha, roteada e tal, eu mudo a via para furo de 3,5mm e aro de 0mm. Quase sempre a ilha fica sem metalização, mas o espaço em torno dela continua garantido.
No canto inferior, é bem provável que a cabeça do parafuso estrague o discreto que tem ali pertinho.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor rocknroll » 10 Mai 2012 13:55

xultz escreveu:
Eu tenho utilizado uma política para designators meio radical. Tem gente que adora, e tem gente odeia com todas as forças: componente SMD que não será montado manualmente, não tem designator na placa. Eu mudo o layer dele pro Mechanical 2 e coloco bem em cima do componente. O motivo é simples: pick n place não lê o silkscreen. Porém, um técnico pode precisar. Aí eu faço uma impressão bem grande da placa, habilitando o Mechanical 2 e colocando como o layer mais alto na pilha. Deixo ele preto e os pads cinza. Com a impressão grande (maior que 1:1), fica confortável do técnico enxergar o que está escrito e se achar na placa. Quem gosta do método, gosta por causa disso. Tem placas que ficam tão densas, que fica um bolo de designators de componentes 0402 no silkscreen e fica difícil adivinhar quem é quem, ou a que componente pertence determinado designator. Em outros casos, o designator fica tão pequeno que é difícil enxergar a olho nu, e um R10 pode ser lido como R18. Os que odeiam é porque precisa de mais um papel na bancada, e às vezes se achar no desenho e na placa pode ser confusa. Meia dúzia de neurônios a mais resolvem isso, mas não achei prá vender.


Em placas de alta densidade eu nem coloco serigrafia... mesmo de componentes. A serigrafia ocupa realmente muito espaço, aumenta a distancia entre componentes e nem sempre isso é possível.

Essa história de fazer tipo um manual com as serigrafias, já fiz algumas vezes também. Teve casos que eu adicionei um pequeno ponto no cobre mesmo, não serigrafia, só para que a pessoa tivesse referencia para usar o manual e encontrar mais fácil o componente.

E ainda se você estiver usando um software tipo altium designer (que é o que mais uso) dá para gerar um Smart PDF que você consegue navegar entre os componentes, que é uma ferramenta muito prática, mas precisa de um PC ou Note do lado... rs

Sobre a parte do parafuso, vc pode inserir um circulo (previsão do tamanho) no layer que você quer rotiar, (criar um circulo no top layer) e software (altium) não deixará que as trilhas invadam o espaço. Para isso basta configurar o circuito com a caracteristica de Keepout.

Abraço
Rock N Roll
rocknroll
Byte
 
Mensagens: 218
Registrado em: 11 Out 2006 14:19
Localização: Butantã - São Paulo - SP

Mensagempor EDSONCAN » 10 Mai 2012 14:48

Sobrou um tempo e estava vendo sua pcb e não tem marcação de fiducial, penso que não ira montar na mão e o seu processador por ser grande e com pads próximos diria que tem chance de quase 100% de ser montado errado sem eles, sem contar o resto dos componentes.

http://microtronix.co.za/pcb_requiremen ... ements.htm

Edson
EDSONCAN
Word
 
Mensagens: 876
Registrado em: 11 Out 2006 14:11

Mensagempor xultz » 10 Mai 2012 15:12

O processador dá prá montar na mão sem stress, aquela memória é um pouco mais chatinha. O que dá nos nervos é soldar aqueles capacitores 0402, mas também não é impossível.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor tcpipchip » 11 Mai 2012 09:54

Bem,,,é uma placa BETA, feito na pressa... que pode custar muito caro para por nao ter atendido os REQUISITOS...
Estamos testando aos poucos todos os periféricos...e pondo o UCLINUX....se tudo funcionar...ai...parte-se para versao oficial...e cria-se um kit para aprendizagem...só nao sei vai vender...senao vira open hardware...
Obrigadao pelas dicas.
TCPIPCHIP
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor fabim » 12 Mai 2012 01:25

Aquela memoria é de 16 bits ?
E tu vai botar o uclinux ? rodando com 16 bits, e em 32mhz ?

Vai ficar um lixo!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor msamsoniuk » 12 Mai 2012 13:24

balela hein! esse chip nao tem cache? (:

fabim escreveu:Aquela memoria é de 16 bits ?
E tu vai botar o uclinux ? rodando com 16 bits, e em 32mhz ?

Vai ficar um lixo!!
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 12 Mai 2012 14:37

Marcelo Samsoniuk escreveu:balela hein! esse chip nao tem cache? (:

fabim escreveu:Aquela memoria é de 16 bits ?
E tu vai botar o uclinux ? rodando com 16 bits, e em 32mhz ?

Vai ficar um lixo!!


Meu, a memória interna é de 68k utilizavel, se me lembro bem.
O Que prova que, o acesso vai ser duas vezes mais lerdo !! Bla Bla Bla...

Cara, eu estou lendo muita coisa por ai...
E sinceramente, barramento de 16 bits, realmente o kernel vai ajustar isso no cache, mais mesmo assim fica uma m**** !!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor msamsoniuk » 13 Mai 2012 00:54

fabim escreveu:
Marcelo Samsoniuk escreveu:balela hein! esse chip nao tem cache? (:

fabim escreveu:Aquela memoria é de 16 bits ?
E tu vai botar o uclinux ? rodando com 16 bits, e em 32mhz ?

Vai ficar um lixo!!


Meu, a memória interna é de 68k utilizavel, se me lembro bem.
O Que prova que, o acesso vai ser duas vezes mais lerdo !! Bla Bla Bla...

Cara, eu estou lendo muita coisa por ai...
E sinceramente, barramento de 16 bits, realmente o kernel vai ajustar isso no cache, mais mesmo assim fica uma m**** !!!


mas perae... o LPC2478 nao tem 8KB de cache? estudos da decada de 80 mostram que isso permite manter o processador operando em zero wait states e 32 bits por 95% do tempo, ou seja, a memoria externa seria utilizada apenas durante 5% do tempo. o resto sao recorrencias de funcoes e loops. entao pq gastar tempo e dinheiro em algo que nao vai ser utilizado? uma memoria com 16 bits operando com metade do clock do core jah eh um desperdicio de 5x em relacao ao que realmente vai ser utilizado.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 13 Mai 2012 13:24

Então sam, eu nãi falei cache !!! Eu falei memoria interna, e ela toda pode e vai ser usada como cache !! Eu disse memoria RAM interna...
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor msamsoniuk » 13 Mai 2012 20:41

opa! memoria interna nao eh cache nao! :)

para ser cache tem q ter circuitos de associatividade, tipicamente associatividade direta entrada a entrada, ou seja, alem de armazenar os 32 bits do endereco, a memoria cache armazena tambem os 32 bits do endereco. a cada acesso, o endereco eh comparado com o endereco armazenado para saber se existe um acerto ou erro. no caso de acerto, vc tem os 32 bits de dados com zero wait states, do contrario vc tem a penalizacao de fazer o processador esperar uma busca a memoria externa. entao memoria interna, se nao tiver circuito de associatividade, para pouco serve. e como o uclinux eh grande demais p/ caber nessa memoria, a tendencia eh que ela acabe nao sendo usada e nao ajude nada.

por sinal, eu dei uma olhada no manual desse LPC2478 e nao vi referencia a caches, apenas a memorias internas: 16KB para buffer de ethernet, 16KB para buffer de USB, 2KB para NVRAM e 64KB para memoria interna.

bom, 16KB para buffer de ethernet nao dah para nada se vc pensar q eh tipico (ao menos nos powerpcs e coldfires) configurar 1000 buffers de 1500 bytes no uclinux. o numero nao eh chutado nao: com uma HDLC de 2Mbps eu cheguei empiricamente a 20 buffers como o minimo necessario para manter o fluxo quando o sistema estava sob trafego. para ir a 10Mbps, seria necessario 100 buffers e para ir a 100Mbps chegamos realmente a 1000 buffers.

mas voltando a cache: se nao tiver cache, vai ficar uma m**** mesmo.

soh que daih nao adianta colocar 32 bits e subir o clock da memoria externa: vai ficar sempre uma m****! :)

e depois ficam me criticando quando eu falo que o ARM eh o novo PIC! hahaha

fabim escreveu:Então sam, eu nãi falei cache !!! Eu falei memoria interna, e ela toda pode e vai ser usada como cache !! Eu disse memoria RAM interna...
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor tcpipchip » 13 Mai 2012 21:47

As vezes eu fico pensando na velocidade da cache para decidir a copia ou nao dos dados/instrucoes para seu interior...utilizando Localidade Temporal e Espacial como regras.
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor fabim » 14 Mai 2012 08:15

Bom pra começar por não possuir uma EMC ja ta uma bosta !!
Não tem nem DSP !!
Não tem cache !!

Cara, eu andei lendo sobre a IMC do 2478, e o hw condiz com o que você informou sobre acertos e erros, externo ou não. Tanto que ele desvia para "handlers que podem tratar o ocorrido" dependendo do tipo do acesso.

Acho que é por este motivo, que... sei lá, não lembro sobre o que eu estava falando mais !? Bhá, só foi afirmado o que eu disse, fica uma bosnia.

Tem um video no youtoba, onde possui dois 2478 um ao lado do outro, um com 32bit o outro com 16, os dois rodando a 72mhz.
Os dois rodando o mesmo demo, de um RTOS!!
O de 16bit da a imprensão que foi feito com pic!!!

Depois um comparativo entre o CM3, e o ARM7, os dois a 32bit.
ARM7 com 72mhz, cm3 com 72mhz.
O CM3 é 3X mais rápido que o ARM7 !!

E agora vi um video com CM4 de 169mhz, com DSP, e CACHE de 16kB, são uns modelos que o Junior ta usando!!
Ele é 3X mais rapido que o CM3, rodando a 120mhz.

Todos os comparativos foram feitos da seguinte forma.
Os dois são alimentados ao mesmo tempo, é dado o boot, inicializado a UI, rodado o DEMO até uma tela final.
Foi cronometrado os dois tempos, ou mais, conforme mencionei, e divinha só!! :)
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor msamsoniuk » 14 Mai 2012 21:16

bom, pelo que vejo ARM eh o novo PIC mesmo! o negocio eh investir em powerpc e fpga hehehe

fabim escreveu:Bom pra começar por não possuir uma EMC ja ta uma bosta !!
Não tem nem DSP !!
Não tem cache !!

Cara, eu andei lendo sobre a IMC do 2478, e o hw condiz com o que você informou sobre acertos e erros, externo ou não. Tanto que ele desvia para "handlers que podem tratar o ocorrido" dependendo do tipo do acesso.

Acho que é por este motivo, que... sei lá, não lembro sobre o que eu estava falando mais !? Bhá, só foi afirmado o que eu disse, fica uma bosnia.

Tem um video no youtoba, onde possui dois 2478 um ao lado do outro, um com 32bit o outro com 16, os dois rodando a 72mhz.
Os dois rodando o mesmo demo, de um RTOS!!
O de 16bit da a imprensão que foi feito com pic!!!

Depois um comparativo entre o CM3, e o ARM7, os dois a 32bit.
ARM7 com 72mhz, cm3 com 72mhz.
O CM3 é 3X mais rápido que o ARM7 !!

E agora vi um video com CM4 de 169mhz, com DSP, e CACHE de 16kB, são uns modelos que o Junior ta usando!!
Ele é 3X mais rapido que o CM3, rodando a 120mhz.

Todos os comparativos foram feitos da seguinte forma.
Os dois são alimentados ao mesmo tempo, é dado o boot, inicializado a UI, rodado o DEMO até uma tela final.
Foi cronometrado os dois tempos, ou mais, conforme mencionei, e divinha só!! :)
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

AnteriorPróximo

Voltar para ARM

Quem está online

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

cron

x