Armazenar informações: eis uma necessidade que não é característica somente dos microcomputadores e outros dispositivos diretamente ligados à informática. Aparelhos de uso doméstico, recreativo e industrial também precisam armazenar informações em determinados casos, e isso é possível através das memórias. Neste artigo descrevemos o funcionamento dos diversos tipos de memórias com os quais podemos contar para projetos de eletrônica.
Obs. O artigo é de 1986, havendo técnicas mais modernas de armazenamento de informações, mas vale como introdução ao assunto.
Termos como RAM, ROM, PROM, EPROM, EAPROM, EAROM são muito familiares aos leitores mais ligados à informática e seus projetos.
No entanto, como dissemos na apresentação deste artigo, a necessidade de armazenamento de informações em grande quantidade (e mesmo pequena) não é limitada aos computadores de todos os tipos.
Assim, o envolvimento de dispositivos capazes de armazenar informações em projetos de eletrônica industrial, doméstica e mesmo recreativa é hoje uma realidade que deve levar o técnico a pensar seriamente no seu estudo e no seu conhecimento mais profundo se quiser aproveitar todas as suas potencialidades.
Neste artigo pretendemos abordar de forma direta e simples os principais tipos de memórias, analisando seu funcionamento e dando como exemplo aquelas que mais facilmente podemos encontrar no mercado especializado.
O que é uma memória
E um armazenador de informações, eis a definição pura e simples de memória.
No entanto, os leitores devem saber, que as informações a que nos referimos estão presentes nos circuitos eletrônicos de uma forma muito especial.
As informações aparecem na forma de dados binários, onde "1" e ”0" são dados por níveis de tensão.
O que uma memória faz portanto, é armazenar estes níveis de tensão em células especiais, cuja quantidade pode variar entre algumas unidades até dezenas de milhões ou bilhões delas.
Se tomarmos como base para nosso estudo um microcomputador ou microcontrolador, vemos que este dispositivo já possui em sua estrutura pelo menos dois tipos de memória. (figura 1)
De fato, quando ligamos um microcomputador ele deve imediatamente saber o que fazer, isto é, deve ter a nossa disposição algum tipo de memória em que está gravado tudo que o computador sabe fazer, como por exemplo os códigos de operação, as ordem para que ele imediatamente “se coloque" a nossa disposição etc.
Este tipo de memória é, portanto, permanente, não sendo influída pelo fato de ligarmos e desligarmos o aparelho.
Ao lado deste tipo de memória existem aquelas que funcionam somente enquanto estamos usando o equipamento em que ela se encontra, ou seja, que armazenam os dados referentes àquelas operações que naquele instante estamos usando.
Estas memórias são “apagadas." tão logo o microcomputador seja desligado.
Podemos então fazer uma classificação global das memórias em dois grupos: permanentes e transitórias.
Mas, mesmo as memórias consideradas permanentes não são tão permanentes assim.
Se não pudermos apagá-la pelo próprio aparelho uma vez desligado, existem diversos processos segundo os quais podemos mudar a sua programação, apagando-a e colocando uma nova sequência de informações. (figura 2)
A facilidade com que uma memória pode ser reaproveitada é muito importante num projeto, pois existem aplicações em que um “programa", em que é dada uma sequência de operações a serem feitas, pode sofrer modificações.
Vejamos então quais são os tipos de memórias com que podemos contar para nossos projetos:
As ROM (Read Only Memory) e RAM (Random Acess Memory)
A finalidade da RAM (Memória de acesso aleatória) é armazenar informações somente enquanto o dispositivo em que ela trabalha estiver ligado, um microcomputador, por exemplo.
Num microcomputador, microcontrolador ou outro dispositivo, quando digitamos um programa, ele precisa ficar armazenado em algum lugar antes de ser colocado em execução.
Este lugar é justamente uma RAM.
À medida que o programa vai "rodando", o circuito de processamento vai retirando da RAM as informações que ele precisa para isso.
Quando desligamos o equipamento ou apertamos a instrução NEW, o conteúdo da RAM é apagado. (figura 3).
Dizemos que a RAM é uma memória "volátil” que só pode ser usada pelo intervalo de tempo durante o qual o programa é executado.
Na figura 4 damos um exemplo de circuito de “banco de memória" usando duas 2114.
Este banco armazena 1k bytes, ou seja, 1024 unidades de informação.
Nas memórias RAM, as informações são armazenadas em células cuja operação depende da tensão de alimentação externa.
Quando a alimentação é desligada, a informação perde-se ou “volatiliza-se".
Por outro lado, nas memórias ROM (Read Only Memory) ou memória exclusiva de leitura, a informação já vem gravada, pronta para ser usada, não podendo ser alterada.
Estas memórias têm a informação colocada no próprio processo de fabricação.
E numa memória deste tipo que armazenamos as instruções de funcionamento de um microcomputador – como, por exemplo, o reconhecimento da linguagem á ser usada, o procedimento de iniciação - quando o ligamos ele deve se colocar em condição de receber as nossas instruções.
A programação de uma ROM é feita pelo fabricante através de uma máscara que é colocada sobre o chip de modo a registrar nas células disponíveis as informações desejadas.
A fabricação de uma única memória deste tipo seria antieconômica, mas a produção em massa de unidades com pro9ramas de grande utilidade reduz o preço unitário.
Um exemplo de memória deste tipo é a que contém programas monitores para microcomputadores, com capacidade de 1 a 8 quilo-bytes (Hoje muito mais)
A unidade de informação é o bit, ou 0 ou 1.
O byte é um conjunto de bits, do mesmo modo que a unidade é a letra (bit) que pode levar a palavra (byte).
Assim, 0001 0111 é um byte (8 bits). Meio byte como 0110 é um “nibble”.
Exemplos práticos de memória é dado na figura 5.
Uma matriz de diodo forma uma ROM. Dependendo da disposição dos diodos colocados na placa temos uma informação permanente à disposição.
Já uma RAM seria formada por flip-flops que armazenariam a informação desejada apenas enquanto houvesse alimentação no circuito.
PROMs, EPROMs, EAROMs etc.
Numa aplicação industrial ou recreativa a probabilidade do montador encontrar uma memória pronta que já tenha exatamente o programa ou informações que ele precisa é remota.
É para estes casos podem ser necessárias memórias “não voláteis" que mantenham indefinidamente a programação, mesmo quando o dispositivo tenha sua alimentação desligada.
Como fazer uma "ROM" especialmente para esta finalidade não é possível, principalmente se a quantidade de informações armazenadas deve ser grande, a solução está no uso de outros tipos de memórias.
O primeiro tipo a ser analisado é a PROM (Programmable Read Only Memory).
Neste tipo de memória cada célula que deve armazenar um bit de informação, é como um pequeno fusível que pode ser rompido com uma tensão da ordem de 25 volts.
Um fusível bom significa um “1" e um fusível rompido um Pegando bit por bit da informação a ser gravada podemos transferi-a para a memória, mas isso deve ser feito com o máximo de cuidado. (figura 6)
Podemos converter um “1" num “0" rompendo o fusível, mas não podemos restaurá-lo transformando um “0" num “1”.
Isso quer dizer que, se errarmos no programa “gravando" um 0 onde seria um 1, este erro não pode ser corrigido.
Um exemplo de PROM é a 3624 (Intel) que pode armazenar 512 bytes, ou seja, é uma memória de 0,5 k.
Muito mais populares que as PROMs são as EPROMs (Erasable Programmable Read Only Memory).
Como o nome sugere, estas memórias podem ser “apagadas" por um processo especial e que, portanto, pode ser tanto corrigidas como totalmente recuperadas para a gravação de outros programas quando o existente não mais interessar.
O tipo mais comum de EPROM é a que apaga quando exposta por certo tempo à radiação ultravioleta que pode ser conseguida com facilidade através de lâmpadas especiais.
Estas memórias, conforme mostra a figura 7, possuem uma janela de quartzo (transparente às radiações ultravioletas) por onde pode ser aplicada a radiação de apagamento.
Mostramos na figura 7 a memória 2716 com sua pinagem. Esta memória pode armazenar 2048 bytes, ou seja, é uma memória de 2 k.
Na figura 8 mostramos a estrutura interna de uma célula de memória deste tipo.
Conforme podemos ver, trata-se de uma porta MOS-FET do tipo N, cujas características podem ser modificadas através de um processo externo.
Quando a memória é fabricada, não há carga elétrica na comporta (gate), o que significa que todas as células estão em zero (0).
Na programação, uma alta tensão em torno de 25 V é aplicada à comporta de controle, de tal modo que portadores de carga conseguem adquirir energia suficiente para cruzar a camada isolante e atingir a camada que corresponde à comporta do transistor.
Uma vez com esta carga, a célula passa a manifestar o estado 1 e pode assim permanecer durante anos.
Para remover a carga acumulada na comporta do transistor e portanto “apagar" a memória devemos expô-la à radiação ultravioleta.
Veja que este tipo de memória ainda não pode ser considerado ideal para muitas aplicações.
Imagine, por exemplo, a dificuldade que teríamos para tentar apagar somente uma célula ou um grupo de células desta memória
O chip tem apenas alguns milímetros de dimensões e contém milhares de células que são praticamente invisíveis a olho nu!
Como aplicar a radiação somente na região desejada?
As EPROMs só podem ser apagadas totalmente.
Além das EPROMs temos as EAROMs que podem ter seu nome traduzido como Memórias Programáveis Apagáveis Eletricamente, o que significa que elas podem ser apagadas (e corrigidas!) por meios elétricos.
As EAROMs ou ROMs alteráveis eletricamente podem ser programadas, e também, apagadas eletricamente e muito mais, pois podemos ter acesso somente às células que nos interessam para uma eventual correção sem alterar o restante do conteúdo.
Um exemplo de EAROM é a ER3400 da Gl (General Instrument) que ainda é de custo relativamente alto, mas que tende a tornar-se acessível no futuro, podendo até vir a ser substituta natural das atuais EPROMs.
Neste tipo de memória utiliza-se uma tensão de +5 V para a leitura e tensões entre -12 e -30 V para a programação.
Conclusão
A escolha de uma memória para uma aplicação deve estar condicionada aos seguintes fatos:
A memória deve permanecer ou não com a informação depois que o aparelho é desligado?
Qual deve ser a capacidade desta memória?
A memória precisa ser alterada eventualmente, com sua programação modificada?
Em função das respostas dadas é que o projetista deve consultar os manuais na busca dos tipos que melhor se aplicam ao seu projeto.