• Nenhum resultado encontrado

2.6 Tecnologia dos FPGAs

3.1.3 Implementações hardware e software

3.1.3.1 Implementação hardware

Para explicar a maneira como os periféricos foram criados, depurados e o seu comportamento simulado, vai-se tomar como exemplo o periférico Detector, uma vez que é o periférico mais complexo e importante que se tem. Esclarece-se que este periférico será descrito em detalhe na seção de resultados.

Antes de continuar com a descrição da implementação em hardware é preciso assinalar que a aritmética usada nos periféricos para a detecção das descontinuidades foi aritmética de ponto flutuante em precisão simples segundo o padrão IEEE–754, em que os números reais são represen- tados em palavras de 32 bit (1 bit para o signo, 8 bit para o expoente e 23 para a mantissa) [29]. A razão para esta escolha tem a ver com o caráter genérico do periférico, ou seja, este poderia ser usado para qualquer faixa de valores de entrada, em qualquer outra aplicação que demande de- tecção de mudança em um sinal. Com isto também se está fazendo uso de resultados de trabalhos prévios [30]. No trabalho prévio ao qual se faz referência foram desenvolvidos periféricos parame-

trizáveis para soma/substração, multiplicação, divisão e raiz quadrada em aritmética de ponto flutuante [30]. Com a exceção do periférico de raiz quadrada, estes periféricos desenvolvidos foram usados neste trabalho.

Todos os periféricos criados em hardware foram descritos usando o VHDL como a linguagem de descrição hardware. Do periférico Detector, por enquanto, pode-se dizer que está composto de sub-periféricos que descrevem as equações da secção 2.4. Alguns destes periféricos contidos na implementação hardware foram implementados usando máquinas de estados FSM (Finite State Machine) como controladores do fluxo de dados. A ferramenta de desenvolvimento escolhida foi o ISE 10.1 da Xilinx.

Uma vez que o periférico foi descrito, foram feitas simulações nas quais se consideravam as possíveis entradas e se verificavam suas respostas,determinando-se assim a ocorrência de uma mudança na descrição hardware do periférico. Os tipos de simulações realizadas foram a si- mulação comportamental e a simulação Post Place & Route, as que respectivamente permitem verificar se a estrutura do algoritmo está bem feita, e para verificar o efeito do roteamento no desempenho do periférico. A ferramenta de simulação usada foi o software ModelSim XE da Mentor Graphics.

Existe outro tipo de simulação conhecida com o nome de VHDL para simulação. Neste tipo de simulação são usadas opções do VHDL que só funcionam para simulação, porem não são sintetizáveis. A vantagem de este tipo de simulação é a possibilidade de simular uma grande quantidade de dados de entrada de uma maneira simples. Este tipo de simulação só foi feita para o periférico Detector, uma vez que é o componente principal e precisava-se conferir o funcionamento do algoritmo de detecção de mudanças em um caso real. Os dados usados nesta simulação foram coletados em testes prévios de soldagem com descontinuidades, mas estes dados não podem ser enviados sem antes serem convertidos para uma representação de ponto flutuante em 32 bit. Estes dados são então enviados para o periférico em teste desde um arquivo de texto. Para quando a simulação termina o resultado é guardado em outro arquivo de texto (para o caso foram dois arquivos, um para o dado do valor estimado e outro para o sinal de alarme), estes arquivos de saída tem seus dados em representação de 32 bit. Para a visualização e análises dos resultados da simulação é feita a conversão para número real. Este método de avaliação, para dados reais de um processo de soldagem é apresentado em [31]

De esta maneira os periféricos ficam prontos para ser baixados na FPGA e ser testados na placa de desenvolvimento.

3.1.3.2 Implementação software

A implementação software faz referência ao programa desenvolvido em C para rodar no processador MicroBlaze e que tem conta de todo o processo de detecção de descontinuidades. A ferramenta de desenvolvimento usada na implementação software foi o XPS (Xilinx Plantform Studio) 10.1 da Xilinx. Em este contexto foram desenvolvidos programas para testar na placa de desenvolvimento periféricos individuais, tanto os periféricos de propósito geral como os periféricos personalizados, e programas para testar o sistemas completo de detecção de descontinuidades.

Com os programas de teste para os periféricos individuais pretende-se verificar o seu com- portamento além de definir a forma de seu gerenciamento, ou seja, se for o caso, definir como os dados escolhidos pelo usuário serão enviado, ou como o resultado será apresentado para o usuário. Para a verificação faz-se uso dos módulos LCD e a porta serial da placa de desenvolvimento.

Com os programas para testar o sistema todo, realiza-se o mesmo procediemnto que na verifi- cação individual de periféricos, mas desta vez existem mais periféricos e alguns destes comunicam entre si e a parte software estará relacionado com esta comunicação.

Como foi dito antes, estes programas sequências gerenciam o sistema de detecção das des- continuidades, para isto é preciso executar algumas tarefas e são descritas a seguir:

– Configurar e inicializar os periféricos que vão ser utilizados. – Configurar e atender o sistema de interrupções.

– Inicializar a interface de usuário (apresentar o sistema ao usuário). – Apresentar as opções dos parâmetros da bancada de soldagem. – Enviar a escolha do usuário para os periféricos que correspondam. – Controlar a bancada de soldagem e a ignição da fonte de soldagem. – Enviar o sinal que inicia o processo de detecção de descontinuidades. – Apresentar ao usuário o relatório da detecção de falhas no LCD da placa.

– Se o usuário exigir, será enviado o relatório da detecção das descontinuidades pela porta serial para um PC e logo será armazenado.

Documentos relacionados