Filtros Digitais Reconfiguráveis

Tamanho: px
Começar a partir da página:

Download "Filtros Digitais Reconfiguráveis"

Transcrição

1 Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas - NCET Engenharia da Computação Eli Renato Barbosa Filtros Digitais Reconfiguráveis Curitiba 2006

2 Centro Universitário Positivo UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação Eli Renato Barbosa Filtros Digitais Reconfiguráveis Monografia apresentada à disciplina de Projeto Final, como requisito parcial à conclusão do curso de Engenharia da Computação. Orientador: Prof. Valfredo Pilla Jr. Curitiba 2006

3 Termo de Aprovação Eli Renato Barbosa Filtros Digitais Reconfiguráveis Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação do Centro Universitário Positivo, pela seguinte banca examinadora: Prof. Valfredo Pilla Junior (Orientador) Prof. Roberto Selow Prof. Alessandro Brawerman Curitiba, 11 de Dezembro de 2006

4 Agradecimentos Aos meus pais, Pedro e Diva pelo apoio em todo percurso na busca deste objetivo. A todos os professores do curso, em especial ao orientador Prof. Valfredo pela dedicação e paciência. À minha namorada, Mahanna Costa que durante anos sempre cobrou minha dedicação em busca desta formação. Aos meus amigos, Pedro Gonzaga, Kielse Nodari e Fábio Faria, que não deixaram de expressar seu apoio. Aos chefes e também amigos Abner Fernandes e Manoel Costa que sabem a importância profissional deste curso em prol da qualificação de seus funcionários e não hesitaram em permitir horas de ausência do trabalho para conclusão deste projeto. A todos aqueles cujos nomes por ventura não tenham sido aqui mencionados.

5 Sumário Lista de Figuras... vii Lista de Tabelas... ix Lista de Siglas... x Resumo... xi Abstract... xii 1. INTRODUÇÃO FUNDAMENTAÇÃO TEÓRICA Filtros digitais Filtros digitais FIR Filtros digitais IIR FPGA Arquitetura Cyclone Arranjo de Blocos Lógicos (LAB) Interconexão MultiTrack Memória embutida (M4KRAM) Rede de clock global Recursos das ferramentas de desenvolvimento da Altera Resumo das características dos dispositivos de configuração da Altera VHDL História de VHDL Linguagem de Descrição de Hardware Introdução ao MATLAB Implementando algoritmos DSP em FPGAs Introdução ao Quartus II ESPECIFICAÇÃO Módulo de Software Módulo de Hardware Interface JTAG...27 v

6 Interface Paralela Validação do projeto Previsão de Custos Cronograma PROJETO Requisitos mínimos de funcionamento Projeto de Hardware Conversores Analógico-Digital e Digital Analógico FPGA Projeto de Software MatLab Software para carregar dados no FPGA RESULTADOS Filtro FIR Filtro IIR CONCLUSÃO REFERÊNCIAS...53 vi

7 Lista de Figuras Figura 1: Estrutura de um filtro digital....3 Figura 2: Amostragem discreta de um sinal analógico, x(t) para x[n]...3 Figura 3: Estrutura para implementar um filtro digital FIR...4 Figura 4: Estrutura para implementar um filtro digital IIR...5 Figura 5: Arquitetura básica de um FPGA....6 Figura 6: Diagrama em blocos dos dispositivos Cyclone...8 Figura 7: Estrutura LAB do Cyclone...9 Figura 8: Conexões de link direto...10 Figura 9: Sinais de controle da LAB...10 Figura 10: Estrutura LE do Cyclone Figura 11: LE no modo normal de operação Figura 12: LE no modo normal de Aritmético Dinâmico Figura 13: Conexões R4 interconnect Figura 14: Sinais de controle do block M4K RAM Figura 15: Interface entre o bloco MK4 RAM e o LAB...15 Figura 16: Geração de clock global...16 Figura 17: Dispositivo de gravação/configuração FPGA...16 Figura 18: Janela principal do MatLab e do Ambiente de desenvolvimento...21 Figura 19: Fases do desenvolvimento de um projeto em FPGA...22 Figura 20: Janela do Quartus II...23 Figura 21: Diagrama em blocos do sistema...25 Figura 22: Cronograma de desenvolvimento do projeto...30 Figura 23: Foto do Hardware...31 Figura 24: Esquemático conversores ADC e DAC...32 Figura 25: Diagrama em blocos completo do filtro FIR...34 Figura 26: Diagrama em blocos completo do filtro IIR...35 Figura 27: Ligação dos pinos da paralela com o FPGA...37 Figura 28: Diagrama de estados para execução do filtro FIR e IIR...39 Figura 29: Curva Resposta Filtro FIR...42 Figura 30: Curva Resposta Filtro IIR...42 Figura 31: Tela principal do software...42 Figura 32: Fluxograma das ações do software...43 vii

8 Figura 33: Curva teórica passa-baixa, fs=1000 Hz, fc=400 Hz e ordem=5,15, Figura 34: Curva experimental passa-baixa, fs=1000 Hz, fc=400 Hz e ordem=5,15,3246 Figura 35: Sinal filtrado do FIR passa-baixa com 50 Hz de entrada...47 Figura 36: Sinal filtrado do FIR passa-baixa com 150 Hz de entrada...47 Figura 37: Curva teórica IIR passa-baixa, fs=1000 Hz, fc=100 Hz e ordem= Figura 38: Sinal filtrado do IIR passa-baixa com 50 Hz de entrada...48 Figura 39: Sinal filtrado do IIR passa-baixa com 150 Hz de entrada...49 Figura 40: Sinal danificado pela limitação do hardware...49 viii

9 Lista de Tabelas Tabela 1: Recursos dos dispositivos Cyclone [ALTERA, 2003]....7 Tabela 2: Recurso de configuração FPGA Tabela 3: Custo estimado do projeto...28 Tabela 4: Datas importantes para o projeto...28 Tabela 5: Pinos utilizados do FPGA...33 Tabela 6: Tipo de dado enviado ao FPGA pela paralela...36 Tabela 7: Estados dos blocos fir e iir...38 ix

10 Lista de Siglas ADC Analogic Digital Converter DAC Digital Analogic Converter DSP Digital Signal Processing FIR Finite Inpulse Response FPGA Field-Programable-Gate-Array IIR Infinite Inpulse Response UnicenP Centro Universitário Positivo NCET Núcleo de Ciências Exatas e Tecnológicas VHDL Very high speed integrated circuits Hardware Description Language LAB Logic Array Block LE Logic Elements I/O Input/Output IOE Input/Output Element RAM Random Access Memory SDRAM Synchronous Dynamic Random Access Memory FCRAM Fast Cycle Random Access Memory DDR Double Data Rate PLL Phase-Locked Loop FDATOOL Filter Design & Analysis Tool FS Frequência de Amostragem FC Frequência de Corte x

11 Resumo Os sinais de uma forma ou de outra fazem parte de nossa vida diária. Assim como nós, humanos, processamos sinais biológicos para falar e ouvir, podemos computacionalmente através de sistemas eletrônicos processar este e outros diferentes tipos de sinais para serem utilizados em diversas áreas. Uma forma de processar os sinais é o processamento digital de sinal (DSP) que é feito por computador ou microprocessadores DSP. Neste caso existe a flexibilidade, pela qual podemos implementar diferentes operações de processamento de sinal, como por exemplo, a filtragem de sinais. O presente trabalho descreve o desenvolvimento de um sistema de filtros digitais reconfiguráveis, fazendo uso de dispositivos de FPGA aliado a um ADC que vem a ser uma alternativa aos microprocessadores DSP, pois também são dispositivos de alta capacidade e desempenho, além da característica intrínseca de ser reconfiguráveis, são de baixo custo. O sistema possui um hardware composto por FPGA para ser programado como filtros digitais, um ADC para captação do sinal e um DAC para geração do sinal já filtrado. Palavras-chave: DSP, Filtro Digital, FPGA, Computação Reconfigurável. xi

12 Abstract The signals of one form or of another one they are part of our daily life. As well us, human beings we process biological signals to speak and to hear, we can computational through electronic systems process this and other different types of signals to be used in several area. A form to process the signals is the digital signal processing (DSP) that is made by computer or microprocessors DSP. In This case, exists the flexibility, for which we can implement different operations of signal processing, as for example, the filter of signals. The present work has as objective the development of a system of digital filter reconfigurable, using one FPGA device with a ADC that comes to be an alternative to microprocessors DSP, because also are devices of high capacity and performance, beyond the intrinsic characteristic of being you reconfigurable and also of low cost. The system is composed by one hardware for FPGA to be programmed as digital filters, ADC for captation of the signal and one DAC for generation of the filtered signal. Palavras-chave: DSP, Digital Filter, FPGA, Reconfigurable Computing. xii

