• Nenhum resultado encontrado

PLACA DE DESENVOLVIMENTO PCI PARA INSTRUMENTAÇÃO VIRTUAL UTILIZANDO O CHIP AMCC S5920

N/A
N/A
Protected

Academic year: 2022

Share "PLACA DE DESENVOLVIMENTO PCI PARA INSTRUMENTAÇÃO VIRTUAL UTILIZANDO O CHIP AMCC S5920"

Copied!
10
0
0

Texto

(1)

PLACA DE DESENVOLVIMENTO PCI PARA

INSTRUMENTAÇÃO VIRTUAL UTILIZANDO O “CHIP”

AMCC S5920

Jener T. Lins e Silva 1, Edval J. P. Santos 2 Laboratório de Dispositivos e Nanoestruturas,

Departamento de Eletrônica e Sistemas – UFPE – Cidade Universitária

50740-530 – Recife –PE jener@ee.ufpe.br

Laboratório de Dispositivos e Nanoestruturas, Departamento de Eletrônica e Sistemas – UFPE – Cidade

Universitária 50740-530 – Recife –PE

edval@ee.ufpe.br

Resumo. O microcomputador é hoje uma ferramenta fundamental para qualquer laboratório, não só por uma capacidade de análise de dados, mas também pela possibilidade de gerar sinais e coletar dados. Assim sendo, é importante que o estudante de eletrônica tenha familiaridade com o projeto de instrumentação virtual. Apresentamos uma placa de desenvolvimento de instrumentação virtual na qual o estudante tem oportunidade de trabalhar com o barramento PCI, com conceito de programação orientada a objeto e com conceito de tempo real. Este trabalho desenvolvido no Laboratório de Dispositivos e Nanoestruturas, trata-se do projeto de uma placa PCI (Peripheral Component Interconnect) para desenvolvimento de instrumentação virtual, por estudantes do curso de graduação em engenharia eletrônica.

A placa de desenvolvimento é composta por: controlador de barramento PCI S5920 da AMCC (Applied Micro Circuits Corporation); PLD (Programmable Logic Device) EPM7128SLC84-7 da Altera; conversor analógico-digital; conversor digital-analógico; memória;

transceptor; amplificador “Sample-and-Hold”; “Latch” e “buffer”. O S5920 é responsável pelo gerenciamento da placa. O PLD compõe a lógica combinacional para comunicação com o mundo externo. O conversor analógico-digital é responsável pela transformação dos dados de analógico para digital na aquisição dos dados, enquanto que o conversor digital-analógico faz a transformação dos dados digitais para analógico na geração de varredura. A memória é responsável pelo armazenamento das informações de imagem, o transceptor é responsável pelo compartilhamento do barramento de dados entre o conversor A/D com as memórias e o S5920, o amplificador ‘Sample-and-Hold” é responsável pela amostra do sinal analógico de entrada para ser convertida em sinal digital, o “Latch” é responsável pelo armazenamento do endereço onde será guardado o seu respectivo dado e “buffer” que faz a proteção elétrica da placa com o ambiente externo.

A placa de desenvolvimento possui várias aplicações, dentre as quais, controle de varredura e aquisição de sinais de um microscópio eletrônico, de força atômica ou de tunelamento.

Palavras-chave: Barramento PCI, Aquisição de dados, Instrumentação virtual.

(2)

1. INTRODUÇÃO

