Projeto Héracles Autores Bruno Holanda

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Programação em Java Prof. Maurício Braga
Transmissão de pacotes
O Áudio (Parte I) Prof. AMOUSSOU DOROTHÉE
Amostragem/Reconstrução
Fig. 2 Pontos críticos na característica de transferência vo(vi) de um inversor genérico. Microelectronic Circuits - Sedra/Smith (resumo sobre circuitos.
Instrumentação eletrônica
Conversores A/D e D/A Conversor analógico-digital (ADC) e conversor digital-analógico (DAC) são usados para interfacear um computador com o mundo analógico.
Entrada e Saída Introdução.
Técnicas para operações E/S
Análise de Casos de Uso.
Dispositivos lógicos programáveis (DLP)
Porta Paralela Prof.Almir.
Parte 7 - VHDL: Processos, Paralelismo e o Comando process (Continuação) LABORG 05/outubro/2009 César Augusto Missio Marcon Ney Laert Vilar Calazans.
Ney Laert Vilar Calazans
Modelos de Troca de Dados em Nível Elétrico
Unidades de Execução e de Controle Sistemas Digitais.
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
INTRODUÇÃO A INFORMÁTICA
Prof. Eduardo Leivas Bastos
VHDL (outros tópicos) MO801/MC912.
Arquiteturas Diferentes
MC542 Organização de Computadores Teoria e Prática
1. SINAIS Contém informações sobre uma variedade de coisas e atividades em nosso mundo físico. PROCESSAMENTO DE SINAIS Ato de extrair as informações necessárias.
Comunicação local Assíncrona
Informática Industrial
Maria Aparecida Castro Livi
Descrição de hardware em SystemC
Introdução à Informática
Sistemas Operacionais
Universidade Federal de Minas Gerais
Estruturas de Controle
Registradores de deslocamento (Shift Register)
Registradores de deslocamento (Shift Register)
Hardware Description Language (HDL)
Modulação AM-DSB-SC e AM- SSB
Transmissão AM Objetivo:
Análise de Casos de Uso Alexandre Motnteiro.
CE Oscilógrafo e Analisador de Energia
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Sistemas Operacionais
Engenharia de Requisitos
Como controlar o caixa Supermercados.
Amplificadores Operacionais
Engenharia de Software para Computação Embarcada
Antonyus Pyetro Infra-estrutura de Hardware – IF674
Conversão de um NFA para um DFA com um exemplo
Dispositivos Lógicos Programáveis (DLP) Ideia e Arquiteturas
Departamento de Electrónica, Telecomunicações e Informática
Arquitetura de computadores
Sistemas Operacionais
Introdução teórica A modulação em freqüência consiste na variação da freqüência da portadora proporcionalmente ao sinal de informação. Dado o sinal modulador.
Medidas Eletromagnéticas
Introdução aos Sistemas Microcontrolados
Introdução à Automação
MO801 - Tópicos em Arquitetura e Hardware Michele Tamberlini 05/2006
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
ELETRÔNICA DIGITAL Circuitos Aritméticos
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Prof. Carlos Humberto Llanos Q. Eletrônica para Instrumentação, Controle e Automação  Um dos grandes problemas dos CDA é a faixa de valores dos resistores.
Entrada e Saída (E/S).
Tópicos em System-Level
FLIP-FLOPs.
Fundamentos de Redes de Computadores
CONVERSORES DE SINAL.
Transcrição da apresentação:

Projeto Héracles Autores Bruno Holanda {bhtcd@cin.ufpe.br} Rodrigo Camarotti {rcfr@cin.ufpe.br} Rodrigo Pimentel {rwpa@cin.ufpe.br} Rômulo Bruno {rab@cin.ufpe.br} Centro de Informática – UFPE

O Projeto Implementação das funcionalidades básicas de um analisador de sinais e espectro. O que é um analisador de sinais e espectro? Dispositivo usado para medir, visualizar e analisar sinais elétricos e examinar a composição espectral de formas de ondas elétricas, acústicas ou ópticas. Como? Com algumas funcionalidades de um osciloscópio Usando a Fast Fourier transform (FFT) para colocar a forma de onda no domínio da freqüência.

Por que um analisador ? Análises Médicas EEG, ECG, EMG, EOG, ... Defeitos na retina Análise das vibrações de instrumentos musicais Detecção de Aromas Uso FFT para reconhecer padrões para identificar subtâncias químicas.

Por que um analisador ? Geologia Processamento de sinal digital Medir e armazenar ondas sísmicas Processamento de sinal digital Comunicações Astronomia Óptica

O Analisador

Circuito Analógico Recebe sinais analógicos de entrada e dá como saída uma representação digital de 8 bits desse sinal.

Restrições do conversor A/D O conversor A/D utilizado foi o ADC0804 que possui algumas restrições Ocasionaram o adicionamento de alguns dos módulos mostrados na figura anterior Converte sinais com amplitude entre 0 e 5 volts. Em função dessa restrição um circuito de deslocamento(Displacement) foi adicionado na entrada do circuito O conversor tem um tempo de conversão de 100µs, ou seja ele possui uma freqüência de 10kHz. Passa–baixa com uma freqüência de corte em torno de 3kHz. Em função dessa restrição um circuito de deslocamento(Displacement) foi adicionado na entrada do circuito para que os sinais que tivessem alguns de seus valores de amplitude no semi-eixo negativo fossem deslocados para o semi-eixo positivo. Sabemos pelo Teorema de Nyquist que a freqüência do sinal de entrada do conversor deve ser menor que a metade da freqüência de conversão do mesmo. Assim tínhamos que limitar os sinais de entrada do conversor, por essa razão que foi adicionado um filtro passa-baixa na entrada do conversor(Low-Pass Filter). Construímos um passa–baixa com uma freqüência de corte em torno de 3kHz.

Amplificador Usado para podermos lidar com sinais de pequena amplitude Facilitando assim a conversão desse sinais, já que sinais de baixa amplitude dificultariam a conversão pelo conversor A/D. Amplificação de 6 vezes a amplitude do sinal de entrada. Um amplificador Operacional(Amplifier) foi utilizado para fazer a amplificação do sinal de entrada. Essa amplificação foi utilizada para podermos lidar com sinais de pequena amplitude, facilitando assim a conversão desse sinais, já que sinais de baixa amplitude dificultariam a conversão pelo conversor A/D. Esse amplificador foi posicionado antes do filtro passa – baixa. Ele foi montado de forma a termos uma amplificação de 6 vezes a amplitude do sinal de entrada.

Conversor A/D Funciona no modo free–running Começa uma conversão e, assim que a termina, inicia outra sem a necessidade de qualquer comando O resultado da conversão é um inteiro de 8 bits, que é passado para o FPGA Assim após o sinal de entrada ter sido deslocado ele sofre uma amplificação de 6 vezes no amplificador, atravessa o filtro passa- baixa e finalmente entra no conversor A/D. O conversor foi montado para funcionar no modo free – running, ou seja, ele começa uma conversão e assim que termina essa conversão ele inicia outra imediatamente, sem a necessidade de qualquer comando. O resultado da conversão é um inteiro de 8 bits, que é passado para o FPGA.

Dip Switches Falta de dip switches no FPGA utilizado Construído um circuito que possui três switches, necessários para a entrada do sistema. Esses switches no estado “on” passam o valor zero para o FPGA(terra), e no estado “off” passa o valor um(5 volts).

O Controle Fluxo de projeto

Modelagem Comportamental Descreve as funcionalidades do projeto (algoritmo) Independente de tecnologia e arquitetura de implementação Não descreve FSM ou recursos, pois isso é feito pela síntese comportamental. A síntese comportamental possibilita a automação do processo de síntese de circuitos digitais Aumentando a produtividade Diminuindo erros Proporcionando a exploração de várias arquiteturas. - Ao contrário da modelagem RTL, o projetista não descreve FSM ou recursos (unidades de operação lógicas e aritméticas,unidades de armazenamento e as unidades de interconexão), pois isso é feito pela síntese comportamental. - A síntese comportamental possibilita a automação do processo de síntese de circuitos digitais aumentando a produtividade, diminuindo erros e proporcionando a exploração de várias arquiteturas.

O Cynthesizer Ferramenta de síntese comportamental SystemC comportamental Verilog RTL sintetizável Voltado para aplicações orientada a algoritmos e que não tenham predominância de entradas e saídas condicionais Módulos nos quais dados de entrada são processados por algum algoritmo conhecido (ex.: FFT) e então repassados a um outro circuito

O Cynthesizer Mesmo testebench para todos o níveis de abstração Comportamental, SystemC RTL e Verilog RTL Possibilita otimizações de latência e/ou de área, sem mudanças no código fonte

As Otimizações Duas maneiras para especificar as otimizações: Diretivas Incluir no código SystemC para afetar partes específicas do mesmo Linhas de comando Especificar globalmente para atingir o projeto como um todo Especificar para uma específica configuração de síntese comportamental

As Otimizações Dicas de como otimizar o programa mudando algumas partes do código.

As Otimizações CYN_DEFAULT_INPUT_DELAY Usada para especificar o delay no qual os dados na entrada estão válidos CYN_FLATTEN Faz com que o Cynthesizer implemente um array como registradores ao invés de como memórias CYN_PROTOCOL This directive is not a directive for optimization; it is used to indicate to Cynthesizer that a section of code is cycle-accurate. Cycle-accurate protocols are modeled in SystemC to move data into and out of the design. So this protocol ensures that behavioral design and RTL implementation correctly operate in the same testbench.

As Otimizações --sched_aggressive_2 Optimize the control logic, creating data path parts out of the control statements and additional processing to reduce the area. --sched_asap Creating the shortest possible schedule regardless of the number of functional units needed --lsb_trimming Is used to determine which library parts or data path components would be most beneficial --unroll_loops Removing unused least significant bits through --dpopt_auto Directs Cynthesizer to implement an optimized gate-level part for a specific block of code

As Otimizações Latência Área Behavioral* RTL* 3240.00 9100.00 *Unit: ns   RTL*   Changing the code 8680.00 --unroll_loops 7007.00 --dpopt_auto 6490.00 --sched_asap 3970.00 CYN_FLATTEN 3910.00 *Unit: ns RTL* 1764070.9 *Unit: m² RTL* Changing the code 1734941,4 --sched_aggressive_2 1733597.7 --dpopt_auto 1671688.8 --lsb_trimming 1666756.9 --unroll_loops 1762547.0 --sched_asap 2851609.1 CYN_FLATTEN 2467605.4 *Unit: m²   Área

A Prototipação Foi usada ferramentas da Altera,o Quartus II 4.1 e o FPGA Altera Stratix II EP2S60F672C5ES Total ALUTs 8,930 (18%) Total pins 51 Total memory bits 225, 86 DSP block 9-bit elements 8 Clock 64.9 ns Frequency 15.4 MHz FPGA 50MHz Com o uso de um divisor de frequência Frequência 12.5MHz Clock 80ns

A Paralela Pinos utilizados: Modo EPP: 2 – 9 -> para receber dados. 11 - wait: sent_data. 14 - data strobe: display_ready. 18 - 25 –> ground.

Proteção da Paralela Restringi o valor da corrente que é passada para a paralela Utilização do buffer 74HC244N que apenas recebe um sinal (0 ou 5 volts) e o repassa com um valor de corrente que a paralela aceita.

O Protocolo de Handshake Alta freqüência de trabalho do FPGA (~15MHz). Leitura da paralela no modo EPP tem taxa de transferência na faixa de 500KB/S a 2MB/S. Dispositivos trabalham em freqüências distintas. Necessidade de transmissão assíncrona. Controle preciso para troca de informações entre a paralela e o FPGA.

O Protocolo de Handshake Display_ready: interface pronta para receber dados Sent_data: dados enviados pelo FPGA Data: byte enviado pelo FPGA.

O Protocolo Funcional Define semântica para os dados enviados pelo FPGA. Dados possíveis: (0x00) modo trigger, (0x20) sensibilidade vertical, (0x40) base de tempo, (0x60) posição trigger, (0x80) amostras, (0xC0) nível trigger, (0xE0) modo FFT.

A Interface Ilustrar os resultados obtidos no processamento do FPGA Prover uma maior usabilidade para o usuário Melhor visualização do sinal em relação aos displays convencionais

A Interface Modo automático – onda senoidal Segundos / Divisão Volts / Divisão Iniciar Captura Modo Trigger