Na década de 1970, a Texas Instruments tinha uma gama de produtos agora descontinuada que eles chamavam de GRAM (e só liam GROM equivalente), que era basicamente um chip de memória padrão com endereço e dados multiplexados em 8 pinos. Você iniciaria uma operação enviando ao chip dois bytes de endereço e, toda vez que pulsasse o pino de leitura ou gravação, ele leria ou gravaria um byte usando o barramento e, em seguida, aumentaria o contador de endereços interno. O resultado foi um chip de memória quase tão rápido (pelo menos para operações de acesso seqüencial) quanto um chip de memória paralela padrão, mas que só precisa de um pacote de 16 pinos, em vez dos pacotes de 28 pinos, além de outras memórias similares do dia. .
Hoje, para aplicativos semelhantes, você provavelmente usaria mais frequentemente a memória serial acessada por SPI - mas o problema é que essas memórias são bastante lentas (a maioria tem uma taxa de transferência máxima de cerca de 20Mbit / s; algumas são executadas tão rápido quanto o dobro disso, mas não encontrei nada mais rápido que isso), enquanto um equivalente moderno dessas peças de TI pode ser muito mais rápido que isso, permitindo facilmente o acesso a 100 + Mbit / s.
Existe alguma coisa que ainda esteja em produção e que se comporte de maneira semelhante aos chips de TI? O mais próximo que posso encontrar hoje são peças personalizadas, por exemplo, o VLSI VS23S010D , que combina um dispositivo de memória que suporta o tipo de interface que estou procurando, juntamente com um driver de vídeo , que coloca a contagem de pinos em até 48 pinos. Idealmente, estou procurando algo em um pacote de 14 ou 16 pinos (acho que 14 é o mínimo realista - potência 2x, dados 8x, relógio, seleção de endereço, leitura de bytes, gravação de bytes).
Respostas:
A solução padrão apropriada é provavelmente o QSPI (também chamado QPI, ou também SQI). É um pouco uma extensão da interface SPI, mas usa quatro bits de dados (quad, daí o Q no acrônimo) (IO0 / IO1 / IO2 / IO3) em vez de um único sinal para cada direção (MISO / MOSI).
Portanto, os chips são muito pequenos (geralmente SO-8) e a interface é muito eficiente: você precisa enviar o endereço para cada comando de leitura ou gravação, mas pode ler vários bytes em burst, quatro bits a cada ciclo de clock. A velocidade máxima do relógio normalmente é de ~ 104 MHz para o flash. Isso pode ser feito ainda mais rápido usando uma sinalização de Dual Data Rate (quatro bits em cada extremidade do relógio, tanto subindo quanto descendo: portanto, oito bits a cada ciclo do relógio - normalmente, os chips flash atingem o máximo de 80 MHz neste modo).
As folhas de dados do chip fornecerão todos os detalhes sobre o significado / uso exato de cada sinal. Para ilustrar, aqui está um diagrama de tempo de comando de leitura (no modo de taxa de dados única e extraído desta folha de dados ):
Aqui, você vê que precisa de 14 ciclos de clock para obter o primeiro byte (a 80 MHz, significa 175ns de tempo de acesso). Mas se você precisar de mais bytes, basta adicionar 2 ciclos por byte (25ns). Portanto, a leitura in burst tornará muito mais rápido do que um chip paralelo flash de 70ns ou mesmo 45ns.
Você pode encontrar facilmente peças flash NOR de vários fabricantes, usando essa interface. Observe que o desempenho (velocidade máxima, contagem de ciclos fictícios) e os recursos (Quad I / O ou apenas suporte a E / S dupla, DDR) variam, portanto verifique a folha de dados.
A RAM é um pouco mais difícil de encontrar, mas ainda está disponível, principalmente do Microchip (por exemplo, 23LC512 ), ON semi (por exemplo, N01S818HA ) e ISSI (por exemplo, IS62WVS2568GBLL-45 ). Eles são mais lentos que o flash, no entanto. Mas o ISSI que sugiro acima ainda sobe para 45MHz (taxa de dados única), aparentemente com um ciclo de leitura mínimo que precisa de 11 relógios para o primeiro byte. Ou, de outra forma: 200ns + 45ns por byte (taxa de transferência de 180Mbit / s), o que não é ruim e excede a velocidade GRAM que você indicou.
Além disso, observe que muitos MCUs avançados (do NXP, ST, ...) suportam essa interface no hardware.
fonte
Estou postando isso como outra resposta, porque é algo totalmente diferente.
Há outra interface, mas menos comum, que também se encaixa bem na sua descrição: HyperBus , projetado por Cypress (é proprietário).
Este usa DDR em velocidades muito mais altas (até 166MHz) e um barramento de 8 bits. Assim, você pode alcançar 2666 Mbit / s (uau!), O que deixa o QSPI muito para trás. Ele também foi projetado para DRAM de densidade mais alta, em vez de SRAM, para que você possa encontrar chips de 8M x 8 (vs 256k x 8 para a ISSI QSPI SRAM mencionada na outra publicação). Ele usa apenas 12 sinais (tensões de alimentação excluídas).
Aqui está um produto HyperRAM da ISSI: IS66WVH8M8ALL . Existem também produtos HyperFlash que você pode encontrar.
Mas estamos em outra categoria de produtos. É mais caro, com menos facilidade de fonte, os chips são geralmente BGA, e a interface é um pouco mais complexa (devido à alta velocidade e DDR). Além disso, menos MCUs suportam isso.
fonte