A utilização do computador como instrumento de bancada trás vantagens, tais como: maior velocidade na aquisição de dados, maior integração entre simulação e análise dos resultados experimentais, operação automática, facilidade de aquisição e controle em períodos longos, reduzida probabilidade de erro. Esse tipo de instrumentação é comumente denominada de instrumentação virtual e tem sido utilizada nas mais diversas aplicações, tais como, sistema de aquisição para radiação solar, Mukaro e Carelse. [1], sistemas de medição de energia elétrica, Kung et al. [2], sistemas de medição de baixo custo, D’antona et al. [3], etc. Embora esse tipo de instrumentação já seja disponível comercialmente, observamos dois problemas, nem sempre a solução comercial é adequada a aplicação de interesse, ou o preço da solução comercial é proibitivo. Com isso em mente, desenvolvemos uma placa de aquisição e geração de varredura para ser utilizada em um sistema de microscopia de varredura (eletrônica, força atômica, tunelamento) e outros fins didáticos. Entre os aspectos didáticos que podem ser considerados, tem-se a construção e funcionamento da placa, o desenvolvimento de interface gráfica e implementação de conceitos avançados de aquisição, tais como:

arquitetura cliente servidor, Bertocco et al. [4], sistemas de medição orientada a objeto, Yang e Butler [5].

Os microcomputadores modernos utilizam cada vez mais o barramento PCI. O uso do barramento PCI (Peripheral Component Interconnect) resolve várias limitações dos barramentos mais antigos, tais como, ISA e EISA (Extended ISA) e vem se tornando o padrão de fato na indústria e nos microcomputadores domésticos e industriais. O barramento PCI, além de ser um padrão mundialmente aceito para microcomputadores, ele apresenta uma excelente expandabilidade e alta taxa de transferência de dados, podendo chegar a 132 Mbytes/s. A placa de desenvolvimento possui a facilidade de responder a eventos externos em tempo real, graças a operação “Pass-Thru” do S5920. A operação em tempo real permite o barramento PCI fazer diretamente uma leitura ou escrita do barramento externo. Para facilitar o desenvolvimento da interface gráfica é utilizado o aplicativo Kylix. Esse trabalho está dividido em três partes:

a primeira parte é a introdução, a segunda parte descreve os componentes que compõem a placa; explica o funcionamento da placa; comenta o aplicativo utilizado para programação do PLD; faz um levantamento do custo da placa; menciona a interface gráfica utilizada para comandar a placa, além do sistema operacional e programa de suporte de restrição de tempo; ilustra o fluxograma do controle do controlador PLD; mostra uma tabela com quantidade de memória de vídeo utilizada pela placa para armazenamento de um quadro e conclusão, onde é feito um pequeno comentário sobre o seu potencial de aplicação, baixo custo de implementação e facilidade de aceitação de programação orientada a objeto.

2. A PLACA DE DESENVOLVIMENTO 2.1 Dados dos componentes

A placa de desenvolvimento é composta basicamente por: controlador de barramento PCI; PLD (Programmable Logic Device); conversores analógico-digital e digital-analógico; memória RAM estática;

transceptores; amplificador “sample-and-hold”; “latches” e “buffers”. A Figura 1 ilustrada abaixo mostra a distribuição desses componentes na placa.

(3)

adicional do S5920 proporcionam ao projetista uma estrutura de barramento muito mais simples para interface I/O, memória ou aplicação de aquisição de dados, inclusive para projetos de portas ISA existentes no barramento PCI. O barramento pode ser operado de maneira síncrona ou assíncrona para o barramento Local PCI, podendo o usuário definir a velocidade do relógio de 8 a 40 MHz.

