Menu English Ukrainian Russo Início

Biblioteca técnica gratuita para amadores e profissionais Biblioteca técnica gratuita


ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA
Biblioteca gratuita / Esquemas de dispositivos radioeletrônicos e elétricos

Programação de chips de memória FLASH. Enciclopédia de rádio eletrônica e engenharia elétrica

Biblioteca técnica gratuita

Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores

Comentários do artigo Comentários do artigo

Microcircuitos de memória permanente reprogramáveis ​​com apagamento elétrico de dados, feitos com a tecnologia FLASH, ocuparam uma posição forte na tecnologia eletrônica e de computadores, substituindo outros tipos de dispositivos de armazenamento não voláteis. Sua principal vantagem é a possibilidade de reprogramar "no sistema" sem dessoldar o microcircuito da placa de circuito impresso ou removê-lo do painel. Um grande número permitido de ciclos de reprogramação torna possível construir "discos FLASH" com um volume de dezenas de megabytes em tais microcircuitos, que diferem das unidades convencionais de disco rígido ou disquete pela completa ausência de partes móveis. Como resultado, eles são duráveis ​​e capazes de operar em ambientes de alta vibração, como veículos e outros objetos em movimento. O artigo publicado é dedicado à programação de chips de memória FLASH.

Os chips de memória FLASH diferem de outros tipos de ROMs pela presença de um "programador" embutido diretamente no chip - uma máquina de apagar e escrever (AC3). Elimina a necessidade no processo de programação de aplicar maior tensão nas saídas do microcircuito, para formar determinadas sequências de pulsos. O AC3 faz tudo isso de forma independente e imperceptível para o usuário, que só precisa informar o endereço do celular e o código que deve ser escrito nele usando o comando apropriado, e aguardar a conclusão da operação. Em muitos casos, uma operação demorada (como apagar um bloco de dados) pode ser pausada, ler as informações desejadas de outra área da memória e continuar.

Hoje, muitas empresas (as mais famosas são Intel, AMD, Atmel, Winbond) produzem uma ampla gama de chips de memória FLASH de até 4 MB. Sua interface externa é paralela ou serial. Os chips com interface serial destinam-se principalmente ao armazenamento de pequenas quantidades de dados em dispositivos pequenos ou especializados, por exemplo, para armazenar configurações fixas para um receptor de rádio ou um programa para operar um eletrodoméstico.

A seguir, falaremos sobre os microcircuitos FLASH "paralelos", que, em termos de dispositivo físico e lógico da interface com o processador, não diferem em nada das ROMs convencionais, exceto que, como a RAM, possuem permissão de gravação entrada. É nesses microcircuitos que os códigos BIOS dos computadores modernos são armazenados. A organização dos dados é de 16 ou 70 bits. Freqüentemente, pode ser escolhido conectando uma saída especialmente fornecida a um fio ou fonte de energia comum. Além dos barramentos de endereço e dados, três sinais de controle são fornecidos aos microcircuitos: seleção de cristal (CE), habilitação de saída (OE) e habilitação de gravação (WE). Este último - somente se o chip precisar ser programado. A duração mínima do ciclo de leitura é de 150... XNUMX ns.

Nos primeiros microcircuitos FLASH, a matriz de células de memória era um único bloco e os dados só podiam ser apagados inteiramente de toda a matriz. Em muitos microcircuitos modernos, a memória é dividida em blocos e o apagamento de dados em um deles não afeta os dados armazenados em outros. Os tamanhos dos blocos são muito diferentes - de 128 bytes a 128 KB ou mais. Porém, ao ler os dados, toda a memória do microcircuito é considerada um único array, e pronto. que seja fisicamente dividido em blocos não importa.

Normalmente, os blocos são os mesmos e iguais, mas podem ser diferentes. Por exemplo, os chips da série 28Fxxx da Intel têm um chamado bloco de inicialização de 16 KB e dois blocos de parâmetros de 8 KB cada. Isso é seguido por um bloco de 96 KB e o restante da memória consiste em blocos de 128 KB. As propriedades desses blocos são um pouco diferentes. A inicialização possui proteção contra gravação e apagamento de hardware. Ele é ativado aplicando o nível lógico apropriado a uma saída especialmente fornecida do microcircuito. Os blocos de parâmetros são projetados para armazenar dados alterados com frequência e suportar um número maior de ciclos de exclusão/gravação do que outros.

