ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Emulador de ROM. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores O emulador descrito no artigo, juntamente com um computador, pode substituir sua ROM durante a depuração do software de um dispositivo microprocessador. Isso permitirá que você corrija rapidamente o programa, economizando tempo que seria gasto na reprogramação da EEPROM. O emulador é relativamente lento porque não possui RAM própria. Mas pelo mesmo motivo, é simples e barato. Um dos problemas que surgem no desenvolvimento de equipamentos microprocessados é a depuração de um programa escrito em ROM. Normalmente, para esse fim, são utilizadas as chamadas ROMs reprogramáveis (RPZUs) com apagamento de informações por irradiação ultravioleta. Como qualquer alteração no programa resulta na necessidade de apagar a EEPROM e reescrever informações nela, a depuração leva muito tempo. Além disso, após 10 a 25 ciclos, com cada um dos quais a confiabilidade do armazenamento de dados diminui, o microcircuito deve ser substituído. Assim, o trabalho criativo é ofuscado pelo tedioso processo mecânico de substituição, sem mencionar o lado financeiro da questão - EEPROMs com apagamento UV não são baratos. O emulador ajudará a resolver o problema, cujo diagrama esquemático é mostrado na Fig. 1. Em vez de um chip ROM com capacidade de até 64 Kbytes, um plugue XP1 é inserido no painel do dispositivo que está sendo depurado destinado a ele. Dependendo do tipo de ROM, apenas a ordem de conexão dos fios do emulador aos contatos do plugue pode mudar (o mostrado no diagrama corresponde a um chip 27512 com capacidade de 64 KB). O plugue XP2 é conectado ao soquete da porta paralela LPT1 de qualquer computador pessoal (PC) compatível com IBM. Como a porta se destina principalmente à transferência de dados para um dispositivo externo (impressora), ela possui 12 linhas de saída e um total de cinco linhas de entrada. Isso força o endereço ROM de 16 bits recebido pelo computador a ser multiplexado, o que, obviamente, afeta a velocidade da emulação. O emulador consiste nos seguintes blocos funcionais: gerador de clock (DD1.1-DD1.2), sincronizador de clock (DD2.2, DD3.1), dispositivo de disparo (DD2.1), contador de pulso (DD4), pulso de gravação de bloco endereço shaper (DD1.5, DD3.3), registro de dados (DD5) e multiplexador de endereço (DD6, DD7). O trabalho começa com a chegada de um sinal de baixo nível CS do dispositivo microprocessador para a entrada S (pino 4) do gatilho DD2.1 (os diagramas de tempo dos sinais são mostrados na Fig. 2). Este último entra no estado correspondente ao lógico 1 na saída direta (pino 5) conectada à entrada D (pino 12) disparador DD2.2. Na queda do pulso de clock (este é fornecido pelo inversor DD1.4), também aparece um 1 lógico na saída (pino 9) do DD2.2, permitindo a passagem de pulsos de clock para a saída do DD3.1 elemento. Eles são contados pelo contador DD4, cujos sinais de saída dos dois dígitos menos significativos controlam os multiplexadores de endereço DD6 e DD7. O endereço da ROM é transmitido ao PC em quatro grupos de quatro bits: A0 - A3, A4 - A7, A8 - A11, A12 - A15. Para recebê-lo, são utilizadas as entradas ERROR. Porta paralela SLCT, ACK, PE. O contador DD4 é coberto por realimentações de forma que seu fator de conversão seja 5. É quantos períodos de pulsos de clock o ciclo de emulação leva. Nos primeiros quatro pulsos da saída do elemento DD3.4, chegando na entrada BUSY da porta LPT simultaneamente com a comutação dos multiplexadores. sincronizar o procedimento de leitura do endereço pelo computador. No quinto período, o computador emite um byte de dados para as saídas DATA1 -DATA8, que devem estar localizadas na ROM emulada em um determinado endereço. Este byte é armazenado no registrador DD5. No final do período, o gatilho DD2.1 retorna ao seu estado original. É verdade que o último acontecerá apenas se o sinal CS tiver terminado neste momento. Caso contrário, o ciclo descrito se repetirá. O emulador é montado em uma placa de circuito impresso de dupla face, cujo desenho é mostrado na fig. 3. A placa fornece grupos de blocos de contato X1-X4, aos quais os fios são soldados aos plugues XP1 e XP2. Em vez dos microcircuitos indicados no diagrama de circuitos, é permitido usar seus análogos funcionais de qualquer série TTL ou TTLSH (K155. K555. KR1533. KR531). Ao substituir o chip DD1, pode ser necessária uma seleção de elementos geradores de clock (R1, R3, C2), cuja velocidade de emulação depende da taxa de repetição de pulso. Definir a frequência acima de 100 kHz não é recomendado, pois pode causar mau funcionamento. O plugue XP1 pode ser feito de uma EEPROM defeituosa com apagamento UV. Tendo quebrado a janela transparente, você deve remover os condutores finos que conectam o cristal aos contatos da caixa. Os fios do cabo são soldados na parte externa dos terminais de forma que não atrapalhem a inserção do antigo microcircuito no painel. O algoritmo da operação do emulador descrito acima requer a transferência do dispositivo microprocessador para o modo passo a passo. É conveniente para a primeira "execução" do programa e os estágios iniciais de sua depuração. Para trabalhar em modo contínuo, é necessário complementar o emulador com um dispositivo de sincronização, montando-o de acordo com o esquema mostrado na Fig. 4. Ele é projetado para o microprocessador KR580VM80A com o gerador de clock KR580GF24 e foi testado no computador Radio-86RK. Para outros tipos de microprocessadores, o sincronizador pode precisar ser modificado. A tabela mostra o procedimento para emulação de ROM por um computador na velocidade máxima. Ele é escrito na linguagem ASSEMBLY incorporada ao sistema de programação Borland Pascal e destina-se ao uso em programas desenvolvidos com esse sistema. A variável global pDATA do tipo ponteiro no programa principal deve ser configurada para o endereço do primeiro elemento do array de bytes contendo a imagem ROM emulada. A troca de dados ocorre na velocidade máxima, minimizando o número de acessos à memória do PC e usando registradores do processador para armazenamento temporário de dados (o acesso à memória leva várias vezes mais tempo do que uma operação de registrador para registrador). A peculiaridade do procedimento descrito é que é um loop infinito e, para agilizar o trabalho, desativa todas as interrupções, inclusive as do teclado. Assim, você pode interromper a emulação apenas pressionando o botão "RESET" do PC ou desligando a energia. A exibição de qualquer informação sobre o funcionamento do dispositivo que está sendo depurado na tela do monitor do PC também é excluída. Eliminar essas deficiências está ao alcance de um programador de habilidade mediana, mas apenas à custa de retardar o procedimento. As teclas especificadas na linha de comando ou no arquivo de configuração definem o modo de emulação, selecione o arquivo com a imagem da ROM emulada. A linha de comando tem precedência sobre o arquivo de configuração. As seguintes chaves são fornecidas: -sf - a emulação mais rápida (usando o procedimento discutido acima); -sns - modo, um pouco mais lento que o anterior, pois permite consultar o teclado e sair pressionando a tecla [Esc]; -sp é o modo mais lento. A tela do monitor exibe o endereço de cada célula ROM acessada pelo dispositivo que está sendo depurado e os dados dela. O processo de leitura de quartos do endereço também é exibido. Isso é conveniente nos estágios iniciais de depuração de um dispositivo microprocessador, pois permite monitorar o andamento da execução do programa; -f filename - especifica o nome do arquivo com a imagem ROM: /y - desabilita o controle da igualdade do comprimento do arquivo de imagem ROM da capacidade de informação deste último; /? - Exibe ajuda sobre os modos de operação do emulador. Pressionar a tecla [F2] interrompe o processo de leitura do endereço atual e coloca o programa em modo de espera por um novo. Uma imagem ROM é um arquivo binário no qual todos os bytes armazenados na ROM emulada são escritos sequencialmente, em ordem crescente de endereços, começando do zero. - códigos de comandos e dados do dispositivo microprocessador depurado. Observe que lacunas na sequência de endereço não são permitidas. Os valores nas células não utilizadas também devem ser gravados no arquivo. Esse arquivo pode ser criado usando o cross-assembler TASM, se chamado na linha de comando TASM.EXE -85 -g3 PROG.ASM Aqui, a chave -85 define o tipo de processador (8085) para o qual o programa traduzido PROG.ASM se destina, e -g3 especifica a saída do resultado em formato binário. O arquivo PROG.OBJ resultante pode servir como uma imagem ROM para o emulador. Autores: S. Belyaev, D. Chernykh, Tambov 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: Máquina para desbastar flores em jardins
02.05.2024 Microscópio infravermelho avançado
02.05.2024 Armadilha de ar para insetos
01.05.2024
Outras notícias interessantes: ▪ Placa de avaliação STEVAL-IDB009V1 ▪ Danos de antibióticos e anti-sépticos ▪ Matrizes de antenas adaptáveis em fase ▪ Scanners biométricos para smartphones Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Controles de tom e volume. Seleção de artigos ▪ artigo Escala - como impresso. Dicas para o dono da casa ▪ artigo O que é uma rosa dos ventos? Resposta detalhada ▪ artigo do caçador de cabeças. Descrição do trabalho ▪ artigo Multímetro digital mede temperatura. Enciclopédia de rádio eletrônica e engenharia elétrica ▪ artigo Antena espiral UHF. Enciclopédia de rádio eletrônica e engenharia elétrica
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 |