13 1 1. INTRODUÇÃO Os sinais de uma forma ou de outra, constituem um ingrediente básico de nossa vida diária. Por exemplo, uma forma comum de comunicação humana se desenvolve através do uso de sinais de fala, seja na conversação frente a frente ou por um canal telefônico. Neste exemplo, o processamento do sinal da fala recorre ao uso de nossos ouvidos e aos caminhos auditivos em nosso cérebro, ou seja, os sistemas responsáveis pela produção e recepção dos sinais são de natureza biológica. Eles também poderiam ser executados usando sistemas eletrônicos que tentam simular ou imitar suas contrapartes biológicas. As operações de sinais envolvidas na construção de diferentes sistemas como, por exemplo, sistemas de comunicação, controle, sensoriamento remoto e processamento de sinais biológicos podem ser feitos de duas formas: processamento analógico de sinais ou processamento digital de sinais. O processamento digital de sinais é feito por computador ou microprocessadores DSP. Neste caso, existe a flexibilidade pela qual podemos implementar diferentes operações de processamento de sinal (por exemplo, filtragem de sinais) simplesmente fazendo-se modificações no software. Para implementar estas operações, é necessário projetar um sistema que será programado em um hardware para realizar a função de interesse [HAYKIN, 2001]. Os microprocessadores INTEL, comumente encontrados nos computadores pessoais (PC), são sistemas com características de uso geral, podendo executar um grande número de funções, atendendo assim um maior número de usuários que fazem uso de computadores pessoais para suas atividades [VILLASENOR, 1997]. No entanto o uso do PC para processamento de sinais não se apresenta como uma boa solução, pois o ideal é o desenvolvimento de uma aplicação específica buscando maximizar a performance do sistema. Contrário aos microprocessadores de uso geral podemos destacar os microprocessadores DSP que são específicos para o processamento digital de sinais. Os microprocessadores DSP atuais apresentam desempenho e capacidade cada vez maior, mas ainda assim a complexidade crescente necessária a implementação de algoritmos de diferentes sistemas, exige um número cada vez maior de processadores DSPs convencionais, aumentando muito o custo destas soluções [ALTERA, 2005]. A principal alternativa disponível hoje para implementar sistemas de DSP de alto desempenho, é a utilização de FPGAs. A principal característica desta alternativa é a

14 2 possibilidade de executar sistemas com capacidade de processamento e ordens de grandeza comparadas com a implementação destes sistemas utilizando microprocessadores DSPs convencionais, em um único dispositivo e a um custo muito menor [ALTERA, 2005]. Além destas vantagens os FPGAs, permitem a utilização de computação reconfigurável, assim eles podem ser modificados em praticamente qualquer momento durante seu uso. O presente trabalho possibilita o desenvolvimento de um sistema DSP, mais precisamente, filtros digitais utilizando computação reconfigurável através de um FPGA. Os filtros digitais podem ser divididos em duas classes básicas, filtros FIR (Resposta ao impulso finita) e IIR (Resposta ao impulso infinita), o FPGA poderá ser reconfigurado para trabalhar com estas duas classes. As expressões genéricas que representam estas classes utilizam coeficientes que determinam à filtragem realizada, como por exemplo, passa-baixa e passa-alta. Utilizando o software MatLab da MathWorks, os filtros serão projetados, simulados e os coeficientes serão gerados. Com o auxílio do software Quartus II da Altera, as expressões dos filtros digitais FIR e IIR são programadas no FPGA na linguagem de hardware VHDL. O Quartus II também é necessário para recompilar o FPGA para que ele desempenhe a função FIR ou IIR. Um terceiro software desenvolvido em C++ Builder também é necessário para configurar a opção de filtragem no FPGA. Assim entra-se com um sinal analógico de tempo contínuo em um canal de entrada e em um outro canal de saída verificar o sinal de entrada já filtrado conforme a opção de filtragem configurada.

15 3 2. FUNDAMENTAÇÃO TEÓRICA 2.1. Filtros digitais Um filtro digital usa computação para implementar a ação de filtragem que deve ser executada em um sinal de tempo contínuo. A figura 1 mostra o diagrama de blocos das operações envolvidas em tal abordagem para projetar um filtro seletivo de freqüência. Figura 1: Estrutura de um filtro digital. O bloco rotulado como ADC é usado para converter o sinal de tempo contínuo x(t) numa seqüência x[n] de números. Para isto o ADC pega várias amostras do sinal em intervalos de tempos (intervalo de amostragem) e estes valores, representado pela seqüência x[n], correspondem ao sinal de entrada na forma digital. A figura 2 ilustra a seqüência x[n]. Figura 2: Amostragem discreta de um sinal analógico, x(t) para x[n]. O filtro digital processa a seqüência de números x[n] numa base de amostra por amostra. É neste momento que a ação da filtragem é realizada, dependendo da forma que x[n] é calculado. Existem três tipos de operações que podem ser realizadas sobre

16 4 o sinal: armazenamento, adição e multiplicação por constantes. Estas constantes definem a ação de filtragem realizada e através destas operações são produzidas uma nova seqüência de números y[n], a qual é então convertida num sinal de tempo contínuo correspondente pelo conversor DAC. Finalmente, o filtro de reconstrução (passa-baixas) na saída do sistema produz um sinal de tempo contínuo y(t), representando a versão filtrada do sinal de entrada original x(t). Os filtros digitais, dependendo da duração da resposta ao impulso, podem ser classificados em dois grupos: 1. Filtros digitais de resposta ao impulso de duração finita (FIR), cuja operação é regida por equações lineares de diferenças com coeficientes de natureza não-recursiva. 2. Filtros digitais de resposta ao impulso de duração infinita (IIR), cuja operação é regida por equações lineares de diferenças com coeficientes constantes de natureza recursiva [HAYKIN, 2001] Filtros digitais FIR Os filtros digitais FIR são filtros que tem uma resposta ao impulso de duração finita de natureza não recursiva, ou seja, a saída depende apenas da entrada atual e entradas anteriores. A figura 3 ilustra a estrutura para implementar um filtro digital FIR, a função X(z) representa o sinal de entrada, os valores de b0 até bn são coeficientes que determinam o tipo da filtragem que esta sendo realizada (passa-baixa, passa-alta, passa-faixa) e a função Y(z) é o sinal de saída, resultado da filtragem do sinal X(z). O valor N é também a ordem do filtro que esta sendo realizado, ou seja, o número de coeficientes determina a ordem do filtro. Figura 3: Estrutura para implementar um filtro digital FIR.

17 y( z)? b x( z)? b x( z) z?...? b x( z) z? 1? n 0 1 N (1) 5 A grande vantagem dos filtros digitais FIR é que, uma propriedade inerente os permite realizar uma resposta em freqüência com fase linear. Em muitas aplicações, principalmente em aplicações de áudio é importante manter a fase linear do sinal de entrada. Outras características destes filtros são ser sempre estáveis e sem pólos [ROCHA, 2001]. Uma desvantagem dos filtros FIR é que para realizar as mesmas características de um filtro IIR ele precisar ter uma ordem mais elevada e isto se traduz a um maior gasto computacional [BAPTISTA, 2004] Filtros digitais IIR Os filtros digitais IR são filtros que tem uma resposta ao impulso de duração infinita de natureza recursiva, ou seja, a saída depende além da entrada atual, o resultado da saída anterior. A figura 3 ilustra a estrutura para implementar um filtro digital IIR, a função X(z) representa o sinal de entrada, os valores de a0 até an, b0 até bn, são coeficientes que determinam o tipo da filtragem que esta sendo realizada (passa-baixa, passa-alta, passa-faixa) e a função Y(z) é o sinal de saída, resultado da filtragem do sinal X(z). Figura 4: Estrutura para implementar um filtro digital IIR.