O S5920 é capaz de transferir dados a 132 Mbytes por segundo e suportando simples transferências de dados DWORD. O S5920 possui dois registradores tipo caixa de mensagem (Mailboxes) de 32 bits para transferir dados ou transferência de informação de “status/comando” definidos pelo usuário. Cada uma das oito caixas de mensagem podem ser verificada se vazia ou cheia, através de seu registrador de “status” de caixa de mensagem. As transferências de informações da memória da placa de aquisição com o barramento PCI do computador através da caixa de mensagem podem ser realizadas, acessando um dos registradores (RD#/WR#, ADR[6:2], Select#, etc.), ou acessando o hardware (MD[7:0] e Load#). O dado da caixa de mensagem externa dedicado e os pinos de sinais de “strobe” fazem a leitura e escrita direta do hardware com capacidade de interrupção do barramento externo, facilitando o projeto da placa de aquisição.

O S5920 suporta dois canais de barramento de nvRAM serial de maneira a evitar a configuração de “setup” do S5920 toda vez que a placa de aquisição for inicializada.

A arquitetura do S5920 é otimizada através de três grupos de registradores: Registradores de Configuração PCI, Registradores de Operação PCI e Registradores de Operação de Barramento Externo.

Os registradores caixa de mensagem estão divididos em dois conjuntos de quatro bits. Cada conjunto é dedicado a um barramento para transferência de dados para outro barramento, conforme mostra a Figura 2 abaixo:

Figura 2. Diagrama de bloco da seção de caixa de mensagem do S5920 [6].

A interface “Pass-Thru” do S5920 permite a transferência de dados de dois modos, o modo ativo (quando seu pino PTMODE encontra-se em nível lógico 0) ou modo passivo (quando seu pino encontra-se em nível lógico 1). No primeiro caso o controle da placa é feito pelo próprio S5920. No segundo caso o controle da placa é feito por um dispositivo externo ao S5920, no nosso caso o PLD. Acessos de região “Pass-thru” podem executar ciclos de barramento PCI em tempo real ou através de um FIFO interno. A operação de tempo real permite que o barramento PCI leia ou escreva diretamente os dados com o barramento externo. O S5920 permite o projetista renomei quatro individuais regiões de “Pass-Thru”. Apesar de cada uma dessas regiões poderem ser definidas com 8, 16 ou 32 bits, mapeadas na memória ou no espaço do sistema de entrada e saída, podendo ocupar 512 MB. Preferimos para facilitar o projeto utilizar 8 bits. A figura 3 abaixo mostra o diagrama em bloco da arquitetura Pass-Thru do S5920.

(4)

Figura 3. Diagrama em bloco da arquitetura Pass-Thru do S5920 [6].

PLD. O PLD EPM7128SLC84-7 é responsável pelo gerenciamento da placa e compõe a lógica combinacional para comunicação com o mundo externo. Baseado em elementos EEPROM, o mesmo pode ser montado em soquetes de 84 pinos PLCC. O PLD contém 128 macrocélulas, onde cada uma possui funções de “clock”, “clear” e “preset”

programáveis independentemente. Com uma capacidade de 2.500 portas e uma arquitetura simples, o PLD é o dispositivo ideal para o projeto da placa de desenvolvimento, podendo chegar a uma velocidade de 151,5 MHz. A compilação e simulação do programa do PLD foi feita utilizando o programa MAX+PLUS II Student Edition, versão 9.23. Esse programa contém muitas das características da versão comercial MAX+PLUS II, incluíndo a tendência de um projeto integrado completo e uma intuitiva interface de usuário gráfica. Esse programa permite captura esquemática e entrada de projeto de linguagem de descrição de hardware baseada em texto, incluindo VHDL e AHDL (Altera Hardware Description Language). Possui ainda, programação de projetos, compilação e suporte de verificação para o dispositivo PLD da placa de aquisição.

Conversor A/D. O Conversor analógico digital TDA8703/C3 é responsável pela transformação dos dados de analógico para digital. Esse conversor de 8 bits de alta velocidade de conversão é indicado para aplicações de vídeo, pois, consegue trabalhar a uma taxa de amostragem acima dos 40 MHz. A conversão do sinal analógico em digital é feita a partir do momento em que o PLD coloca no pino CE# do conversor nível lógico baixo.

Conversor D/A. O Conversor digital-analógico TLC7524CN faz a transformação dos dados digitais para analógico na geração de varredura. Enquanto o conversor X é responsável pela varredura horizontal, o conversor Y se encarrega de fazer a varredura vertical. O conversor de 8 bits apresenta um tempo de propagação máximo de 80 ns, atendendo a aplicação de vídeo. A conversão digital em analógico é feita colocando o sinal digital nas entradas de DB0 à DB7 e pondo em nível lógico baixo ambos pinos CS# e WR#. Para ajuste do ganho de tensão requerido é colocado dois resistores, um no pino REF, outro no pino RFB. Para compensação de fase é colocado na saída do mesmo um capacitor de 10 pF.

Memória SRAM. A Memória SRAM TC554001FL-70 é responsável pelo armazenamento das informações de imagem. Este dispositivo de acesso aleatório estático possui um tempo de acesso de 70 ns, que atende as aplicações de aquisição de imagens. A memória possui uma organização de 524,288 words de 8 bits, ou seja, 19 vias de endereçamento para dados de 8 bits. O mesmo permite fazer uma operação de leitura com o pino R/W# em nível lógico alto, ou escrita com o pino R/W# em nível lógico baixo.

Transceptor. O transceptor 74ACT245B é responsável pela conexão dos diversos componentes que irão

(5)

Sample-and-Hold. O amplificador “Sample-and-Hold” AD783 é responsável pela a amostra do sinal de entrada da placa de desenvolvimento. Esse dispositivo de alta velocidade possui um tempo de aquisição típico na ordem de 250 ns. A amostra da entrada do dispositivo é retida e colocada na saída do mesmo quando o sinal S/H# é colocado em nível baixo.

Buffer. O “Buffer” faz proteção elétrica da placa com o ambiente externo. O mesmo foi escolhido por apresentar em aplicações de vídeo uma banda larga acima de 60 MHz. Além disso, é um dispositivo rápido apresentando tempo de propagação na ordem de 100 ns.

2.2 Interface Gráfica

Para comandar a placa de aquisição de dados é utilizada a interface gráfica Kylix no ambiente Linux. O Kylix apresenta várias vantagens, tais como: execução rápida do evento solicitado, interação facilitada através do mouse entre o usuário e a máquina, procedimento de eventos ativos pelo usuário.

Para o projeto da interface gráfica com o Kylix foi efetuado os seguintes passos:

1.Definição das janelas visualizadas pelo usuário;

2. Definição dos eventos de cada janela;

3. Definição dos procedimentos de eventos para os eventos;

4. Definição dos procedimentos auxiliares, responsáveis pelo funcionamento dos procedimentos de eventos.

Assim o Kylix monitora as janelas e os componentes de cada janela para todos os possíveis eventos, sendo reconhecível através de uma tecla pressionada, movimento do mouse, ou clique do seu botão. A figura 4 a seguir ilustra a interface gráfica para comando da placa de aquisição.

Figura 4. Interface gráfica para comando da placa de aquisição.

2.3 O Sistema Operacional Linux e Linux de Tempo Real

A placa de desenvolvimento PCI opera com o Sistema Operacional Linux. Esse Sistema apresenta várias vantagens, entre as quais: robusto, gratuito, código fonte disponível de graça para todos os usuários.

O Linux de Tempo Real é uma extensão do Linux que se propõe a suportar tarefas da placa com restrições temporais críticas. Sendo assim, o seu Sistema Operacional formado por um “microkernel” de tempo real, coexiste com o “kernel” do Linux.

(6)

2.4 Modo de Operação

A placa conforme a Figura 1, possui uma entrada (conector inferior da placa ilustrada) e duas saídas denominadas “x” e “y” (outros dois conectores superiores). O conector de entrada se liga com o sensor de sinal, enquanto os conectores de saída “x” é responsável pela varredura horizontal e “y” pela varredura vertical para fazer o sincronismo do periférico responsável pelo envio do sinal observado.

A placa funciona da seguinte forma: um detetor de sinal conectado na entrada da placa capta o sinal, uma amostra desse sinal é colocada na saída do amplificador “Samp-and-Hold” e convertida de sua forma analógica para digital, através de um conversor A/D e armazenada na memória através do comando do PLD, que por sua vez é responsável pela geração de varredura sempre que a informação chega a memória. Esta informação é finalmente enviada ao barramento PCI do computador local, através do controlador S5920, no qual pode ser comprimida no formato JPEG para ser mostrada na tela do computador.

Figura 5. Diagrama em blocos da placa de desenvolvimento.

A Figura 5 mostra o diagrama em blocos do funcionamento da placa de desenvolvimento.

O emprego de transceptores controlados pelo PLD permite a existência simultânea de dois barramentos de 8 bits. Assim é possível o conversor A/D escrever em uma das memórias SRAM selecionada ao mesmo tempo que o S5920 ler o conteúdo da outra memória SRAM.

2.5 Fluxograma do controlador

A Figura 6 mostra o fluxograma da placa de desenvolvimento sendo executada concorrentemente. Enquanto o ramo esquerdo se preocupa em carregar na memória SRAM impar os dados lidos na entrada da placa, o ramo direito se preocupa em passar os dados da memória SRAM par para o S5920. Quando as duas tarefas são alcançadas o processo se repete, mas com as memórias trocadas. Assim podemos ler as informações de um quadro na entrada da placa e ao mesmo tempo enviar para o S5920 as informações do quadro anterior.

(7)

Figura 6. Fluxograma requerido do controlador PLD.

(8)

2.6 Resolução de vídeo e frequência de varredura

Para dimensionar a quantidade de memória e a velocidade do conversor A/D a resolução gráfica da placa de desenvolvimento pode variar de acordo com a definição dos “pixels” e quantidade de tons de cinza. A tabela 2 abaixo mostra a quantidade de memória de vídeo necessária para exibição no monitor.

Tabela 2. Quantidade de memória de vídeo.

RESOLUÇÃO TONS DE CINZA

4 bits=16 tons 8 bits=256 tons

128X128 8 kbytes 16 kbytes

256X256 32 kbytes 64 kbytes

640X480 150 kbytes 300 kbytes

800X600 235 kbytes 470 kbytes

1024X768 384 kbytes 768 kbytes

Outra característica importante da placa é a frequência de varredura, ou seja, a capacidade de atualização dos quadros no tempo. A tabela 3 mostra a frequência de atualização dos quadros em função da quantidade de pontos varridos na tela.

Tabela 3. Frequência de varredura.

Frequência (MHz)

RESOLUÇÃO

Pontos

na tela 1ms 10ms

128X128 16384 16,40 1,64

256X256 65536 65,60 6,56

640X480 307200 307,20 30,72

800X600 480000 480,00 48,00

1024X768 786432 786,50 78,65

Como a organização da memória SRAM utilizada na placa é de 524,288 words de 8 bits, para o caso da Tabela 1 poderíamos chegar a uma resolução de 1024x768 utilizando 16 tons de cinza (384 kbytes). Com relação a frequência de varredura poderíamos trabalhar a uma frequência de 65,6 MHz, uma vez que torna-se inviável trabalhar com frequências mais altas por conta das ondas eletromagnéticas que interferem no circuito. Desta forma, conforme a Tabela 2 para o tamanho da memória em uso poderíamos varrer uma tela de dimensão 256x256 a cada 1 ms.

2.7 Aplicação

Uma possível aplicação dessa placa de desenvolvimento seria para controle de varredura e aquisição de sinais de um Microscópio Eletrônico de Varredura (MEV). No MEV o feixe primário é posicionado pelo controle de varredura presente na placa e o sinal gerado pelo elétrons secundários é transferido para o computador para ser convertido em sinal digital, conforme mostra a Figura 7. A placa de aquisição pode ser utilizada por outros tipos de microscópio de varredura, tais como: microscópio de força atômica e microscópio de tunelamento.

(9)

Figura 7. Aquisição de dados de um microscópio eletrônico.

2.8 Custo da Placa

Conforme a tabela 1 a seguir podemos verificar o custo aproximado de cada componente da placa.

Tabela 1. Preço aproximado de cada componente da placa de aquisição.

QTD. COMPONENTES DESCRIÇÃO PREÇO

01 Placa de circuito impresso --- R$ 100,00

01 PLD EPM7128SLC84-7 R$ 140,00

01 Controlador PCI S5920Q R$ 65,00

01 Amp. Sample-and-Hold AD783JQ R$ 105,00

01 Conversor A/D TDA8703 R$ 40,00

04 Transceptor 74ACT245B R$ 10,00

04 Latch DM74ALS373N R$ 12,00

02 Memória SRAM TCS5400/FL-70 R$ 220,00

02 Conversor D/A TLC7524CN R$ 16,00

02 Buffer AD844 R$ 45,00

02 Conector BNC PCB INS SKT R$ 41,00

Apesar de não serem incluídos os gastos com mão de obra e soquetes, podemos notar um baixo custo para confecção desta placa.

3. CONCLUSÃO

A placa de desenvolvimento PCI para instrumentação virtual possui um grande potencial para diversas aplicações, além de ser um padrão mundialmente industrial, utiliza recursos computacionais barateando os custos com sistema e aceita programação orientada a objeto como Delph/Kylix de maneira a facilitar a interação com o usuário.

TOTAL R$ 794,00

(10)

Agradecimentos

Esse trabalho foi parcialmente financiado através do convênio FACEPE/SENAI. O convênio deu uma bolsa de estudos para um dos autores (JTLS) a nível de mestrado. O trabalho teve apoio parcial da FINEP através do projeto RECOPE – sensores e atuadores.

4. REFERÊNCIAS

[1] Raphael Mukaro e Xavier Francis Carelse, “A Microcontroller-Based Data Acquisition System for Solar Radiation and Environmental Monitoring,” IEEE Transactions on Instrumentation and Measurement, vol. 48, no. 6, December 1999, pp.1232-1238.

[2] Chih-Hsien Kung, Michael J. Devaney, Chung-Ming Huang e Chih-Ming Kung, “Fuzzy-Based Adaptive Digital Power Metering Using a Genetic Algorithm,” IEEE Transactions on Instrumentation and Measurement, vol. 47, no. 1, February 1998, pp.183-188.

[3] Gabriele D’antona, Alessandro Ferrero e Roberto Ottoboni, “Improvement of Metrological Performance for Low- Cost DSP-Based Board with Analog Interface Circuit,” IEEE Transactions on Instrumentation and Measurement, vol.

48, no. 6, December 1999, pp.1278-1281.

[4] Matteo Bertocco, Franco Ferraris, Carlo Offelli e Marco Parvis, “A Client-Server Architecture for Distributed Measurement Systems,” IEEE Transactions on Instrumentation and Measurement, vol. 47, no. 5, October 1998, pp.1143-1148.

[5] Qingping Yang e Clive Butler, “Na Object-Oriented Model of Measurement Systems,” IEEE Transactions on Instrumentation and Measurement, vol. 47, no. 1, February 1998, pp.104-107.

[6] PCI Products Data Book, Section 2: S5920 PCI Target Interface.

Referências

Documentos relacionados

Posteriormente, em Junho de 1999, ingressei no grupo Efacec, onde fui responsável pela elaboração de projetos e propostas para a construção de Estações de Tratamento

Para eficiência biológica, de forma geral, utiliza-se a comparação de produtividades entre sistemas (monocultivo e cultivo consorciado), sendo avaliados a partir de

Instituto de Ensino Superior e Pesquisa Campus da UEMG – Universidade do Estado de Minas Gerais , no município de Divinópolis; objetivando identificar o perfil

5 “A Teoria Pura do Direito é uma teoria do Direito positivo – do Direito positivo em geral, não de uma ordem jurídica especial” (KELSEN, Teoria pura do direito, p..

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Por fim, dada as previstas asserções, o presente artigo conclui a nulidade da Língua Esperanto como proposta de embate ao imperialismo americano, conquanto, o