Cada um dos microcircuitos da série em questão é feito em duas versões, diferindo na colocação dos blocos no espaço de endereço. Nos microcircuitos com índice B (inferior), eles estão localizados, a partir do endereço zero, na ordem indicada acima. Nos produtos com índice T (topo), a ordem é inversa (boot - na área de endereços superiores).

Os microcircuitos de memória FLASH produzidos atualmente são projetados para tensões de alimentação nominais de 2.7 a 5 V. Eles não requerem um aumento de tensão (12 V) ou são necessários apenas em alguns modos especiais. No estado passivo ("não selecionado"), esses microcircuitos consomem uma corrente não superior a 1 mA da fonte de alimentação (na maioria dos casos, dez vezes menos). Às vezes, é fornecido um modo de suspensão especial, no qual o consumo é insignificante. É verdade que é impossível ler dados de um microcircuito "adormecido", mas para "acordá-lo". às vezes leva várias dezenas de microssegundos. A corrente consumida no modo ativo é de dezenas de miliampères e, se você colocar um chip em estado passivo, cujo AC3 realiza uma operação longa (por exemplo, apaga dados), a corrente não diminuirá até que seja concluída.

Muita atenção é dada para proteger os dados armazenados na memória FLASH contra alterações acidentais, especialmente sob a influência de ruídos e transientes quando a energia é ligada e desligada. Na maioria dos casos, existem três tipos de proteção de hardware. O primeiro é. que o microcircuito não responde a pulsos no circuito WE com duração inferior a 15 ... 20, o segundo é que com um nível lógico baixo na entrada OE, nenhuma manipulação de sinal em outras entradas pode causar uma gravação, o terceiro é isso. que quando a tensão de alimentação cai abaixo de um certo nível, o AC3 desliga. Para microcircuitos de diferentes tipos, o limite de desligamento está na faixa de 1.5 ... 3.8V.

Às vezes, é possível proibir completamente a alteração e exclusão de toda a matriz de dados ou de suas partes. A imposição ou remoção de tal proibição geralmente requer medidas "extraordinárias" (por exemplo, aplicar brevemente um aumento de tensão em certos terminais).

Proteção de software também é fornecida. Para alterar o conteúdo de uma célula, a memória FLASH não é suficiente, como na RAM convencional. escrever um código para um endereço. É necessário um comando que consiste em vários códigos escritos em endereços específicos.

Qualquer chip FLASH é capaz de informar seu tipo ao dispositivo em que está instalado, o que permite selecionar automaticamente os algoritmos necessários para gravar e apagar dados. Os comandos apropriados são fornecidos para habilitar e desabilitar programaticamente o modo de leitura de ID. Depois de ligado, o identificador do fabricante é lido no endereço OH, e os dispositivos são lidos no endereço 1H (os identificadores de alguns microcircuitos são fornecidos na tabela). No mesmo modo, mas em outros endereços, em alguns casos você pode obter informações adicionais, por exemplo, sobre o estado da proteção contra gravação do hardware.

Programação de chips de memória FLASH

É possível mudar para o modo de leitura de identificadores sem comando, aplicando na entrada de endereço A9 uma tensão de +12 V. O desvio permitido de seu valor para microcircuitos de tipos diferentes é diferente. Em alguns casos não é mais do que ±5%. em outros, basta que a tensão ultrapasse apenas um determinado valor, por exemplo, 10 V. Os identificadores são lidos nos endereços acima, configurando-os sem levar em consideração a descarga A9. Normalmente, esse método é usado em programadores universais.

AC3 da maioria dos chips de memória flash aceita comandos dados de acordo com o chamado padrão JEDEC, embora haja exceções. Às vezes, ao atualizar chips, seu sistema de comando é complementado com combinações de código padrão, mantendo, no entanto, os comandos antigos (isso é necessário para que os chips atualizados possam funcionar em dispositivos lançados anteriormente). A Intel usa seu próprio sistema de comando.

Antes de considerar os comandos em detalhes, vamos falar um pouco sobre como conectar chips FLASH. Microcircuitos do mesmo tipo, via de regra, são produzidos em vários tipos de embalagens, diferindo em localização, passo e número de pinos. Freqüentemente, são fornecidas opções de "espelho", permitindo instalar microcircuitos em qualquer lado da placa sem alterar a topologia dos condutores impressos.

Os números dos pinos nos diagramas abaixo são típicos para chips de memória de 512K nos pacotes PLCC e PDIP de 32 pinos mais comuns. A "pinagem" dos microcircuitos de menor volume é semelhante, mas as conclusões dos dígitos mais altos não estão conectadas a eles (por exemplo, o 29º e o 010º são gratuitos para Am30F1).

Um esquema semelhante ao mostrado na Fig. 1 são usados ​​se for necessário apagar e escrever dados sem remover o chip do sistema microprocessado.

Programação de chips de memória FLASH

Presume-se que o barramento de dados do sistema seja de oito bits e os endereços sejam de 16 bits. A ROM é alocada no espaço de endereço de 32 KB, o restante pode ser ocupado pela RAM. Como a quantidade de memória do Am29F040 é de 512 KB, é fornecido um registro de página de memória FLASH que controla os bits superiores do endereço. Para ler e gravar dados, você pode usar os seguintes procedimentos simples (escritos em Pascal):

Programação de chips de memória FLASH

Caso seja necessário programar o FLASH-chip fora do dispositivo em que irá funcionar, este pode ser conectado a um computador pessoal. A maneira mais fácil de fazer isso é instalar uma placa de E/S paralela opcional em seu computador. Tais placas como PCL-731 da Advantech, DIO-48 da IOP DAS ou PET-48DIO da ADLink estão disponíveis comercialmente. Como regra, eles têm 48 entradas / saídas e funcionam de maneira semelhante a dois microcircuitos 8255 (KP5806V55A) no modo O com as mesmas portas de informação e controle, mesmo que na realidade não existam tais microcircuitos em sua composição. Se necessário, a placa de entrada/saída paralela pode ser feita de forma independente, usando o artigo de N. Vasiliev "PC Interface Extender" ("Radio", 1994, nº 6, pp. 20, 21).

Para leitura ou programação, o chip FLASH é conectado às portas de dois chips 8255 conforme o circuito mostrado na Fig. 2. A porta PA do primeiro deles é usada para entrada/saída de dados, bits separados de sua porta PC são usados ​​para saída de sinais de controle CE, OE e WE. As portas PA, PB e PC formam o barramento de endereço de 24 bits do chip FLASH. Se uma largura de bit menor desse barramento for suficiente, o número correspondente de bits de ordem superior da porta do PC não será conectado.

Programação de chips de memória FLASH

As portas da placa de E/S e as constantes auxiliares devem ser descritas no programa da seguinte forma:

Programação de chips de memória FLASH

E os procedimentos para acessar a memória FLASH descritos acima são substituídos pelos seguintes:

м

Agora - na verdade, sobre a programação de microcircuitos FLASH. De acordo com o padrão JEDEC, cada comando começa com a entrada do código OAAN no endereço 5555H. A seguir, escreve-se no endereço 55AAAH o código 2H e, por fim, no endereço 5555H, o código da operação a ser realizada.

Programação de chips de memória FLASH

Falando, por exemplo, sobre o comando 40H, vamos nos referir a essa sequência com o número 40H como código de operação.

Programação de chips de memória FLASH

Depois de ligar a energia, qualquer microcircuito FLASH entra automaticamente neste modo e não há necessidade de configurá-lo com um comando especial. No entanto, é necessário, por exemplo, retornar do modo de leitura de identificadores. Às vezes, é referido como um comando de reinicialização ou configuração inicial. Para transferir alguns microcircuitos para o modo de leitura de matriz, basta um ciclo de gravação do código 0F0H para qualquer endereço.

Programação de chips de memória FLASH

O ciclo de gravação após o comando 0A0H contém o endereço da célula programável e o código gravado nela. Na maioria dos casos, gravar em cada célula requer um comando separado. Lembre-se de que, como nas EEPROMs convencionais, nos bits de uma célula programável, você só pode substituir os lógicos por zeros. Para realizar a operação inversa, geralmente é necessário primeiro apagar o conteúdo de todo o bloco de memória e repetir a programação de todas as suas células. Observe que os AC3s de muitos chips FLASH não reconhecem esses erros e relatam sucesso. Para garantir que a programação esteja correta, é necessária uma leitura de controle dos dados registrados.