18 6 y( z)? a x( z)? a x( z) z?...? a x( z) z? b y( z) z? b y( z) z? 1? n? 1? n 0 1 n 1 n (2) Os filtros IIR ao contrário dos filtros FIR são difíceis de controlar a fase, no entanto o custo computacional pode ser menor para cumprir a mesma função de um filtro FIR. Outras características destes filtros são ser instáveis, ter pólos, além de seu projeto derivar de protótipos de filtros analógicos [BAPTISTA, 2004] FPGA Um FPGA consiste em um grande arranjo de células configuráveis (ou blocos lógicos) contidos em um único chip. Cada uma destas células contém uma capacidade computacional para implementar funções lógicas (tais como AND, NAND, OR, NOR e XOR) e/ou realizar roteamento para permitir a comunicação entre as células. Todas essas operações podem acontecer simultaneamente no arranjo de células inteiro [ARAGÃO, 1998]. A arquitetura básica de um FPGA é ilustrada na figura 5, onde os blocos lógicos se comunicam através dos recursos de interconexão e as células de I/O permitem a entrada e saída de dados. Figura 5: Arquitetura básica de um FPGA. O FPGA utilizado neste projeto é o dispositivo EP1C3 Cyclone da Altera.

19 Arquitetura Cyclone 7 Os dispositivos Cyclone contém uma arquitetura bidimensional baseada em linha e coluna para executar a lógica programada. Colunas e linhas são interconectadas para prover a comunicação em diferentes velocidades entre Arranjos de Blocos Lógicos (LAB - Logic Array Blocks) e blocos de memória embutidos no dispositivo (M4KRAM - Memory 4 Kbits Random Access Memory) [ALTERA, 2003]. Cada LAB contém 10 elementos lógicos (LE) que é uma pequena unidade que implementa funções lógicas. Os LABs estão agrupados em linhas e colunas através do dispositivo. Os dispositivos Cyclone tem entre e Les [ALTERA, 2003]. Cada M4KRAM contém 4k bits de memória mais paridade (4068 bits). Estes blocos provem uma ou duas portas dedicadas de até 36 bits em até 250 MHz. Estes blocos estão agrupados em colunas através do dispositivo. Os dispositivos Cyclone tem entre 60 e 288 Kbits de memória RAM embutida [ALTERA, 2003]. Nas bordas dos dispositivos é possível encontrar os blocos de I/O (IOEs). Os IOEs contém diferentes padrões de I/O, entre 66 e 33 MHz, 64 e 32 bits, além de prover interface para suportar a utilização de memória externa DDR, SDRAM e FCRAM em até 133 MHz [ALTERA, 2003]. Os dispositivos Cyclone provê ainda até dois blocos PLL em uma rede de clock global. Esta rede clock global contém 8 linhas de clock que pode ser utilizado para controlar todos os recursos dentro do dispositivo como IOEs, LEs e os blocos de memória. Estas linhas também podem ser usadas para sinais de controle [ALTERA, 2003]. A tabela 1 mostra os recursos disponíveis nos dispositivos Cyclone. A figura 6 mostra o diagrama em blocos do dispositivo EP1C12. Note que o número de blocos M4KRAM, PLL, linhas e colunas podem variar conforme o dispositivo. Tabela 1: Recursos dos dispositivos Cyclone [ALTERA, 2003]. Equipamento M4K RAM PLLs Colunas Linhas Colunas Blocos LAB LAB EP1C EP1C EP1C EP1C EP1C

20 8 Figura 6: Diagrama em blocos dos dispositivos Cyclone Arranjo de Blocos Lógicos (LAB) Cada LAB consiste em 10 Les (Logic Elements), LE carry, sinais de controle das LABs, interconexões locais e uma tabela de look-up (LUT) e registradores. As interconexões locais transferem sinais de controle entre as LEs dentro do mesmo LAB [ALTERA, 2003]. A figura 7 ilustra a estrutura de uma LAB do Cyclone:

21 9 Figura 7: Estrutura LAB do Cyclone. As interconexões locais são feitas por colunas e linhas interconectadas. Próximos aos LABs, situados a esquerda e direita, estão as PLLs (Phase-Locked Loop) e M4KRAM, através da conexão de link direto (Direct link interconnect from adjacent block) eles podem se comunicar sem passar através das interconexões locais minimizando seu uso, promovendo assim maior desempenho e flexibilidade. Cada LE ainda está conectada a outras 30 LEs através da conexão de link direto. A figura 8 ilustra as conexões de link direto [ALTERA, 2003].

22 10 Figura 8: Conexões de link direto. Cada LAB contém lógicas dedicadas para enviar sinais de controle para as LEs. Os sinais de controle podem ser: dois clocks, dois clocks enable, asynchronous clears, synchronous clear, asynchronous preset/load, synchronous load e sinais de controle para soma e subtração. A figura 9 ilustra os sinais de controle da LAB [ALTERA, 2003]. Figura 9: Sinais de controle da LAB. A menor unidade lógica da LAB é a LE, no entanto ela fornece recursos avançados através da utilização de uma lógica eficiente. Cada LE contém uma tabela LUT de 4 entradas, que tem a função de ser um gerador para implementar qualquer

23 11 função de quatro variáveis. Na soma, cada LE contém um registrador programável e um sinal de seleção carry. Cada LE suporta um simples soma dinâmica de bit ou uma subtração que pode ser selecionado pelo sinal de controle da LAB. Cada LE pode realizar todos os tipos de conexão: local, coluna, linha, LUT, registrador e a conexão de link direto [ALTERA, 2003]. A figura 10 ilustra a estrutura da LE. Figura 10: Estrutura LE do Cyclone. Duas saídas da LE são direcionadas para roteamento de coluna ou linha e link direto e uma para interconexão local. Isso permite que a LUT e o registrador programável trabalhem paralelamente. Essa característica é chamada de Register Packing, que melhora a utilização do dispositivo, porque o dispositivo pode utilizar a LUT e o registrador em funções não relacionadas. Os LEs dentro de um LAB possuem saídas que permitem cadeias de LUTs e registradores programáveis [ALTERA, 2003]. A característica de somador/subtrador dinâmico da LE economiza recursos lógicos de usar um conjunto de LEs para implementar ambas operações. Essa característica é controlada pelo sinal de controle addnsub que coloca o LAB para realizar tanto (A+B) como (A B) [ALTERA, 2003].

24 12 A LE pode trabalhar em dois modos de operações diferentes: Modo normal e Modo Aritmético Dinâmico. Cada modo usa os recursos de forma diferente. Em cada modo oito entradas são disponíveis para a LE (quatro dados de entrada da interconexão local da LAB, carry-in0 e carry-in1 da LE anterior, o carry-in do LAB e a conexão da cadeia de registradores) e são direcionadas para diferentes destinos para implementar a função lógica desejada [ALTERA, 2003]. O Modo Normal é direcionado para aplicações de lógica gerais e funções combinatórias. Neste modo, o sinal addnsub só é permitido se o LE está no final de uma cadeira de somador/subtrator. A figura 11 ilustra a LE no modo de operação normal [ALTERA, 2003]. Figura 11: LE no modo normal de operação. O Modo Aritmético Dinâmico é ideal para implementar somadores, contadores, acumuladores, funções de paridade e comparadores. Neste modo, a LE usa quatro LUT de entradas configuradas como um somador/subtrator dinâmico. Essa característica permite que o Cyclone implemente contadores, somadores, multiplicadores e comparadores em alta velocidade. A figura 12 ilustra a LE no modo de operação Aritmético Dinâmico [ALTERA, 2003].

25 13 Figura 12: LE no modo normal de Aritmético Dinâmico Interconexão MultiTrack Na arquitetura Cyclone, LEs, blocos de memória M4KRAM e dispositivos de IOEs são providos por uma estrutura de interconexão MultiTrack com tecnologia DirectDrive TM. A interconexão MultiTrack consiste de linhas roteadoras contínuas e de performance otimizada de diferentes velocidades usadas para realizar conexões inter e intra blocos. Simplifica o estágio de integração de projetos baseados em blocos eliminando os ciclos de re-otimização que geralmente geram mudanças de projeto. Consiste de interconexões de linha e coluna com distâncias fixas. Linhas dedicadas interconectam sinais roteados de e para LABs, PLLs, blocos de memória M4KRAM dentro de uma mesma linha. Essas linhas incluem: 1. Interconexões de links diretos entre LABs e blocos adjacentes. 2. R4 Interconnect (Row4) liga quatro blocos [ALTERA, 2003]. A figura 13 ilustra esta interconexão.

26 14 Figura 13: Conexões R4 interconnect. A interconexão de colunas opera similarmente a interconexão de linhas. Colunas dedicadas interconectam sinais roteados de e para LAB s, PLL s, blocos de memória M4K verticalmente. Essas colunas incluem: Cadeias de LUT s dentro de um LAB, Cadeias de Registradores programáveis dentro de um LAB e C4 Interconnect liga quatro blocos [ALTERA, 2003] Memória embutida (M4KRAM) A memória embutida do Cyclone consiste em colunas com blocos M4K. Os dispositivos EP1C3 têm apenas uma coluna de blocos M4K. Cada bloco por executar vários tipos de memória com ou sem bit de paridade, incluindo um dual-port verdadeiro, dual-port simples ou single-port RAM, ROM e FIFO [ALTERA, 2003]. Figura 14: Sinais de controle do block M4K RAM.

27 15 Figura 15: Interface entre o bloco MK4 RAM e o LAB Rede de clock global Os dispositivos Cyclone fornecem uma rede global de quatro pulsos de clock dedicados (CLK[0..3]. Sendo dois do lado esquerdo e dois do lado direito. As saídas da PLL, o arranjo lógico e os pinos dual-purpose clock (DPCLK[7..0 ]) podem também dirigir a rede global do pulso de disparo. A linha com oitos clocks globais nesta rede de clock global é utilizada para controlar todos os recursos dentro do dispositivo como IOEs, LEs e os blocos de memória. Estas linhas também podem ser usadas para sinais de controle [ALTERA, 2003]. A figura 16 ilustra a geração de clock global. Circuitos complexos de processamento DSP em geral necessitam de mais de uma freqüência de relógio para operar. Para gerar as diversas freqüências de relógio necessárias à operação de diferentes módulos dos circuitos, os dispositivos Cyclone utilizam a PLL para prover este recurso [ALTERA, 2005].

28 16 Figura 16: Geração de clock global Recursos das ferramentas de desenvolvimento da Altera Figura 17: Dispositivo de gravação/configuração FPGA. Um dos recursos mais interessantes das ferramentas de desenvolvimento da Altera é a possibilidade de gravar e configurar componentes na própria placa, utilizando para tal os dispositivos de configuração. A Altera dispõe hoje de cinco sistemas que permitem fazer a gravação (para componentes da família MAX e EPC) ou configuração

29 17 (para dispositivos do tipo FPGA) de componentes na própria placa, sendo eles os BitBlaster, ByteBlaster, ByteBlasterMV, ByteBlaster II e MasterBlaster. Todos eles permitem gravar/configurar componentes através de um conector tipo BERG de dupla fileira, com 10 pinos (duas filas de 5 pinos cada) e utilizando os protocolos de configuração JTAG ou Passivo Serial. O mais novo componente da família, a ByteBlaster II, permite ainda a gravação dos novos componentes do tipo FLASH Serial usados na configuração dos componentes da família Cyclone, usando o novo modo de gravação Ativo Serial. As principais características destes dispositivos de gravação/configuração são mostradas na tabela 2. Tabela 2: Recurso de configuração FPGA Resumo das características dos dispositivos de configuração da Altera Dos dispositivos citados acima, dois não são mais recomendados pela Altera para novos projetos, por serem compatíveis apenas com componentes de tecnologia mais antiga, o ByteBlaster normal e o BitBlaster. Dos demais, o MasterBlaster, ao ser instalado usando a interface USB, é reconhecido automaticamente como um novo dispositivo e é pedida a instalação do driver, e o diretório onde o driver está presente é o mesmo diretório do driver da ByteBlasterMV [PI, 2003]. Por ter o esquema elétrico disponível na documentação da Altera, e por ser o sistema de configuração da Altera de mais baixo custo, a ByteBlasterMV é hoje o sistema de configuração mais utilizado e o que apresenta o maior número de chamados perguntando como é feita a instalação deste dispositivo. Para utilizar este dispositivo, três condições devem ser atendidas: 1. O dispositivo montado seguindo rigorosamente o esquema elétrico passado deve estar conectado à placa e a porta paralela do PC (Interface com a impressora), usando conector de 25 vias. A placa deve estar alimentada e as

30 18 conexões entre o conector e o dispositivo devem estar feitos de acordo com o AN Para sistemas usando o Windows NT/2000/XP, um driver especial deve estar instalado no sistema, permitindo que o dispositivo de configuração seja reconhecido pelo software de configuração da Altera (MAX+PLUS II ou Quartus II). O Windows 98 não precisa da instalação do driver. 3. A seleção correta do dispositivo de configuração deve ser feita no software de desenvolvimento da Altera (MAX+PLUS II ou Quartus II) [PI, 2003]. Atendidas estas três condições, nenhum problema será encontrado na utilização da ByteBlasterMV para gravar ou configurar componentes. A instalação da ByteBlaster normal e da ByteBlaster II também são as mesmas que para a ByteBlasterMV descritas [PI, 2003] VHDL VHDL (VHSIC Hardware Description Language) onde VHSIC é Very High Speed Integrated Circuits. Portanto, VHDL foi concebido para desenvolver circuitos integrados. Na realidade, ele pode ser usado para descrever vários tipos de sistema: uma rede de computadores, um circuito integrado, ou simplesmente uma simples porta lógica. VHDL é portanto uma linguagem multi-níveis e abrange todos os níveis de descrição discreta. VHDL não é prático para descrições:?? Ao nível elétrico: não é possível descrever as equações diferenciais necessárias à definição de um transistor.?? Ao nível sistema: é impossível descrever a criação e a destruição dinâmica de processos software [DÉHARBE, 1998] História de VHDL As primeiras linguagens de descrição de hardware foram desenvolvidas no final dos anos 60, como alternativa às linguagens de programação para descrever e simular dispositivos hardwares. Durante dez anos, inúmeras linguagens foram desenvolvidas com sintaxe e semânticas incompatíveis, permitindo descrições a diferentes níveis de modelização [DÉHARBE, 1998].

31 19 A partir de 73, um primeiro esforço de padronização foi iniciado: o projeto CONLAN (CONsensus LANguage), cujos objetivos eram de definir uma formalmente uma linguagem multi-níveis com uma sintaxe única e uma semântica não ambígua. O relatório final desse projeto, composto em maioria por acadêmicos, foi publicado em janeiro de 1983 [DÉHARBE, 1998]. Em paralelo, na área de software, a necessidade de portabilidade entre várias plataformas resultou num projeto de desenvolvimento de uma linguagem de programação, financiado pelo Ministério da Defesa dos Estados Unidos (DoD Departament of Defense). Como resultado desse esforço, em 1983, foi publicada a linguagem ADA [DÉHARBE, 1998]. O DoD iniciou em março de 1983 o programa VHSIC (Very High Speed Integrated Circuits) para melhorar a tecnologia de concepção, engenharia e construção nos Estados Unidos. Foi definido um conjunto de requisitos e um contrato assinado em 1983 com um consórcio composto de IBM, Intermetrics e Texas Instruments. Depois de várias avaliações e revisões, em 1986, a Intermetrics desenvolveu um compilador inicial como um simulador. Nesse mesmo ano, foi criado um grupo de padronização da IEEE para VHDL, que passou a entrar no domínio público. Em dezembro de 1997 foi publicado o manual de referência da linguagem. Os primeiros softwares desenvolvidos foram comercializados a partir de Hoje, existem vários compiladores e simuladores, sintetizadores, etc. VHDL faz parte do processo de concepção de circuitos integrados em um grande número de centros e é um das duas linguagens de descrição de hardware dominantes no mercado mundial com a linguagem Verilog HDL [DÉHARBE, 1998] Linguagem de Descrição de Hardware A descrição de um sistema digital permite definir um modelo de um pedaço de hardware. O modelo, escrito na linguagem VHDL, descreve o que o sistema faz e como. A descrição VHDL é um modelo do sistema hardware. Essa descrição pode ser executada por um software chamado de simulador. O simulador roda uma descrição VHDL e calcula os valores das saídas do sistema modelizado em função de uma seqüência de valores de entradas aplicadas ao decorrer da simulação. O simulador estimula o comportamento dinâmico de um modelo VHDL. Se o modelo VHDL corresponde com precisão à função do hardware modelizado, então o comportamento

32 20 das entradas e saídas da simulação do modelo deve corresponder o comportamento das entradas e saídas do hardware [DÉHARBE, 1998]. Uma linguagem de descrição de hardware é um quadro preto de alto-tecnologia para a concepção de sistemas digitais. Num projeto de concepção, várias etapas de modelização, simulação, correção ou precisão são necessárias para chegar a um modelo suficientemente detalhado para poder servir de especificação da implementação hardware e como documentação para ajudar a comunicação do projeto para outros grupos e organizações [DÉHARBE, 1998] Introdução ao MATLAB O processo de desenvolvimento de um novo algoritmo DSP é feito, normalmente, com o auxílio de ferramentas de desenvolvimento voltadas para aplicações matemáticas, utilizando sistemas de desenvolvimento tais como MATLAB, da Mathworks, Matematica, MatCad e afins. No processo de desenvolvimento, a função destes softwares é a de prover um ambiente de simulação para desenvolver o algoritmo utilizando uma linguagem de desenvolvimento, simular o algoritmo e comparar o resultado da simulação com os valores esperados validando assim o algoritmo desenvolvido [ALTERA, 2005]. O sistema de desenvolvimento mais utilizado hoje é o MATLAB, da Mathworks, empresa fundada em O MATLAB oferece um ambiente para desenvolvimento de algoritmos em dois níveis, o desenvolvimento do algoritmo utilizando uma linguagem proprietária para descrição de algoritmos, semelhante ao C, com arquivos.m no próprio ambiente do MATLAB, e um ambiente para desenvolvimento de sistemas, um ambiente gráfico, onde podem ser instanciados blocos desenvolvidos em.m, chamado Simulink [ALTERA, 2005]. Outros recursos oferecidos pelo MATLAB são interface com sistemas de aquisição de dados e geração de sinais, interface com aplicativos para geração automática de relatórios e visualização gráfica dos resultados de simulação e conjuntos de funções prontas para aplicações específicas chamadas Toolboxes. Para o Simulink, dispõe ainda de conjuntos de funções pré-definidas, tais como geradores de funções, sistemas de verificação de resultados e diversas outras funções específicas, tais como funções de controle, de processamento DSP voltadas para aplicações específicas como redes neurais, organizadas em blocksets [ALTERA, 2005].

33 21 Os ambientes do MATLAB utilizados para o desenvolvimento deste projeto é o ambiente voltado para desenvolvimento de arquivos em formato.m, juntamente com operações proprietárias da Mathworks para projetar os filtros desejados como as funções. A figura 18 ilustra a janela principal do MATLAB. Figura 18: Janela principal do MatLab e do Ambiente de desenvolvimento Implementando algoritmos DSP em FPGAs A implementação de algoritmos DSP em FPGAs é normalmente feita em duas etapas: na primeira etapa o algoritmo é desenvolvido e simulado em um ambiente de desenvolvimento como o MATLAB. Uma vez concluída a etapa de desenvolvimento, e estando a simulação do algoritmo concluída e de acordo com as especificações iniciais do algoritmo, inicia-se a segunda etapa que é a conversão do algoritmo para uma linguagem de descrição de hardware, no caso escolhida VHDL e a implementação do mesmo em hardware. A figura 19 ilustra as fases de desenvolvimento.

34 22 Figura 19: Fases do desenvolvimento de um projeto em FPGA 2.6. Introdução ao Quartus II O Quartus II é uma ferramenta voltada para o desenvolvimento de projetos em componentes de alta densidade. Ele oferece diversos recursos e metodologias para criação e gerenciamento de projetos, ambiente de edição em VHDL, diagrama em blocos, interface com ferramentas de terceiros, compilação, simulação, até a configuração e gravação de componentes, a figura 20 a seguir mostra a janela do Quartus II.

35 Figura 20: Janela do Quartus II. 23

36 24

37 25 3. ESPECIFICAÇÃO O sistema desenvolvido neste projeto consiste principalmente em um FPGA que pode ser reconfigurado para trabalhar com um Filtro Digital FIR ou IIR, ele possui alguns módulos, a figura 21 apresenta o diagrama em blocos do sistema. Módulo de Software?? Matlab.?? Quartus II.?? Programa para carregar os coeficientes para o FPGA. Módulo de Hardware?? ADC.?? FPGA.?? DAC. Figura 21: Diagrama em blocos do sistema.

38 3.1. Módulo de Software 26 No ambiente de desenvolvimento do MATLAB da MathWork, os filtros digitais foram projetados e simulados com diferentes tipos de filtro, como por exemplo, filtro passa-baixa e passa-alta, e posteriormente foram desenvolvidos em VHDL. O resultado do uso deste software será as equações genéricas dos filtros FIR e IIR implementadas e testadas no MATLAB. Elas serviram como base para o desenvolvimento em VHDL, além disto, dois programas foram desenvolvidos e utilizados para gerar os coeficientes utilizados pelos filtros, os valores dos coeficientes gerados foram salvos em arquivos textos e estes arquivos lidos por um programa específico desenvolvido em C++ Builder que lê os valores, convertê-os para binário e enviá-os ao FPGA. No ambiente do Quartus II da Altera as equações implementadas e simuladas anteriormente no MATLAB serão desenvolvidas em VHDL onde serão simuladas no ambiente de simulação do Quartus. Ele também é responsável por compilar o programa e gravá-los no FPGA Módulo de Hardware Neste módulo, um ADC é o responsável por amostrar um sinal analógico de entrada e condicioná-lo em sinais digitais para ser utilizado pelo FPGA. Um DAC também é utilizado para converter o sinal digital já filtrado em um sinal analógico. O ADC utilizado neste projeto é o ADS7810 fabricado pela Burr-Brown. Este dispositivo conta com uma resolução de 12 bits, com uma entrada bipolar que trabalha com tensões de alimentação de? 10V a? 10V. Conta com 28 pinos e opera com tensão de? 5V e? 5V. e frequência máxima de amostragem de amostras por segundo, onde o parâmetro troughput indica a maior velocidade possível de conversão de dados. O DAC utilizado neste projeto é o DAC7613 fabricado pela Burr-Brown. Este dispositivo conta com uma resolução de 12 bits, com uma saída bipolar que trabalha com tensões de? 2,5V a? 2,5V. Conta com 24 pinos e opera com tensão de alimentação de 10? s.? 2,5V,? 5V,? 2,5V e? 5V. e velocidade de conversão de dados de

39 O FPGA utilizado neste projeto é Cyclone EP1C3T144C8. Ele é o principal componente deste módulo, ele controla todo o processo que consiste nas seguintes etapas:?? Receber os coeficientes dos filtros projetados no MatLab.?? Armazenar estes coeficientes em uma memória RAM interna.?? Receber amostras do ADC, conforme a taxa de amostragem.?? Armazenar últimas amostras de entrada e ultimas saídas.?? Realizar a execução da filtragem do sinal (FIR ou IIR).?? Enviar o resultado ao DAC. O Hardware para comunicar-se com o PC terá duas formas de configuração, uma através da interface JTAG, por onde será gravado o programa desenvolvido em VHDL e outra que será implementada através da porta paralela, por onde receberá os coeficientes e a taxa de amostragem do filtro. Para finalizar uma fonte simétrica com tensões de parte deste módulo para alimentar o ADC e o DAC. 27? 2,5v e? 5v também faz Interface JTAG JTAG é um tipo de interface de testes e programação padronizada que serve para interligar uma porta paralela ou serial com um FPGA. Essa interface conecta-se normalmente com o chip através de 4 pinos. O FPGA pode então ser programado através dessa interface, comandada por um programa, o que acontece através do software Quartus II que ira reconfigurar o FPGA como um filtro FIR ou IIR, pois o FPGA não vai estar programado para ser os dois filtros (FIR e IIR) ao mesmo tempo Interface Paralela Pela interface paralela, alguns dados serão enviados ao FPGA, o que acontecerá através do software desenvolvido em C++ Builder. Os dados enviados são:?? Sinal de controle para ligar ou desligar o filtro.?? Coeficientes do filtro projetado.?? Taxa de amostragem do filtro projetado.

40 3.3. Validação do projeto 28 A Validação do projeto foi feita em laboratório com o uso de um Gerador de Sinais e um Osciloscópio. Os filtros (passa-baixa) foram projetados no MatLab, onde também foi plotado sua curva resposta utilizando a função plot. Os coeficientes gerados por este filtro serão enviados ao FPGA, no Gerador de Sinais, poderemos aumentar ou diminuir a frequência do sinal de entrada do projeto e com o Osciloscópio podemos ver a ação do filtro, ou seja, conferir se o filtro esta cortando (atenuando) conforme o tipo projetado e a curva resposta plotada. Além disto podemos gerar a Curva Resposta Experimental para verificar a atenuação do filtro Previsão de Custos A tabela 3 mostra o custo de horas e componentes estimado do projeto para o desenvolvimento de uma unidade do sistema. Não estão sendo considerados os custos de utilização de equipamentos, como, osciloscópio, fontes, gerador de funções, ferramentas de desenvolvimento, como, Quartus II, MatLab, C++ Builder 6, ADS7810 e DAC7613, pois estes recursos serão cedidos pela universidade. Tabela 3: Custo estimado do projeto. Descrição Qtde Custo Unitário Custo total Horas de trabalho aproximada 320 R$ 15,00 R$ 4.500,00 FPGA Cyclone EP1C3T144C8 1 R$ 110,00 R$ 110,00 Componentes para fonte de alimentação 1 R$ 100,00 R$ 100,00 Caixa para fonte e para o projeto 1 R$ 100,00 R$ 100,00 Outros componentes 1 R$ 50,00 R$ 50,00 Total R$ 4.860, Cronograma A tabela 4 mostra as datas importantes para apresentação do projeto. A figura 22 ilustra o cronograma de desenvolvimento do projeto em todas as suas. Tabela 4: Datas importantes para o projeto.

41 Data Atividade 03/04/2006 Entrega da especificação do projeto. 12/06/2006 Entrega do projeto (monografia) e do resumo/abstract do artigo para congresso, bem como dos testes preliminares do mesmo. 09/10/2006 Apresentação do projeto implementado; Qualificação para a fase final. 23/10/2006 Segunda apresentação do projeto implementado, para os quem não o fez no dia 09/10/06, com decréscimo da nota. Qualificação para a fase final. 06/11/2006 Entrega da documentação completa em espiral para a banca examinadora, em 3 vias, contendo a monografia, manual técnico, manual do usuário e artigo científico. 27/11/2006- Defesa formal dos projetos, com apresentação oral para a banca 01/12/2006 examinadora. 11/12/2006 Entrega documentação completa, revisada e corrigida, encadernada no padrão da biblioteca (capa dura) em duas vias, contendo a monografia, manual técnico, manual do usuário e artigo científico. Entrega do CD contendo, no formato WEB, todo o conteúdo dos manuais. 29

42 Figura 22: Cronograma de desenvolvimento do projeto. 30

43 31 4. PROJETO 4.1. Requisitos mínimos de funcionamento Requisitos de Hardware:?? Microcomputador 1Ghz com 256 MB memória.?? Porta Paralela. Requisitos de Software:?? Windows 98/NT/2000/XP.?? MatLab com biblioteca para Processamento de Sinais.?? Quartus II Projeto de Hardware O Hardware mostrado na figura 23 é composto por um ADC de 12 bits, um DAC também de 12 bits, ambos bipolares, um FPGA Cyclone EP1C3T144C8 com um clock externo gerado por um crystal de frequência de trabalho de 25Mhz, uma fonte simétrica que fornece tensões de? 2,5v,? 5v e dois cabos paralelos, sendo uma para interface JTAG por onde é possível programar o FPGA e outra para interface paralela com um software específico desenvolvido para carregar os coeficientes no FPGA. Figura 23: Foto do Hardware.

44 Conversores Analógico-Digital e Digital Analógico 32 O ADS7810 e o DAC7613 foi montado conforme o esquemático da figura 24. A comunicação entre o ADC e o FPGA é feito utilizando-se 14 bits do barramento de dados (Dados[13..26]). O FPGA controla o momento que o ADC converte o dado analógico para digital (Pino R/C) através do bit 25, o ADC por sua vez informa ao FPGA que a conversão está pronta através do bit 26 (Pino BUSY). Através dos bits 13 ao 24 o FPGA recebe o valor da amostra aquisicionada. A comunicação entre o DAC e o FGPA é feito utilizando-se 13 bits do barramento de dados (Dados[0..12]). O FPGA controla também o momento que o DAC converte o dado digital para analógico (Pino R/W) através do bit 13. Através dos bits 0 ao 11 o FPGA envia a saída que acabou de ser processada FPGA Figura 24: Esquemático conversores ADC e DAC Para implementação do filtro FIR, foram utilizados 34 pinos do FPGA e no filtro IIR 35 pinos. A tabela 6 mostra a descrição e funções do pinos utilizados, a figura 25 ilustra o diagrama em blocos completo do filtro FIR e a figura 25 do filtro IIR.

45 33 Tabela 5: Pinos utilizados do FPGA Nome do Pino Bit Tipo Pino Descrição e Função adc_convert 0 S 52 FPGA manda ADC iniciar conversão de Entrada adc_busy 0 E 51 ADC informa que conversão esta pronta adc_entrada 11 E 49 adc_entrada 10 E 50 adc_entrada 9 E 47 adc_entrada 8 E 48 adc_entrada 7 E 41 adc_entrada 6 E 42 adc_entrada 5 E 39 adc_entrada 4 E 40 adc_entrada 3 E 38 adc_entrada 2 E 35 adc_entrada 1 E 36 adc_entrada 0 E 33 Barramento de dados de entrada. Utilizado para pegar a amostra recebida pelo ADC dac_convert 0 S 34 FPGA manda DAC iniciar conversão Saída dac_saida 11 S 31 dac_saida 10 S 32 dac_saida 9 S 27 dac_saida 8 S 28 dac_saida 7 S 11 dac_saida 6 S 26 dac_saida 5 S 7 dac_saida 4 S 10 dac_saida 3 S 5 dac_saida 2 S 6 dac_saida 1 S 2 dac_saida 0 S 4 Barramento de dados de saída. Utilizado para o FPGA enviar o resultado ao DAC pc_enable 0 E 104 PC manda ligar ou desligar filtro pc_serial_entrada 0 E 106 PC envia um bit em modo serial para FPGA pc_clock 0 E 108 PC controla clock para enviar dado serial pc_comando 0 E 110 pc_comando 1 E 112 pc_comando 2 E 114 pc_wr_coefic_a 0 E 120 pc_wr_coefic_b 0 E 122 Barramento de comando: Configurar ordem, amostragem, coeficientes e endereco onde o coeficiente será gravando em memória PC habilita memória para gravar coeficientes filtro FIR e coeficientes a do filtro IIR PC habilita memória para gravar coeficientes b do filtro IIR

46 Figura 25: Diagrama em blocos completo do filtro FIR. 34

47 Figura 26: Diagrama em blocos completo do filtro IIR. 35

48 36 Conforme ilustrado nas figuras 24 e 25, o filtro FIR é composto por 5 blocos e o filtro IIR é composto por 7 blocos, sendo que o bloco amostra_ctrl é mesmo nos dois filtros. A seguir principais os blocos serão explicados com mais detalhes Bloco serial_paralela_fir e serial_paralela_iir Estes blocos são responsáveis por receber os dados enviados pelo PC. Os dois são praticamente idênticos, a diferença é que o bloco serial_paralela_iir tem um bit a mais em um barramento de dados. Eles foram criados porque o número de pinos disponíveis através da porta paralela não é suficiente para enviar os dados necessários ao FPGA paralelamente, por exemplo, um valor de coeficiente utiliza 21 bits enquanto a paralela tem 8 pinos (bits) disponível. A forma encontrada, for enviar os dados serialmente através de um pino da porta paralela e no FPGA acumulando este dado com a utilização de um shift register. O deslocamento do bit enviado é controlado pelo PC através de um outro pino da porta paralela. Também é necessário o envio de mais de um tipo de dado, para isto foram utilizados mais 3 pinos da paralela que informa qual o tipo do dado que está sendo configurado (comando). A tabela 6 mostra os comandos que o PC pode enviar ao FPGA. Tabela 6: Tipo de dado enviado ao FPGA pela paralela Comando Tipo do dado 010 Coeficiente 100 Ordem do filtro 101 Frequência de amostragem do filtro 110 Número do coeficiente que esta sendo enviado Além destes pinos da paralela, outros 3 são utilizados sem passar necessariamente por este bloco, eles são ligados diretamente ao blocos onde exercem a função: um para ligar ou desligar o filtro, outro para habilitar a gravação do coeficiente na memória RAM e, para o filtro digital tipo IIR, habilitar a gravação de um segundo coeficiente. A figura 27 mostra a ligação dos pinos da paralela com o FPGA.

49 37 Figura 27: Ligação dos pinos da paralela com o FPGA Blocos fir e iir Nos blocos fir e iir estão implementados os firmwares que realizam a filtragem do sinal. O desenvolvimento destes blocos em VHDL foi baseado na máquina de estados ilustrada na figura 27. Os dois blocos tem o mesmo número de estados, pois a estrutura para implementação destes dois filtros são muito parecidas. A diferença entre eles se dá dentro do processo de cada estado, pois o filtro digital tipo FIR utiliza duas memórias RAM e o filtro digital tipo IIR utiliza quatro memórias RAM. A tabela 7 descreve os processos realizados em todos estados. Com as informações da tabela 7, é possível calcular o número de clocks gastos para realizar o processamento de uma amostrada do Filtro. O ADC leva aproximadamente ns para disponibilizar a amostra convertida. A frequência do clock neste projeto é de 25 Mhz, ou seja, um clock a cada 40ns. Com esta frequência de clock, do estado de espera até o estado S6 serão consumidos 32 clocks, pois no estado S3 se consome 25 clocks para esperar o ADC converter. Os outros estados em destaque (S8, S9 e S10) repetem-se até que o total de coeficientes sejam lidos, assim o número de clocks utilizados nestes estados dependem do número de coeficientes (ordem) do filtro projetado. Cada um dos demais estados utilizam 1 clock, ou seja, mais 4 clocks. Com estas informações conclui-se que o número de clocks necessários para que uma amostra esteja disponível na saída é calculado pela equação 3: nr _ clocks? 36?( nr _ coeficientes? 3) (3)

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO 28 CAPÍTULO 5 INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO Interfaces para periféricos de armazenamento: Periféricos de armazenamento,

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase

Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Curso Superior de Sistemas de Telecomunicações Unidade São José Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Bases tecnológicas Dispositivos Lógicos Programáveis. Introdução à Tecnologia

Leia mais

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO

GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO GUIA DE LABORATÓRIO DE SISTEMAS DIGITAIS PARA O CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO Agosto/2004 V2 INTRODUÇÃO Este guia foi preparado para auxilio às aulas de laboratório para o curso de Engenharia

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

Placa Acessório Modem Impacta

Placa Acessório Modem Impacta manual do usuário Placa Acessório Modem Impacta Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. A Placa Modem é um acessório que poderá ser utilizado em todas as centrais

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

Prof. Esp. Lucas Cruz

Prof. Esp. Lucas Cruz Prof. Esp. Lucas Cruz O hardware é qualquer tipo de equipamento eletrônico utilizado para processar dados e informações e tem como função principal receber dados de entrada, processar dados de um usuário

Leia mais

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Computacionais II Professor Frederico Sauer Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

Aula 8 Circuitos Integrados

Aula 8 Circuitos Integrados INTRODUÇÃO À ENGENHRI DE COMPUTÇÃO PONTIFÍCI UNIVERSIDDE CTÓLIC DO RIO GRNDE DO SUL FCULDDE DE ENGENHRI ula Circuitos Integrados Introdução Portas Lógicas em Circuitos Integrados Implementação de Funções

Leia mais

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS

Sistemas Digitais. Módulo 15 Prof. Celso PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS 1 PLD - DISPOSITIVOS LÓGICOS PROGRAMÁVEIS Os projetos com circuitos digitais mais complexos podem se tornar inviáveis devido a vários problemas, tais como: - Elevado número de C.I. (circuitos integrados)

Leia mais

Easy Lab. Manual do usuário Revisão 1.2 01/11/14. www.dma.ind.br. DMA Electronics 1

Easy Lab. Manual do usuário Revisão 1.2 01/11/14. www.dma.ind.br. DMA Electronics 1 Easy Lab Manual do usuário Revisão 1.2 01/11/14 www.dma.ind.br DMA Electronics 1 A DMA ELECTRONICS projeta e fabrica sistemas para aquisição e registro de dados com conexão a um computador do tipo PC.

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE: 6823-8800 SÃO CAETANO DO SUL - SP - CEP 09530-250

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE: 6823-8800 SÃO CAETANO DO SUL - SP - CEP 09530-250 LINEAR EQUIPAMENTOS RUA SÃO JORGE, 269 - TELEFONE: 6823-8800 SÃO CAETANO DO SUL - SP - CEP 09530-250 Recomendações Iniciais SOFTWARE HCS 2005 - VERSÃO 4.2 (Compatível com Guarita Vr4.03 e Vr4.04) Para

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem,

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH Projeto para a matéria TE130 Projeto de Circuitos Integrados Digitais, ministrada pelo

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD. AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda?

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda? Exercícios: 1. Sobre:Ondas Responda: a. O que é a Natureza de Ondas? b. O que origina as Ondas Mecânicas? c. As Ondas Mecânicas se propagam no vácuo? Explique a sua resposta. d. Quais são os elementos

Leia mais

Técnicas de Manutenção de Computadores

Técnicas de Manutenção de Computadores Técnicas de Manutenção de Computadores Professor: Luiz Claudio Ferreira de Souza Processadores É indispensável em qualquer computador, tem a função de gerenciamento, controlando todas as informações de

Leia mais

Prof. Sandrina Correia

Prof. Sandrina Correia Tecnologias de I informação de C omunicação 9º ANO Prof. Sandrina Correia TIC Prof. Sandrina Correia 1 Objectivos Definir os conceitos de Hardware e Software Identificar os elementos que compõem um computador

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Máquinas Multiníveis

Máquinas Multiníveis Infra-Estrutura de Hardware Máquinas Multiníveis Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Classificação de arquiteturas Tendências da tecnologia Família Pentium

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - O NÍVEL DA MICROARQUITETURA 1. INTRODUÇÃO Este é o nível cuja função é implementar a camada ISA (Instruction Set Architeture). O seu projeto depende da arquitetura do conjunto das instruções

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 3.1 EXECUÇÃO DAS INSTRUÇÕES A UCP tem duas seções: Unidade de Controle Unidade Lógica e Aritmética Um programa se caracteriza por: uma série de instruções

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera

Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera Implementação de um módulo Ethernet 10/100Mbps com interface Avalon para o processador Nios II da Altera Ricardo Menotti Orientador: Prof. Dr. Eduardo Marques Instituto de Ciências Matemáticas e de Computação

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

PROGRAMAÇÃO EM VHDL DE CIRCUITOS LÓGICOS PARA IMPLEMENTAÇÃO EM FPGA RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA

PROGRAMAÇÃO EM VHDL DE CIRCUITOS LÓGICOS PARA IMPLEMENTAÇÃO EM FPGA RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA PROGRAMAÇÃO EM VHDL DE CIRCUITOS LÓGICOS PARA IMPLEMENTAÇÃO EM FPGA RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE) Yegor Gomes de Mello (UFRN, Bolsista PIBIC/CNPq) E-mail: yegor_melo@crn.inpe.br

Leia mais

Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 Parte 2: Dispositivos de Hardware Programável Prof.: Eduardo Simas eduardo.simas@ufba.

Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 Parte 2: Dispositivos de Hardware Programável Prof.: Eduardo Simas eduardo.simas@ufba. Universidade Federal da Bahia Escola Politécnica Programa de Pós Graduação em Engenharia Elétrica Disciplina: Processamento Digital de Sinais (ENG577) Aula 05 Parte 2: Dispositivos de Hardware Programável

Leia mais

Sistema de Computação

Sistema de Computação Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Aula 08: UCP Características dos elementos internos da UCP: registradores, unidade de controle, decodificador de instruções, relógio do sistema. Funções do processador: controle

Leia mais

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO Alessandro A. M de Oliveira 1 ; Alexandre de Oliveira Zamberlan 1 ; Péricles Pinheiro Feltrin 2 ; Rafael Ogayar Gomes 3

Leia mais

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo. Circuito de gravação (AVR programmer) Introdução Nossa proposta, nesta parte do trabalho, é apresentar um circuito para gravação ISP (In-System- Programming) para microcontroladores AVR. Este circuito,

Leia mais

www.vwsolucoes.com Copyright 2013 VW Soluções

www.vwsolucoes.com Copyright 2013 VW Soluções 1 1. Especificação técnicas: Dimensões do módulo 4EA2SA v1.0: 100 mm x 56 mm Peso aproximado: xxx gramas (montada). Alimentação do circuito : 12 ou 24Vcc Tipo de comunicação: RS232 ou RS485 Tensão de referencia:

Leia mais

Figura 01 Visão Geral da Placa

Figura 01 Visão Geral da Placa 1. Hardware O kit de FPGA é formado por periféricos que possibilitam sua interação com sinais de áudio, display gráfico e alfanumérico, comunicação serial e USB, codec de áudio, chaves para simulação e

Leia mais

Manual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit

Manual de Instalação da Plataforma Scorpion. 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit Manual de Instalação da Plataforma Scorpion 1. Como conectar a Plataforma Scorpion com a Xilinx Starter-3E kit Para começar a ler este manual, é bom que você conheça os componentes desta conexão. Plataforma

Leia mais

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada. Editor de Ladder para VS7 Versão Teste O editor de ladder é um software de programação que permite que o VS7 e o µsmart sejam programados em linguagem de contatos. Esse editor está contido na pasta Público

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Tecnologia da Informação. Prof Odilon Zappe Jr

Tecnologia da Informação. Prof Odilon Zappe Jr Tecnologia da Informação Prof Odilon Zappe Jr Conceitos básicos de informática O que é informática? Informática pode ser considerada como significando informação automática, ou seja, a utilização de métodos

Leia mais

Comunicação Serial com o AVR ATMEGA8

Comunicação Serial com o AVR ATMEGA8 Comunicação Serial com o AVR ATMEGA8 Vitor Amadeu Souza vitor@cerne-tec.com.br Introdução Os microcontroladores AVR vem a cada dia tomando cada vez mais espaço nos novos projetos eletrônicos microcontrolados.

