ciclo de scan

ciclo de scan

(Parte 1 de 3)

Novatec Editora

César da Costa

Projetando Controladores Digitais com FPGA

Capítulo 1 Introdução

No primeiro capítulo é feita uma introdução geral sobre controladores digitais baseados em microprocessador tradicional, seu princípio de funcionamento, ciclo de trabalho da CPU, tempos típicos de processamento, tempos de atraso, técnicas de programação e a linguagem Ladder. O objetivo deste capítulo não é ensinar o leitor a projetar controladores digitais microprocessados, mas sim apresentar algumas características de seu funcionamento, que auxiliarão os leitores no desenvolvimento de sistemas de controle digitais.

1.1 Controladores digitais tradicionais

Podem-se dividir os controladores digitais tradicionais em dois tipos: controladores digitais dedicados e controladores lógicos programáveis, também conhecidos como CLPs.

Os controladores digitais dedicados são basicamente aplicações de microcontroladores em tarefas de controle, cujo propósito específico é executar um algoritmo de controle gravado em sua memória ROM e, em geral, comunicar-se com dispositivos externos para troca de informações e atuação neles. São, por exemplo, a medição e o controle de temperatura, ligar /desligar motores, ler um teclado em sua entrada etc. Programa-se a ROM com códigos de máquina ou linguagem Assembler. O projetista deve conhecer bem o conjunto de instruções do microcontrolador utilizado, seu hardware e a tarefa de controle a ser realizada.

O desenvolvimento de software em linguagem de baixo nível (Assembler), para controladores digitais dedicados, é muito intuitivo e pessoal; raramente os projetistas envolvidos desenvolvem seus programas dentro das regras de programação estruturada.

Tal fato destaca a dificuldade de alteração do projeto pelo usuário final; sempre há necessidade da presença do projetista original, o que comercialmente pode ter suas vantagens para o fabricante do controlador. Entretanto, do ponto de vista técnico, contraria a grande flexibilidade oferecida pelos controladores lógicos programáveis (CLPs), ou seja, para um mesmo hardware existe uma infinidade de aplicações especificadas em software, passíveis de alterações pelo usuário final.

O desenvolvimento dos controladores lógicos programáveis (CLPs) começou em 1968, em resposta a uma requisição de engenharia da Divisão Hidramática da General Motors (GM). Naquela época, a GM freqüentemente passava dias, ou até semanas, alterando os sistemas de controle baseados em relés, sempre que ocorriam mudanças em um modelo de carro ou eram introduzidas modificações na linha de montagem.

Para reduzir o alto custo de instalação decorrente dessas alterações, a especificação do controlador digital necessitava de um sistema de estado sólido, microprocessado, com a flexibilidade de um computador, mas que pudesse ser programado e mantido pelos engenheiros e técnicos do chão de fábrica. Também era preciso que suportasse o ar poluído, a vibração, o ruído elétrico e os extremos de umidade e temperatura encontrados normalmente num ambiente industrial.

O CLP é um dispositivo de estado sólido, microprocessado, capaz de armazenar instruções para a implementação de funções de controle, tais como seqüência lógica, temporização e contagem, além de realizar operações lógicas e aritméticas, manipulação de dados e comunicação em rede.

A Figura 1.1 ilustra a arquitetura básica de um CLP, formado por uma fonte de alimentação, uma Unidade Central de Processamento (CPU), um sistema de memória e circuitos de entrada e saída.

VCC X0

Fonte de alimentação

Sistema de memória

Unidade Central de Processamento (CPU)

Isolamento ópticoIsolamento óptico

Elementos de saídaElementos de entrada Figura 1.1 – Arquitetura básica de um CLP.

17Capítulo 1• Introdução

A fonte de alimentação é o componente responsável pelo fornecimento adequado de energia elétrica para a CPU e para os circuitos de entrada e saída.