Nos chips Winbond com blocos de 128 bytes, a programação de qualquer célula é precedida automaticamente pelo apagamento de todos os dados do bloco que a contém. Portanto, você deve sempre primeiro copiar o bloco para a RAM, fazer as alterações necessárias na cópia e reprogramar todos os 128 bytes. Tendo recebido o comando OOH, o endereço e o primeiro dos bytes programáveis, AC3 o insere no buffer interno do bloco e aguarda 200 µs sem iniciar a programação. Se durante esse tempo mais um comando OOH e o próximo byte forem recebidos, ele também irá para o buffer e o AC3 aguardará os próximos 300 µs. Isso continua até então. até que todos os 128 bytes do bloco sejam recebidos ou a pausa exceda o valor permitido (300 μs). O AC3 então apaga o bloco e inicia a programação atual. A seqüência de escrita no buffer de dados destinados às diferentes células do bloco não importa, mas aquelas células para as quais os dados não foram recebidos conterão os códigos 0FFH após a programação.

Existem duas maneiras de gravar dados de programação em tal chip. O primeiro deles (normal para outros) é chamado de protegido por software. Cada byte a ser escrito deve ser precedido por um comando OOH. Entretanto, a proteção pode ser desabilitada emitindo os comandos 80H e 20H em sequência.

Programação de chips de memória FLASH

Depois disso, o byte gravado em qualquer endereço entra no buffer interno do microcircuito, e esse modo é mantido mesmo após desligar e ligar a energia. Saia disso ao comando de OON.

Programação de chips de memória FLASH

Existem duas opções de comando equivalentes para gravar dados em um chip Intel FLASH. Em primeiro lugar, um dos códigos 40H ou 10H é escrito em qualquer endereço. e então - o código programável no endereço desejado.

Programação de chips de memória FLASH

Comando "Apagar toda a memória".

O AC3 do microcircuito FLASH inicia esta importante operação recebendo uma sequência de dois comandos - 80H e 10H.

Programação de chips de memória FLASH

Os microcircuitos Intel recebem um comando semelhante, gravando em endereços arbitrários dos códigos 20H e 0D0H

Programação de chips de memória FLASH

Apagar todo o conteúdo da memória leva de dezenas de milissegundos a vários segundos. Alguns microcircuitos fornecem a capacidade de suspender esse processo gravando o código OVON em qualquer endereço. Depois de escrever (também para qualquer endereço) o código 30H (para chips Intel - ODOH), o apagamento continuará.

Excluir comando de bloco. Para apagar o conteúdo de um bloco de memória, dois comandos devem ser emitidos. O primeiro deles é 80H, o segundo difere porque seu código de operação 90H deve ser escrito não no endereço 5555H, mas no endereço de qualquer uma das células do bloco apagado.

Programação de chips de memória FLASH

Comando "Ler identificadores". Para mudar para este modo, o comando 90H é usado, mas às vezes é necessária uma sequência de dois comandos - 80H e 60H.

Programação de chips de memória FLASH

Nos microcircuitos Intel, basta escrever o código 90H em qualquer endereço. Este modo é encerrado pelo comando "Read data array" discutido acima.

Como verificar a conclusão da execução de comandos "longos" de programação e exclusão? A maneira mais fácil é usar os dados de referência do microcircuito e fornecer a formação de software dos atrasos correspondentes. Mas o tempo real de execução de certas operações geralmente difere significativamente dos valores de referência, mesmo para diferentes células e blocos do mesmo microcircuito, aumentando à medida que o último "envelhece".

A leitura do registrador de status AC3 permite que você descubra com precisão o momento do final de uma determinada operação. O chip FLASH envia o conteúdo deste registrador para o barramento de dados enquanto o AC3 estiver ocupado executando um procedimento de apagamento ou programação. Há dois sinais de que o processo não terminou. A primeira é que o valor do bit D7 do registrador de status é inverso em relação ao valor escrito no mesmo bit da célula de memória (durante o apagamento, é igual a 0). No final da operação, ele corresponderá ao gravado. O segundo sintoma é a "cintilação" do bit D6 (seu valor muda a cada leitura do registrador até que a operação seja concluída).

Via de regra, ambos os sinais são observados, porém, há exceções. Por exemplo, em chips Intel não há bit "cintilante" e o bit D7 é 0 durante a programação, independentemente do código que está sendo escrito. O fim da operação neste caso é evidenciado por D7=1. Em microcircuitos com gravação em bloco (por exemplo, do Winbond), o valor do bit D7 é inversamente análogo ao bit do último código gravado no buffer do bloco.

Normalmente, após a conclusão da programação ou exclusão, o chip FLASH retorna automaticamente ao modo de leitura da matriz de dados, mas os chips Intel requerem um comando correspondente para isso.

Se o chip falhar, a operação "longa" pode nunca ser concluída, fazendo com que o computador de programação "trave". Para evitar isso, é necessário prever a verificação da duração das operações de apagamento e programação e, no caso de exceder um valor razoável, uma saída de "emergência" com mensagem de falha.

Às vezes, especialmente ao trabalhar com microcircuitos que passaram por vários ciclos de apagamento / programação próximos ao limite, faz sentido repetir a operação malsucedida várias vezes. Uma das tentativas pode ser bem-sucedida.

Concluindo, algumas palavras sobre os utilitários que permitem atualizar o BIOS do computador armazenado na memória FLASH. Eles são desenvolvidos para cada tipo de placa de sistema (placa-mãe) e levam em consideração as peculiaridades de conectar microcircuitos FLASH aos barramentos do sistema. Portanto, as tentativas de usar um utilitário projetado para um tipo de placa para atualizar o BIOS de outra geralmente levam a uma falha completa do computador.

O utilitário é iniciado como um aplicativo normal, especificando como parâmetro o nome do arquivo que contém os códigos da nova versão do BIOS. Ele lê esse arquivo, criando um array de dados na RAM para serem gravados na memória FLASH. Em seguida, determina o tipo de microcircuito e seleciona os procedimentos apropriados para trabalhar com ele. Depois disso, começa o apagamento de dados antigos e a gravação de novos dados, e neste momento o programa não pode usar nenhuma função do BIOS, incluindo exibir informações na tela ou pesquisar o teclado. Se ainda for necessário fazer isso, as sub-rotinas necessárias são introduzidas no próprio utilitário. Depois que a programação é concluída e verificada se está correta, o computador geralmente é reiniciado e inicia uma "nova vida" com um BIOS atualizado.

Autor: A. Dolgiy, Moscou

Veja outros artigos seção Microcontroladores.

Leia e escreva útil comentários sobre este artigo.

<< Voltar

Últimas notícias de ciência e tecnologia, nova eletrônica:

Máquina para desbastar flores em jardins 02.05.2024

Na agricultura moderna, o progresso tecnológico está se desenvolvendo com o objetivo de aumentar a eficiência dos processos de cuidado das plantas. A inovadora máquina de desbaste de flores Florix foi apresentada na Itália, projetada para otimizar a etapa de colheita. Esta ferramenta está equipada com braços móveis, permitindo uma fácil adaptação às necessidades do jardim. O operador pode ajustar a velocidade dos fios finos controlando-os a partir da cabine do trator por meio de um joystick. Esta abordagem aumenta significativamente a eficiência do processo de desbaste das flores, proporcionando a possibilidade de adaptação individual às condições específicas do jardim, bem como à variedade e tipo de fruto nele cultivado. Depois de testar a máquina Florix durante dois anos em vários tipos de frutas, os resultados foram muito encorajadores. Agricultores como Filiberto Montanari, que utiliza uma máquina Florix há vários anos, relataram uma redução significativa no tempo e no trabalho necessários para desbastar flores. ... >>

Microscópio infravermelho avançado 02.05.2024

