ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Programador paralelo para AT89. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / Microcontroladores Os microcontroladores da série Atmel AT51C compatíveis com MSC-89 com uma interface de programação paralela atraem a atenção de radioamadores com seus amplos recursos a um custo relativamente baixo. Infelizmente, muitos programadores comuns hoje em dia são inadequados para eles. Você precisa de um especializado. O autor do artigo proposto conseguiu fazer um de acordo com as recomendações da Atmel, mas com base em elementos produzidos por empresas da CEI. O principal problema no desenvolvimento de um programador caseiro é conhecer e seguir rigorosamente os algoritmos de programação dos microcontroladores. Muitas surpresas podem ser evitadas usando circuitos e softwares publicados por empresas de design de chips. Para carregar códigos de programa nos microcontroladores AT89C51, AT89C52, AT89C1051, AT89C2051, AT89S8252, a Atmel recomenda o dispositivo descrito em [1]. Sua complexidade relativa (sete chips digitais e dois analógicos) e software modesto rodando no DOS são mais do que compensados pela confiabilidade da programação em conformidade com todos os algoritmos proprietários. Na fig. 1 mostra um diagrama de um programador que difere do "proprietário" principalmente na base do elemento. A gravação nos registros DD2-DD5 das informações vindas do computador através das linhas DATA1 DATA8 ocorre de acordo com o decaimento dos pulsos de polaridade negativa nas entradas C provenientes do decodificador DD1. bytes de dados a serem gravados nesta célula em DD3 e endereço -bits livres DD4 - códigos de controle. O circuito R13C5, ao ser ligado, zera o registrador DD2, evitando a distorção acidental do conteúdo da memória do microcontrolador programável. O driver de barramento DD6 é usado para transferir dados das saídas do microcontrolador para as linhas DATA1-DATA8. As saídas do chip DD6 não devem estar ativas quando a porta LPT estiver funcionando "para saída". Isso é levado em consideração no programa que gera sinais de habilitação nas entradas de controle dos microcircuitos. Os resistores R1-R12 reduzem o "ringing" que acompanha as quedas de sinal nas linhas da porta LPT e protegem contra sobrecargas. Quando as saídas dos elementos do computador conectados às linhas da porta e as saídas de alguns elementos do programador, incluindo o próprio microcircuito programável, estão em estado de alta impedância, os resistores dos conjuntos DR1-DR3 mantêm um nível lógico alto no circuitos correspondentes. Microcircuitos programáveis são instalados em um dos dois painéis: AT89C1051, AT89C2051, AT89C4051 no pacote DIP-20 - em XS1; АТ89С51 e outros no pacote DIP-40 - em XS2. É necessário um cristal ZQ1 de 6 MHz com capacitores C4 e C5 para que o gerador de clock interno do microcontrolador instalado no painel XS2 funcione durante a programação. Os instalados no painel XS1 não necessitam de ressonador. O pino 5 deste painel recebe pulsos de clock gerados por software. A tensão de alimentação ao conector X1 do programador é fornecida por uma fonte externa. Pode ser, por exemplo, o adaptador de rede do decodificador de vídeo "SEGA Mega Drive-M". Embora com carga nominal (1 A) sua tensão de saída não ultrapasse 11V, com uma corrente de 70 ... 90 mA consumida pelo programador, ela sobe para 14 ... 15 V. Uma tensão de 5 V para alimentar microcircuitos (incluindo um programável) é obtida usando um estabilizador integrado DA1. A tensão na saída do estabilizador DA2 em um nível lógico baixo no pino 18 do modelador de barramento DD7 é de 12 V. O valor exato é definido pelo resistor de ajuste R21. Em um nível lógico alto no pino 18, o transistor aberto VT2 conecta outro resistor de ajuste R21 em paralelo ao R19, o que reduz a tensão de saída do estabilizador DA2 para 5 V. A taxa de aumento da tensão na saída do estabilizador após alterar o nível alto no pino 18 DD7 baixo depende da capacitância e do capacitor C14. Se sua capacitância for muito alta e o computador de controle operar em alta velocidade, várias células inferiores da memória FLASH do microcontrolador pode estar programada com erros. A tensão de saída do estabilizador DA2 é fornecida diretamente ao pino 31 (EA / VPP) do painel XS2 e ao pino 1 do painel XS1 (RST / VPP) - através da chave no transistor VT1. Na tensão de 12V, a chave é aberta independente do nível lógico no pino 16 do registrador DD2, e em 5V, somente se este nível for baixo. O brilho reduzido do LED HL2 indica uma tensão de 5 V na saída DA2 e que o microcircuito programável está no modo de leitura de códigos de sua memória. No modo de apagar e gravar na memória, a tensão aumenta para 12 V, o brilho do LED aumenta acentuadamente. Isso vale para todos os microcontroladores, exceto para aqueles que não requerem 12 V. Ao programar microcontroladores de vinte pinos, o LED HL1 também estará aceso. O plugue X2 do programador é conectado ao soquete da porta LPT de um computador compatível com IBM com um cabo de até 2 m de comprimento. O modo estendido da porta LPT (ECP / EPP) deve estar habilitado no computador. Em unidades de sistema modernas, ele opera por padrão. Se não for esse o caso, o modo de porta pode ser alterado executando o programa BIOS SETUP quando o computador inicializar (itens de menu "Periféricos integrados" - "Modo de porta paralela"). DETALHES E CONSTRUÇÃO O programador é montado em uma placa de circuito impresso dupla face de 140x140 mm. O estabilizador DA1 é instalado em um dissipador de calor com área de pelo menos 20 cm2. Você também pode montar o programador em uma placa de montagem por montagem em superfície. Observe que os capacitores C4, C5 e o ressonador de quartzo ZQ1 devem estar localizados o mais próximo possível dos contatos 18, 19 do painel XS2. As entradas livres dos microcircuitos DD1 (pinos 13-15), DD2 (pino 8) e DD7 (pinos 15, 17) devem ser conectadas à sua saída comum ou de alimentação. Isso aumentará a imunidade ao ruído do dispositivo. Todos os microcircuitos digitais podem ser substituídos por seus análogos funcionais das séries K555, KR1533 ou importados, usando, por exemplo, as recomendações [2]. Transistores VT1, VT2 - quaisquer estruturas correspondentes de baixa potência, de preferência com uma queda de tensão mínima na seção coletor-emissor de um transistor aberto. Resistores trimmer R19, R21 - SPZ-19A. Os conjuntos de resistores DR1-DR3 - NR1-4-9M podem ser substituídos por NR1-4-8M, por série estrangeira 9A ou pelo número correspondente de resistores convencionais de pequeno porte indicados no diagrama de classificação. Os resistores R1-R12 podem ser colocados dentro do invólucro do plugue X2. Os painéis XS1 e XS2 devem suportar repetidas inserções e remoções de chips. É melhor usar painéis ZIF (força de inserção zero) projetados para chips com uma distância entre as linhas de contatos de 7,5 mm (XS1) e 15 mm (XS2). Painéis universais também são adequados, permitindo a instalação de microcircuitos "estreitos" e "largos". Considerando que os painéis ZIF são várias vezes mais caros do que todas as outras partes do programador juntas, a placa fornece almofadas de contato para instalação dos convencionais, de preferência com contatos de pinça. É indesejável usar os painéis mais baratos com contatos planos. Após inúmeras substituições do microcircuito, esses contatos perdem sua confiabilidade. FORMAÇÃO A primeira inclusão do programador é realizada sem conectá-lo a um computador e sem um microcircuito programável. Antes de tudo, eles verificam a presença de uma tensão de 13,5 ... 15,5 V na entrada e 5 ± 0,1 V na saída dos estabilizadores DA1, DA2. Neste último caso, o valor desejado é definido pelo resistor de ajuste R19. Ao conectar os pinos 1 e 10 do microcircuito DD6, a tensão em seus pinos 3, 5, 7, 9, 12, 14, 16, 18 deve diminuir de 5 para 3 ... 4 V. Caso contrário, há erros de instalação ou o chip DD6 está com defeito. Para verificação adicional, conecte o programador ao computador. Os sinais nas linhas da porta LPT durante a operação do programador parecem bastante caóticos na tela do osciloscópio, é difícil julgar a integridade do dispositivo por seu formato. Recomenda-se executar um programa de teste atmeltst.exe. Em resposta ao prompt que aparece na tela, digite o número da porta LPT à qual o programador está conectado (1 ou 2), após o qual a tela do monitor assumirá a forma mostrada na fig. 2. O programa fornece acesso a qualquer um dos quatro registradores DD2-DD5, permitindo que você escreva quaisquer códigos binários de oito bits neles. A sequência recomendada de ações será solicitada pelo texto na parte inferior da tela. Por exemplo, para verificar a passagem dos códigos de controle, selecione a linha "Sinais de teste F3, C0-C2" na tela e verifique os níveis lógicos nas saídas do chip DD2 usando um osciloscópio ou voltímetro. Todos eles devem ser baixos e mudar para alto quando você pressiona as teclas correspondentes F1-F8. Ao manipular o estado dos bits, eles verificam a passagem dos sinais pelos circuitos do programador de acordo com seu esquema. Por exemplo, um nível baixo no pino 19 DD2 (ordem alta do registro) deve corresponder a um nível alto no pino 18 DD7 e uma tensão de 5 V na saída do estabilizador DA2. Após pressionar a tecla F8, a tensão deve aumentar para 12 V e ao mesmo tempo o brilho do LED HL2 deve aumentar. Depois de pressionar a tecla F8 novamente, a tensão e o brilho devem retornar aos valores anteriores. Outros registradores e os circuitos conectados às suas saídas são verificados de maneira semelhante. PROGRAMAÇÃO O pacote gratuito de software de manutenção do programador da Atmel pode ser encontrado no site da Atmel em Os programas incluídos no pacote são adequados para gerenciar tanto os "proprietários" quanto os oferecidos pelos programadores. No entanto, é melhor usar um programa russificado at89.exe. Com sua ajuda, você pode programar todos os microcontroladores da série AT89 com uma interface paralela, incluindo AT89C4051, AT89C55, AT89S51, AT89S52, AT89S53, "não coberto" pelo pacote proprietário. O programa determina automaticamente o tipo de microcontrolador instalado em um dos painéis, analisando para isso sua assinatura - dois ou três bytes especialmente gravados na memória permanente. A lista de assinaturas de microcontroladores da família AT89 é fornecida na tabela. Se todos os bytes da assinatura forem iguais a 0FFH, o microcontrolador está faltando no painel ou o microcontrolador está com defeito e possivelmente o programador não está ligado. O algoritmo de programação e a lista de chaves que controlam o processo permanecem inalterados. O ambiente operacional recomendado é o MS DOS. Os usuários do Windows devem executar o programa após reiniciar o computador no modo MS DOS ou definir esse modo nas propriedades do arquivo. Caso contrário, a programação dos microcircuitos deverá ser repetida três ou quatro vezes seguidas até que as mensagens de erro de verificação parem. Todo o processo de programação não leva mais que um ou dois minutos, e o carregamento real da memória FLASH leva no máximo 10 ... 15 s. Os comandos, cuja lista é exibida na tela do monitor, são dados pressionando as teclas com as letras do alfabeto latino. Maiúsculas ou minúsculas) não importa. O nome do arquivo binário, cujos dados devem ser carregados na memória do microcontrolador, é inserido após o comando "Ler arquivo" ser fornecido. O conteúdo desta memória pode ser lido preliminarmente e salvo em um arquivo semelhante (o comando "Gravar no arquivo"). Ao verificar o conteúdo da memória com dados de um arquivo (o comando "Verificar com arquivo"), mensagens semelhantes às seguintes podem aparecer na tela: Na célula FLASH 039A = FF?! 6B Isso significa que na célula de memória FLASH (memória de programa) do microcontrolador no endereço 39AH, o código 0FFH é escrito em vez de 6BH especificado no arquivo. SUBSTITUIÇÃO DO ESTABILIZADOR DA2 Quando alimentado por um adaptador CA de baixa potência e uma tensão de rede reduzida, apenas 12 ... 13 V podem ser fornecidos ao programador.Para o estabilizador DA1, esta situação é favorável (menos energia é dissipada nele). Mas o estabilizador DA2 pode sair do modo operacional, fazendo com que a tensão fornecida ao microcontrolador programável caia abaixo dos 11,5 V permitidos. A experiência mostra que os microcircuitos Atmel são programados com sucesso mesmo em 10,5 V. No entanto, isso não pode ser garantido. Se você usar o chip KR1184EN2 ou seu protótipo LP2951CL da National Semiconductor no estabilizador (disponível em muitas placas-mãe de computador), poderá obter uma operação confiável do programador quando a tensão de alimentação for reduzida para 11,8 V. O estabilizador é montado de acordo com o esquema mostrado na Fig. 3 e ligados aos mostrados na fig. 1 pontos A, B e C. Chip DA2, transistor VT2, resistores R18-R21 e capacitor C14 do programador devem ser excluídos. O diodo VD1 (veja a Fig. 3) em um nível lógico alto no ponto A é fechado e a tensão de saída de 5 ± 0,03 V define um divisor de tensão de precisão localizado dentro do microcircuito DA1. Em um nível baixo no ponto A, o diodo está aberto, os resistores R1 e R2 desviam um dos braços do divisor interno. A tensão de saída sobe para 12 V (é regulada por um resistor de corte R2). O capacitor C1 suprime picos de tensão durante transientes. Sua capacitância (semelhante ao capacitor C14 na Fig. 1) não deve ser muito grande. O microcircuito KR1184EN2 possui um detector interno de queda de tensão de saída, que é acionado quando diminui mais de 5% do valor definido. Como resultado, o transistor VT1 abre e o LED HL1 acende. A capacidade de carga da saída é pequena, portanto o valor do resistor R4 não pode ser reduzido. Se o chip KR1184EN2 (LP2951CL) não puder ser adquirido, o estabilizador no chip DA2 (consulte a Fig. 1) pode ser substituído por um nó, cujo diagrama é mostrado na Fig. 4. A queda mínima de tensão será de 0,15 ... 0,2 V a uma corrente de carga de 20 mA. A corrente do coletor do transistor VT4 com o valor do resistor R5 indicado no diagrama não pode ultrapassar 50 mA, o que possibilita a não instalação deste transistor em um dissipador de calor. Em um nível lógico baixo no ponto A, o transistor VT1 está aberto e a tensão de saída do estabilizador é de 12 V (regulada por um resistor de ajuste R1). Em um nível alto e um transistor fechado, diminuirá para 5 V. Os resistores R7 e R8 devem ter um desvio máximo do valor nominal de não mais que 1% ou ser selecionados com tal precisão. O chip KR142EN19 pode ser substituído por um TL431CLP analógico importado. Programas e desenhos da placa de circuito impresso do programador Literatura
Autor: S.Ryumik, Chernihiv, 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: ▪ Projetor a laser Epson Pro L30000UNL ▪ A luz se apagou - o ar ficou mais limpo Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Parâmetros, análogos, marcação de componentes de rádio. Seleção de artigos ▪ artigo de Johann Gaug. Aforismos famosos ▪ artigo Lubrificação separada de um motor de dois tempos. transporte pessoal ▪ artigo Melhorando o prescaler de frequência. 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 |