Leia mais

CALCULADORA SIMPLES COM ULA

CALCULADORA SIMPLES COM ULA CALCULADORA SIMPLES COM ULA Versão 2012 RESUMO 1 Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas para o desenvolvimento de circuitos que executam

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Prof. André Dutton EMENTA: Conceitos fundamentais e histórico da ciência da computação; Histórico dos computadores, evolução e tendências; Modalidades de computadores

Leia mais

1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox

1- Scilab e a placa Lab_Uino. 2- Instalação do ToolBox 1- Scilab e a placa Lab_Uino A placa Lab_Uino, é uma plataforma aberta para aprendizagem de sistemas microprocessados. Com a utilização de um firmware especifico a placa Lab_Uino é reconhecido pelo sistema

Leia mais

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. Centro de Emprego e Formação Profissional da Guarda Curso: Técnico de Informática Sistemas (EFA-S4A)-NS Trabalho Realizado Por: Igor_Saraiva nº 7 Com

Leia mais

Quadro de consulta (solicitação do mestre)

Quadro de consulta (solicitação do mestre) Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados Organização de um Computador Típico Memória: Armazena dados e programas. Processador (CPU - Central Processing

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

R S Q 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 17 - Tabela verdade NOR

R S Q 0 0 1 0 1 0 1 0 0 1 1 0 Tabela 17 - Tabela verdade NOR 19 Aula 4 Flip-Flop Flip-flops são circuitos que possuem a característica de manter os bits de saída independente de energia, podem ser considerados os princípios das memórias. Um dos circuitos sequenciais

Leia mais

Aperfeiçoamento Técnico com respeito ao Profissional.

Aperfeiçoamento Técnico com respeito ao Profissional. Política de Treinamento DME Aperfeiçoamento Técnico com respeito ao Profissional. A DME é uma empresa voltada para o atendimento das necessidades em conclusão e consumo de Energia Elétrica, consagrou-se

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

Cadastramento de Computadores. Manual do Usuário

Cadastramento de Computadores. Manual do Usuário Cadastramento de Computadores Manual do Usuário Setembro 2008 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PROCESSADOR... 3 CLOCK... 4 PROCESSADORES COM 2 OU MAIS NÚCLEOS... 5 NÚCLEOS FÍSICOS E LÓGICOS... 6 PRINCIPAIS FABRICANTES E MODELOS... 6 PROCESSADORES

Leia mais

Capítulo 3 - Trabalhando com circuitos digitais

Capítulo 3 - Trabalhando com circuitos digitais Prof. Alan Petrônio Pinheiro Apostila de MultiSim 17 Capítulo 3 - Trabalhando com circuitos digitais O primeiro passo para se trabalhar com circuitos digitais é inserir portas lógicas. Para isto, dispomos

Leia mais

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha. Memorias Introdução Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha. Necessariamente existe dois tipos de memórias: -Memória

Leia mais

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP

Estrutura de um Computador. Linguagem de Programação Rone Ilídio UFSJ - CAP Estrutura de um Computador Linguagem de Programação Rone Ilídio UFSJ - CAP Hardware e Software HARDWARE: Objetos Físicos que compões o computador Circuitos Integrados, placas, cabos, memórias, dispositivos

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

Leia mais

5 Entrada e Saída de Dados:

5 Entrada e Saída de Dados: 5 Entrada e Saída de Dados: 5.1 - Arquitetura de Entrada e Saída: O sistema de entrada e saída de dados é o responsável pela ligação do sistema computacional com o mundo externo. Através de dispositivos

Leia mais

Barramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa

Barramentos - BUS. Professor Especialista: Airton Ribeiro de Sousa Professor Especialista: Airton Ribeiro de Sousa É o percurso principal dos dados entre dois ou mais componentes de um sistema de computação, neste caso são os caminhos arquitetados na PLACA MÃE até o ponto

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Organização de Computadores Hardware

Organização de Computadores Hardware Organização de Computadores Hardware Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Computador Ferramenta

Leia mais

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP

Microinformática Introdução ao hardware. Jeronimo Costa Penha SENAI - CFP/JIP Microinformática Introdução ao hardware Jeronimo Costa Penha SENAI - CFP/JIP Informática Informática é o termo usado para se descrever o conjunto das ciências da informação, estando incluídas neste grupo:

Leia mais

Programa de Instalação do Lince GPS

Programa de Instalação do Lince GPS Esse programa instala o software Lince GSP em aparelhos portáteis que tenham GPS, como navegadores e celulares. O software Lince GPS é um programa destinado a alertar sobre a aproximação a pontos previamente

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 3 Software Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Barramento Sistemas Operacionais Interliga os dispositivos de E/S (I/O), memória principal

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 2.1 CONCEITO DE BIT O computador só pode identificar a informação através de sua elementar e restrita capacidade de distinguir entre dois estados: 0

Leia mais

Descrição do Produto. Altus S. A. 1

Descrição do Produto. Altus S. A. 1 Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP 13083-860, Campinas, SP, Brasil. grace@fem.unicamp.

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP 13083-860, Campinas, SP, Brasil. grace@fem.unicamp. Circuitos Lógicos Profa. Grace S. Deaecto Faculdade de Engenharia Mecânica / UNICAMP 13083-860, Campinas, SP, Brasil. grace@fem.unicamp.br Segundo Semestre de 2013 Profa. Grace S. Deaecto ES572 DMC / FEM

Leia mais

CPU Unidade Central de Processamento. História e progresso

CPU Unidade Central de Processamento. História e progresso CPU Unidade Central de Processamento História e progresso O microprocessador, ou CPU, como é mais conhecido, é o cérebro do computador e é ele que executa todos os cálculos e processamentos necessários,

Leia mais

Estrutura de um Computador

Estrutura de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de

Leia mais

Palavras-chave: turbina eólica, gerador eólico, energia sustentável.

Palavras-chave: turbina eólica, gerador eólico, energia sustentável. Implementação do modelo de uma turbina eólica baseado no controle de torque do motor cc utilizando ambiente matlab/simulink via arduino Vítor Trannin Vinholi Moreira (UTFPR) E-mail: vitor_tvm@hotmail.com

Leia mais

Programa de Atualização de Pontos do Lince GPS

Programa de Atualização de Pontos do Lince GPS Esse programa atualiza os pontos do software Lince GSP em aparelhos portáteis, como navegadores e celulares. A Robotron mantém um serviço de fornecimento de pontos de controle de velocidade aos aparelhos

Leia mais

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Protocolo é a linguagem usada pelos dispositivos de uma rede de modo que eles consigam se comunicar Objetivo Transmitir dados em uma rede A transmissão

Leia mais

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir

Leia mais

Hardware de Computadores

Hardware de Computadores Placa Mãe Hardware de Computadores Introdução Placa-mãe, também denominada mainboard ou motherboard, é uma placa de circuito impresso eletrônico. É considerado o elemento mais importante de um computador,

Leia mais

Organização Básica do Computador

Organização Básica do Computador Organização Básica do Computador Modelo de Von Neumann MEMÓRIA ENTRADA ARITMÉTICA LÓGICA SAÍDA CONTROLE Modelo de Von Neumann Introduziu o conceito do computador controlado por programa armazenado. Todo

Leia mais