Os microscópios desempenham um papel importante na pesquisa científica, permitindo aos cientistas mergulhar em estruturas e processos invisíveis aos olhos. Porém, vários métodos de microscopia têm suas limitações, e entre elas estava a limitação de resolução ao utilizar a faixa infravermelha. Mas as últimas conquistas dos pesquisadores japoneses da Universidade de Tóquio abrem novas perspectivas para o estudo do micromundo. Cientistas da Universidade de Tóquio revelaram um novo microscópio que irá revolucionar as capacidades da microscopia infravermelha. Este instrumento avançado permite ver as estruturas internas das bactérias vivas com incrível clareza em escala nanométrica. Normalmente, os microscópios de infravermelho médio são limitados pela baixa resolução, mas o desenvolvimento mais recente dos pesquisadores japoneses supera essas limitações. Segundo os cientistas, o microscópio desenvolvido permite criar imagens com resolução de até 120 nanômetros, 30 vezes maior que a resolução dos microscópios tradicionais. ... >>

Armadilha de ar para insetos 01.05.2024

A agricultura é um dos sectores-chave da economia e o controlo de pragas é parte integrante deste processo. Uma equipe de cientistas do Conselho Indiano de Pesquisa Agrícola-Instituto Central de Pesquisa da Batata (ICAR-CPRI), em Shimla, apresentou uma solução inovadora para esse problema: uma armadilha de ar para insetos movida pelo vento. Este dispositivo aborda as deficiências dos métodos tradicionais de controle de pragas, fornecendo dados sobre a população de insetos em tempo real. A armadilha é alimentada inteiramente por energia eólica, o que a torna uma solução ecologicamente correta que não requer energia. Seu design exclusivo permite o monitoramento de insetos nocivos e benéficos, proporcionando uma visão completa da população em qualquer área agrícola. “Ao avaliar as pragas-alvo no momento certo, podemos tomar as medidas necessárias para controlar tanto as pragas como as doenças”, diz Kapil ... >>

Notícias aleatórias do Arquivo

Fontes de alimentação Mean Well HRP/N 14.02.2021

A Mean Well desenvolveu uma família de fontes de alimentação capazes de operar com segurança de curto prazo em até 2,5 vezes a potência nominal (até 5 segundos).

A nova família consiste em três séries: HRP-150N, HRP-300N e HRP-600N com potências de 150W, 300W e 600W, respectivamente. Além disso, as fontes de alimentação possuem excelente saturação funcional: possuem um estágio de correção de energia (PFC; PFC> 0,95), capacidade de compensar quedas de tensão nos fios, capacidade de ligar / desligar remotamente e são resistentes à entrada tensão aumentada até 300 V (até 5 segundos) e ter um sinal "DC Ok" para controlar a tensão de saída. Com tudo isso, essas fontes de alimentação são operáveis ​​na faixa de temperatura de -40...70°C e possuem eficiência de 89%.

Esta família de fontes de alimentação é procurada em instalações industriais com motores elétricos ou com cargas capacitivas. No momento da partida, a carga especificada consome maior potência, portanto, para garantir uma partida normal, uma fonte de energia mais potente deve ser selecionada. Em trabalhos posteriores após o lançamento, a energia desta fonte não é mais utilizada e é redundante. Portanto, usando as novas fontes de alimentação HRP/N, você pode se livrar da redundância e obter benefícios econômicos.

O período de garantia para as fontes de alimentação consideradas é de 5 anos.

Outras notícias interessantes:

▪ Mechnikov estava errado

▪ Sonhos programáveis

▪ Gerador de alta tensão no espaço

▪ Isolamento de casas com pontas de cigarro

▪ Camisa eletrônica para um jogador de futebol

Feed de notícias de ciência e tecnologia, nova eletrônica

 

Materiais interessantes da Biblioteca Técnica Gratuita:

▪ seção do site Cálculos de rádio amador. Seleção de artigos

▪ artigo Peshkov Alexei Maksimovich (Maxim Gorky). Aforismos famosos

▪ artigo Como as barracas nos teatros da era Pushkin diferiam do que estamos acostumados? Resposta detalhada

▪ artigo Trabalhando em salas de esterilização. Instrução padrão sobre proteção do trabalho

▪ artigo Como determinar a impedância característica de um cabo coaxial de alta frequência se seu tipo é desconhecido? Enciclopédia de rádio eletrônica e engenharia elétrica

▪ Artigo Sessão com cartas (vários truques). Segredo do foco

Deixe seu comentário neste artigo:

Имя:


E-mail opcional):


Comentário:





Todos os idiomas desta página

Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site

www.diagrama.com.ua

www.diagrama.com.ua
2000-2024