terminal remoto para a exibição de imagens seqüenciais · dac – digital-to-analog conversor...

123
Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação Daniel Vannucci Regert Terminal Remoto para a Exibição de Imagens Seqüenciais Curitiba 2004

Upload: others

Post on 11-Nov-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET

Engenharia da Computação

Daniel Vannucci Regert

Terminal Remoto para a Exibição de Imagens Seqüenciais

Curitiba

2004

Page 2: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET

Engenharia da Computação

Daniel Vannucci Regert

Terminal Remoto para a Exibição Seqüencial de Imagens

Monografia apresentada à disciplina de Projeto Final, como requisito parcial à conclusão do Curso de Engenharia da Computação. Orientador: Prof. Valfredo Pilla Jr.

Curitiba 2004

Page 3: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

ii

Page 4: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

iii

TERMO DE APROVAÇÃO

Daniel Vannucci Regert

Terminal Remoto para a Exibição Seqüencial de Imagens

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 Júnior___________________ Prof. _José Carlos da Cunha_________________ Prof. _Álvaro Rogério Cantieri_________________

Curitiba, 22 de novembro de 2004

Page 5: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

iv

Page 6: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

v

AGRADECIMENTOS

Gostaria de agradecer primeiramente a Deus que possibilitou que eu chegasse

até aqui e realizasse este projeto.

Quero agradecer também a minha namorada, Lia Basso Miranda responsável

pela idéia inicial deste projeto, foi quem mais me incentivou a realizá-lo.

Agradeço ao meu pai, João Tarcísio Regert e a minha mãe, Marilze Vannucci por

terem custeado toda a minha faculdade possibilitando que eu dedicasse todos os anos

somente para estudos. Agradeço a eles também, por terem agüentado meus “grandes

momentos” de mau humor e stress por causa deste projeto.

Gostaria de agradecer aos meus amigos que estão juntos comigo nesses anos de

faculdade e conseguiram chegar até aqui junto comigo, sempre um ajudando ao outro.

Em especial aos meus grandes amigos Rodrigo Villaverde Cendon e Raphael Derosso

Pereira que sempre estiveram dispostos a me ajudar quando pedi ajuda. Gostaria de

agradecer ao Mauricio Perretto que neste ano se tornou um grande amigo, ajudando

sempre que foi possível.

Agradeço também ao meu orientador, Valfredo Pilla Jr. por ter acreditado na idéia

do projeto e sempre esteve disposto a ajudar. Agradeço também ao professor José

Carlos da Cunha que sempre esteve ali para ajudar e incentivar a continuar o projeto.

Page 7: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

vi

Page 8: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

vii

SUMÁRIO Lista de Figuras ......................................................................................................................... ix Lista de Tabelas ........................................................................................................................ xi Lista de Siglas .......................................................................................................................... xiii Lista de Símbolos ..................................................................................................................... xv Resumo ................................................................................................................................... xvii Abstract .................................................................................................................................... xix

1 INTRODUÇÃO .......................................................................................................... 1

2 REVISÃO BIBLIOGRÁFICA ...................................................................................... 3

2.1 MONITORES CRT ................................................................................................... 3 2.2 INTERFACE VGA .................................................................................................... 5 2.3 MONTAGEM DA IMAGEM .......................................................................................... 7

2.3.1 Sincronia Horizontal .......................................................................................... 7 2.3.2 Sincronia Vertical .............................................................................................. 8 2.3.3 Temporização de um frame .............................................................................. 8

2.4 CORES RGB ......................................................................................................... 9 2.5 DE ONDE SURGIU O RGB? .................................................................................... 10

3 OBJETIVOS, MATERIAL E MÉTODOS .................................................................. 13

3.1 CRONOGRAMA ..................................................................................................... 13 3.2 DIAGRAMA LÓGICO DO SISTEMA ............................................................................ 15 3.3 DIAGRAMA LÓGICO DE HARDWARE ........................................................................ 16 3.4 DIAGRAMA LÓGICO DE SOFTWARE ......................................................................... 18 3.5 RECURSOS NECESSÁRIOS .................................................................................... 18 3.6 ANALISE DE CUSTOS ............................................................................................ 19 3.7 POSSÍVEIS MÓDULOS ADICIONAIS ........................................................................... 20

4 PROJETO ................................................................................................................ 21

4.1 SOFTWARE .......................................................................................................... 21 4.2 MÓDULO TRANSMISSOR ........................................................................................ 24 4.3 CONVERSOR SERIAL PARALELO ........................................................................ 31 4.4 “CORAÇÃO” DO SISTEMA (FPGA) .......................................................................... 32 4.5 BANCOS DE MEMÓRIA ........................................................................................... 35 4.6 CONVERSÃO DIGITAL-ANALÓGICA (DAC) ............................................................... 41 4.7 CARREGAMENTO DO PROGRAMA (LOADING) ........................................................... 43 4.8 RECEPÇÃO SEM FIO .............................................................................................. 45 4.9 LISTA DE MATERIAIS.............................................................................................. 46

5 RESULTADOS E DISCUSSÃO ............................................................................... 49

5.1 USB FPGA .................................................................................................... 49 5.2 FPGA MEMÓRIA .............................................................................................. 50 5.3 MEMÓRIA VIDEO .............................................................................................. 54 5.4 TRASMISSÃO SEM FIO .......................................................................................... 56 5.5 CARREGAMENTO DO PROGRAMA (LOADING) ........................................................... 58

6 CONCLUSÕES ....................................................................................................... 59

7 REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................ 61

8 BIBLIOGRAFIAS ..................................................................................................... 63

Page 9: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

viii

Anexo 1 – Testes USB FPGA .............................................................................................. 67 Anexo 2 – Diagramas Lógicos do Funcionamento do Controlador do Banco de Memórias ...... 71 Anexo 3 – Programas de testes ............................................................................................... 83 Anexo 4 – Diagramas Lógicos do Funcionamento do Controlador de Video ............................ 89 Anexo 5 – Cronograma seguido entre 5/3 e 23/10 ................................................................... 97

Page 10: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

ix

Lista de Figuras FIGURA 1 – DIAGRAMA DE UM CRT. .............................................................................................. 3 FIGURA 2 - SHADOW MASK. ........................................................................................................... 5 FIGURA 3 - CONECTOR VGA. ........................................................................................................ 6 FIGURA 4 – TEMPORIZAÇÃO DA SINCRONIA HORIZONTAL. ................................................................ 7 FIGURA 5 – TEMPORIZAÇÃO DA SINCRONIA VERTICAL. .................................................................... 8 FIGURA 6 – TEMPORIZAÇÃO DE UM FRAME. .................................................................................... 9 FIGURA 7 – TRUE-COLOR. .......................................................................................................... 10 FIGURA 8 – ESPECTRO DE CORES. .............................................................................................. 11 FIGURA 9 – ABSORÇÃO DE CORES. .............................................................................................. 11 FIGURA 10 – PARTE 1 DO CRONOGRAMA. .................................................................................... 14 FIGURA 11 – PARTE 2 DO CRONOGRAMA. .................................................................................... 14 FIGURA 12 – DIAGRAMA DE BLOCOS DO PROJETO. ....................................................................... 16 FIGURA 13 – DIAGRAMA DE BLOCOS DO HARDWARE..................................................................... 17 FIGURA 14 – DIAGRAMA DE BLOCOS DO SOFTWARE. .................................................................... 18 FIGURA 15 – DIAGRAMA PRÉVIO DE CASOS DE USO DO SOFTWARE. ............................................... 21 FIGURA 16 – TELA DO SOFTWARE. .............................................................................................. 22 FIGURA 17 – DIAGRAMA PRÉVIO DE CLASSES DO SOFTWARE. ....................................................... 23 FIGURA 18 – MÓDULO TRANSMISSOR. ......................................................................................... 24 FIGURA 19 – FT232BM. ............................................................................................................. 25 FIGURA 20 – ESQUEMÁTICO DA PLACA ADAPTADORA USB SERIAL. ........................................... 26 FIGURA 21 – TX2 E RX2 DA RADIOMETRIX. ................................................................................. 28 FIGURA 22 – PINAGEM DO TX2. .................................................................................................. 29 FIGURA 23 – PINAGEM DO RX2. .................................................................................................. 30 FIGURA 24 – CIRCUITO DE RECEPÇÃO E DE CONVERSÃO SERIAL PARALELO. ............................. 31 FIGURA 25 - PLACA FPGA STARTER KIT ALTERA - PI1K100A. ..................................................... 33 FIGURA 26 – DIAGRAMA DE BLOCOS DO STARTER KIT ALTERA. ..................................................... 33 FIGURA 27 – CIRCUITO DE ALIMENTAÇÃO DO SISTEMA. ................................................................. 34 FIGURA 28 – PINAGEM DO 7805 .................................................................................................. 34 FIGURA 29 – PINAGEM DO BQ4016. ............................................................................................ 36 FIGURA 30 – TEMPORIZAÇÃO DE LEITURA DO BQ4016. ................................................................ 37 FIGURA 31 – TEMPORIZAÇÃO DE ESCRITA DO BQ4016. ................................................................ 38 FIGURA 32 – ESQUEMÁTICO DOS BANCOS DE MEMÓRIA. ............................................................... 40 FIGURA 33 – LAYOUT DA PLACA DO BANCO DE MEMÓRIAS. ............................................................ 41 FIGURA 34 – CIRCUITO COM A CONVERSÃO DA. ........................................................................... 42 FIGURA 35 – PINAGEM DO 27C020. ............................................................................................ 44 FIGURA 36 – ESQUEMÁTICO DA MEMÓRIA DE CARREGAMENTO. ..................................................... 45 FIGURA 37 – ESQUEMÁTICO DO RECEPTOR LIGADO NA FPGA. ...................................................... 46 FIGURA 38 – TESTE DO MÓDULO USB SERIAL ......................................................................... 49 FIGURA 39 – TESTE DA TRANSMISSÃO SERIAL. ............................................................................. 50 FIGURA 40 – TESTE DA FPGA GRAVANDO E LENDO DA MEMÓRIA. ................................................. 51 FIGURA 41 – SIMULAÇÃO DO FUNCIONAMENTO DO BANCO DE MEMÓRIAS, 20US ............................. 52 FIGURA 42 – SIMULAÇÃO DO FUNCIONAMENTO DO BANCO DE MEMÓRIAS, 6,2US ............................ 53 FIGURA 43 – MEMÓRIA LIGADA NO ANALISADOR LÓGICO. .............................................................. 54 FIGURA 44 – SISTEMA COMPLETO (SEM TRANSMISSÃO RF). ......................................................... 55 FIGURA 45 – IMAGEM COM AS 8 CORES EXIBIDAS PELO SISTEMA (REDUZIDA). ................................ 55 FIGURA 46 – PRIMEIRO TESTE DE TRANSMISSÃO. ......................................................................... 57 FIGURA 47 – TRANSMISSÃO SEM RUÍDOS. .................................................................................... 57 FIGURA 48 – ALGORITMO IMPLEMENTADO NO 89S51 PARA A CONVERSÃO SERIAL PARALELA ..... 69 FIGURA 49 – TESTE ENTRADA PARALELA, SAÍDA PARALELA QUANDO NOVODADO = 1 .................... 69 FIGURA 50 – ALGORITMO DA “TOMADA” DA FIGURA 49 ................................................................. 70 FIGURA 51 – MACRO VISÃO DO SISTEMA. .................................................................................... 73 FIGURA 52 – VISÃO DO “GERENTEBANCO” DA FIGURA 51 ............................................................. 73 FIGURA 53 – VISÃO DO “CMDBANCOS” DA FIGURA 52 .................................................................. 74

Page 11: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

x

FIGURA 54 – ALGORITMO DO “PULSODE2CLK” DA FIGURA 53 ....................................................... 75 FIGURA 55 – ALGORITMO DO “INCBANCOS” DA FIGURA 53 ............................................................ 76 FIGURA 56 – VISÃO DO “GERENTEMEMORIA” DA FIGURA 52 ......................................................... 77 FIGURA 57 – VISÃO DO “ENDERECOMEMORIA2” DA FIGURA 56 ..................................................... 77 FIGURA 58 – ALGORITMO DO “RESRTGRAY” DA FIGURA 57 ........................................................... 78 FIGURA 59 – VISÃO DO “CTRLBANCO” DA FIGURA 56 ................................................................... 78 FIGURA 60 – VISÃO DO “RESETABANCO” DA FIGURA 52. .............................................................. 78 FIGURA 61 – ALGORITMO DO “RESETARUIDO” DA FIGURA 60. ....................................................... 79 FIGURA 62 - VISÃO DO “DADOSBANCOS” DA FIGURA 52................................................................ 80 FIGURA 63 – INTERFACE DO PROGRAMA RESPONSÁVEL POR ENVIAR DADOS PARA A SERIAL. ........... 85 FIGURA 64 – CLASSE RESPONSÁVEL POR FAZER O ENVIO DE DADOS À SERIAL. .............................. 86 FIGURA 65 – THREAD RESPONSÁVEL PELA REPETIÇÃO NO ENVIO DE DADOS. ................................. 86 FIGURA 66 – INTERFACE DO PROGRAMA RESPONSÁVEL POR GERAR PULSOS DE LEITURA. .............. 86 FIGURA 67 – INTERFACE DO PROGRAMA GRAY CODE. .................................................................. 87 FIGURA 68 – ALGORITMO RESPONSÁVEL PELA CONVERSÃO DO NÚMERO. ...................................... 87 FIGURA 69 – VISÃO GERAL DO GERENCIADOR DE VÍDEO. .............................................................. 91 FIGURA 70 – ALGORITMO DO “VIDEOVGA” DA FIGURA 69 .............................................................. 92 FIGURA 71 – VISÃO DO “RESETAVIDEO” DA FIGURA 69. ................................................................ 93 FIGURA 72 – VISÃO DO “IDENTIFICATROCA” DA FIGURA 71. .......................................................... 93 FIGURA 73 – ALGORITMO DO “RESETINTVIDEO” DA FIGURA 72. .................................................... 94 FIGURA 74 – ALGORITMO DO “RESETESPERAFIM” DA FIGURA 71. ................................................. 95 FIGURA 75 – ALGORITMO DO “DADOSRGB” DA FIGURA 69. .......................................................... 96 FIGURA 76 – HORAS GASTAS POR MÊS. ....................................................................................... 99 FIGURA 77 – HORAS GASTAS POR ATIVIDADE. .............................................................................. 99

Page 12: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xi

Lista de Tabelas

TABELA 1 - PINAGEM VGA. ........................................................................................................... 6 TABELA 2 - BITS POR PONTO X QUANTIDADE DE CORES. .................................................................. 6 TABELA 3 – EXEMPLOS DE CÁLCULOS DE MEMÓRIA MÍNIMA DE VÍDEO. ............................................. 7 TABELA 4 – 1 BIT PARA CADA COR. .............................................................................................. 10 TABELA 5 – RESPONSABILIDADE DE CADA CLASSE. ....................................................................... 23 TABELA 6 – DESCRIÇÃO DOS PINOS DO FT232BM. ...................................................................... 27 TABELA 7 – DESCRIÇÃO DOS PINOS DO FT232BM (CONTINUAÇÃO). .............................................. 28 TABELA 8 – DESCRIÇÃO DOS PINOS DO TX2. ............................................................................... 29 TABELA 9 – DESCRIÇÃO DOS PINOS DO RX2. ............................................................................... 30 TABELA 10 – PINAGEM DO BQ4016. ........................................................................................... 36 TABELA 11 – TABELA VERDADE DE OPERAÇÃO DO BQ4016. .......................................................... 36 TABELA 12 – TEMPORIZAÇÃO DO CICLO DE LEITURA DA MEMÓRIA BQ4016. ................................... 37 TABELA 13 – TEMPORIZAÇÃO DO CICLO DE ESCRITA DA MEMÓRIA BQ4016. ................................... 39 TABELA 14 – DESCRIÇÃO DO CIRCUITO DA FIGURA 31. ................................................................. 40 TABELA 15 – DESCRIÇÃO DO CIRCUITO DA FIGURA 35. ................................................................. 42 TABELA 16 – PINAGEM DO 27C020. ............................................................................................ 44 TABELA 17 – TABELA VERDADE DE OPERAÇÃO DO 27C020. .......................................................... 44 TABELA 18 – DESCRIÇÃO DO CIRCUITO DA FIGURA 37. ................................................................. 45 TABELA 19 – LISTA DE COMPONENTES. ....................................................................................... 47 TABELA 20 – CRONOGRAMA DETALHADO. .................................................................................. 100

Page 13: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xii

Page 14: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xiii

