ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Programação de chips de memória serial. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores Chips de memória não voláteis com entrada e saída de dados seriais são amplamente usados atualmente para armazenar modos de configuração e configurações fixas em TVs, rádios e outros eletrodomésticos. Ao repará-lo, muitas vezes é necessário ler o conteúdo desses microcircuitos ou gravar novos dados neles. Normalmente, isso é feito com a ajuda de dispositivos especiais - programadores. Mas, para programar um ou dois microcircuitos em condições amadoras, não é lucrativo comprar um programador bastante caro. Um computador pessoal normal funcionará perfeitamente. Um dos chips de memória não voláteis mais comuns é o AT93C46 da ATMEL. Para se comunicar com o microcontrolador, ele é equipado com uma interface serial, composta por apenas três barramentos de bit único SK (sincronização), D1 (entrada de dados) e DO (saída de dados). Esses barramentos são conectados em paralelo a todos os nós no dispositivo com essa interface. Os dados são transmitidos bit a bit. acompanhando cada bit com um pulso de clock SK. O chip AT93C46 também fornece entradas CS (chip select) para alterá-lo para o estado ativo e ORG (organização). Se este último estiver conectado a uma fonte de energia, 64 células de memória de dezesseis bits são formadas no microcircuito, se com um fio comum - 128 células de oito bits. Para ler o conteúdo ou programa usando um computador, o chip AT93C46 deve ser conectado ao soquete da porta LPT1 ou LPT2, conforme mostrado na figura. Como a entrada ORG do microcircuito está conectada a um fio comum, a organização da memória é de oito bits. Recomenda-se aplicar a tensão de +5 V de uma fonte externa, mas você pode usar qualquer linha de saída livre da porta configurando programaticamente um nível lógico alto nela. O programa de serviço mostrado na tabela é escrito em BASIC (compilador Power Basic versão 2.10f). O programa começa pedindo o número da porta à qual o chip está conectado. Dependendo da resposta do operador da variável de porta, o valor do endereço base da porta selecionada é soldado: 888 (hexadecimal 378H) para LPT1 ou 632 (hexadecimal 278H) para LPT2. O comando out port.0 define todos os pinos do barramento de dados da porta para uma tensão lógica baixa. Em seguida, o operador é solicitado a selecionar o modo de leitura de dados do chip ou gravação nele e inserir o nome do arquivo no qual as informações lidas serão salvas ou as informações preparadas para gravação estão localizadas. Aqueles que usam outras versões do BASIC devem estar cientes de que a sintaxe dos operadores para trabalhar com arquivos pode ser diferente. O programa não apenas salva os dados lidos do chip ou gravados em um arquivo ou lidos dele, mas também os exibe na tela do monitor na forma de um despejo hexadecimal. Os procedimentos de leitura e escrita de dados são um pouco diferentes, mas utilizam as mesmas operações para "comunicar" com o microcircuito, desenhados no programa como funções:
A unidade de controle interna do chip AT93C46 recebe e executa comandos da linha DI. Cada instrução começa com um bit de início de lógica 1, seguido por dois bits de opcode e o número necessário de bits de memória e endereço de dados. Antes de cada comando ser dado, a entrada CS deve ser ajustada para um nível lógico alto, após sua conclusão - para baixo. A instrução de leitura de dados (READ) tem um opcode de 10 seguido por um endereço de localização. Em resposta, o microcircuito produzirá o byte de dados DO armazenado no endereço especificado, que pode ser lido usando a função shiftin. Depois que a energia é ligada, o chip AT93C46 muda automaticamente para um modo no qual é proibido apagar e gravar dados, o que evita danos acidentais. Então antes. Para gravar dados nele, você deve habilitar esta operação emitindo o comando EWEN - Erase/Write Enable. Seu código de operação é 00 seguido do endereço 11 xxxxx. Os valores dos últimos cinco bits do endereço não são analisados pelo comando EWEN, podendo ser qualquer um. Uma vez dado, o comando EWEN é válido até que seja cancelado por um comando especial ou até que a alimentação do microcircuito seja desligada. O comando de escrita (WRITE) possui opcode 01 seguido do endereço de localização e do byte de dados a serem escritos. Tendo recebido tal comando, o dispositivo de controle começa a executar um ciclo de gravação interno, cuja duração não é superior a 10 ms. Até terminar, o microcircuito não responde a novos comandos. Se neste momento um pulso lógico baixo curto for aplicado à entrada CS, a saída DO será setada e permanecerá baixa até que o ciclo seja concluído. Assim que subir, você precisa definir a entrada CS baixa. após o qual o chip está pronto para receber novos comandos. Se o pulso mencionado não for aplicado à entrada CS ou for aplicado após a conclusão do ciclo de gravação, o estado da saída DO permanecerá em alta impedância. Além dos comandos considerados, existem outros: proibir apagar / escrever (EWDS), gravar uma constante em todas as células da memória (WRAL), apagar todas as células da memória (ERAL). Na prática, eles são usados relativamente raramente. Uma descrição de todos os comandos, bem como outros detalhes do projeto e operação do chip AT93C46, pode ser encontrada em [1, 2]. O programa descrito com pequenas modificações pode ser usado para programar qualquer chip de memória da família АТ9Схх, definindo o intervalo de endereço apropriado. Por exemplo, o chip AT93C56 contém 256. e AT93C66 - 512 células de memória de oito bits. 93X16.EXE - uma versão do programa projetada para funcionar com o chip AT93C46 no modo de dezesseis bits (a entrada ORG está conectada a uma fonte de alimentação). Literatura
Autor: A.Goncharenko, Odessa, Ucrânia Veja outros artigos seção Microcontroladores. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: Inaugurado o observatório astronômico mais alto do mundo
04.05.2024 Controlando objetos usando correntes de ar
04.05.2024 Cães de raça pura não ficam doentes com mais frequência do que cães de raça pura
03.05.2024
Outras notícias interessantes: ▪ Cartões de memória Adata ISC3E CFast com especificações CFast 2.0 e SATA 3.1 ▪ Lagartas podem comer lixo plástico ▪ Cartões inteligentes híbridos em vez de passaportes ▪ FMS6407 - filtro de driver de vídeo ▪ Bloqueio de ignição remota de um carro de crédito Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Spy stuff. Seleção de artigos ▪ artigo Pequeno burguês na nobreza. expressão popular ▪ artigo Quanto tempo dura o Fausto de Goethe? Resposta detalhada ▪ artigo Da história dos mapas geográficos. Dicas de viagem ▪ artigo Preservação da árvore. receitas simples e dicas ▪ artigo Provérbios e provérbios de Karakalpak. Grande seleção
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |