Baixe o app para aproveitar ainda mais
Prévia do material em texto
CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 96 Apostila de Treinamento Experiência 12: Memória RAM Objetivo Montar um circuito com uma memória RAM; Estudar e discutir as principais características deste tipo de circuito. Material utilizado Bastidor LEG2000 Módulo MED40 – Memória RAM Cabos banana Introdução Outro circuito digital de extrema importância, principalmente na construção de circuitos que realizam algum tratamento de informação, utilizando processadores ou microcontroladores, é a memória. Nestes circuitos, a memória é utilizada não só para armazenar os dados a serem processados, e os resultados obtidos, mas também o próprio programa a ser executado pelo processador ou microcontrolador. Desde sua origem, duas famílias de memórias têm coexistido, com características particulares que as fazem adequadas para aplicações diferentes. A primeira família inicia-se com as memórias ROM (Read Only Memory – Memória Apenas de Leitura). Estas memórias, como o nome sugere, apenas podiam ser lidas, uma vez que sua gravação era feita fisicamente durante o processo de fabricação do semicondutor, e não podia ser mais alterada. Esta memória era utilizada principalmente para armazenar o programa a ser executado pelo processador ou microcontrolador, o que conhecemos como firmware. Porém, como podemos imaginar, uma série de limitações permeava seu uso. Primeiro, porque sua fabricação apenas era financeiramente viável em grandes volumes, e envolvia um demorado período de fabricação, o que tornava seu uso impraticável para o desenvolvimento dos programas (que como sabemos, envolvem inúmeras operações de alteração do programa, testes do novo programa e novas alterações). Além disso, a atualização do software de um dispositivo, ou manutenção de uma memória defeituosa, envolvia a troca do dispositivo; uma tarefa que exige algum conhecimento técnico para ser realizada, ou seja, a atualização de firmware que estamos freqüentemente acostumados quando lidamos com celulares, vídeo- Apostila de Treinamento CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 97 games, roteadores e outros dispositivos microprocessados, não era nada simples. Tentando contornar parte dessas limitações, outros dispositivos desta família foram desenvolvidos: PROM (Programmable Read Only Memory): Também conhecidas como memórias OTP (One Time Programmable). Estas memórias vinham apagadas de fábrica, e podiam ser programadas uma única vez, utilizando- se um equipamento chamado de Programador de PROM. Este processo de programação envolvia o uso de tensões elevadas (tipicamente 12Vcc ou 15Vcc), que destruíam fusíveis internos no chip (cada fusível interno representava um bit) fazendo a gravação da informação. Por essa razão estas memórias não podiam ser regravadas. EPROM (Erasable Programmable ROM): Estas memórias possuíam uma pequena janela localizada na parte superior do componente, que permitiam que a pastilha fosse exposta a luz ultravioleta. Essa exposição, geralmente por períodos de 10 ou mais minutos, fazia com que a memória fosse apagada. Após este processo a memória podia ser gravada, também utilizando um equipamento próprio, que envolvia a aplicação de tensões elevadas, e depois a janela desta memória era selada (com uma etiqueta, por exemplo) para evitar apagamentos acidentais com a exposição a luz do dia. Embora estas memórias tenham tornado o desenvolvimento de firmware possível com seu uso, o processo era relativamente lentos, e seqüentes ciclos de apagamento desgastavam a memória. EEPROM ou E2PROM (Electrically Erasable Programmable ROM): Esta memória contém um circuito auxiliar que permite que seu conteúdo seja apagado eletricamente, ou seja, sem a necessidade de luz ultravioleta. As primeiras EEPROMs também necessitavam de tensões elevadas para realizar este apagamento, mas algumas já incluem hoje elevadores de tensão internos, que reproduzem as tensões necessárias a partir da tensão de alimentação. O maior problema deste tipo de circuito é que este circuito auxiliar ocupa espaço significativo na pastilha do chip, o que reduz a densidade, ou seja, o volume de informação que a memória é capaz de armazenar. Além disso, o processo de apagamento é relativamente lento, e geralmente tem de ser realizado byte a byte. Flash EEPROM : Esta memória é bastante similar ao tipo anterior, com exceção de que, para melhorar o aproveitamento da pastilha e reduzir os ciclos de apagamento, foram criados circuitos auxiliares que realizam o CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 98 Apostila de Treinamento apagamento de toda a memória, ou de bancos dessa memória. Assim, enquanto a EEPROM podia ser alterada byte a byte, sem comprometer o resto do conteúdo da memória. A memória flash geralmente permite apagar apenas seu conteúdo todo, ou bancos (grandes agrupamentos de dados); em compensação como menos circuitos auxiliares são necessários, consegue-se densidades muito maiores (memórias NAND Flash atuais chegam a 32GB), e como o ciclo de apagamento é realizado uma única vez para um grande volume de dados, o processo de programação é mais rápido. A outra família de memórias corresponde as RAMs (Random Access Memories – Memórias de Acesso Randômico). Elas recebem este nome porque permitem que qualquer byte em seu interior seja acessado, ao contrário das memórias seqüenciais (como fitas DAT) em que para acessar o fim da memória, temos de percorrer todo seu início. De qualquer forma este nome não as distingue bem da família anterior, pois, a vasta maioria das memórias ROM, também permitia acesso randômico. A principal característica das memórias RAM, que as diferenciam das memórias ROM, é a volatilidade. A memória RAM geralmente é capaz de reter a informação gravada enquanto ela estiver alimentada, após desligada, a informação é perdida. Também houve abordagens construtivas diferentes na família de memórias RAM: DRAM (Dynamic RAM): Este é um dos tipos mais simples de memória RAM, onde cada bit consiste basicamente em um capacitor e um transistor, sendo que a carga do capacitor determina seu nível lógico. Graças essa simplicidade esta memória não só é muito rápida, como também permite a construção de chips com elevada densidade, sendo muito empregadas em computadores, para a armazenagem de programas em execução e dados sendo tratados. Porém, como o capacitor eventualmente perde sua carga após algum tempo, é necessário fazer refresh da memória constantemente, isto é, recarregar os capacitores que devem estar carregados. Por essa razão estas memórias recebem o nome de RAM dinâmica. Em geral as memórias já possuem internamente um circuito adequado para realizar esta recarga, a partir de um sinal temporizado gerado pelo processador. SRAM (Static RAM): Este é o tipo mais convencional de memória RAM. Cada bit da memória consiste em um flip-flop D, e por essa razão seu estado não é mantido na ausência de alimentação, embora a denominação Static possa dar esta impressão. Na realidade, essa denominação vem do fato de que esta memória não necessita de ciclo de refresh para manter seu conteúdo. Porém, como cada bit é construtivamente mais complexo do que Apostila de Treinamento CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 99 na memória DRAM, as densidades conseguidas com este tipo de memória são menores. NVSRAM (Non-Volatile Static RAM): Consistem basicamente de memórias SRAM com uma bateria integrada, que mantém o conteúdo da memória na ausência de alimentação. Independentemente do tipo, toda memória randômica apresenta 3 tiposde barramento: endereço, dados, e controle; conforme mostrado na figura a seguir. O barramento de dados, em memórias que podem ser gravadas, é bidirecional, sendo que sinais de controle apropriados determinam se a memória deve fornecer o dado no barramento, ou deve gravar o dado presente neste barramento em seu interior. Este barramento pode ter tamanhos diferentes, sendo que os tamanhos mais freqüentes são de 1, 8, 16 ou 32 bits. O barramento de endereços, como o nome sugere, indica qual área da memória está sendo acessada. O seu tamanho é função da capacidade da memória, por exemplo, uma memória de 32K x 8 (32 kilobytes) deverá ter 15 bits de endereços, pois 215=32768, ou 32KB. O barramento de controle determina que operações devem ser realizadas, em geral neste barramento encontramos os sinais ̅̅̅̅ (Chip Select, que em zero habilita o chip), ̅̅ ̅̅ (Output Enable, também pode ser indicado como ̅̅ ̅̅ - Read, em 0 este sinal determina que a memória deve fornecer dados ao barramento de dados, e não o contrário) e ̅̅ ̅̅ ̅ (Write, em zero determina que a memória deve armazenar o dado existente no barramento). A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 D0 D1 D2 D3 D4 D5 D6 D7 CS OE WR Memória 32K x 8 Ba rra m en to E nd er eç os Ba rra m en to D ad os Ba rra m en to C on tro le CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 100 Apostila de Treinamento Procedimento Nesta experiência iremos utilizar um circuito digital contendo uma memória RAM, para armazenar dados que serão inseridos através de geradores de níveis lógicos. Exemplo de aplicação: As memórias RAM são dispositivos extremamente comuns em circuitos digitais que realizam algum tipo de tratamento de informação, sendo periféricos importantes para microprocessadores e microcontroladores, tanto que muitos destes dispositivos possuem integrados em sua pastilha uma porção de memória RAM, para armazenamento rápido dos dados sendo tratados. 1. Inicialmente, utilizando cabos banana de tamanho apropriado, realize as ligações no bastidor do conjunto didático conforme mostrado na figura a seguir: Nota: Para sua maior segurança, realize estas ligações com o conjunto didático desligado. 2. Note que, como dispomos de apenas 8 geradores de níveis lógicos, ligamos 4 deles aos bits menos significativos do barramento de endereços e, os outros 4, aos bits menos significativos do barramento de dados. Nessa configuração quais intervalos de endereços poderão ser acessados, e quais dados poderão ser armazenados? Apostila de Treinamento CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 101 3. Para realizarmos a gravação de um dado na memória, devemos seguir o seguinte procedimento (na sequencia indicada): Mantemos o sinal OE em nível alto; Escolhemos o endereço a ser gravado; Definimos o dado que será gravado; Colocamos o sinal CS em nível baixo; Colocamos o sinal WR em nível baixo; Retornamos CS e WR para nível alto. A figura a seguir exibe o trem de pulsos de um ciclo de gravação: Fonte: Datasheet 62256 – Samsung Electronics Note que pelo diagrama acima, o dado deve permanecer válido durante as bordas de subida de WR e CS, de qualquer forma, para evitarmos erros de gravação, manteremos o dado estático durante todo o ciclo de gravação (que se inicia com CS transitando para 0, e termina com CS e WR retornando a nível 1). CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 102 Apostila de Treinamento 4. Agora que sabemos como gravar um dado, vamos preencher seus endereços 0-F com valores de nossa escolha. Registre na tabela abaixo, na coluna “Dado Gravado”, os valores gravados em cada endereço para referência nos passos seguintes: Endereço Dado Gravado Dado Lido Binário Decimal Binário Decimal Binário Decimal 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 10 1011 11 1100 12 1101 13 1110 14 1111 15 Apostila de Treinamento CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 103 5. Para que sejamos capazes de ler os dados gravados, temos de ligar o barramento de dados aos indicadores de nível lógico como mostrado a seguir: É importante que as ligações sejam feitas com o painel ligado (para que a memória não perca o conteúdo), e antes de realiza-las certifique-se que CS e WR estão em nível alto, para evitar gravações acidentais. 6. O procedimento de leitura é bastante simples, para lermos um dado basta seguir os seguintes passos: Mantemos o sinal WR em nível alto; Mantemos CS e OE em nível baixo; Escolhemos o endereço a ser lido. OBS: Enquanto CS e OE estiverem em nível alto, o dado estará disponível no barramento, por isso é importante ter cuidado para não inserir níveis lógicos quando o barramento está operando como saída. A figura a seguir exibe o trem de pulsos de um ciclo de gravação: Fonte: Datasheet 62256 – Samsung Electronics CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 104 Apostila de Treinamento 7. Siga o procedimento de leitura apresentado no item anterior e realize a leitura de todos os endereços previamente gravados, preenchendo a tabela do item 4. Os valores lidos correspondem aos valores gravados? 8. Agora desligue o bastidor e o mantenha desligado por alguns segundos. Em seguida repita a leitura de cada um dos endereços. Os valores continuam preservados? Explique o por que. 9. Com base nas observações do item anterior, tem explicar por que a memória RAM é tão utilizada apesar da volatilidade? Não seria melhor empregar memórias Flash EPROM ou E2PROM em seu lugar? Apostila de Treinamento CONJUNTO DIDÁTICO DE ELETRÔNICA DIGITAL 105
Compartilhar