Lista de Siglas CMYK – Cyan, Magenta, Yellow, Black CI – Circuito Integrado CIE – Comission Internacionale de l'Éclairage CRT – Cathode ray tube DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory FM – Frequency Modulation FPGA – Field Programmable Gate Arrays FTDI – Future Technology Devices International Ltd. IBM – International Business Machines JPEG – Joint Photographic Experts Group (é também um formato de arquivo) JTAG – Joint Test Action Group (é também conhecido como um padrão de interface) LED – Light Emitting Diode LQFP – Low Profile Quad Flat Pack MIT – Massachusetts Institute of Technology MOSFET – Metal-Oxide-Semiconductor Field Effect Transistor MP3 – MPEG1 Layer III (formato de arquivo) MPEG – Moving Picture Expert Group (é também um formato de arquivo) NCET – Núcleo de Ciências Exatas e Tecnológicas NTSC – National Television System Committee NVSRAM – Non-Volatile Static Random Access Memory PAL-M – Phase Alternation by Line - Modified PC – Personal Computer PIXELS – Picture Elements PLCC – Plastic J-Leaded Chip Carrier PLL – Phase Lock Loop PNP – Positivo – negativo – positivo RAM – Random Access Memory RBF – Raw Binary File RGB – Red, Green, Blue RF – Radio Frequency RS232 – Recommended Standard number 232 from the Electronic Industry Association RS485 – Recommended Standard number 485 from the Electronic Industry Association SRAM – Static Random Access Memory TTL – Transistor-Transistor Logic UART – Universal Asynchronous Receiver / Transmitter UNICENP – Centro Universitário Positivo USB – Universal Serial Bus UVEPROM – Ultraviolet Erasable Programmable Read-Only Memory VCP – Virtual COM Port VGA – Video Graphics Array VHDL – Very High Speed Integrated-Circuit Hardware Descripton Language

Page 15: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xiv

Page 16: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xv

Lista de Símbolos

- ohm

bps - bits por segundo Bytes - 8 bits Hz - Hertz KB - 1024 bytes Kbits/s - 1024 bits / segundo

K - 1000 ohms

mA - 10-3 Amperes MB - 1024 KB MHz - 1000 Hz mVpp - 10-3 volts pico a pico nm - 10-9 metros nF - 10-9 Faradays Vpp - Volts pico a pico

Page 17: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xvi

Page 18: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xvii

Resumo

A crescente evolução tecnológica impulsionada, principalmente, pela área de

entretenimento nos traz novidades a cada dia. Pensando nisto, este projeto pretende

trazer mais uma novidade, um dispositivo capaz de funcionar como um terminal remoto

para a exibição de imagens (um porta-retratos digital). Certamente esta não será sua

única funcionalidade.

Pensando na reutilização de velhos monitores padrão VGA, este dispositivo

poderá ser utilizado, em conjunto com esses monitores, em escolas carentes para

substituir um projetor multimídia, ou ainda, poderá ser utilizado pela publicidade em

diversos locais.

Para a realização deste trabalho foi necessário o desenvolvimento de uma

interface VGA, capaz de receber uma imagem no formato digital e transformá-la em

uma imagem capaz de ser exibida em um monitor analógico.

Page 19: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xviii

Page 20: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

xix

Abstract

The increasing technological evolution impelled mainly by the entertainment

sector presents new developments every day. That is the motivation of this project,

which intends to create one more new development, a device designed to work as a

remote terminal capable of showing images - a digital portrait. And that device will

certainly have other useful functions too.

Thinking about the reutilization of old monitors, VGA standard, this new device

can be used together with those monitors as a multimedia projector in poor schools, for

example, and it can also be used for publicity in many places.

In order to accomplish the present project it will be necessary to develop a VGA

interface, capable of receiving an image in the digital form and transforming it into an

image to be shown in an analog monitor.

Page 21: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

1

1 INTRODUÇÃO

Com a crescente evolução tecnológica que estamos sofrendo, há cada vez mais

demanda por tecnologia na área de entretenimento. Este constante desenvolvimento

também implica em um grande acumulo de “lixo tecnológico” e também na “exclusão

digital” das classes mais baixas.

Com base nestes aspectos este trabalho propõe a construção de um terminal

remoto para a exibição de imagens que poderá se encaixar em diversas áreas.

Poderíamos ter um mini-game capaz de exibir imagens em um monitor, ou ainda, um

“porta-retratos digital”. Pensando no “lixo tecnológico” e na “exclusão digital” este

terminal poderia ser usado juntamente com monitores já sem utilidade, para a exibição

de slides em escolas públicas. Pensando em outras aplicações, a base principal deste

projeto, poderia ser utilizada em qualquer dispositivo que pudesse exibir informações

em um monitor.

Este trabalho esta organizado em 8 partes. Começando pela revisão bibliográfica

onde está contida a teoria necessária para a realização deste projeto. Então, a lógica

do projeto com os respectivos diagramas lógicos, uma proposta de cronograma bem

como os recursos e custos estimados para o desenvolvimento do projeto. Em seguida,

as especificações do projeto, contendo informações relevantes sobre os componentes,

circuitos e softwares que serão utilizados neste trabalho. Depois, serão apresentados

e discutidos os resultados. Para finalizar, serão apresentadas as conclusões e as

referências bibliográficas.

Page 22: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

2

Page 23: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

3

2 REVISÃO BIBLIOGRÁFICA

Para se entender com facilidade este projeto, deve-se começar com o

entendimento básico do funcionamento dos monitores CRT, bem como a interface

VGA. Depois um breve estudo de como as cores são armazenadas em um computador

e como as cores são enviadas para o monitor.

2.1 Monitores CRT

O primeiro computador a exibir informações em um monitor CRT, foi criado entre

1945 e 1951, por WHIRLWIND do Instituto de Tecnologia de Massachusetts (MIT)

[MANSANO, 2004].

Os monitores CRT são compostos por um canhão que gera um feixe de elétrons.

Um aquecedor é utilizado para liberar elétrons de um catodo, razão pela qual os

monitores demoram um pouco para apresentar a primeira imagem depois de ligado.

Esses elétrons (cargas negativas) são atraídos por anodos (cargas positivas) próximos

à parte da frente do monitor (Figura 1).

Figura 1 – Diagrama de um CRT.

Adaptado de SAMSUNG (2004).

O feixe de elétrons percorre um caminho da esquerda para a direita e de cima

para baixo, orientado por diversos componentes chamados bobinas defletoras. Ao

atingir a extremidade direita da tela, o feixe é desligado para retornar à extrema

Page 24: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

4

esquerda da linha inferior e, quando atinge a extremidade de baixo, também é

desativado para retornar novamente à primeira linha.

Aumentando ou diminuindo a intensidade do feixe, consegue-se controlar o

brilho dos pontos de fósforo da tela para gerar a imagem. A velocidade com que o feixe

percorre toda a tela é chamada de taxa de renovação (refresh rate) ou também de

freqüência de varredura vertical. Normalmente esse valor está compreendido entre 50

e 80 quadros por segundo, ou seja, possuem uma freqüência vertical entre 50Hz e

80Hz [TORRES, 1999].

A velocidade com que o fluxo de elétrons é capaz de preencher um quadro (uma

tela inteira) é chamada de freqüência horizontal. Em um monitor VGA padrão a

freqüência horizontal padrão, é de 31.500Hz.

A cor da luz emitida vai depender da formulação do fósforo usado. Os monitores

monocromáticos, mais simples, produzem imagens na cor verde, branco ou âmbar e,

durante muito tempo, foram os únicos a oferecer custo acessível para o usuário de

computadores de mesa. A pouco menos de dez anos é que os monitores coloridos

passaram a se popularizar.

Esses modelos usam o padrão RGB (Red, Green e Blue), um sistema de

representação de todas as cores com base no vermelho, verde e azul. Para gerar

qualquer cor do espectro, os monitores coloridos precisam de três sinais separados,

que vão sensibilizar, respectivamente, os pontos de fósforo suficientemente pequenos

para parecer ao olho humano como um único ponto de luz.

Os monitores CRT coloridos empregam uma técnica conhecida como Shadow

mask (mascara de sombras) para mesclar os trios de fósforo (Figura 2). Esta técnica

insere uma fina folha de metal perfurado entre a tela e o canhão de elétrons; dessa

forma, miram-se os respectivos feixes das três cores primárias em um mesmo orifício

na placa, que direcionará a formação do ponto colorido na tela.

Page 25: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

5

Figura 2 - Shadow mask.

Adaptado de SAMSUNG (2004).

2.2 Interface VGA

Em 1987 a IBM introduziu o padrão VGA, que consistia basicamente, em uma

memória de vídeo (onde a imagem é guardada antes de ser exibida), um conversor

digital para analógico (responsável por converter o RGB digital para o RGB analógico),

controlador CRT (responsável por gerar os sinais de sincronia), um seqüenciador

(responsável pela temporização de todas as funções da VGA), um controlador gráfico

(responsável por fazer a interface entre a memória de vídeo e o processador) e um

controlador de atributos (responsável por fazer a conversão da cor RGB com a cor

indicada na paleta correspondente) [ZELENOVSKY e MENDONÇA, 2002].

As placas VGA de hoje ainda usam o conector padrão de 15 pinos (Figura 3 e

Tabela 1). Os pinos deste conector carregam o sinal de vídeo no formato RGB, os

sinais de sincronia horizontal e vertical. Os sinais R, G e B são sinais analógicos com

uma amplitude de 0,7Volts todos os demais sinais são sinais de nível TTL

[EPANORAMA.NET, 2004].

Page 26: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

6

Tabela 1 - Pinagem VGA.

Adaptada de MONITORWORLD.COM (2004).

Pin # Descrição

1 Red Vídeo 2 Green Vídeo 3 Blue Vídeo 4 Sense 2 (Monitor ID bit 2) 5 Self Test (TTL Ground) 6 Red Ground 7 Green Ground 8 Blue Ground 9 Key - reserved, no pin 10 Logic Ground (Sync Ground) 11 Sense 0 (Monitor ID bit 0) 12 Sense 1 (Monitor ID bit 1) 13 Horizontal Sync 14 Vertical Sync 15 Sense 3 - often not used

Figura 3 - Conector VGA.

Adaptado de BBDSOFT (2004).

Para exibir uma imagem na tela de um computador, a imagem tem que ser

enviada para a placa de vídeo na forma de uma matriz, contendo a cor de cada ponto.

Essa matriz nada mais é do que o padrão RGB.

Neste padrão, temos a resolução que é a quantidade de bits que representam

uma cor. Quanto mais bits a representarem, melhor será a resolução. Sabendo a

resolução que a interface irá trabalhar, é possível saber qual a quantidade mínima de

memória que esta interface necessita ter. Veja a Tabela 2 abaixo.

Tabela 2 - Bits por ponto x quantidade de cores.

Adaptado de TORRES (1999).

Quantidade de bits por pixel* Cores simultâneas disponíveis

8 256 16 65.536 24 16.777.216 (RGB True Color)

32 4.294.967.296 (CMYK True Color)

* Um pixel é formado pela tripla RGB

Para determinar a quantidade mínima de memória necessária, basta realizar a

seguinte operação: resolução horizontal x resolução vertical x bits por ponto / 8 =

quantidade mínima de memória de vídeo (expressa em bytes).

Por exemplo, para trabalhar com uma resolução de 640 x 480 em RGB True

Color, será necessário que a interface tenha no mínimo 640 x 480 x 24 / 8 = 921.600

bytes ou 900KB. A Tabela 3 mostra mais alguns exemplos.

Page 27: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

7

Tabela 3 – Exemplos de cálculos de memória mínima de vídeo.

Adaptado de TORRES, 1999.

Resolução Bits por pixel Memória mínima

640 x 480 16 600KB 800 x 600 8 469KB 800 x 600 24 1,38MB

1024 x 768 32 3MB

2.3 Montagem da Imagem

Como dito anteriormente o monitor CRT desenha a imagem através de um feixe

de elétrons que percorre um caminho da esquerda para a direita e de cima para baixo.

Ele sabe o caminho que deve percorrer através de dois sinais de sincronia, a sincronia

horizontal e a sincronia vertical [HERVEILLE, 2003].

2.3.1 Sincronia Horizontal

A Figura 4 apresenta o diagrama de temporização do sinal de sincronia

horizontal.

Figura 4 – Temporização da sincronia horizontal.

Adaptado de HERVEILLE (2003).

Thsync – The Horizontal Synchronization Time (Tempo de sincronização

horizontal)

É a duração do pulso de sincronia horizontal, medido em pixels por pulso de

clock;

Thgdel – The Horizontal Gate Delay Time (Tempo de espera de ativação)

É a duração entre o final do pulso de sincronia horizontal e a ativação

horizontal, medido em pixels por pulso de clock;

Page 28: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

8

Thgate – The Horizontal Gate Time (Tempo de ativação horizontal)

É a duração da área visível da linha de vídeo, medida em pixels por pulso de

clock;

Thlen – The Horizontal Length Time (Tempo total da linha horizontal)

É a duração completa de uma linha de vídeo, desde o pulso de sincronização

horizontal até o começo de um novo pulso, medido em pixels por pulso de clock.

2.3.2 Sincronia Vertical

A Figura 5 apresenta o diagrama de temporização do sinal de sincronia vertical.

Figura 5 – Temporização da sincronia vertical.

Adaptado de HERVEILLE (2003).

Tvsync – The Vertical Synchronization Time (Tempo de sincronização vertical)

É a duração do pulso medido em linhas horizontais;

Tvgdel – The Vertical Gate Delay Time (Tempo de espera de ativação)

É a duração de tempo entre p final de um pulso de sincronização vertical e o

começo da ativação vertical medido em linhas horizontais;

Tvgate – The Vertical Gate Time (Tempo de ativação vertical)

É a duração da área visível do frame, medido em linhas horizontais;

Tvlen – The Vertical Length Time (Tempo total da linha vertical)

É a duração completa de um frame de vídeo, desde o pulso de sincronização

vertical até o começo de um novo pulso, medido em linhas horizontais.

2.3.3 Temporização de um frame

A Figura 6 apresenta o diagrama de temporização dos sinais de sincronia

horizontal e vertical simultaneamente, e como eles compõe a imagem.

Page 29: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

9

Figura 6 – Temporização de um frame.

Adaptado de HERVEILLE (2003).

2.4 Cores RGB

RGB é um formato de representação de cores, tanto digital, quanto analógico.

Ele representa, respectivamente, as cores, Vermelha, Verde e Azul. Em um sistema

digital as cores são representadas por bits. Já em um sistema analógico, elas são

representadas por um nível de tensão.

Page 30: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

10

O padrão para a representação das cores RGB digital é o uso de 8 bits para

cada cor que resulta em um total de 24bits, mas nada impede que sejam usados

menos bits por cor.

Por exemplo, caso cada cor só fosse representada por um único bit. Poderiam

ser formadas apenas 8 cores. Veja a Tabela 4.

Tabela 4 – 1 bit para cada cor.

Adaptado de CANTIERI (2004).

R G B Cor

0 0 0 Preto 0 0 1 Azul 0 1 0 Verde 0 1 1 Turquesa 1 0 0 Vermelho 1 0 1 Magenta 1 1 0 Amarelo 1 1 1 Branco

Para encontrar o número de cores, sabendo o número de bits para cada cor,

pode-se fazer o seguinte calculo: assim tem-se

que representa o padrão True Color, que pode ser visto na Figura 7.

Figura 7 – True-Color.

Adaptado de VIEWS IMAGEM & COMUNICAÇÃO LTDA (2004).

2.5 De onde surgiu o RGB?

Para entender de onde veio o RGB, deve-se analisar um pouco da fisiologia do

olho. No nosso olho existem dois tipos de “sensores”, os cones e os bastonetes. Os

bastonetes são sensíveis a todos os comprimentos de onda ponderadamente, por isso,

possuem uma melhor resposta à luz, mas não são capazes de distinguir cor. Já os

cones são menos sensíveis à luz, mas permitem a distinção de cores. Existirem três

tipos de cones, sensíveis a comprimentos de onda entre aproximadamente 380nm e

780nm, olhar espectro da luz, Figura 8. Isso caracteriza o processo de discriminação

3__2 bitsdenúmero

16777216238

Page 31: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

11

de cor do olho, chamado de tricromacidade. O espectro da luz azul está entre 380nm e

500nm, o do verde entre 500nm e 600nm e do vermelho entre 600nm e 780nm, olhar

Figura 9 [SCURI, 1999].

Figura 8 – Espectro de cores.

Adaptado de ESSILOR (2004).

Figura 9 – Absorção de cores.

Adaptado de CANTIERI (2004).

Page 32: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

12

O primeiro padrão baseado nesses conceitos foi estabelecido em 1931 pelo