Os circuitos de entrada formam a interface pela qual os dispositivos enviam informações de campo para o CLP. As entradas podem ser digitais ou analógicas e são provenientes de elementos de campo, como sensores, botões, pressostatos, chaves fim-de-curso etc.

Os dispositivos de saída, tais como solenóides, relés, contatores, válvulas, luzes indicadoras e alarmes, estão conectados aos circuitos de saída do CLP. As saídas, de maneira similar às entradas, podem ser digitais ou analógicas e são geralmente isoladas do campo por meio de isoladores galvânicos, como acopladores ópticos e relés.

O sistema de memórias é constituído tipicamente por memórias ROM e RAM.

O programa e os dados armazenados no sistema de memória são geralmente descritos a partir dos seguintes conceitos:

• Memória residente (ROM): contém os programas considerados parte integrante do sistema, permanentemente armazenados, que supervisionam e executam a seqüência de operações, as atividades de controle e a comunicação com os dispositivos periféricos, bem como outras atividades.

• Memória do usuário (RAM): armazena o programa aplicativo do usuário, ou seja, o programa de aplicação.

• Memória de dados ou tabela de dados (RAM): nessa área são armazenados os dados associados ao programa de controle, tais como valores de temporizadores, contadores, constantes etc.

• Memória imagem das entradas e saídas (RAM): área que reproduz o estado de todos os dispositivos de entrada e saída conectados ao CLP.

A CPU do CLP é formada pelo microprocessador e seus circuitos de controle e comunicação. O microprocessador é o elemento principal da arquitetura do controlador digital e tem como funções o controle dos barramentos, o gerenciamento das comunicações com a memória e os dispositivos de entrada e saída, e a execução das instruções.

O microprocessador interpreta os sinais de entrada, executa a lógica de controle segundo as instruções do programa de aplicação, realiza cálculos e executa operações lógicas, para, em seguida, enviar os sinais apropriados às saídas. De um modo simplificado, o ciclo de instrução do microprocessador utiliza a seqüência de atividades apresentadas na Figura 1.2.

Reset

Carrega o PC com o endereço inicial PC = 0

Busca a instrução na memória, cujo endereço é o conteúdo do PC

Incrementa o PC PC = PC + 1

Decodifica a instrução

Executa a instrução

Início

Busca a próxima instrução

Figura 1.2 – Ilustração do ciclo de busca e execução de instrução.

Durante o ciclo de instrução, o microprocessador busca as instruções armazenadas na memória e executa cada uma delas. A execução do programa consiste na repetição seqüencial do processo de busca e execução das instruções.

Pode-se justificar a divisão do processamento da instrução em dois principais estágios, da seguinte forma:

1. a busca da instrução é uma operação comum para cada instrução, consiste na leitura de uma localização de memória e o posterior carregamento do seu conteúdo no registro de instrução;

2. a execução da instrução pode envolver várias operações e depende da natureza da instrução.

A Figura 1.3 apresenta um diagrama de tempos envolvidos na execução de um ciclo de instrução. Nota-se que o ciclo de instrução é igual à soma do ciclo de busca com o ciclo de execução; o ciclo de máquina M corresponde ao tempo que o microprocessador leva para acessar um endereço de memória ou um dispositivo de entrada e saída, e o estado T é um período de tempo que está vinculado ao clock do sistema. Também é a unidade de tempo que determina o tempo consumido na execução do ciclo de instrução.

19Capítulo 1• Introdução M1 M2 M3 M4 M5 M6

T12T11T10T9T8T7T5T3 T4 T6T2T1

Ciclo de buscaCiclo de execução Figura 1.3 – Tempos envolvidos no ciclo de instrução.

Ao se analisar o diagrama de tempo da Figura 1.3, verifica-se que o ciclo de busca consome cerca de 40% dos estados totais de um ciclo de instrução, em uma tarefa que não está diretamente relacionada com o controle do processo, no qual o microprocessador está inserido.

(Parte 1 de 3)

Comentários