Baixe o app para aproveitar ainda mais
Prévia do material em texto
Considerações sobre Lógica Programável Docente: EWERTON DE OLIVEIRA FIGUEIRÔA FACULDADE ESTÁCIO DO RECIFE CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Embarcados Recife, 18de Fevereiro de 2016 Contextualização Prof. Ewerton Figueirôa A crescente evolução do mercado de circuitos eletrônicos é visível. Um exemplo para esta afirmação é o mercado mundial, influenciado drasticamente pela produção de componentes eletrônicos nos países chamados de tigres asiáticos e no vale do silício. Contextualização Prof. Ewerton Figueirôa Os Tigres Asiáticos: Inicialmente: Hong Kong, Taiwan, Cingapura e Coréia do Sul. Incorporados: Malásia, Tailândia e Indonésia. Contextualização Prof. Ewerton Figueirôa O Vale do Silício: Contextualização Prof. Ewerton Figueirôa Pode-se citar alguns pontos na história da eletrônica que foram marcantes para sua evolução: 1. A invenção da válvula; Os computadores da primeira geração (de 1952 a 1957) são caracterizados pela grande importância dedicada à capacidade e velocidade de cálculo em detrimento da velocidade de Input/Output. Estes computadores utilizavam tubos de vácuo (válvulas) e eram programados em linguagem Assembler. Contextualização Prof. Ewerton Figueirôa 2. A criação dos Transistores: Os computadores da segunda geração (de 1958 a 1963) utilizavam transístores em substituição das válvulas da primeira geração e apresentavam memórias internas de maior capacidade, constituídas por toros magnéticos de ferrite. É nesta geração que surgem as chamadas linguagens de programação de alto nível como por exemplo: Cobol, Fortran e Algol. Contextualização Prof. Ewerton Figueirôa 2. A criação dos Transistores: O transistor é um componente de circuito elétrico que se tornou popular nos anos de 1950, sendo ele o grande responsável pela revolução da eletrônica. Uma de suas principais funções é a de aumentar e chavear os sinais elétricos. Contextualização Prof. Ewerton Figueirôa 2. A criação dos Transistores: O transistor é basicamente um substituto das antigas válvulas eletrônicas. Sua aplicação é vantajosa, pois o custo de fabricação é menor, ele gasta menos energia que as antigas válvulas e suas dimensões são muito reduzidas. Atualmente o chips de processadores possuem milhões de nano transistores. Contextualização Prof. Ewerton Figueirôa 2. A criação dos Transistores: Contextualização Prof. Ewerton Figueirôa 3. A evolução para Circuitos Integrados (CI); A terceira geração (desde 1964) engloba avanços tecnológicos importantes, como a miniaturização elevada de circuitos integrados ( L.S.I. - Large Scale Integration) que permitem uma elevada capacidade e velocidade dos equipamentos. Surgem os chips que são pequenas pastilhas de circuitos integrados, constituídos por transístores e outros microcomponentes electrónicos. É nesta geração que é possível, através do desenvolvimento do software, a utilização de multiprogramas, multiprocessamento e do teleprocessamento. Contextualização Prof. Ewerton Figueirôa 3. A evolução para Circuitos Integrados (CI); Em eletrônica, um circuito integrado (também conhecido como CI, microchip ou chip) é um circuito eletrônico miniaturizado (composto principalmente por dispositivos semicondutores) sobre um substrato fino de material semicondutor. Contextualização Prof. Ewerton Figueirôa 3. A evolução para Circuitos Integrados (CI); Contextualização Prof. Ewerton Figueirôa 4. A construção de Microprocessadores; A quarta geração ( a partir de 1975, e até aos nossos dias) com utilização da técnica V.L.S.I. (Very Large Scale Integration),em que os circuitos ainda se tornarão mais compactos. Surgem os microprocessadores(processadores totalmente contidos num chip). Contextualização Prof. Ewerton Figueirôa Muitas são as empresas que hoje se dedicam à construção e comercialização dos principais computadores da 4º geração, nas mais variadas classes. Entre os principais construtores podemos citar: IBM, Digital, Unisys, Olivetti, Apple, Toshiba , Data General e muitos outros. Espera-se brevemente o lançamento dos computadores da 5º geração com novas tecnologias de fabrico ( supercondutores, etc) e novas arquitecturas optimizadas com múltiplos CPUs, processadores integrados de voz e de imagem, bancos de dados relacionais, sistemas integrados de inteligência artificial,etc. Contextualização Prof. Ewerton Figueirôa Porém, muitos autores citam que a verdadeira virada no mercado eletrônico do século XX foi a criação dos circuitos de aplicação específica e o aperfeiçoamento do hardware reconfigurável dos Dispositivos Lógicos Reprogramáveis (Programmable Logic Device - PLD). Contextualização Prof. Ewerton Figueirôa A promessa da computação reconfigurável é um “hardware virtual”, podendo emular vários sistemas complexos de forma transparente ao usuário. Contextualização Prof. Ewerton Figueirôa Os circuitos integrados digitais implementados em pastilha de silício podem ser classificados como circuitos digitais padrão ou circuitos digitais de aplicações específicas ASICs (Aplication Specific Integrated Circuits). “Os circuitos padrões são constituídos por portas lógicas (AND,OR,NOT e Flip – Flops) e necessitam de vários componentes externos para a realização de uma função específica. Os circuitos integrados ASICs são aqueles que precisam de um processo de fabricação especial, que requer máscaras específicas para cada projeto”. Contextualização Prof. Ewerton Figueirôa Características dos circuitos integrados ASICs: 1. Requer máscaras específicas para cada projeto; 2. Tempo de desenvolvimento longo; 3. Altos custos de implantação. Contextualização Prof. Ewerton Figueirôa O desenvolvimento de projeto de circuitos digitais tem evoluído rapidamente nas últimas décadas. A utilização da ferramenta de software denominada EDA (Eletronic Design Automation) e o aperfeiçoamento dos PLDs (Programmable Logic Devices) têm simplificado e acelerado todo o ciclo de projeto. Contextualização Prof. Ewerton Figueirôa Mas o que são PLDs? Os PLD são circuitos integrados que podem ser configurados pelo próprio usuário. Não apresentam uma função lógica definida, até que sejam configurados. Possuem, como principal característica, a capacidade de programação das funções lógicas pelo usuário, eliminando-a do processo de fabricação do circuito integrado, o que facilita, assim, as prováveis mudanças de projeto. Contextualização Prof. Ewerton Figueirôa Os controladores lógicos programáveis disponíveis no mercado brasileiro utilizam na sua arquitetura microcontroladores e circuitos integrados de aplicações específicas ASICs. Esses microcontroladores, para executar seus programas de controle, necessitam realizar ciclos de busca e execução de instrução. O ciclo de busca da instrução não está diretamente relacionado com o processo no qual o controlador lógico programável está inserido, mas é a condição determinante para o microcontrolador executar o programa que está carregado na memória. Contextualização Prof. Ewerton Figueirôa Conclusões: 1. Essa necessidade de busca da instrução demanda tempo do microcomputador, que poderia estar sendo utilizado na execução de tarefas pertinentes ao processo. 2. Os microcontroladores são componentes extremamente flexíveis devido a sua programabilidade. Essa programação permite sua aplicação em diversos tipos de controles industriais. Contextualização Prof. Ewerton Figueirôa A execução deum algoritmo de controle depende de seu software, armazenado em memória, que será executado numa arquitetura baseada em microprocessador, com ciclo de buscas e execução das instruções. Numa arquitetura baseada em dispositivo lógico programável, por exemplo, FPGA (Field Programmable Gate Array),um algoritmo de controle é implementado por hardware, sem a necessidade de ciclos de busca e execução de instruções. Contextualização Prof. Ewerton Figueirôa O problema básico a ser resolvido é a implementação de uma arquitetura eficiente, baseada em lógica programável estruturada, para execução desse algoritmo de controle, em vez de compilá-lo para sua execução em microprocessador. Contextualização Prof. Ewerton Figueirôa A tarefa que faz a tradução de um algoritmo para uma arquitetura de hardware eficiente é denominada síntese. A síntese cria uma arquitetura com células lógicas que executam as operações do algoritmo, sem a necessidade de se gerar e decodificar instruções. Uma das grandes vantagens da utilização de dispositivos lógicos programáveis nessa nova arquitetura proposta é a possibilidade de se definir vários blocos de hardware, que operam em paralelo, aumentando muito a capacidade computacional do sistema. Contextualização Prof. Ewerton Figueirôa Os dispositivos lógicos programáveis (PLDs) foram os dispositivos eletrônicos que possibilitaram a implementação de Lógica Programável Estruturada. Os PLDs podem ser classificados em função de portas lógicas que comportam, conforme abaixo: 1. SPLDs (Simple Programmable Logic Devices): 2. HCPLDs (High Complex Programmable Logic Devices) SPLDs (Simple Programmable Logic Devices): Prof. Ewerton Figueirôa São dispositivos simples e de baixa capacidade, que tipicamente contêm menos de 600 portas lógicas, fabricados com tecnologia CMOS. HCPLDs (High Complex Programmable Logic Devices): Prof. Ewerton Figueirôa São dispositivos de alta capacidade, que tipicamente contêm mais de 600 portas lógicas; os mais modernos podem atingir cerca de 250.000 portas e englobam os dispositivos CPLDs (Complex Programmable Logic Devices) e FPGAs (Field Programmable Gate Arrays), todos fabricados com tecnologia CMOS. SPLDs (Simple Programmable Logic Devices): Prof. Ewerton Figueirôa Os PLAs (Programmables Logic Arrays) foram os primeiros Dispositivos Lógicos Programáveis Simples (SPLDS) criados especificamente para a implementação de circuitos lógicos. Introduzidos pela empresa Philips no início de 1970, esses dispositivos consistem em dois níveis de portas lógicas: um plano de portas AND seguido por um plano de portas OR, ambos programáveis. Um PLA é estruturado de forma que cada saída do plano AND pode corresponder a qualquer produto das entradas. Da mesma forma, cada saída do plano OR pode ser configurada para produzir a soma lógica de quaisquer saídas do plano AND. PLAs (Programmables Logic Arrays Prof. Ewerton Figueirôa PLAs (Programmables Logic Arrays) Prof. Ewerton Figueirôa Características: Em virtude da estrutura montada, os PLA são adequados para as implementações de funções lógicas na forma de produtos de soma, e eles se apresentam muito versáteis, pois tanto os termos AND como os termos OR podem possuir muitas entradas. (Vantagens). Entretanto, essa tecnologia também apresenta problemas como alto custo de fabricação e baixo desempenho em termos de velocidade. Essas desvantagens existem devido aos dois níveis de lógica configurável. Os planos lógicos programáveis são difíceis de serem fabricados e introduzem atrasos significativos de propagação dos sinais elétricos. (Desvantagens) PAL ( Programmable Array Logic ) Prof. Ewerton Figueirôa A tecnologia PAL ( Programmable Array Logic ) foi então desenvolvida para suprir deficiências apresentadas pela tecnologia PLA. Os PALs apresentam um único plano AND configurável, figura 2, custo menor e melhor desempenho. PAL ( Programmable Array Logic ) Prof. Ewerton Figueirôa HCPLDs (High Complex Programmable Logic Devices): Prof. Ewerton Figueirôa Quanto maior o número de portas de um PLD, maior será a sua complexidade. Os Dispositivos Lógicos de Alta Complexidade (HCPLD) dividem-se basicamente em dois grupos: CPLD e FPGA. Definição Prof. Ewerton Figueirôa Sistemas embarcados estão relacionados ao uso de hardware (eletrônica) e software (instruções) incorporados em um dispositivo com um objetivo predefinido. A diferença entre um sistema embarcado e um computador de propósito geral está justamente na objetividade. Computadores como PCs, notebooks e afins são máquinas multiobjetivo, ou seja, foram criadas e dimensionadas para atuar num domínio de funções muito grande. Já os Sistemas Embarcados ou SEs possuem dimensionamento de recursos direcionado a um domínio de objetivos bem menor, ou mesmo singular Definição Prof. Ewerton Figueirôa Sistemas embarcados estão relacionados ao uso de hardware (eletrônica) e software (instruções) incorporados em um dispositivo com um objetivo predefinido. A diferença entre um sistema embarcado e um computador de propósito geral está justamente na objetividade. Computadores como PCs, notebooks e afins são máquinas multiobjetivo, ou seja, foram criadas e dimensionadas para atuar num domínio de funções muito grande. Já os Sistemas Embarcados ou SEs possuem dimensionamento de recursos direcionado a um domínio de objetivos bem menor, ou mesmo singular Modelo de subdivisão de um sistema embarcado Prof. Ewerton Figueirôa Destrinchando um projeto de SE, normalmente encontramos um subdivisão clara, que corresponde as seguintes partes que compõem um SE: 1. Unidade de processamento; 2. Memória; 3. Periféricos. Modelo de subdivisão de um sistema embarcado Prof. Ewerton Figueirôa Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Unidade de processamento: Executa as instruções (software/firmware) responsáveis por realizar cálculos, tomar decisões e tratar eventos (como aquele do botão do elevador). Possui normalmente a arquitetura elementar clássica de um processador de computador convencional, como a Unidade lógica/Aritmética (ULA), Unidade de controle (UC), registradores, etc. Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Unidade de processamento: Unidade lógica/Aritmética (ULA): A unidade lógica e aritmética pode realizar diversas operações, entre elas: Adição Subtração Operações lógicas (E, OU, XOR, INVERSÃO) Deslocamento (à esquerda e à direita) Comparação. As unidades aritméticas e lógicas mais modernas realizam também as operações de multiplicação e divisão. As operações são realizadas pela leitura de dois registradores fontes do banco de registradores, e com a escrita do resultado no registrador de destino. Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Unidade de processamento: Unidade lógica/Aritmética (ULA): Quanto ao desing as ULAs podem ser: Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa 1. Accumulator: Geralmente esta arquitetura é utilizada em calculadoras de mão. Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Quanto as principais operações: 1. NOT; 2. Inversão; 3. AND – E lógico; 4. OR – OU lógico; 5. XOR – OU exclusivo; 6. Shift ; 7. +, -, *, / ; 8. =, >, < e etc.Operadores Booleanos Prof. Ewerton Figueirôa Representação de Grandeza com Sinal Prof. Ewerton Figueirôa O tipo de representação vai depender do projeto a ser realizado. Pode ser utilizada representações com 8 bits variando de 0 a 255, ou de -127 a +127, conforme representação que segue abaixo. Representação de Grandeza com Sinal Prof. Ewerton Figueirôa O bit mais significativo representa o sinal: 0 (indica um número positivo) e o bit 1 (indica um número negativo). Os demais bits representam a grandeza (magnitude). O valor dos bits usados para representar a magnitude independe do sinal (sendo o número positivo ou negativo, a representação binária da magnitude será a mesma). Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Unidade de processamento: Unidade de Controle (UC): É a unidade que armazena a posição de memória que contém a instrução que o computador está executando nesse momento. Ela informa à ULA qual operação a executar, buscando a informação (da memória) que a ULA precisa para executá-la. Depois, transfere o resultado de volta para o local apropriado da memória. A seguir, a unidade de controle vai para a próxima instrução Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa A memória armazena dados e instruções relacionados às operações da unidade de processamento. As instruções e dados podem dividir a mesma memória, como nos PCs (arquitetura Von Neumann) ou separados em memórias distintas (arquitetura Harvard), sendo a segunda a mais comum em Sistemas Embarcados. Componentes de um Sistema Embarcado Prof. Ewerton Figueirôa Os periféricos são as interfaces da unidade de processamento com o mundo externo, trazendo ou enviando informações para ele. Um exemplo de um periférico seria um conversor analógico/digital acoplado a um sensor térmico que converte a temperatura de um ambiente em números binários para que a unidade de processamento consiga interpretar e processar a informação. Objetivo de um Sistema Embarcado Prof. Ewerton Figueirôa O objetivo de um sistema embarcado é o de controlar processos, em outras palavras, atuar sobre um problema. Um processo pode ir de um simples acender e apagar de lâmpadas automatizado, até gerenciamento autônomo de um avião (piloto automático). Isso é feito por intermédio dos periféricos, que são escalados e dimensionados com base no problema alvo. Arquitetura da Interface com o Processo Prof. Ewerton Figueirôa Sensores e Atuadores em Sistemas Embarcados Prof. Ewerton Figueirôa Sensores são responsáveis em adquirir informação do processo a ser controlado. Essas informações são primordiais para a unidade de processamento, pois com base nelas decisões podem ser tomadas. Bons sensores devem fornecer informação confiável e não promover alterações no processo alvo. Isso significa que um sensor não pode mudar os valores da grandeza física do qual é responsável por medir, como por exemplo diminuir a velocidade de um motor em monitoramento. Sensores e Atuadores em Sistemas Embarcados Prof. Ewerton Figueirôa Isso na prática pode difícil de conseguir dependendo da tecnologia do sensor (contato mecânico por exemplo). Exemplos desses tipos de periféricos são sensores de temperatura (termistores), pressão (piezos), contato (chaves mecânicas), toque (touchscreen), distância (sonar/infravermelho), movimento (acelerômetros), óticos (câmeras), etc. Esses são periféricos que enviam informação do processo para o SE. Sensores e Atuadores em Sistemas Embarcados Prof. Ewerton Figueirôa Atuadores proporcionam ao Sistema Embarcado a habilidade de intervir no meio onde atua. Como o próprio nome diz, são dispositivos que realizam ações que interferem no processo em controle, como motores, ventiladores, luzes, aquecedores, resfriadores, chaveadores, etc. Esses são periféricos que enviam informação do Sistema Embarcado para o processo. Sensores e Atuadores em Sistemas Embarcados Prof. Ewerton Figueirôa Normalmente a unidade de processamento toma a decisão de acionar os atuadores com base nas informações recebidas dos sensores, isso é conhecido como sistema em malha fechada ou sistema realimentado. Outra forma também usada para acionar os atuadores é com base no tempo, em um sistema conhecido como malha aberta, onde não há informações advindas do processo (não há sensores nele). Prof. Ewerton Figueirôa
Compartilhar