comitê CIE (Comission Internacionale de l'Éclairage). Foi chamado de CIE-RGB, pois

definem as primárias Pr(λ), Pg(λ) e Pb(λ) do emissor como sendo 3 cores espectrais

[SCURI, 1999].

Alguns experimentos mostram que somos capazes de reconhecer

aproximadamente 400 mil cores diferentes, que poderiam ser representadas por 19bits.

Como a codificação RGB normalmente utiliza 24bits é mais do que suficiente para

representar as cores visíveis.

Page 33: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

13

3 OBJETIVOS, MATERIAL E MÉTODOS

Neste capítulo serão mostrados, o cronograma proposto para o desenvolvimento

do projeto, os diagramas lógicos do projeto com explicações detalhadas de cada bloco,

recursos necessários para o desenvolvimento, bem como uma estimativa inicial de

custos.

3.1 Cronograma

O cronograma teve que ser dividido em duas partes, as quais são mostradas na

Figura 10 e Figura 11. O tempo gasto na documentação e no software não é mostrado

neste cronograma, pois foram sendo desenvolvidos ao longo de todo o projeto. Um

cronograma bem detalhado separado por datas e horas, pode ser visto no Anexo 5.

Page 34: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

14

Figura 10 – Parte 1 do cronograma.

Figura 11 – Parte 2 do cronograma.

Page 35: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

15

3.2 Diagrama Lógico do Sistema

O diagrama de blocos (Figura 12) caracteriza o sistema. O sistema transmissor

deve ser conectado a um PC com interface USB, onde o software será executado. Já,

o sistema receptor deve ser conectado a uma fonte de alimentação, e a um monitor

padrão VGA, onde as imagens enviadas pelo software serão enviadas.

O bloco transmissor é composto pelo conversor USB serial, responsável por

fazer a interface entre o computador e o resto do sistema; e pelo transmissor via rádio,

responsável por enviar os dados para o bloco principal. Vale lembrar, que a

transmissão é unidirecional, ou seja, os dados saem do computador e vão para o bloco

principal.

O bloco principal, que faz a interface com o vídeo é composto pelo receptor,

responsável pela recepção dos dados; memória de vídeo (bloco 1 e bloco 2), que foi

dividida em dois blocos para facilitar a recepção e a exibição, ou seja, enquanto o bloco

1 estiver sendo utilizado para exibir uma imagem, o bloco 2 estará disponível para a

recepção de uma nova imagem, ela é responsável por guardar a imagem que será

exibida; memória de programa, esta memória, contém o código fonte do programa, que

é carregado na FPGA sempre que o sistema é ligado; os DACs são responsáveis por

converter as cores RGB do formato digital, para o RGB analógico, estes DACs foram

implementados com resistores; a FPGA (Altera ACEX) “coração do sistema” que é

responsável por receber os dados, enviar para o banco de memória correspondente,

verificar o banco de memória ativo, gerar os sinais de sincronia para exibir a imagem

no monitor.

Page 36: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

16

Transmissor

USB Serial

Interface USB

FPGA Altera

DAC

(R)

DAC

(G)

DAC

(B)

Memória

de

programa

Receptor

Interface VGA

Memória

de vídeo

Banco 1

Memória

de vídeo

Banco 2

Figura 12 – Diagrama de blocos do projeto.

3.3 Diagrama Lógico de Hardware

O software que é carregado dentro da FPGA, foi desenvolvido em VHDL, e está

representado na Figura 13. O código deste software foi armazenado em uma memória

não-volátil (Flash ou UVEPROM) e toda vez que o sistema é ligado, o código é

carregado na FPGA, isto é necessário, pois o Acex utiliza tecnologia de memória

volátil, ou seja, toda vez que ele é desligado sua memória é apagada. Depois de

carregado, o software inicializa o seu funcionamento.

Page 37: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

17

Ele foi dividido em dois blocos fundamentais, nomeados na Figura 13 como

“Parte 1” e “Parte 2” esse blocos funcionam de maneira independente um do outro.

Com isso, a “Parte 1” fica responsável por verificar se há novos dados vindos do

receptor e caso haja, transmite-os para o banco de memória que não estiver sendo

usado no momento. A “Parte 2” fica responsável por gerar os sinais de sincronia para o

monitor, acessar o banco de memória ativo e ir mostrando no monitor a imagem

gravada em memória.

Inicio

Verificar dados

chegando

Há dados?

Receber Dados

Checar banco de

memória ativo

Banco 1?

Colocar dados na

memória 2

Colocar dados na

memória 1

Checar banco de

memória ativo

Banco 1?Exibir conteúdo do

banco 1

Exibir conteúdo do

banco 2

Gerar sinais de

sincronia

Exibir pixels do

banco ativo

Terminou de

exibir o banco

ativo?

CarregarCarregar memória

de programa

Sim

Não

Sim

Sim

Não

Sim

Não

Não

Parte 2Parte 1

Figura 13 – Diagrama de blocos do Hardware.

Page 38: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

18

3.4 Diagrama Lógico de Software

O software deste projeto, que roda em qualquer PC com porta USB e Windows

98/Me/2000/XP, é responsável por verificar o formato (representação de cores e

resolução) da imagem a ser exibida, e caso necessário, adequá-la ao padrão depois,

enviar a imagem ao dispositivo (Figura 14).

Inicio

Carregar Figura

É BMP ou

JPG?

É menor que

320 x 480?

Não

Sim

Converter para 8

cores (8bits)Não

Sim

Enviar arquivo

Centraliza e

preencher para

320 x 480

Gera vetor de bytes a ser

enviado com tamanho de

320 x 480

Figura 14 – Diagrama de blocos do Software.

3.5 Recursos Necessários

Felizmente, muitos dos recursos necessários para este projeto já estão

disponíveis no próprio campus da UnicenP, principalmente, os softwares necessários.

Mas ainda assim, a maioria dos componentes de hardware teve que ser adquirida. O

recurso mais importante é claro, é o recurso intelectual, esse projeto teve um gasto

aproximado de 600h de trabalho, aproximadamente 85h mensais, . Outros recursos

utilizados:

Borland C++Builder 5 profissional;

OrCAD 9.2;

Page 39: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

19

Quartus 2 Web Edition versão 3, 4 e 4.1;

MS Word 2003;

MS Exel 2003;

MS PowerPoint 2003;

MS Paint;

Adobe Photoshop 7;

Adobe Acrobat 5 e 6;

Windows 2000/XP;

Componentes de Hardware;

Multímetro, Osciloscópio, fonte, protoboard, fios, alicates, solda...

Computador K7 900MHz.

3.6 Analise de Custos

Este projeto teve um custo de desenvolvimento elevado, isso, é claro, se a

estrutura da UnicenP não fosse disponibilizada. Contando com esta estrutura, o custo

do projeto se resume, praticamente, em componentes de hardware e horas de trabalho.

Alguns componentes de hardware, também podem ser conseguidos como sample

(amostras).

Componentes de Hardware Importados samples

Componentes de Hardware Nacionais R$ 470 + componentes emprestados

Plataforma de desenvolvimento (Borland C++Builder) UnicenP (R$2560,00)

Plataforma de desenvolvimento (OrCAD) UnicenP (U$12000,00)

Plataforma de desenvolvimento (Quartus || - Web Edition) Gratuito

Office XP Std. – Educacional UnicenP (R$530,00)

Windows 2000 UnicenP (R$722,00)

Corel Draw 11 – Educacional UnicenP (R$560,00)

Equipamentos de laboratório (Multímetro, osciloscópio, fonte...) UnicenP

(R$40000,00)

Computador R$2500,00

Recursos Humanos (aprox. 600h) R$3000,00

Custo estimado da produção de um protótipo R$ 900,00

Page 40: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

20

3.7 Possíveis módulos adicionais

Como implementação adicional para este projeto, surgiram inúmeras idéias,

algumas viáveis, outras nem tanto. Entre as idéias que podem ser implementadas em

pouco tempo destaca-se:

Aumento do número de cores da imagem;

Implementação de um conversor VGA NTSC ou VGA PAL-M,

possibilitando que o dispositivo seja ligado em um aparelho de televisão

comum;

Implementação de uma comunicação bidirecional, possibilitando um

controle de erros adequado.

Estes módulos poderiam ser implementados em um tempo relativamente curto,

porem não foi possível encontrar este tempo. Ainda há outras idéias que levariam um

tempo maior para serem implementadas.

Implementação da decodificação JPEG dentro da FPGA, possibilitando a

transmissão de imagens em um tempo bem menor e aumentando a

capacidade de armazenamento do dispositivo sem ter que aumentar a

memória;

Aumento da resolução suportada pelo dispositivo, possibilitando imagens

maiores;

Implementação de uma interface USB para cartões de memória flash,

possibilitando a utilização do dispositivo para o transporte de

apresentações.

Também há algumas idéias um pouco utópicas e de difícil implementação.

Aumentar a velocidade de transmissão, para possibilitar um streaming de

vídeo, para isso, também seria necessária a implementação de uma

decodificação de vídeo, como por exemplo, a MPEG;

Poderia ser implementada uma decodificação MP3 para a transmissão

de áudio, tornando o dispositivo um terminal multimídia remoto.

Page 41: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

21

4 PROJETO

Neste capítulo serão apresentados os esquemáticos de hardware, separados

por blocos como os procedimentos de testes que foram realizados em cada fase do

projeto, e também, o software. Os fluxogramas do software já foram apresentados no

capítulo 3 item 3.4.

4.1 Software

Este tópico irá apresentar um diagrama de casos de uso (Figura 15), protótipo

de tela do software (Figura 16), bem como um prévio diagrama de classes (Figura 17)

do mesmo.

Figura 15 – Diagrama prévio de casos de uso do software.

Page 42: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

22

Figura 16 – Tela do software.

Page 43: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

23

Figura 17 – Diagrama prévio de classes do software.

O software foi dividido em 3 classes principais, descontando-se as classes de

interface. A responsabilidade de cada classe pode ser vista na Tabela 5.

Tabela 5 – Responsabilidade de cada classe.

cPorta Faz a comunicação genérica do software com a interface serial.

cChecaProgresso Responsável por acompanhar o andamento da comunicação entre o software e o modulo receptor e exibi-lo ao usuário.

cEnviaFoto Responsável por enviar as “fotos” para o transmissão

O teste da parte de comunicação do software só pode ser realizado quando o

sistema já estiva em faze final de desenvolvimento, ou seja, praticamente tudo estava

Page 44: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

24

funcionando corretamente, a comunicação serial também. O teste consistiu

simplesmente em enviar uma imagem e verificar sua exibição no monitor.

4.2 Módulo transmissor

Este módulo foi dividido em 2 partes, o conversor USB Serial e o módulo

transmissor. Os dois módulos foram isolados opticamente por motivos de ruído na

transmissão, com isso uma bateria teve que ser adicionada para alimentar o

transmissor via rádio. O diagrama completo deste módulo pode ser visto na Figura 18.

Figura 18 – Módulo transmissor.

O primeiro módulo montado, foi o conversor USB Serial, para a montagem

deste módulo, foi utilizado o CI FT232BM da FTDI. Este CI foi escolhido por apresentar,

muitas funcionalidades e uma grande facilidade de implementação, uma vez que o

fabricante disponibiliza os drivers e muitos exemplos de aplicações. Também permite o

uso do CI para aplicações comerciais totalmente livres de royaltys. A maior

desvantagem é o encapsulamento LQFP o que dificulta sua soldagem. Outras

características destacáveis deste componente são:

Não necessita alimentações externas, obtendo toda a energia necessária da

própria porta USB;

Page 45: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

25

Possui conexão direta com LEDs de transmissão e recepção para facilitar a

visualização do trafego de dados;

Não necessita programação in-chip para seu funcionamento;

Saída serial padrão TTL;

Já possui PLL interno, permitindo operação com um simples cristal de 6MHz;

Suporte a altas taxas de transmissão quando comparadas à porta serial

comum de um computador (até 921.600 bps).

O CI pode ser visto na Figura 19.

Figura 19 – FT232BM.

Adaptada de FT232BM-DATASHEET (2003).

Para facilitar a utilização deste CI, foi montada uma pequena placa adaptadora

que conterá os componentes necessários para o funcionamento do CI. O esquemático

da placa pode ser visto na Figura 20.

Page 46: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

26

AVCC

/RTS

J13/RESET 1

J15/PWRCTL 1

J14/DTR1

J31EESK1

/RESET

J22/TXLED1

J21USBDP 1

/PWREN

C9

22pF

/RI

EEDATA

TXD

/RXLED

/DSRJ17AVCC 1

USBDP

VCC

EESK

J12/CTS1

/RXLED

/DCDJ19USBDM 1

J24/RXLED1

J27/PWREN1

Y2

6MHz

/RESET

J20/RI1

EEDATA

J9VCC 1

J25TEST 1

USBDM

/PWRCTL

USBDM

J29EEDATA1

/TXLED

/SLEEP

/DTR

/RSTOUT

J30EECS1

J16/DSR1

EECS

/PWRCTL

J11GND 1

3V3OUT TXD

TXDEN

/RSTOUT

TEST

RXD

AVCC

EESK

VCC

/DCD

J28/SLEEP1

C8

22pF

3V3OUT J323V3OUT1

U12

FT232BM

25

24

23

22

21

20

19

5

28

4

32

1

229

9

18

17

31

14

15

16

12

10

11

13

6

30

26

3

8

7

27

TXD

RXD

RTS#

CTS#

DTR#

DSR#

DCD#

RSTOUT#

XTOUT

RESET#

EECS

EESK

EEDATAA

GN

D

GN

D

RI#

GN

DTEST

PWRCTL

PWREN#

TXDEN

TXLED#

SLEEP#

RXLED#

VC

C-I

O

3V3OUT

AV

CC

VC

CV

CC

USBDM

USBDP

XTIN

/PWREN

TXDEN

RXD

TEST

/SLEEP

/CTS

/RTS

USBDP

J7TXD1

J10/RTS1

J8RXD1

J23/RSTOUT 1

/TXLED

J18/DCD1

/DTR

J26/TXDEN1

/RI

EECS

/CTS

/DSR

Figura 20 – Esquemático da placa adaptadora USB Serial.

Adaptado de FT232BM-DATASHEET (2003).

Com tal circuito em mãos, foi possível iniciar os procedimentos de teste do

sistema. O chip, por si só, já possui toda a implementação do protocolo USB, sendo

este totalmente transparente ao desenvolvedor. Tratando-se de um dispositivo plug-

and-play, são necessários drivers para a realização da comunicação entre o software e

o dispositivo. O fabricante disponibiliza duas opções de comunicação:

VCP Driver (Virtual COM Port Driver): é um driver padrão certificado para

Windows 98SE/2K/XP que instala o dispositivo como uma porta serial padrão

(COM x). Com isto, os procedimentos de programação são extremamente

facilitados uma vez que não é necessária nenhuma programação em nível de

driver, o software se comunica com o dispositivo assim como com qualquer

outra porta serial;

D2XX Direct Driver: este driver é uma opção mais robusta que o anterior,

tendo como base da programação uma DLL desenvolvida especialmente

para a comunicação diretamente com o dispositivo.

Por motivo de tempo escasso este projeto será desenvolvido, utilizando o VCP

Driver.

Page 47: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

27

As Tabela 6 e Tabela 7 apresentam cada pino do CI FT232BM com suas

respectivas funcionalidades.

Tabela 6 – Descrição dos pinos do FT232BM.

Adaptado de FT232BM-DATASHEET (2003).

# Pino Sinal Tipo Descrição

01 EESK OUT Sinal de clock para a EEPROM. Tri-State enquanto o dispositivo está em reset, senão é saída.

02 EEDATA I/O

EEPROM – Data I/O Conectado diretamente ao Data-In da EEPROM e ao Data-Out da EEPROM via um resistor de 2.2K. Também leva Data-Out da EEPROM para VCC via um resistor de 10K para a correta operação. Tri-State enquanto o dispositivo está em reset.

03 26 VCC PWR +4.35 volt a +5.25 volt VCC para o núcleo do dispositivo, LDO e non-UART pinos de interface.

04 RESET# IN Pode ser usado por um dispositivo externo para resetar o FT232BM. Se não for necessário, colocar em VCC.

05 RSTOUT# OUT

Output of the internal Reset Generator. Fica em alta impedância por ~5ms depois VCC > 3.5V e o clock interno começar, então a saída é grampeada a saída de 3.3v do regulador interno. Levando RESET# para GND também irá forçar RSTOUT# para GND. RSTOUT# não é afetado pelo USB Bus Reset.

06 3V3OUT OUT

3.3 volt Output do regulador L.D.O. integrado Este pino deve ser desacoplado ao GND usando um capacitor cerâmico de 33nF bem próximo ao pino do dispositivo. É de duma importância prover os 3.3V internos a célula USB transceiver e o pino RSTOUT#. Uma pequena quantidade de corrente (<= 5mA) pode ser drenada deste pino para suprir um lógica externa de 3.3V.

07 USBDP I/O USB Data Signal Plus (Requer um resistor de pull-up de 1.5k para 3V3OUT ou RSTOUT# )

08 USBDM I/O USB Data Signal Minus

09 17 GND PWR Device - Ground Supply Pins

10 SLEEP# OUT Vai para GND quando o USB está em modo suspenso. Tipicamente usado para desligar um CI conversor externo de nível TTL para RS232.

11 RXLED# O.C. LED Drive - Pulsa baixo quando esta recebendo dados via USB.

12 TXLED# O.C. LED Drive - Pulsa baixo quando esta transmitindo dados via USB.

13 VCCIO PWR

+3.0 volt a +5.25 volt VCC para os pinos 10..12, 14..16 e 18..25 da interface da UART. Quando interfaceando com uma lógica externa de 3.3V em um barramento conectar VCCIO ao suprimento de 3.3V gerado pelo barramento USB. Quando interfaceando com uma lógica externa de 3.3V em um projeto com sua própria alimentação conectar VCCIO à fonte de 3.3V da logica externa. Caso contrário, conectar ao VCC para a saida ser de 5V.

14 PWRCTL IN Bus Powered – Tie Low / Self Powered – Tie High (to VCCIO)

15 PWREN# OUT

Vai para nível lógico baixo depois que o dispositivo é configurado via USB, depois para nível lógico alto enquanto a USB esta suspensa.Pode ser usada para controlar uma lógica externa usando uma chave P-Channel Logic Level MOSFET. Ative a Interface Pull-Down Option na EEPROM quando estiver usando o pino PWREN# desta maneira.

16 TXDEN OUT Enable Transmit Data for RS485

18 RI# IN Ring Indicator Control Input. Quando houver a opção Remote Wakeup estiver ativada na EEPROM, levando RI# para GND pode ser usada para retirar o controlador PC USB Host do modo suspenso.

19 DCD# IN Data Carrier Detect Control Input

20 DSR# IN Data Set Ready Control Input / Handshake signal

21 DTR# OUT Data Terminal Ready Control Output / Handshake signal

22 CTS# IN Clear To Send Control Input / Handshake signal

23 RTS# OUT Request To Send Control Output / Handshake signal

Page 48: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

28

Tabela 7 – Descrição dos pinos do FT232BM (continuação).

Adaptado de FT232BM-DATASHEET (2003).

# Pino Sinal Tipo Descrição

24 RXD IN Receive Asynchronous Data Input

25 TXD OUT Transmit Asynchronous Data Output

27 XTIN IN Entrada para 6MHz Crystal Oscillator Cell. Este pino também pode fornecer um clock externo de 6MHz se necessário.

28 XTOUT OUT Saída de 6MHz Crystal Oscillator Cell. XTOUT para de oscilar quando a USB está suspensa, então tome cuidado se estiver usando este sinal como clock de uma lógica externa.

29 AGND PWR Device - Analog Ground Supply for the internal x8 clock multiplier

30 AVCC PWR Device - Analog Power Supply for the internal x8 clock multiplier

31 TEST IN Coloca o CI em modo de teste – deve ser colocado em GND para operação normal.

32 EECS I/O EEPROM – Chip Select. Para operar a 48MHz ligar EECS ao GND usando um resistor de 10K. Para operar a 6MHz não é necessário nenhum resistor. Tri-State enquanto o dispositivo estiver em reset.

Para testar este módulo, a sua saída serial, foi ligada em um 89S51 que pegava

o dado e jogava para sua porta P1, que por sua vez, foi ligada em LEDs para a

visualização do dado enviado. O teste deverá consistir no envio de um byte específico,

por exemplo, AAh, através do Microsoft HyperTerminal e como saída deverá acender

um LED.

Para a transmissão sem fio que foi a ultima coisa a ser implementada neste

projeto, foram utilizados os CIs TX2 e RX2 da Radiometrix. Na Figura 18 pode-se ver

que o TX2 será responsável por transmitir os dados ao RX2. Eles podem ser vistos na

Figura 21.

Figura 21 – TX2 e RX2 da Radiometrix.

Adaptado de TX2&RX2-DATASHEET (2003).

Estes CIs foram escolhidos pois facilitam a implementação de uma transmissão

sem fio, e sua grande economia de energia. Possibilitando taxas de transferência de

até 160Kbits/s e um alcance de até 75 metros em ambientes fechados e até 300

metros em ambientes abertos. Eles trabalham a uma freqüência de 433.92MHz que, no

Brasil, está dentro da banda alocada para radioamador [ANATEL, 2004].

Page 49: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

29

Como o transmissor consome no máximo 14mA [TX2&RX2-DATASHEET, 2003]

pode ser tranqüilamente ligado na USB que suporta até 500mA [BEYOND LOGIC,

2004], sem a necessidade de uma fonte adicional de energia para o transmissor, porem

devido a problemas de ruído, foi feito um acoplamento óptico e como conseqüência

uma bateria teve que ser adicionada para a alimentação do transmissor.

A pinagem do transmissor pode ser vista na Figura 22 e a descrição dos pinos na

Tabela 8.

Figura 22 – Pinagem do TX2.

Adaptado de TX2&RX2-DATASHEET (2003).

Tabela 8 – Descrição dos pinos do TX2.

Adaptado de TX2&RX2-DATASHEET (2003). # Pino Sinal Tipo Descrição

01 RF GND PWR Pino de terra RF, conectado internamente com o módulo de rede e pino 4 (0V). Este pino deve ser conectado ao caminho de retorno do RF.

02 RF out OUT Saída RF de 50Ω para a antena, é isolada de DC internamente.

03 Vcc PWR Alimentação do módulo.Ripple máximo de 0.1Vpp. É sugerido colocar um capacitor de desacoplamento de 100nF.

04 0 Volt PWR Terra, conectar ao pino 1.

05 TXD IN Esta entrada DC aceitará tanto dados seriais digitais (de 0V a Vcc) quanto altos níveis de sinais lineares. Impedância de entrada de 100kΩ.

A pinagem do receptor pode ser vista na Figura 23 e a descrição dos pinos na

Tabela 9.

Page 50: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

30

Figura 23 – Pinagem do RX2.

Adaptado de TX2&RX2-DATASHEET (2003).

Tabela 9 – Descrição dos pinos do RX2.

Adaptado de TX2&RX2-DATASHEET (2003).

# Pino Sinal Tipo Descrição

01 RF in IN Saída RF de 50Ω para a antena, é isolada de DC internamente.

02 RF GND PWR Pino de terra RF, conectado internamente com o módulo de rede e pino 4 (0V). Este pino deve ser conectado ao caminho de retorno do RF.

03 CD OUT O detector de portadora (Carrier Detect) pode ser usado para ativar um transistor PNP externo para obter um sinal lógico de detecção de portadora. Se não for utilizado, deve ser conectado ao pino 5 (Vcc).

04 0 Volt PWR Terra, conectar ao pino 1.

05 Vcc PWR Alimentação do módulo. Entre +3.0V a +6.0V com uma corrente < 17mA. Ripple < 2mVpp. É recomendado um capacitor de desacoplamento de 10µF e um resistor de 10Ω em série se a alimentação não estiver limpa.

06 AF OUT Essa é uma saída bufferizada e filtrada do demodulador FM.

07 RXD OUT Essa é uma saída digital que é uma versão quadrada do sinal no pino 6 (AF). Ela deve ser usada para ativar decodificadores externos.

Como a parte de transmissão sem fio, foi a ultima coisa a ser implementada, o

teste foi realizado simplesmente colocando os CIs nos lugares adequados e o sistema

deveria estar completamente funcional, ou seja, será enviada uma imagem e ela

deveria ser exibida em um monitor padrão VGA. Porem com o inicio dos testes, de

transmissão, foram constatados muitos ruídos e então houve a necessidade das

mudanças nos circuitos.

Page 51: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

31

4.3 Conversor Serial Paralelo

Para a entrada de dados na FPGA, foi construído um conversor Serial

Paralelo, utilizando-se de um 89S51 e dois 74LS245 (Buffer). Esta opção foi escolhida

depois de várias tentativas de implementação da interface serial dentro da FPGA. Por

motivos de tempo, foi adotada esta solução. A Figura 24 mostra o circuito de recepção

com o conversor.

Figura 24 – Circuito de Recepção e de conversão Serial Paralelo.

Dentro do 89S51 foi gravado um simples programa capaz de ler o dado da

entrada serial e joga-lo na porta P1, gerando um pulso de sinalização (indica a chegada

de um novo dado). Este pino pode visto na Figura 24 sob o nome de “NDADOF”. O

firmware gravado no 89S51 pode ser visto na Figura 48 presente no Anexo 1. A ligação

deste circuito com a FPGA pode ser vista na Figura 34.

O teste da conversão do 89S51 foi descrito anteriormente no capitulo 4.2.

Infelizmente, somente parte deste circuito pode ser montada em uma placa. Com

o inicio dos testes, verificou-se uma grande quantidade de ruído na recepção. Com o

isolamento óptico, houve uma amenização do ruído, adicionando-se capacitores de

Page 52: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

32

desacoplamento, foi possível eliminar este ruído, porém, nas 3 versões de placas feitas

para este circuito, quando o mesmo era montado, o ruído aparecia novamente.

4.4 “Coração” do sistema (FPGA)

A parte mais importante de todo o sistema é a Placa FPGA Starter Kit Altera -

PI1K100A (Figura 25). Composta por um componente programável FPGA da família

Acex, o EP1K100QC208-3, com 4992 elementos lógicos e 49152bits de memória RAM

disponível, organizados em 12 blocos de 4Kbits, que podem ser configurados como

blocos de memória dual-port, e é um componente baseado em tecnologia SRAM. Este

kit conta ainda, com um oscilador de 32.768 MHz, um regulador de tensão de 3.3V e

um de 2.5V, bastando apenas ser alimentado com 5V.

Por ser um componente baseado em tecnologia SRAM, ao se retirar a

alimentação do circuito a FPGA EP1K100 perde a configuração. Ao se alimentar

novamente o circuito, o estado inicial da FPGA EP1K100 é um estado em que o

componente se encontra sem configuração, permanecendo os pinos de I/O em alta

impedância e a lógica interna inativa até que o dispositivo seja configurado. Esta

configuração inicial do componente pode ser feita de dois modos nesta placa: via

interface JTAG ou no modo Passivo Serial. Para efetuar esta configuração, foram

disponibilizadas as duas interfaces, a JTAG, normalmente usada para configurar o

componente na etapa de desenvolvimento do projeto, e a Passivo Serial, na qual os

dados são fornecidos por uma EPROM externa usada para configurar o componente,

toda vez que o sistema for ligado de forma automática, e que normalmente é

empregada quando o desenvolvimento do sistema já alcançou um estado mais estável.

A interface Passivo Serial foi implementada em um componente

EPM3064ATC44-10 que lê os dados da EPROM ou ROM externa e emula uma PROM

serial a partir dos dados lidos, configurando a EP1K100. A interface JTAG está

implementada na própria placa, disponibilizando um conector JTAG padrão de 10 pinos

tipo BERG, organizado em fila dupla (5x2 pinos), que é compatível com os sistemas de

configuração ByteBlasterMV, ByteBlaster II e MasterBlaster da Altera.

O diagrama de blocos da placa é apresentado na Figura 26. Os principais blocos

da placa são: componente lógico programável FPGA EP1K100, sistema de carga

Page 53: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

33

através da interface Passivo Serial, usando o CPLD EPM3064, as fontes de tensão, o

oscilador, a interface JTAG e a conexão com a placa do usuário.

Figura 25 - Placa FPGA Starter Kit Altera - PI1K100A.

Adaptada de PI-COMPONENTES (2003).

Figura 26 – Diagrama de blocos do Starter Kit Altera.

Adaptado de PI-COMPONENTES (2003).

Page 54: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

34

Dentro da EP1K100 foram implementados:

Um gerenciador de dados de entrada e saída;

Um controlador de bancos de memória, que será responsável por mostrar

qual banco estará sendo usado para a carga de dados e qual banco

estará exibindo dados;

Um gerador dos sinais de sincronia necessários para a exibição da

imagem (sincronia vertical e horizontal);

E o módulo capaz de mostrar a imagem na tela.

Uma representação gráfica dos módulos implementados pode ser vista na

Figura 13.

Nos esquemáticos, o starter kit Altera, estará representado por 3 conectores

(ACEX CN1, ACEX CN2 e ACEX CN3). A primeira etapa a ser implementada será a

interface unidirecional para a entrada dos dados, que necessitará de 9 pinos (8 de

dados e 1 de aviso de “novo dado”) do starter kit Altera mais a sua respectiva

alimentação, o circuito de alimentação, pode ser visto na Figura 27.

Figura 27 – Circuito de alimentação do sistema.

O 7805 (Figura 28) é um regulador de tensão que suporta uma entrada entre 7V

e 25V e gera uma saída estável de 5V com uma corrente de até 1.5A e pode operar a

uma temperatura entre 0ºC e 125ºC [7805-DATASHEET, 2003]. Geralmente é

necessário que ele seja montado utilizando um dissipador de calor.

Figura 28 – Pinagem do 7805

Os testes desta fase foram realizados com um multímetro, para conferir a tensão

de saída e o teste da interface.

Page 55: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

35

4.5 Bancos de memória

A segunda etapa foi a montagem dos bancos de memória (Figura 32). Estes

bancos são responsáveis por guardar as imagens antes da exibição. Foram

construídos dois bancos do mesmo tamanho, 1Mbyte cada, este tamanho, foi

escolhido, pensando em uma futura expansão do sistema. Atualmente, cada imagem

que será transmitida, terá um tamanho de 150Kbytes (320*480*1/1024 = 150Kbytes

320*480 = tamanho da imagem; 1 = número de bytes por pixel; 1024 = conversão para

Kbytes).

Como a exibição da imagem em um monitor VGA não é um processo estático,

ou seja, não é possível desenhar a imagem apenas uma vez e ela ficará sendo exibida

até a próxima imagem ser montada. A cada nova varredura da tela, a imagem terá que

ser remontada na tela, com isso se faz necessária a utilização de dois bancos,

totalmente independentes, de memória. Com a utilização de 2 bancos, é possível

receber uma imagem em um banco, enquanto a outra imagem está sendo exibida.

As memórias que foram utilizadas são as BQ4016 da Texas Instruments do tipo

NVSRAM. Estas memórias possuem uma bateria interna que mantêm os dados

armazenados por um mínimo de 10 anos, o que permitirá que as imagens fiquem

armazenadas, mesmo depois que o sistema for resetado ou desligado. Então a ultima

imagem exibida antes do sistema ser desligado, será a primeira a ser exibida quando

ele for religado.

A pinagem desta memória pode ser vista na Figura 29, a descrição dos pinos na

Tabela 10, a tabela verdade de operação dela pode ser vista na Tabela 11, os

diagramas de temporização da memória, podem ser vistos na Figura 30 e Tabela 12

(leitura) e na Figura 31 e Tabela 13 (escrita) e a descrição dos pinos do circuito da

Figura 32 pode ser vista na Tabela 14.

Page 56: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

36

Figura 29 – Pinagem do BQ4016.

Adaptado de BQ4016-DATASHEET (1999).

Tabela 10 – Pinagem do BQ4016.

Adaptado de BQ4016-DATASHEET (1999).

Pinos Descrição

A0 A19 Pinos de endereçamento D0 D7 Pinos de dados /WE Write Enable –Habilitação de escrita /OE Output Enable – Habilitação de saída /CE Chip Enable – Habilitação do chip Vss GND Vcc VCC NC Não conectado

Tabela 11 – Tabela verdade de operação do bq4016.

Adaptado de BQ4016-DATASHEET (1999).

Modo /CE /WE /OE Operação de E/S Power

Não selecionado H X X Alta impedância Espera Saída desabilitada L H H Alta impedância Ativado Leitura L H L Dados saindo Ativado Escrita L L X Dados entrando Ativado

H = nível lógico alto L = nível lógico baixo X = Indiferente

Page 57: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

37

Figura 30 – Temporização de leitura do BQ4016.

Adaptado de BQ4016-DATASHEET (1999). Legenda: 1 – /WE é mantido em nível alto para o ciclo de leitura. 2 – /CE e /OE devem estar continuamente em nível baixo. 3 – O endereço deve ser valido antes ou exatamente quando /CE for para nível baixo. 4 – /OE deve estar em nível baixo. 5 – /CE deve estar continuamente em nível baixo.

Tabela 12 – Temporização do ciclo de leitura da memória BQ4016.

Symbol Parameter -70

Unit Min. Max.

tRC Read cycle time 70 - ns

tAA Address access time - 70 ns

tACE Chip enable access time - 70 ns

tOE Output enable to output valid - 35 ns

tCLZ Chip enable to output in low Z 5 - ns

tOLZ Output enable to output in low Z 5 - ns

tCHZ Chip disable to output in high Z 0 25 ns

tOHZ Output disable to output in high Z 0 25 ns

tOH Output hold from address change 10 - ns

Page 58: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

38

Figura 31 – Temporização de escrita do BQ4016.

Adaptado de BQ4016-DATASHEET (1999). Legenda: 1 – /CE ou /WE devem estar em nível alto durante a transição do endereço. 2 – Talvez a E/S esteja ativa (/OE nível baixo) durante este período, dados de entrada não devem ser jogados durante este período. 3 – Se /OE está em nível alto, os pinos de E/S se mantêm em alta impedância. 4 – twr1 e twr2 devem coincidir. 5 – tdh1 e tdh2 devem coincidir.

Page 59: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

39

Tabela 13 – Temporização do ciclo de escrita da memória BQ4016.

Symbol Parameter -70

Units Conditions/Notes Min. Max.

tWC Write cycle time 70 - ns

tCW Chip enable to end of write 65 - ns (1)

tAW Address valid to end of write 65 - ns (1)

tAS Address setup time 0 - ns Medido do endereço válido no começo da gravação (2)

tWP Write pulse width 55 - ns Medido do começo ao final da gravação (1)

tWR1 Write recovery time (write cycle 1) 5 - ns Medido da borda de subida do /WE até o final do ciclo de gravação (3)

tWR2 Write recovery time (write cycle 2) 15 - ns Medido da borda de subida do /CE até o final do ciclo de gravação (3)

tDW Data valid to end of write 30 - ns Medido da primeira transição baixo-alto do /CE ou /WE.

tDH1 Data hold time (write cycle 1) 0 - ns Medido da borda de subida do /WE até o final do ciclo de gravação (4)

tDH2 Data hold time (write cycle 2) 10 - ns Medido da borda de subida do /CE até o final do ciclo de gravação (4)

tWZ Write enabled to output in high Z 0 25 ns Pinos de I/O estão em estado de saída. (5)

tOW Output active from end of write 5 - ns Pinos de I/O estão em estado de saída. (5)

Legenda: 1 – Uma gravação termina quando houver uma transição para nível alto do /CE ou do /WE. 2 – Uma gravação ocorre durante o sobreposição de um nível baixo do /CE e um nível baixo do /WE. Uma gravação começa ao final do /CE e do /WE indo para nível baixo. 3 – tWR1 ou tWR2 devem coincidir. 4 – tDH1 ou tDH2 devem coincidir. 5 – Se /CE vai simultaneamente com o /WE para nível baixo, ou depois de /WE, as saídas continuam em estado de alta impedância.

Page 60: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

40

Figura 32 – Esquemático dos bancos de memória.

Tabela 14 – Descrição do circuito da figura 31.

Nome do pino Descrição

BANCO1_A0 BANCO1_A19 Pinos de endereço do 1º CI de memória BANCO1_D0 BANCO1_D7 Pinos de dados do 1º CI de memória BANCO1_WE Write Enable do 1º CI BANCO1_OE Output Enable do 1º CI BANCO1_CE Chip Enable do 1º CI BANCO2_A0 BANCO2_A19 Pinos de endereço do 2º CI de memória BANCO2_D0 BANCO2_D7 Pinos de dados do 2º CI de memória BANCO1_WE Write Enable do 2º CI BANCO1_OE Output Enable do 2º CI BANCO1_CE Chip Enable do 2º CI

A layout da placa do banco de memória pode ser visualizado na Figura 33.

Page 61: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

41

Figura 33 – Layout da placa do banco de memórias.

Estes bancos foram testados, gravando-se uma seqüência definida de bytes

através da serial (1 banco de cada vez), depois esta seqüência foi exibida

seqüencialmente em 8 LEDs ligados a 8 pinos da FPGA. A seqüência gravada era

sempre um dado e seu complemento n vezes, por exemplo, AAh alternava para 55h,

AAh e assim por diante até o número de vezes requerido, que foi de poucos bytes de 8

a 40.

4.6 Conversão Digital-Analógica (DAC)

Para converter as cores RGB do formato digital para o formato analógico dos

monitores VGA, foram utilizados apenas resistores, uma vez que se o sistema só está

trabalhando com 8 cores. Com esse número de cores a só há dois níveis analógicos

para cada cor, o 0V ou o máximo (1.7V).

A Figura 34 apresenta o circuito que foi implementado para a conversão DA e a

Tabela 15 apresenta a descrição dos sinais do referido esquemático.

Page 62: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

42

Figura 34 – Circuito com a conversão DA.

Tabela 15 – Descrição do circuito da figura 35.

Nome do pino Descrição

H_SYNC Sinal de sincronia horizontal (ver funcionamento no item 2.3.1) V_SYNC Sinal de sincronia vertical (ver funcionamento no item 2.3.2) 8051D0 8051D7 Entrada dos dados recebidos serialmente NDADOF Interrupção que avisa a FPGA quando há um novo dado na entrada RED Tom da cor vermelha (digital) GREEN Tom da cor verde (digital) BLUE Tom da cor azul (digital) RED_S Tom da cor vermelha (analógico) GREEN_S Tom da cor verde (analógico) BLUE_S Tom da cor azul (analógico)

Para realizar os testes nesta parte do sistema foi imprescindível ter certeza de

que os bancos de memória e a transmissão serial estavam funcionando corretamente.

O software também teve que ser parcialmente concluído, sendo capaz de enviar as

imagens no formato correto para o sistema. O teste consistiu no envio de 6 imagens

Page 63: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

43

uma com as 8 cores aceitas pelo sistema e as outras 5 imagens de cores sólidas de

cada uma das cores aceitas (uma imagem 320*480 completamente vermelha, uma

azul, uma verde, uma branca e uma preta). O sistema foi capaz de exibi-las

corretamente. Depois foram enviadas imagens mais complexas com padrões

aleatórios.

4.7 Carregamento do programa (Loading)

A próxima etapa de desenvolvimento foi adicionar uma EPROM para possibilitar

que o programa seja carregado automaticamente sempre que o sistema for ligado,

como a FPGA usada é do tipo RAM, toda ela é apagada quando sua fonte de energia é

cortada, quando religada não é capaz de fazer nada além de receber um programa

para seu funcionamento.

Como a interface JTAG utiliza o padrão serial, no kit há uma EPM3064ATC44-10

(que é um dispositivo não volátil) que implementa uma conversão paralela serial,

bem como a interface de gravação com o dispositivo.

Caso fosse utilizado 100% da FPGA em programa, seriam necessários 1335720

bits (166965bytes que é aproximadamente igual a 164Kbytes) a memória mais próxima

e acessível que existe disso é uma memória de 256Kbytes do tipo UVEPROM paralela

chamado 27C020, felizmente, o kit utilizado já disponibiliza uma interface para uma

EPROM paralela, na qual será ligada a memória.

O componente 27C020 pode ser visto na Figura 35, a descrição da sua pinagem

pode ser conferida na Tabela 16 e sua tabela verdade para acesso pode ser vista na

Tabela 17. Os diagramas de temporalização serão omitidos neste caso, pois não é

relevante nesta situação.

Page 64: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

44

Figura 35 – Pinagem do 27C020.

Adaptado de 27C020-DATASHEET (1997).

Tabela 16 – Pinagem do 27C020.

Adaptado de 27C020-DATASHEET (1997).

Nome do pino Descrição

A0–A17 Entra de endereço CE Chip Enable – Habilitação do chip DQ0–DQ7 Entrada/Saída de dados OE Output Enable – Habilitação da saída PGM Program Enable – Habilita a programação VCC Tensão de alimentação VPP Tensão de programação VSS Terra

Tabela 17 – Tabela verdade de operação do 27C020.

Adaptado de 27C020-DATASHEET (1997).

Modo\Pinos CE OE PGM A0 A9 VPP Saídas

Leitura VIL VIL X X X X Saindo dados

Saída desabilitada X VIH X X X X Alta Impedância

Espera VIH X X X X X Alta Impedância

Programar VIL VIH VIL X X VPP Entrando dados

Verificar Programação VIL VIL VIH X X VPP Saindo dados

Legenda: VIL Nível lógico baixo VIH Nível lógico alto VPP Tensão de programação X Indiferente

O esquemático da ligação desta EPROM com o kit Altera, pode ser visto na

Figura 36 e a descrição de seus pinos, pode ser vista na Tabela 18.

Page 65: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

45

Figura 36 – Esquemático da memória de carregamento.

Tabela 18 – Descrição do circuito da figura 37.

Nome do pino Descrição

PROM_A0 PROM_A17 Pinos de endereçamento da EPROM. PROM_O0 PROM_O7 Pinos de dado da EPROM. PROM_CE Chip Enable – Habilitação do CI.

Para testar este módulo, o programa em uso, foi gravado na EPROM e o

sistema quando ligado deveria apresentar a mesma funcionalidade como se tivesse

sido gravado diretamente do PC, infelizmente esta parte do projeto foi montada com

pouco tempo de teste, a placa foi montada, a memória foi gravada, porém quando

ligado o sistema, o programa não foi carregado. Não houve tempo hábil para descobri o

problema, então a gravação continua sendo feita pela interface JTAG via porta paralela

do PC.

4.8 Recepção sem fio

Este foi o último esquema a ser implementado, porem, o circuito conversor serial

paralelo foi montado no inicio do desenvolvimento. A recepção sem fio utilizou o

componente RX2 da Radiometrix, o qual já foi apresentado no item 4.2 junto com seu

par transmissor, o TX2. O esquemático da ligação, pode ser visto na Figura 37, a

descrição destes sinais, pode ser vista na Tabela 15, com exceção do “SINAL” que

representa o sinal recebido serialmente passado do 74245 para o 8951 e o “NDADO”

Page 66: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

46

que representa é o sinal gerado pelo 8951 quando um novo dado é convertido. As

informações chegam serialmente para o circuito de decodificação serial paralelo

depois os dados são enviados de forma paralela à FPGA.

Figura 37 – Esquemático do receptor ligado na FPGA.

O teste deste modulo foi feito em duas etapas, a primeira foi o teste da recepção

de dados com o osciloscópio na recepção, para verificar a quantidade de ruído na

transmissão. Este teste foi essencial para chegar a um circuito livre de ruídos. A

segunda etapa foi a realização de um teste enviando uma imagem para ser exibida.

4.9 Lista de materiais

A Tabela 19 apresenta a lista de materiais utilizados.

Page 67: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

47

Tabela 19 – Lista de componentes.

Quantidade Componente

4 22pF

3 10uF

7 100nF

2 2200uF

2 22R

6 220R

2 330R

1 470R

5 1K

1 10K

1 47K

2 4N25

3 1N4148

1 11.0592M

1 6MHz

2 BC547B

1 BC558

2 74LS245

1 74LS02

2 UA7805

1 C358C

1 89S51

2 BQ4016

2 ANTENAS

Vários LEDs

1 TX2RX2 da Radiometrix

1 Conector USB Fêmea

1 Kit Acex

Page 68: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

48

Page 69: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

49

5 RESULTADOS E DISCUSSÃO

Neste capitulo, serão apresentados os resultados obtidos em cada uma das

fases de implementação deste projeto.

5.1 USB FPGA

Primeiramente, foi implementada a conversão USB Serial. Para testá-la, o

componente foi colocado no modo de teste e então, o dado que era enviado a ela, era

retornado ao computador; os dados também foram verificados no osciloscópio,

conforme pode ser visto na Figura 38.

Figura 38 – Teste do módulo USB Serial

Logo após esta implementação, foi tentada a implementação de uma interface

serial assíncrona na FPGA, mas como houve grandes dificuldades com o calculo do

boud rate e a implementação propriamente dita, esta idéia foi abandonada. Então foi

utilizado um 89S51 com a única função de fazer a conversão Serial Paralela. O

algoritmo desta conversão pode ser visto no Anexo 1.

Esta implementação também não foi trivial, uma vez que ocorreram vários

problemas com a alimentação do circuito que ficava um pouco abaixo de 5V. Isto foi

resolvido, mudando-se o esquema de alimentação. Outro problema foi o sinal serial

que, quando ligado ao 89S51, era zerado, então um buffer (74245) teve que ser

colocado na entrada do sinal.

Quando um byte é recebido pelo 89S51 este é jogado na porta P1 do mesmo, e

um pulso é gerado na porta P2. Para o teste desde módulo foram ligados 8 LEDs na

porta P1 para visualizar o dado enviado. Depois foi realizado um outro teste no qual o

Page 70: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

50

dado era jogado para dentro da FPGA e depois o dado era jogado para fora, sempre

que havia um pulso na entrada. Um diagrama deste teste pode ser visto na Figura 39.

Os esquemas de implementação na FPGA podem ser vistos no Anexo 1.

Figura 39 – Teste da transmissão serial.

5.2 FPGA Memória

Para testar esta etapa, primeiramente, foi criado toda a parte lógica e de

algoritmos que serão executados dentro da FPGA. Este firmware foi exaustivamente

simulado e melhorado. Com o avanço dos testes esse firmware demonstrou uma

grande consistência.

Quando o programa foi gravado para iniciar os testes práticos, primeiro foi

limitado a 8 bytes, depois a 256 bytes, 600 Kbytes e também 900 Kbytes. Estes dois

últimos não foram testados de forma completa pois seriam usados somente em futuros

melhoramentos na qualidade da imagem. O teste consistiu basicamente de uma

gravação na banco 1 e uma no banco 2, para 8 e 256 bytes. O teste foi exaustivamente

realizado. Um diagrama de como o teste foi realizado pode ser visto na Figura 40.

Page 71: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

51

Figura 40 – Teste da FPGA gravando e lendo da memória.

Como pode ser visto na Figura 40, os sinais de OE e de WE das duas memórias

eram monitorados por dois osciloscópios para verificar o comportamento das

memórias, um gerado de sinais, gerando uma onda quadrada (nível TTL) enviava

pulsos de leitura à memória que não estava sendo gravada e os dados lidos eram

então exibidos nos LEDs ligados a FPGA.

Para enviar 921600 bytes a uma taxa de 19200bps, o tempo calculado é de 8

minutos (921600*10/19200/60). Quando o software de teste estava enviando dados

diretamente, sem o uso de uma thread, o tempo obtido foi bem próximo ao calculado,

porém, quando foi implementada uma thread para não travar a interface, o tempo foi de

aproximadamente 14 minutos. Uma possibilidade para se chegar perto do tempo de

envio calculado, seria aumentar a prioridade da thread, porém isto pode ocasionar um

travamento do sistema.

Para efeito de simulação, foi considerado que só seriam enviados 10 bytes para

“encher” uma memória e não os 150 Kbytes (320*480*1) que devem ser enviados, pois

não é possível visualizar uma simulação tão extensa.

A simulação para 10 bytes pode ser vista na Figura 41 e na Figura 42. Todos os

diagramas lógicos e algoritmos necessários para o funcionamento da FPGA podem ser

vistos no Anexo 2. Os programas construídos para auxiliar os testes podem ser vistos

no Anexo 3.

Page 72: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

52

Figura 41 – Simulação do funcionamento do banco de memórias, 20us

Page 73: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

53

Figura 42 – Simulação do funcionamento do banco de memórias, 6,2us

Page 74: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

54

Para maior eficácia dos testes também foi utilizado o analisador lógico ligado

diretamente à memória (Figura 43) para visualizar os dados que estavam sendo lidos.

Infelizmente a velocidade de aquisição do analisador é incompatível com a velocidade

necessária para a simulação, não resultando informações úteis para os testes.

Figura 43 – Memória ligada no analisador lógico.

5.3 Memória Video

Para testar esta etapa, primeiramente foi desenvolvido o algoritmo para a

criação dos sinais de sincronia. Este algoritmo foi baseado no exemplo que acompanha

o kit Acex. Depois de criados estes algoritmos, foram criados os métodos para acesso

a memória e para sincronizar as trocas de banco com o inicio das imagens. Os

algoritmos e diagramas de blocos desta etapa estão disponíveis no Anexo 4.

Este teste foi realizado ligando todo o circuito e transmitindo uma imagem para

ser exibida, como pode ser visto na Figura 44. O teste consistiu basicamente no envio

de 6 imagens básicas:

1. Imagem totalmente vermelha;

2. Imagem totalmente verde;

3. Imagem totalmente azul;

Page 75: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

55

4. Imagem totalmente branca;

5. Imagem totalmente preta;

6. Imagem contendo as 8 cores disponíveis no sistema (Figura 45).

Depois dos testes com as imagens acima, foram utilizadas imagens criadas a

mão, com padrões aleatórios. Com estes testes terminados, foi possível verificar o

correto funcionamento do sistema.

Após estes testes foram feitos novos testes com uma quantidade maior de

cores. Para isso, todo o sistema teve que ser alterado. Mas como não foram obtidos os

resultados desejados no tempo disponível, o sistema foi retornado ao seu estado

anterior.

89S51

USB Serial

FPGADados

Dado Serial

Dado Serial

Novo Dado

Da

do

s[7

..0

]

En

de

reco

[19

..0

]

Co

ntr

ole

[2..

0]

Banco 2

Da

do

s[7

..0

]

En

de

reco

[19

..0

]

Co

ntr

ole

[2..0

]

Banco 1

Conversão

DA

R,G

,B

H_

Syn

c

V_

Syn

c

Figura 44 – Sistema completo (Sem transmissão RF).

Figura 45 – Imagem com as 8 cores exibidas pelo sistema (reduzida).

Page 76: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

56

5.4 Trasmissão Sem Fio

Esta parte do desenvolvimento, pensava-se ser a mais rápida, na teoria, seria só

colocar o transmissor e o receptor e estaria tudo funcionando. Porém a prática

mostrou-se bem diferente.

O primeiro teste desta etapa consistiu de um osciloscópio na recepção para

verificar a existência de eventuais ruídos na transmissão (ver Figura 46). Como foi

construído um circuito de carry detect no receptor, quando o transmissor estava

desligado, a saída do receptor fica sempre em repouso (5V). Já com o transmissor

ligado, mas não transmitindo nenhum dado, a saída do receptor deveria continuar em

repouso (5V), mas não foi isso que aconteceu.

A quantidade de ruídos presente era extremamente alta, fazendo com que fosse

impossível uma transmissão. A primeira hipótese foi de que os ruídos eram gerados na

recepção. Vários testes foram feitos e acabo-se descobrindo que quem gerava muito

ruído era o terra do monitor. Mesmo assim, os ruídos não acabaram. Então se

começou a testar o transmissor. Descobriu-se que o responsável pela maioria dos

ruídos era o terra da interface USB. Para solucionar estes problemas, primeiro tentou-

se acoplar os terras de ambos os lados (monitorreceptor e USBtransmissor)

através de pequenos indutores, porém isso não gerou resultados satisfatórios. A

solução que mais surtiu efeito foi utilizar um acoplamento óptico entre o conversor

USBserial e o transmissor e outro acoplamento óptico entre o receptor e o resto do

sistema (Figura 47).

Como o sistema ainda estava suscetível a ruídos, entre uma transmissão e

outra, foi criado um método para fazer zerar o endereçamento do banco o qual a

imagem seria gravada. Então antes de enviar uma imagem, um dado (FFh) é enviado

fazendo com que o endereço do banco seja zerado. Isso anula qualquer recepção de

ruído que tenha acontecido entre um envio de uma imagem e outra. Esta

implementação pode ser vista no Anexo 2.

O circuito de transmissão foi montado em uma placa padrão e os testes foram

feitos novamente e tudo funcionou corretamente. Foi feita uma placa para o circuito de

recepção, porém, quando o mesmo era montado, todo o ruído aparecia novamente.

Foram feitas mais duas versões da placa de recepção e todas tiveram o mesmo

problema, eram montadas e o ruído voltava. Estão o circuito acabou ficando montado

em uma protoboard (Fotos das placas estão no CD).

Page 77: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

57

USB SerialDado Serial

Receptor Dado Serial

TransmissorDado Serial

Figura 46 – Primeiro teste de transmissão.

USB SerialDado Serial

Receptor Dado Serial

TransmissorDado Serial

Opto acoplador

Dado Serial

Opto acoplador

SistemaDado Serial

Dado Serial

Figura 47 – Transmissão sem ruídos.

Page 78: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

58

5.5 Carregamento do programa (Loading)

O funcionemento desta memoria para o carregamento do programa

teoricamente consiste apenas em conectar a memória com o programa no conector 3

do kit Acex.

Primeiramente, como não havia sido encontrada a memoria EPROM do tamanho

necessário, foi estudada a possibilidade de fazer com uma memória NVRAM de

256Kbytes. Porém, para utilizar esta memória um gravador para ela também teria que

ser feito. O gravador foi implementado no proprio kit Acex e um software para a

gravação teve que ser desenvolvido. Neste meio tempo de desemvolvimento, foi

conseguido se adquirir uma memória EPROM do tamanho necessário. O gravador e os

programas de gravação foram concluídos, porem não foram testados.

Com a EPROM em mãos foi contruida uma placa para interliga-la ao kit.

O software Quartus da Altera gera diferentes tipos de saídas para a gravação

em memória; primeiro foi gerado um arquivo de saída do tipo IntelHEX e este arquivo

foi gravado na memória, com a placa foi ligada ao kit. Porém não houve o

carregamento do código do programa dentro do Acex. Tentou-se então gerar a saída

no formato RBF (Raw Binary File) e verificou-se que os dois arquivos de saída

gravavam dados totalmente diferentes na EPROM. Mesmo com o uso do arquivo RBF

não houve o carregamento do dispositivo. Por motivos de falta de tempo, mais testes

não puderam ser realizados, deixando o sistema dependente da gravação, do seu

código fonte, via interface paralela de um computador.

Page 79: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

59

6 CONCLUSÕES

Com o começo das implementações viu-se que o tempo não iria ser tão folgado

quanto o esperado, pois muitos problemas técnicos surgiram e demandaram um bom

tempo para resolvê-los. Com a resolução de um problema, passava-se para o

desenvolvimento de um novo módulo e outro problema de difícil solução era

encontrado.

Por causa da grande quantidade de problemas encontrados ao longo do

desenvolvimento, não foi possível deixar este projeto perto de um produto comercial

em tempo hábil. Os objetivos propostos foram concretizados, a imagem é enviada

(pela interface USB) via RF (rádio freqüência), é armazenada no sistema e depois

exibida em um monitor padrão VGA enquanto outra imagem pode estar sendo enviada.

Para tornar este projeto bem próximo a um produto comercial, provavelmente

ainda seriam necessárias algo em torno de 100 horas de trabalho. Há ainda a

possibilidade de usar todos os módulos desenvolvidos em lógica programável para

futuros projetos que desejassem utilizar, como dispositivo de saída, um monitor. Esta,

provavelmente, é a maior contribuição deste projeto.

Como possíveis expansões para este projeto, algumas idéias podem ser

deixadas: aumento do número de cores da imagem; aumento da resolução da imagem;

conversor VGA NTSC possibilitando que o dispositivo fosse ligado diretamente em

um aparelho de TV comum; implementação de uma compactação JPEG; aumentar a

velocidade de transmissão; implementar uma comunicação bidirecional, para um

melhor controle de erros; criar uma interface para cartões de memória.

Page 80: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

60

Page 81: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

61

7 REFERÊNCIAS BIBLIOGRÁFICAS

27C020-DATASHEET. Datasheet do 27C020. [online] Disponível na Internet via WWW. URL: http://www-s.ti.com/sc/ds/tms27c020.pdf. Ultima atualização em 15 de setembro de 1997

7805-DATASHEET. Datasheet do 7805. [online] Disponível na Internet via WWW.

URL: http://www-s.ti.com/sc/ds/ua7805.pdf. Ultima atualização em 1º de maio de 2003 ADV7125-DATASHEET. Datasheet do ADV7125. [online] Disponível na Internet

via WWW. URL: http://www.analog.com/UploadedFiles/Data_Sheets/103728240ADV7125_0.pdf. Arquivo capturado em 13 de abril de 2004

ANATEL. PDFF – Plano de Destinação de Faixas de Freqüência. [online]

Disponível via WWW. URL: http://sistemas.anatel.gov.br/pdff/. Arquivo capturado em 14 de abril de 2004

BBDSOFT. VGA Video connector pinout. [online] Disponível na Internet via

WWW. URL: http://www.bbdsoft.com/video.html. Arquivo capturado em 9 de março de 2004

BEYOND LOGIC. USB in a NutShell. [online] Disponível na Internet via WWW.

URL: http://www.beyondlogic.org/usbnutshell/usb2.htm. Arquivo capturado em 13 de abril de 2004

BQ4016-DATASHEET. Datasheet do BQ4016. [online] Disponível na Internet via

WWW. URL: http://www-s.ti.com/sc/ds/bq4016.pdf. Ultima atualização em 5 de setembro de 1999

CANTIERI, A. Notas de Aula. Curitiba: NCET – UnicenP, 2004. EPANORAMA.NET. Analogue VGA interface. [online] Disponível na Internet via

WWW. URL: http://www.epanorama.net/links/pc_video.html. Arquivo capturado em 9 de março de 2004

ESSILOR. Coatings. [online] Disponível na Internet via WWW. URL:

http://www.presbyopia.org/pub/pdf/coocoat.pdf. Arquivo capturado em 20 de março de 2004

FT232BM-DATASHEET. Datasheet do FT232BM. [online] Disponível na Internet

via WWW. URL: http://www.ftdichip.com/Documents/ds232b14.pdf. Ultima atualização em 15 de março de 2004

HERVEILLE, R. VGA/LCD Controller. [online] Disponível na Internet via WWW.

URL: http://www.opencores.org/projects.cgi/web/vga_lcd/overview. Última atualização em 20 de março de 2003

JOHNSON, W. Gray Code Counter. [online] Disponível na Internet via WWW.

URL: http://www.fpga.com.cn/freesourse/freecore/gray.htm. Ultima atualização em 24 de abril de 1997

KOSKAMP, G. Gerador de sinais ATV. ELEKTOR – Eletrônica e Microinformática,

n.27, ano 3, p.24-32, 2004.

Page 82: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

62

MANSANO, R. Um pouco da história dos Computadores. [online] Disponível na Internet via WWW. URL: http://www.mansano.com/beaba/hist_comp.htm. Arquivo capturado em 9 de março de 2004

MONITORWORLD.COM. What is the pinout for a standard VGA/PGA/EGA/CGA

connector?. [online] Disponível na Internet via WWW. URL: http://www.monitorworld.com/faq_pages/q17_page.html. Arquivo capturado em 9 de março de 2004

PI-COMPONENTES. Manual da Placa FPGA Starter Kit Altera – PI1K100A.

Disponível juntamente com o kit. Ultima atualização em junho de 2003 RHOADS, G. Gray Code: Bit Vector Algorithm. [online] Disponível na Internet via

WWW. URL: http://remus.rutgers.edu/~rhoads/Code/code.html. Arquivo capturado em 20 de julho de 2004

SANSUNG ELECTRONICS CO. LTD. Monitores Samsumg. [online] Disponível na

Internet via WWW. URL: http://www.canalazul.com.br/monitores/vol1_como.asp. Arquivo capturado em 9 de março de 2004

SCURI, A. E. Fundamentos da Imagem Digital. [online] Disponível na Internet via

WWW. URL: http://www.inf.ufes.br/~thomas/graphics/www/apostilas/CIV2801ScuriImgDigital.pdf. Última atualização em janeiro de 1999

TMC3503-DATASHEET. Datasheet do TMC3503. [online] Disponível na Internet

via WWW. URL: http://www.fairchildsemi.com/ds/TM/TMC3503x30.pdf. Arquivo capturado em 5 de março de 2004

TORRES, G. Hardware - Curso Completo. 3.ed. Rio de Janeiro: Axcel Books

do Brasil, 1999 TX2&RX2-DATASHEET. Datasheet do TX2 e RX2. [online] Disponível na Internet

via WWW. URL: http://www.radiometrix.com/pdf/tx2rx2.pdf. Arquivo capturado em 8 de dezembro de 2003

VIEWS IMAGEM & COMUNICAÇÃO LTDA. Sinal de video. [online] Disponível na

Internet via WWW. URL: http://www.fazendovideo.com.br/vtsin.htm. Arquivo capturado em 9 de março de 2004

ZELENOVSKY, R.; MENDONÇA, A. PC: Um Guia Prático de Hardware e

Interfaceamento. 3.ed. Rio de Janeiro: MZ Editora, 2002

Page 83: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

63

8 BIBLIOGRAFIAS

27C020-DATASHEET. Datasheet do 27C020. [online] Disponível na Internet via WWW. URL: http://www-s.ti.com/sc/ds/tms27c020.pdf. Ultima atualização em 15 de setembro de 1997

7805-DATASHEET. Datasheet do 7805. [online] Disponível na Internet via WWW.

URL: http://www-s.ti.com/sc/ds/ua7805.pdf. Ultima atualização em 1º de maio de 2003 ADV7125-DATASHEET. Datasheet do ADV7125. [online] Disponível na Internet

via WWW. URL: http://www.analog.com/UploadedFiles/Data_Sheets/103728240ADV7125_0.pdf. Arquivo capturado em 13 de abril de 2004

ANATEL. PDFF – Plano de Destinação de Faixas de Freqüência. [online] Disponível via WWW. URL: http://sistemas.anatel.gov.br/pdff/. Arquivo capturado em 14 de abril de 2004

ASHENDEN, P. J. The Designer`s Guide to VHDL. 2.ed. San Diego: MORGAN

KAUFMANN PUBLISHERS, 2002. BACIC, F. AUGUSTA, I. SPENCER, R. Formatos de Arquivos Gráficos. [online]

Disponível na Internet via WWW. URL: http://www.cin.ufpe.br/~if291/documentos/formatos_graficos/. Arquivo capturado em 15 de fevereiro de 2004

BAEVERRUD, R. VGA Sync Generator. [online] Disponível na Internet via WWW.

URL: http://www.fpga.com.cn/freesourse/freecore/vga_sync.htm. Última atualização em 6 de outubro de 1997

BBDSOFT. VGA Video connector pinout. [online] Disponível na Internet via

WWW. URL: http://www.bbdsoft.com/video.html. Arquivo capturado em 9 de março de 2004

BEYOND LOGIC. USB in a NutShell. [online] Disponível na Internet via WWW.

URL: http://www.beyondlogic.org/usbnutshell/usb2.htm. Arquivo capturado em 13 de abril de 2004

BQ4016-DATASHEET. Datasheet do BQ4016. [online] Disponível na Internet via

WWW. URL: http://www-s.ti.com/sc/ds/bq4016.pdf. Ultima atualização em 5 de setembro de 1999

C., D., L. Monitores de Vídeo. [online] Disponível na Internet via WWW. URL:

http://www.uniplac.br/graduacao/sistemas/monitoresdevideo.pdf. Última atualização em novembro de 2003

CANTIERI, A. Notas de Aula. Curitiba: NCET – UnicenP, 2004. CARNEIRO, G. H. M. B. Tratamento de Comandos Remotos de Visão para

Navegação de Veículos Autônomos em Tempo Real. [online] Disponível na Internet via WWW. URL: http://www.cs.toronto.edu/~carneiro/publications/Tese.pdf. Última atualização em fevereiro de 1999

DESCONHECIDO. Altera FPGA VGA synchronization for everyone. [online]

Disponível na Internet via WWW. URL: http://www.project-ch701.net/all_electronics/altera_vga/altera.htm. Arquivo capturado em 14 de fevereiro de 2004

Page 84: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

64

DESCONHECIDO. Altera FreeCore Module Library. [online] Disponível na Internet via WWW. URL: http://www.fpga.com.cn/freesourse/freecore.htm. Arquivo capturado em 6 de julho de 2004

DESCONHECIDO. Hardware Level VGA and SVGA Video Programming

Information Page. [online] Disponível na Internet via WWW. URL: http://osdev.neopages.net/FreeVGA/vga/vga.htm. Arquivo capturado em 29 de fevereiro de 2004

DESCONHECIDO. Notas de Aula. [online] Disponível na Internet via WWW. URL:

http://www.lee.eng.uerj.br/downloads/graduacao/microprocessadores/computacao/tecnologia_da_comput2.pdf. Arquivo capturado em 3 de março de 2004

DESCONHECIDO. O Formato BMP de Armazenamento de Imagens. [online]

Disponível na Internet via WWW. URL: http://www.ic.uff.br/~aconci/curso/FormatoBMP.htm. Arquivo capturado em 09 de março de 2004

DESCONHECIDO. VGA Video Display Generation. [online] Disponível na Internet

via WWW. URL: http://mufasa.informatik.uni-mannheim.de/lsra/lectures/ss02/dst/vga1.pdf. Arquivo capturado em 10 de fevereiro de 2004

EBERT, C. Cinema Digital. [online] Disponível na Internet via WWW. URL:

http://www.herbario.com.br/fotografia_digital/cinemadigital.htm. Arquivo capturado em 15 de fevereiro de 2004

EPANORAMA.NET. Analogue VGA interface. [online] Disponível na Internet via

WWW. URL: http://www.epanorama.net/links/pc_video.html. Arquivo capturado em 9 de março de 2004

ESSILOR. Coatings. [online] Disponível na Internet via WWW. URL:

http://www.presbyopia.org/pub/pdf/coocoat.pdf. Arquivo capturado em 20 de março de 2004

FRERY, ALEJANDRO C. Teoria das cores. Disponível na Internet via WWW.

URL: http://www.di.ufpe.br/~if291/ppt/cores1.ppt. Arquivo capturado em 17 de abril de 2004

FT232BM-DATASHEET. Datasheet do FT232BM. [online] Disponível na Internet

via WWW. URL: http://www.ftdichip.com/Documents/ds232b14.pdf. Ultima atualização em 15 de março de 2004

GADELHA, M. G. Placas de Vídeo. [online] Disponível na Internet via WWW.

URL: http://geocities.yahoo.com.br/dp_telem/video.rtf. Última atualização em 17 de dezembro de 2000

HERVEILLE, R. VGA/LCD Controller. [online] Disponível na Internet via WWW.

URL: http://www.opencores.org/projects.cgi/web/vga_lcd/overview. Última atualização em 20 de março de 2003

IBM - INTERNATIONAL BUSINESS MACHINES. VGA Programming Model.

[online] Disponível na Internet via WWW. URL: http://planeta.terra.com.br/informatica/brlivre/minix/docs/outros/VGA.tar.gz. Arquivo capturado em 9 de março de 2004

JOHNSON, W. Gray Code Counter. [online] Disponível na Internet via WWW.

URL: http://www.fpga.com.cn/freesourse/freecore/gray.htm. Ultima atualização em 24 de abril de 1997

Page 85: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

65

KOSKAMP, G. Gerador de sinais ATV. ELEKTOR – Eletrônica e Microinformática, n.27, ano 3, p.24-32, 2004.

MANSANO, R. Um pouco da história dos Computadores. [online] Disponível na

Internet via WWW. URL: http://www.mansano.com/beaba/hist_comp.htm. Arquivo capturado em 9 de março de 2004

MATTOS, A. M. Noções Avançadas de Diagramação. [online] Disponível na

Internet via WWW. URL: http://usuarios.skydome.net/baw/aulas/com_graf-alunos.pdf. Arquivo capturado em 9 de março de 2004

MONITORWORLD.COM. What is the pinout for a standard VGA/PGA/EGA/CGA

connector?. [online] Disponível na Internet via WWW. URL: http://www.monitorworld.com/faq_pages/q17_page.html. Arquivo capturado em 9 de março de 2004

MOURA, G. A. C, Citações e Referências a Documentos Eletrônicos. [online]

Disponível na Internet via WWW. URL: http://www.quatrocantos.com/tec_web/refere/11bibl.htm. Arquivo capturado em 20 de julho de 2004

PERRY, D. L. VHDL – Programming by Example. 4.ed. New York: McGraw-Hill,

2002 PI-COMPONENTES. Manual da Placa FPGA Starter Kit Altera – PI1K100A.

Disponível juntamente com o kit. Ultima atualização em junho de 2003 RHOADS, G. Gray Code: Bit Vector Algorithm. [online] Disponível na Internet via

WWW. URL: http://remus.rutgers.edu/~rhoads/Code/code.html. Arquivo capturado em 20 de julho de 2004

SANSUNG ELECTRONICS CO. LTD. Monitores Samsumg. [online] Disponível na

Internet via WWW. URL: http://www.canalazul.com.br/monitores/vol1_como.asp. Arquivo capturado em 9 de março de 2004

SCURI, A. E. Fundamentos da Imagem Digital. [online] Disponível na Internet via

WWW. URL: http://www.inf.ufes.br/~thomas/graphics/www/apostilas/CIV2801ScuriImgDigital.pdf. Última atualização em janeiro de 1999

SIMPUTER.ORG. Simputer. [online] Disponível na Internet via WWW. URL:

http://www.simputer.org/. Arquivo capturado em 04 de fevereiro de 2004 TMC3503-DATASHEET. Datasheet do TMC3503. [online] Disponível na Internet

via WWW. URL: http://www.fairchildsemi.com/ds/TM/TMC3503x30.pdf. Arquivo capturado em 5 de março de 2004

TORRES, G. Hardware - Curso Completo. 3.ed. Rio de Janeiro: Axcel Books

do Brasil, 1999 TX2&RX2-DATASHEET. Datasheet do TX2 e RX2. [online] Disponível na Internet

via WWW. URL: http://www.radiometrix.com/pdf/tx2rx2.pdf. Arquivo capturado em 8 de dezembro de 2003

UNIVERSITY OF QUEENSLAND. VGA Interface. [online] Disponível na Internet

via WWW. URL: http://www.itee.uq.edu.au/~peters/xsvboard/vgaout/vgaout.pdf. Última atualização em 23 de fevereiro de 2001

USB.ORG. USB.ORG – Developers. [online] Disponível na Internet via WWW.

URL: http://www.usb.org/developers. Arquivo capturado em 14 de abril de 2004

Page 86: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

66

VIEWS IMAGEM & COMUNICAÇÃO LTDA. Sinal de video. [online] Disponível na

Internet via WWW. URL: http://www.fazendovideo.com.br/vtsin.htm. Arquivo capturado em 9 de março de 2004

WAYTECH - OFICINA VIRTUAL. HARDWARE. [online] Disponível na Internet via

WWW. URL: http://waytech.sites.uol.com.br/index.htm. Última atualização em 2002 YALAMANCHILI, S. VHDL Starter`s Guide. Upper Saddle River: PRENTIVE

HALL, 1998 ZELENOVSKY, R.; MENDONÇA, A. PC: Um Guia Prático de Hardware e

Interfaceamento. 3.ed. Rio de Janeiro: MZ Editora, 2002

Page 87: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

67

Anexo 1 – Testes USB FPGA (Algoritmos e Diagramas lógicos)

Page 88: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

68

Page 89: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

69

org 00h

sjmp inicio

org 23h

call Serial

reti

org 30h

inicio:

mov TMOD, #21h ; Timer 1 em modo 2

mov TH1, #FDh ; Preset do Timer 1(Valor inicial)

mov TL1, #FDh

setb TR1 ; Ativa o Timer 1

mov IE, #90h ; Habilita Interrupcoes e Serial(EA e ES)

mov PCON, #80h ; Seta o SMOD para 1 (19200 ao inves de 9600)

mov SCON, #50h ; Seta modo serial 1 e habilita recepção

mov P1, #AAh

mov P2, #55h

sjmp $

Serial:

jnb RI, $

mov A, SBUF

mov P1,A

mov P2, #FFh

nop

nop

mov P2, #00h

clr RI

ret

Figura 48 – Algoritmo Implementado no 89S51 para a conversão Serial Paralela

Figura 49 – Teste Entrada Paralela, Saída Paralela quando NovoDado = 1

Page 90: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

70

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

entity Tomada is

port (

do0,do1,do2,do3,do4,do5,do6,do7: out STD_LOGIC;

di0,di1,di2,di3,di4,di5,di6,di7: in STD_LOGIC;

NovoDado:in STD_LOGIC

);

end Tomada;

architecture Teste of Tomada is

begin

process

begin

wait until NovoDado = '1';

do0 <= di0;

do1 <= di1;

do2 <= di2;

do3 <= di3;

do4 <= di4;

do5 <= di5;

do6 <= di6;

do7 <= di7;

end process;

end Teste;

Figura 50 – Algoritmo da “Tomada” da Figura 49

Page 91: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

71

Anexo 2 – Diagramas Lógicos do Funcionamento do Controlador do Banco de Memórias

(Algoritmos e Diagramas lógicos)

Page 92: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

72

Page 93: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

73

Figura 51 – Macro Visão do Sistema.

Figura 52 – Visão do “GerenteBanco” da Figura 51

Page 94: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

74

Figura 53 – Visão do “CmdBancos” da Figura 52

Page 95: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

75

library IEEE;

use IEEE.std_logic_1164.all;

entity PulsoDe2Clk is

port(

reset, clk, start: in STD_LOGIC;

pulso :out STD_LOGIC

);

end PulsoDe2Clk;

architecture Funcionamento of PulsoDe2Clk is

type TipoEstado is (s0,s1,s2,s3,s4,s5,s6);

signal Estado, ProximoEstado : TipoEstado := s0;

begin

ComboProcess: process (Estado,start)

begin

case Estado is

when s0 =>

pulso <= '1';

if start = '1' then

ProximoEstado <= s1;

else

ProximoEstado <= s0;

end if;

when s1 =>

ProximoEstado <= s3;

pulso <= '0';

when s3 =>

ProximoEstado <= s2;

pulso <= '0';

when s2 =>

ProximoEstado <= s6;

pulso <= '0';

when s6 =>

ProximoEstado <= s4;

pulso <= '0';

when s4 =>

pulso <= '1';

if start = '1' then

ProximoEstado <= s4;

else

ProximoEstado <= s0;

end if;

when s5 =>

ProximoEstado <= s0;

pulso <= '1';

end case;

end process ComboProcess;

ClkProcess: process

begin

wait until (clk'event and clk = '1');

if reset = '0' then

Estado <= TipoEstado'left;

else

Estado <= ProximoEstado;

end if;

end process ClkProcess;

end Funcionamento;

Figura 54 – Algoritmo do “PulsoDe2Clk” da Figura 53

Page 96: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

76

LIBRARY ieee;

USE ieee.std_logic_1164.all;

USE ieee.std_logic_arith.all;

entity IncBancos is

port(

reset, clk, WE : in STD_LOGIC;

Inc :out STD_LOGIC

);

end IncBancos;

architecture Funcionamento of IncBancos is

type TipoEstado is (s0,s1,s2,s3);

signal Estado, ProximoEstado : TipoEstado := s0;

begin

ComboProcess: process (Estado,WE)

begin

case Estado is

when s0 =>

Inc <= '0';

if WE = '0' then

ProximoEstado <= s1;

else

ProximoEstado <= s0;

end if;

when s1 =>

Inc <= '0';

if (WE = '1') then

ProximoEstado <= s3;

else

ProximoEstado <= s1;

end if;

when s3 =>

Inc <= '0';

ProximoEstado <= s2;

when s2 =>

Inc <= '1';

ProximoEstado <= s0;

end case;

end process ComboProcess;

ClkProcess: process

begin

wait until (clk'event and clk = '1');

if reset = '0' then

Estado <= TipoEstado'left;

else

Estado <= ProximoEstado;

end if;

end process ClkProcess;

end Funcionamento;

Figura 55 – Algoritmo do “IncBancos” da Figura 53

Page 97: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

77

Figura 56 – Visão do “GerenteMemoria” da Figura 52

Figura 57 – Visão do “EnderecoMemoria2” da Figura 56

O módulo “gray” mostrado na Figura 57 foi desenvolvido por Woody Johnson

[JOHNSON,1997], este módulo consistem em um contador gray de tamanho definido

pelo usuário.

Como a imagem a ser enviada, não completará o banco, um reset na ultima

posição de memória a ser preenchida deve ser executado. O algoritmo que fará este

pulso de reset, pode ser visto na Figura 58. Por exemplo, se serão enviados 8 bytes, o

algoritmo irá gerar um pulso de reset no nono número da contagem gray que neste

caso, corresponde ao número 12 em decimal.

Page 98: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

78

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

USE ieee.std_logic_arith.all;

entity ResetGray is

port(

EnderecoI : in STD_LOGIC_VECTOR (19 downto 0);

clk : in STD_LOGIC;

ResetaGray : out STD_LOGIC

);

end ResetGray;

architecture Enderecamento of ResetGray is

begin

IncrementaEnd: process

begin

wait until (clk = '1');

if (EnderecoI = ('0','0','1','1','0','1','1','1','0','1','0','0','0','0','0','0','0','0','0','0')) then

ResetaGray <= '1';

else

ResetaGray <= '0';

end if;

end process IncrementaEnd;

end Enderecamento;

Figura 58 – Algoritmo do “ResrtGray” da Figura 57

Figura 59 – Visão do “CtrlBanco” da Figura 56

Figura 60 – Visão do “ResetaBanco” da Figura 52.

Este resete foi criado para eliminar eventuais ruidos de transmissão quando não

há uma transmissão de dados válida.

Page 99: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

79

library IEEE;

use IEEE.std_logic_1164.all;

entity ResetaRuido is

port(

Dados : in STD_LOGIC_VECTOR (7 downto 0);

NovoDado : in STD_LOGIC;

Reset, Clk : in STD_LOGIC;

ResetaGray :out STD_LOGIC

);

end ResetaRuido;

architecture Funcionamento of ResetaRuido is

type TipoEstado is (s0,s1,s2,s3);

signal Estado, ProximoEstado : TipoEstado := s0;

signal P : STD_LOGIC;

begin

P <= Dados(7) and Dados(6) and Dados(5) and Dados(4) and Dados(3) and

Dados(2) and Dados(1) and Dados(0);

ComboProcess: process (Estado,P, NovoDado)

begin

case Estado is

when s0 =>

ResetaGray <= '1';

if P = '1' and NovoDado = '1' then

ProximoEstado <= s1;

else

ProximoEstado <= s0;

end if;

when s1 =>

ResetaGray <= '1';

if NovoDado = '1' then

ProximoEstado <= s1;

else

ProximoEstado <= s3;

end if;

when s3 =>

ProximoEstado <= s2;

ResetaGray <= '0';

when s2 =>

ProximoEstado <= s0;

ResetaGray <= '0';

end case;

end process ComboProcess;

ClkProcess: process

begin

wait until (clk'event and clk = '1');

if reset = '0' then

Estado <= TipoEstado'left;

else

Estado <= ProximoEstado;

end if;

end process ClkProcess;

end Funcionamento;

Figura 61 – Algoritmo do “ResetaRuido” da Figura 60.

Quando é detectado um “FFh” o algoritmo da Figura 61 joga o endereço do

banco que estiver sendo gravado para 0.

Page 100: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

80

Figura 62 - Visão do “DadosBancos” da Figura 52

Page 101: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

81

Os blocos “TomadaDV” e “TomadaVD” da Figura 62 são apenas para “montar” e para

“desmontar” um vetor de 8 bits para ser possível ligá-lo ao 74244 (buffer). O 74244 e o

BUSMUX já são fornecidos pelo Quartus.

Page 102: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

82

Page 103: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

83

Anexo 3 – Programas de testes (Algoritmos e Telas)

Page 104: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

84

Page 105: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

85

Figura 63 – Interface do programa responsável por enviar dados para a serial.

Este programa envia o dado pedido uma vez ele, uma vez ele invertido até o

número de “repetições” pedidas, por exemplo nesta tela, ele enviaria o hexadecimal 55

depois alternaria para o AA depois novamente para o 55 até 1024 dados serem

enviaddos.

cPorta :: cPorta(char * Porta)

if (!Porta) return;

int c = 0;

while (Porta[c] && c < 5)

this->Porta[c] = Porta[c++];

Erro = NO_ERRO;

BaudRate = 19200;

hComm = CreateFile(Porta,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL); //

Tenta abrir a porta de comunicação.

if(hComm == INVALID_HANDLE_VALUE) // Se houve um erro, verifica o que aconteceu.

Erro = HANDLE_INV;

fSucesso = GetCommState(hComm, &dcbStatus); //Le as configurações da porta recém aberta.

if(!fSucesso)

CloseHandle(hComm); // Fecha a porta de comunicação.

Erro = ESTADO_PORTA_INV;

return;

dcbStatus.BaudRate = BaudRate;

dcbStatus.ByteSize = 8;

dcbStatus.Parity = NOPARITY;

dcbStatus.StopBits = ONESTOPBIT;

fSucesso = SetCommState(hComm, &dcbStatus);

if(!fSucesso)

CloseHandle(hComm); // Fecha a porta de comunicação.

Erro = ESTADO_PORTA_INV;

return;

fSucesso = SetCommTimeouts(hComm, &Timeouts);

if(!fSucesso)

CloseHandle(hComm); // Fecha a porta de comunicação.

Erro = TIMEOUT_INV;

return;

cPorta :: ~cPorta()

if (!Erro)

CloseHandle(hComm);

Page 106: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

86

void cPorta::EnviaDado(char Dado)

char buffer = Dado;

DWORD charsWritten = 0;

Erro = NO_ERRO;

if (!WriteFile((HANDLE(hComm)), &buffer, sizeof(char), &charsWritten, NULL))

Erro = HANDLE_INV;

Figura 64 – Classe responsável por fazer o envio de dados à serial.

__fastcall cEnviaFoto::cEnviaFoto(cPorta *&USB, char Dado, int Repeticao)

: TThread(false)

FreeOnTerminate = false;

this->USB = USB;

this->Dado = Dado;

this->Repeticao = Repeticao;

Tempo = 0;

TaOn = true;

void __fastcall cEnviaFoto::Execute()

clock_t i = clock();

for (DadoAtual = 0; DadoAtual < Repeticao; DadoAtual++)

USB->EnviaDado(Dado);

Dado = ~Dado;

clock_t f = clock();

Tempo = ((f-i)/CLK_TCK)/60;

TaOn = false;

Figura 65 – Thread responsável pela repetição no envio de dados.

Figura 66 – Interface do programa responsável por gerar pulsos de leitura.

Este programa, funciona da mesma forma do programa acima, porem envia

sempre 0 em um intervalo de tempo definido, este programa é útil para gerar pulsos de

leitura de dados.

Page 107: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

87

Figura 67 – Interface do programa Gray Code.

O programa da Figura 67 é responsável por gerar uma tabela na contagem gray

e também é capaz de converter um número na contagem decimal, para a contagem

gray. A figura, mostra uma tabela na contagem gray para 3 bits e mostra também o

número 1024 convertido para gray quando este esta contando com 20 bits. Como pode

ser visto, o número 1024, corresponde ao número 1536.

vector<int> TForm1::CalculaGray(int TV, int Linha)

vector<int> Binario;

if (Linha >= pow(2,TV)) return Binario;

int i, v, dig, set;

v = 1 << TV;

for (i=0; i < v; i++)

set = i ^ (i>>1);

if (i != Linha) continue;

for (dig=1 << (TV-1); dig; dig >>= 1)

Binario.push_back((set&dig ? 1 : 0));

return Binario;

Figura 68 – Algoritmo responsável pela conversão do número.

O algoritmo, mostrado na Figura 68, foi adaptado de Glenn Rhoads [RHOADS,

2004].

Page 108: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

88

Page 109: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

89

Anexo 4 – Diagramas Lógicos do Funcionamento do Controlador de Video

(Algoritmos e Diagramas lógicos)

Page 110: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

90

Page 111: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

91

Figura 69 – Visão geral do gerenciador de vídeo.

Sua ligação com o resto do sistema pode ser vista na Figura 51.

-- Jim Hamblen, Georgia Tech School of ECE

-- Changed by Neimar Duarte - PI Componentes

library IEEE;

use IEEE.STD_LOGIC_1164.all;

use IEEE.STD_LOGIC_ARITH.all;

use IEEE.STD_LOGIC_UNSIGNED.all;

entity videovga is

port(

signal Clock, Reset : in std_logic;

signal Horiz_sync, Vert_sync : out std_logic;

signal video_on : out std_logic;

signal FimTela : out std_logic

);

end videovga;

architecture behavior of videovga is

-- Video Display Signals

signal H_count,V_count: std_logic_vector(10 Downto 0);

constant H_max : std_logic_vector(9 Downto 0) := CONV_STD_LOGIC_VECTOR(790,10);

-- 799 is max horiz count

constant V_max : std_logic_vector(9 Downto 0) := CONV_STD_LOGIC_VECTOR(524,10);

-- 524 is max vert count

signal video_on_H, video_on_V: std_logic;

begin

-- video_on turns off pixel data when not in the view area

video_on <= video_on_H and video_on_V;

--Generate Horizontal and Vertical Timing Signals for Video Signal

Page 112: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

92

VIDEO_DISPLAY: Process Begin

Wait until(Clock'Event) and (Clock='1');

If Reset = '0' Then

H_count <= CONV_STD_LOGIC_VECTOR(0,11);

V_count <= CONV_STD_LOGIC_VECTOR(0,11);

Video_on_H <= '0';

Video_on_V <= '0';

Else

-- H_count counts pixels (640 + extra time for sync signals)

--

-- <-Clock out RGB Pixel Row Data -> <-H Sync->

-- ------------------------------------__________--------

-- 0 640 659 755 799

--

If (H_count >= H_max) then

H_count <= "00000000000";

Else

H_count <= H_count + "00000000001";

End if;

--Generate Horizontal Sync Signal

If (H_count <= 645) and (H_count >= 640) Then

Horiz_Sync <= '0';

ELSE

Horiz_Sync <= '1';

End if;

--V_count counts rows of pixels (480 + extra time for sync signals)

--

-- <---- 480 Horizontal Syncs (pixel rows) --> ->V Sync<-

-- -----------------------------------------------_______------------

-- 0 480 493-494 524

--

If (V_count >= V_max) and (H_count >= 699) then

V_count <= "00000000000";

FimTela <= '1';

Else

FimTela <= '0';

If (H_count = 699) Then

V_count <= V_count + "00000000001";

End if;

End if;

-- Generate Vertical Sync Signal

If (V_count <= 494) and (V_count >= 493) Then

Vert_Sync <= '0';

ELSE

Vert_Sync <= '1';

End if;

-- Generate Video on Screen Signals for Pixel Data

If (H_count <= 639) Then

video_on_H <= '1';

ELSE

video_on_H <= '0';

End if;

If (V_count <= 479) Then

video_on_V <= '1';

ELSE

video_on_V <= '0';

End if;

End if;

end process VIDEO_DISPLAY;

end behavior;

Figura 70 – Algoritmo do “videovga” da Figura 69

Page 113: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

93

Figura 71 – Visão do “ResetaVideo” da Figura 69.

O bloco “ResetaVideo” mostrado na Figura 71 é responsável pela sincronia da

imagem quando há uma troca de bancos, ou seja se há uma troca de banco ele espera

terminar de desenhar a imagem atual e então começa a desenhar a nova imagem

sempre no começo da tela.

Figura 72 – Visão do “IdentificaTroca” da Figura 71.

library IEEE;

use IEEE.std_logic_1164.all;

entity ResetIntVideo is

port(

reset, clk, start: in STD_LOGIC;

pulso :out STD_LOGIC

);

end ResetIntVideo;

Page 114: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

94

architecture Funcionamento of ResetIntVideo is

type TipoEstado is (s0,s1,s2,s3);

signal Estado, ProximoEstado : TipoEstado := s0;

begin

ComboProcess: process (Estado,start)

begin

case Estado is

when s0 =>

pulso <= '1';

if start = '1' then

ProximoEstado <= s1;

else

ProximoEstado <= s0;

end if;

when s1 =>

ProximoEstado <= s3;

pulso <= '0';

when s3 =>

ProximoEstado <= s2;

pulso <= '0';

when s2 =>

pulso <= '1';

if start = '1' then

ProximoEstado <= s2;

else

ProximoEstado <= s0;

end if;

end case;

end process ComboProcess;

ClkProcess: process

begin

wait until (clk'event and clk = '1');

if reset = '0' then

Estado <= TipoEstado'left;

else

Estado <= ProximoEstado;

end if;

end process ClkProcess;

end Funcionamento;

Figura 73 – Algoritmo do “ResetIntVideo” da Figura 72.

library IEEE;

use IEEE.std_logic_1164.all;

entity ResetEsperaFim is

port(

Clk, Reset, HouveTroca, FimTela: in STD_LOGIC;

VideoOn :out STD_LOGIC

);

end ResetEsperaFim;

architecture Funcionamento of ResetEsperaFim is

type TipoEstado is (s0,s1,s2,s3);

signal Estado, ProximoEstado : TipoEstado := s0;

Page 115: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

95

begin

ComboProcess: process (Estado,HouveTroca,FimTela)

Begin

case Estado is

when s0 =>

VideoOn <= '1';

if HouveTroca = '0' then

ProximoEstado <= s1;

else

ProximoEstado <= s0;

end if;

when s1 =>

VideoOn <= '0';

if FimTela = '1' then

ProximoEstado <= s3;

else

ProximoEstado <= s1;

end if;

when s3 =>

VideoOn <= '0';

ProximoEstado <= s2;

when s2 =>

VideoOn <= '1';

if HouveTroca = '0' then

ProximoEstado <= s2;

else

ProximoEstado <= s0;

end if;

end case;

end process ComboProcess;

ClkProcess: process

begin

wait until (clk'event and clk = '1');

if reset = '0' then

Estado <= TipoEstado'left;

else

Estado <= ProximoEstado;

end if;

end process ClkProcess;

end Funcionamento;

Figura 74 – Algoritmo do “ResetEsperaFim” da Figura 71.

library IEEE;

use IEEE.std_logic_1164.all;

entity DadosRGB is

port(

dados: in STD_LOGIC_VECTOR (7 downto 0);

reset, clk, VideoOn: in STD_LOGIC;

IncLeitura :out STD_LOGIC;

Red :out STD_LOGIC;

Green :out STD_LOGIC;

Blue :out STD_LOGIC

);

end DadosRGB;

Page 116: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

96

architecture Funcionamento of DadosRGB is

type TipoEstado is (s0,s1);

signal Estado, ProximoEstado : TipoEstado := s0;

begin

Red <= dados(0) and VideoOn;

Green <= dados(1) and VideoOn;

Blue <= dados(2) and VideoOn;

ComboProcess: process (Estado,VideoOn)

begin

case Estado is

when s0 =>

IncLeitura <= '0';

if VideoOn = '1' then

ProximoEstado <= s1;

else

ProximoEstado <= s0;

end if;

when s1 =>

ProximoEstado <= s0;

IncLeitura <= '1';

end case;

end process ComboProcess;

ClkProcess: process

begin

wait until (clk'event and clk = '1');

if reset = '0' then

Estado <= TipoEstado'left;

else

Estado <= ProximoEstado;

end if;

end process ClkProcess;

end Funcionamento;

Figura 75 – Algoritmo do “DadosRGB” da Figura 69.

Para fazer uma modificação no numero de cores da imagem basta modificar o

algoritmo mostrado na Figura 75. Porém seria necessário mudar o conversor DA.

Page 117: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

97

Anexo 5 – Cronograma seguido entre 5/3 e 23/10

Page 118: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

98

Page 119: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

99

Total de horas gastas entre 5/3/04 e 23/10/04 517:08:00

Na Figura 76 podem, ser vistas as horas gastas em cada mês e na Figura 77 as

horas gastas em cada atividade desenvolvida.

Figura 76 – Horas gastas por mês.

Figura 77 – Horas gastas por atividade.

A Tabela 20, abaixo, mostra o cronograma detalhado separado por datas e

tempos de execução.

Legenda:

Azul Documentação

Verde Hardware

Vermelho Software

Roxo Firmware

Preto Outros

Page 120: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

100

Tabela 20 – Cronograma detalhado.

Data Hora Inicio Hora Fim Descrição Diferença

5/mar 11:40 12:50 Elaboração do Cronograma 01:10

5/mar 13:50 20:00 Elaboração do Cronograma 06:10

9/mar 13:00 19:00 Monografia - Revisão bibliográfica 06:00

10/mar 14:00 18:00 Teste do kit de desenvolvimento 04:00

10/mar 19:00 20:00 Elaboração do Cronograma 01:00

11/mar 17:00 23:00 Monografia - Revisão bibliográfica 06:00

12/mar 19:45 22:00 Monografia - Revisão bibliográfica 02:15

14/mar 16:48 19:30 Monografia - Revisão bibliográfica e Intro. 02:42

14/mar 20:00 20:40 Monografia - Revisão bibliográfica e Intro. 00:40

15/mar 14:00 16:00 Monografia - Especificação 02:00

16/mar 18:00 20:05 Monografia - Especificação 02:05

16/mar 20:32 21:18 Monografia - Especificação 00:46

17/mar 17:23 19:00 Quartus || - estudo 01:37

19/mar 14:48 15:40 Monografia - Especificação 00:52

19/mar 15:40 16:00 Estudo projeto 00:20

20/mar 19:45 23:26 Monografia - Revisão 03:41

21/mar 16:48 19:51 Apresentação 03:03

21/mar 20:20 21:20 Apresentação 01:00

21/mar 14:30 16:04 Apresentação 01:34

7/abr 17:30 18:00 Monografia - Revisão 00:30

12/abr 13:30 15:00 Esquemáticos 01:30

13/abr 18:00 21:00 Monografia - Projeto e Esquemáticos 03:00

14/abr 13:30 16:00 Monografia - Projeto e Esquemáticos 02:30

15/abr 18:35 19:48 Monografia - Projeto e Esquemáticos 01:13

15/abr 20:00 22:23 Monografia - Projeto e Esquemáticos 02:23

17/abr 07:20 10:50 Software 03:30

17/abr 11:20 12:25 Diagrama de Classes 01:05

18/abr 10:23 11:18 Monografia - Projeto (SW) 00:55

18/abr 16:20 17:00 Apresentação - ensaio 00:40

23/abr 12:00 16:10 Esquemáticos 04:10

23/abr 19:30 21:15 Esquemáticos 01:45

23/abr 21:15 22:40 Monografia - Revisão 01:25

25/abr 18:10 20:40 Monografia - Projeto e Esquemáticos 02:30

25/abr 21:00 00:12 Monografia - Projeto e Esquemáticos 03:12

28/abr 17:30 19:50 Monografia - Projeto e Esquemáticos 02:20

28/abr 20:30 21:45 Monografia - Projeto e Esquemáticos 01:15

30/abr 19:25 20:30 Monografia - Projeto e Esquemáticos 01:05

7/mai 13:30 17:30 Implementação - serial 04:00

9/mai 16:25 18:30 Monografia - Revisão 02:05

10/mai 11:30 13:00 Placa - VGA2NTSC 01:30

10/mai 14:15 15:00 Placa - VGA2NTSC 00:45

11/mai 13:00 16:40 USB->Serial 03:40

12/mai 17:00 19:10 USB->Serial (FPGA) 02:10

13/mai 16:30 17:50 Placa - VGA2NTSC 01:20

13/mai 18:40 19:50 Placa - VGA2NTSC 01:10

14/mai 14:20 16:20 Placa - VGA2NTSC 02:00

14/mai 19:00 20:15 USB->Serial (FPGA) 01:15

17/mai 10:00 12:00 USB->Serial 02:00

17/mai 12:30 13:30 USB->Serial (FPGA) 01:00

17/mai 14:30 17:00 USB->Serial 02:30

19/mai 15:00 16:20 USB->Serial 01:20

21/mai 17:15 19:25 USB->Serial (FPGA) 02:10

21/mai 19:55 21:20 USB->Serial (FPGA) 01:25

22/mai 09:20 10:30 USB->Serial (FPGA) 01:10

Page 121: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

101

22/mai 11:20 12:30 USB->Serial (FPGA) 01:10

23/mai 17:45 20:00 USB->Serial (FPGA) 02:15

24/mai 13:40 16:00 USB->Serial (FPGA) 02:20

24/mai 18:00 20:00 USB->Serial (FPGA) 02:00

25/mai 16:30 19:20 USB->Serial (FPGA) 02:50

26/mai 14:30 19:00 USB->Serial (FPGA) 04:30

27/mai 13:30 14:30 Circuito dos bancos de memória (designe) 01:00

27/mai 17:20 18:50 USB->89C51 01:30

27/mai 18:50 20:10 Software p/ teste da serial 01:20

30/mai 19:45 21:30 8051->FPGA 01:45

31/mai 10:30 11:50 Placa - Bancos de memória 01:20

31/mai 13:50 16:00 Placa - Adaptadora (DAC) 02:10

31/mai 19:30 20:20 8051->FPGA 00:50

31/mai 20:20 22:20 8051->FPGA 02:00

1/jun 18:00 19:00 Serial->8051 01:00

2/jun 14:00 16:45 Serial->8051 02:45

2/jun 20:00 23:00 Serial->8051 03:00

3/jun 13:20 15:00 Serial->8051 01:40

3/jun 20:00 21:00 8051->FPGA 01:00

8/jun 19:25 20:25 Circuitos Adaptação 01:00

9/jun 14:25 16:45 8051->FPGA 02:20

9/jun 20:30 23:30 Placa - Bancos de memória 03:00

10/jun 12:20 13:10 Teste da placa dos bancos de memória 00:50

10/jun 13:45 16:00 Memória - FPGA 02:15

10/jun 19:05 20:00 Memória - FPGA 00:55

10/jun 21:00 21:45 Memória - FPGA 00:45

11/jun 15:55 17:00 Memória - FPGA 01:05

14/jun 19:10 19:35 Memória - FPGA 00:25

14/jun 19:50 20:20 Memória - FPGA 00:30

16/jun 14:00 15:30 Memória - FPGA - Desenhos 01:30

16/jun 16:20 18:30 Pilla - Memória - FPGA - Desenhos 02:10

17/jun 13:50 15:00 Memória - FPGA 01:10

17/jun 19:50 21:15 Memória - FPGA 01:25

18/jun 14:00 15:00 Pilla - Memória - FPGA - Desenhos 01:00

18/jun 18:40 22:45 Memória - FPGA 04:05

20/jun 16:55 19:40 Memória - FPGA 02:45

20/jun 20:00 21:45 Memória - FPGA 01:45

21/jun 09:30 12:30 Temporização Memória 03:00

21/jun 15:00 16:50 Temporização Memória 01:50

23/jun 19:40 22:15 Memória - FPGA 02:35

24/jun 22:00 23:20 Memória - FPGA 01:20

25/jun 14:40 17:40 Memória - FPGA 03:00

2/jul 16:00 20:30 Memória - FPGA 04:30

4/jul 19:45 21:15 Memória - FPGA 01:30

5/jul 09:55 13:00 Memória - FPGA 03:05

5/jul 13:50 16:30 Memória - FPGA 02:40

6/jul 17:30 20:00 Memória - FPGA 02:30

7/jul 16:20 20:15 Memória - FPGA 03:55

8/jul 13:50 19:15 Memória - FPGA 05:25

9/jul 13:30 18:20 Memória - FPGA 04:50

9/jul 20:10 23:30 Refazendo Placa USB->8051 03:20

11/jul 19:10 21:20 Refazendo Placa USB->8051 02:10

13/jul 14:00 18:00 Memória - FPGA 04:00

14/jul 23:00 00:00 Memória - FPGA 01:00

15/jul 00:00 01:45 Memória - FPGA 01:45

15/jul 12:30 15:00 Memória - FPGA 02:30

Page 122: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

102

15/jul 15:00 15:25 Correção dos circuitos 00:25

15/jul 21:50 23:40 Memória - FPGA 01:50

16/jul 22:40 00:00 Memória - FPGA 01:20

17/jul 00:00 02:00 Memória - FPGA 02:00

17/jul 13:10 16:55 Memória - FPGA 03:45

17/jul 18:15 19:00 Memória - FPGA 00:45

17/jul 20:20 00:00 Monografia - Revisão 03:40

18/jul 00:00 00:50 Monografia - Revisão 00:50

20/jul 14:30 20:30 Memória - FPGA 06:00

20/jul 23:00 00:00 Memória - FPGA 01:00

21/jul 00:00 01:00 Memória - FPGA 01:00

21/jul 13:30 18:00 Memória - FPGA 04:30

21/jul 22:45 00:00 Monografia - Testes 01:15

22/jul 00:00 02:20 Monografia - Testes 02:20

22/jul 14:00 18:30 Memória - FPGA 04:30

22/jul 20:50 22:00 Memória - FPGA 01:10

23/jul 13:30 20:15 Memória - FPGA 06:45

25/jul 16:30 22:30 Monografia - Testes 06:00

28/jul 13:30 20:00 Memória - FPGA 06:30

29/jul 14:30 20:30 Memória - FPGA 06:00

30/jul 13:00 19:30 Memória - FPGA 06:30

2/ago 13:30 21:10 FPGA - Video 07:40

3/ago 18:00 22:10 FPGA - Video 04:10

4/ago 15:00 22:50 FPGA - Video 07:50

5/ago 15:30 22:30 FPGA - Video 07:00

6/ago 13:00 15:30 FPGA - Video 02:30

8/ago 18:30 21:00 Preparativos para a apresentação 02:30

12/ago 18:00 20:00 FPGA - Video 02:00

17/ago 15:00 18:20 FPGA - Video 03:20

17/ago 20:00 21:40 FPGA - Video 01:40

18/ago 14:20 18:40 FPGA - Video 04:20

18/ago 20:00 22:00 FPGA - Video 02:00

21/ago 08:50 10:40 FPGA - Video 01:50

22/ago 19:50 21:00 FPGA - Video 01:10

25/ago 13:00 16:30 Placa da Memoria com palavra de 16Bits 03:30

27/ago 12:50 16:20 RF 03:30

27/ago 19:40 23:00 Placa da Memoria com palavra de 16Bits 03:20

28/ago 08:50 11:10 Placa da Memoria com palavra de 16Bits 02:20

30/ago 13:30 21:00 Memória de 16bits 07:30

31/ago 13:30 16:30 RF 03:00

2/set 14:40 19:30 Placa do 8051 04:50

2/set 19:30 20:20 Malha Resistiva 00:50

2/set 20:20 20:45 Design placa BootLoader 00:25

3/set 13:00 17:30 Memória 16b 04:30

6/set 13:20 22:10 Memória 16b 08:50

8/set 15:00 20:50 Malha Resistiva 05:50

9/set 14:00 22:40 Testes Memória 16b 08:40

10/set 14:00 17:00 RF 03:00

12/set 15:00 17:00 Placa TUSB 02:00

13/set 14:30 17:30 RF 03:00

14/set 13:30 17:30 RF 04:00

15/set 14:00 21:00 RF 07:00

16/set 13:00 18:00 RF 05:00

16/set 21:15 23:30 Troca de placas 02:15

17/set 13:45 19:20 RF 05:35

20/set 18:00 21:30 BootLoader 03:30

Page 123: Terminal Remoto para a Exibição de Imagens Seqüenciais · DAC – Digital-to-analog conversor EEPROM – Electrical Erasable Programmable Read-Only Memory ... MPEG – Moving Picture

103

21/set 11:30 17:30 RF 06:00

21/set 19:20 21:00 BootLoader 01:40

22/set 19:00 21:00 Pesquisa - RF 02:00

24/set 11:20 17:00 RF 05:40

25/set 08:30 11:10 SW 02:40

26/set 14:30 18:20 Placa e Caixas 03:50

27/set 11:10 12:50 RF 01:40

27/set 15:15 16:00 Placa Boot Load 00:45

28/set 15:00 19:30 Caixa 04:30

29/set 12:30 18:00 Placa Recptor testes 05:30

29/set 19:00 21:40 SW 02:40

30/set 15:00 22:35 Placas 07:35

1/out 14:00 20:30 Caixas e Testes 06:30

1/out 20:30 00:00 SW 03:30

2/out 00:00 00:30 SW 00:30

2/out 09:20 11:00 SW 01:40

2/out 14:45 18:00 SW 03:15

3/out 16:15 18:25 Ultimos Testes e correções 02:10

22/out 15:00 23:00 Monografia 08:00

23/out 08:30 11:15 Monografia 02:45

23/out 11:50 12:20 Monografia 00:30

23/out 16:40 18:20 Monografia 01:40