Eu tenho um design usando um LPC1788 junto com um módulo SDRAM do ISSI ( IS42S32800D ). Esta é uma interface de 32 bits.
Encaminhei esse projeto e tive um protótipo feito com um fabricante de PCBs que faz protótipos de 6 camadas. O protótipo PCB funciona bem. Então, pensei em obter o PCB fabricado em um lote de pequeno volume (100) do meu fornecedor habitual de PCB. Eu dei a eles as informações de empilhamento que meu protótipo usava para garantir que não houvesse problemas.
Contudo! Eu tenho grandes problemas com a placa de produção. No começo, não consegui responder à SDRAM, o que foi, com o mesmo código que usei na placa de protótipo. A placa anterior estava trabalhando em 120Mhz, então eu tinha certeza de que havia algo errado com essa nova placa. Eu encontrei um post em que as pessoas sugeriam o uso do modo repetidor nas linhas de dados SDRAM (eu não havia usado isso anteriormente) e isso gerou uma resposta do SDRAM, no entanto, não é estável. Posso escrever em mais ou menos 16 endereços, mas, com leituras subsequentes, os dados retornados (em todos os endereços) são os dados que eu escrevi por último (provavelmente devido ao Modo Repetidor). Quando desativo o modo repetidor, os dados retornados são 0xFFFFFFF. Agora estou tentando conectar a 48Mhz, a configuração mais baixa para a qual tenho tempo.
Eu estou usando os mesmos resistores de terminação (nas linhas de dados) de 22Ohms em ambas as placas, as linhas de dados têm uma média de 3 cm de comprimento. A linha do relógio tem 2,4 cm de comprimento. As linhas de endereço têm uma média de 3,8 cm de comprimento.
Isso está fora de especificação, devo atrasar o relógio por mais tempo se for substancialmente mais curto? Estou realmente preso aqui, pois não mudei nada sobre o design que esperava obter uma manufatura perfeita para essas placas.
Maximum Data Line Length: 59mm (Although this includes the branch to the NAND Flash)
Minimum Data Line Length (Ctrl to Res): 18mm
Maximum Address Line Length: 44mm
Minimum Address Line Length: 24mm
CLK: 24.5mm
CKE: 25mm
CAS: 28mm
RAS: 28.7mm
Aqui está a configuração da pilha de PCB para o protótipo original (de trabalho):
Aqui está a configuração da pilha de PCBs para os PCBs de produção (que não funcionam)
Aqui está o roteamento para a SDRAM: