• Nenhum resultado encontrado

UNIVERSIDADE DO VALE DO ITAJAÍ - IIS Windows Server

N/A
N/A
Protected

Academic year: 2023

Share "UNIVERSIDADE DO VALE DO ITAJAÍ - IIS Windows Server"

Copied!
122
0
0

Texto

O relatório é submetido à Comissão de Revisão dos Trabalhos Finais do Curso de Ciência da Computação para análise e aprovação. O presente trabalho apresenta o desenvolvimento de componentes para simulação de hardware de sistemas embarcados em uma ferramenta genérica de simulação.

APRESENTAÇÃO

JUSTIFICATIVA

Assim, professores e alunos da UNIVALI (Universidade do Vale do Itajaí) serão beneficiados com esses componentes para simular arquiteturas básicas de microcontroladores e começar a estudar sistemas embarcados e projetos de rede em chip que possam ser lançados nesta instituição. Os componentes a desenvolver têm em conta a simulação de sistemas, sistemas embarcados e redes-on-chip, bem como o domínio de alguns circuitos digitais típicos.

IMPORTÂNCIA DO TRABALHO

OBJETIVOS DO TRABALHO

Objetivo Geral

Objetivos Específicos

METODOLOGIA

O mesmo procedimento utilizado na implementação de componentes de sistemas embarcados; . iii.c) Criação de propostas de modelos de simulação de sistemas embarcados. Se for um modelo físico, será transferido para uma ferramenta de simulação de sistema embarcado de acordo com suas propriedades.

SISTEMAS EMBARCADOS

Evolução dos Sistemas Digitais

Definição de Sistemas Embarcados

Características de Sistemas Embarcados

Custos de Fabricação: O custo total de um projeto de sistemas embarcados é muito importante quando um sistema é fabricado em larga escala. Consumo de Energia: Este fator extremamente importante afeta diretamente o custo geral de um projeto de sistema embarcado.

Alguns Problemas em Projeto de Sistemas Embarcados

Componentes de Sistemas Embarcados

  • Microcontroladores/ Microprocessadores
  • Memória
  • Dispositivos Periféricos
  • Redes-em-Chip

CPU (Unidade Central de Processador): É certamente o componente mais importante de um sistema embarcado, pois é necessário para gerenciar todo o microcontrolador. É um tipo de memória essencial a um computador, usada para armazenar dados e instruções de um programa. Paralelo se refere ao fato de que ele transporta sinais através de oito fios separados – um para cada bit de byte de dados – e dentro de um único cabo.

Em vez de indicar cada bit, o ponteiro poderia indicar o início de um pequeno fluxo de bits. Esta frequência é facilmente alterada (seja por ação em componentes passivos ou eletronicamente) dentro de um determinado valor. A informação digital é apresentada na forma de um número binário com um número fixo de dígitos.

Isto permite que um conversor seja conectado diretamente a um barramento de dados de um microprocessador que controla os dados. Esses canais consistem em uma série de fios que transportam dados de uma extremidade à outra.

Figura 1. Componentes de um Sistema Embarcado.
Figura 1. Componentes de um Sistema Embarcado.

SIMULAÇÃO DE SISTEMAS

Vantagens e Desvantagens

A simulação de sistemas é vista por diversos autores e pesquisadores da área como uma excelente ferramenta para resolução de problemas de diversos tipos. Quando o sistema é muito perigoso e se alguma alteração no sistema real pode causar algum tipo de acidente. Proporciona melhor controle sobre as condições experimentais do que seria possível no sistema real, pois é possível fazer diversas iterações do modelo, definindo os valores desejados para todos os parâmetros.

A metodologia de análise utilizada por simulação permite a avaliação de um sistema proposto, mesmo que os dados de entrada ainda estejam na forma de esquemas ou rascunhos. É possível entender melhor quais variáveis ​​são mais importantes em relação ao desempenho e como elas interagem entre si e com outros elementos do sistema. A simulação é muito dependente do modelo desenvolvido, ou seja, não faz sentido realizar um estudo detalhado dos dados de saída, encontrando uma solução para o sistema, se o modelo criado não representa fielmente o sistema ou se os dados de entrada estão incorretos Banks & Carson (1994);

Classificação de Modelos e Simulação

  • Modelos
  • Simulação

As mudanças no estado do sistema ocorrem em pontos discretos no tempo à medida que o relógio da simulação avança. Em uma simulação orientada a eventos, a modelagem do sistema é realizada identificando seus eventos característicos e incondicionais, dependentes apenas da simulação. O estado do sistema: é um indicador de como estão as características do modelo simulado em um determinado momento;

Variável de estado: é um elemento do modelo que varia em função de uma característica do sistema; Tempo simulado: é o tempo do sistema como um todo que representa o comportamento do modelo na realidade; Obviamente, estas condições são raras e, portanto, uma abordagem determinística pode não ser suficiente para descrever mudanças no sistema (ZEIGLER, 1987).

Etapas de um Projeto Envolvendo a Simulação

Coleta de dados: As informações de entrada do sistema devem ser obtidas e coletadas dos sistemas existentes. O que não é interessante pelas distorções dos resultados após a simulação e consequentemente a possível validação do modelo. Codificação, verificação e validação do modelo: A codificação nada mais é do que a transferência do modelo de uma linguagem conceitual para uma linguagem computacional.

A validação é a confirmação de que o modelo desenvolvido corresponde ao sistema real, ou seja, se os resultados avaliados pela simulação são confiáveis ​​e representam a realidade. Em geral, os testes estatísticos avaliam as diferenças entre os resultados do modelo e o sistema real. Dependendo das respostas dessas análises, o modelo pode precisar ser simulado diversas vezes para obter precisão estatística dos resultados.

Figura 22. Etapas da Simulação.
Figura 22. Etapas da Simulação.

Mecanismo de Avanço do Tempo

A verificação é uma varredura do modelo codificado para encontrar diferenças em relação ao modelo conceitual. Para obter resultados com nível de precisão adequado e confiável, o modelo simulado deve ser repetido diversas vezes para obter informações sobre seu comportamento. Seu funcionamento começa inicializando a variável de tempo em zero, e os próximos eventos são determinados através de uma lista de eventos, onde cada vez que ocorre um evento, há um avanço na unidade de tempo da variável até que o evento ocorra.

Este processo continua até que a condição de parada seja atendida ou até que não haja mais eventos na lista de eventos.

Estatística na Simulação

  • Distribuição de Probabilidade
  • Estimação de Parâmetros
  • Testes e Validação em Estatística
  • Problemas da Estatística Relacionados com a Simulação

Distribuição exponencial: se a probabilidade de um evento ocorrer em um pequeno intervalo de tempo for proporcional ao tamanho desse intervalo, se a probabilidade de outro evento ocorrer neste intervalo for igual a zero, ou se a ocorrência de um evento for independente do ocorrência de outro, então vai para a distribuição exponencial. Assim, juntamente com a estimativa dos parâmetros, a equação ou sistema de equações diferenciais considerado deve ser resolvido principalmente numericamente. O modelo matemático fornecido pelo criador do modelo deve pertencer a uma das seguintes categorias: equações diferenciais ordinárias com valores iniciais, equações diferenciais algébricas, equações diferenciais unidimensionais com derivadas parciais dependentes do tempo, equações diferenciais unidimensionais com derivadas parciais algébricas ( WERKEMA, 1996).

Equações diferenciais parciais podem conter equações algébricas, por exemplo, para resolver sistemas de ordem superior. Em geral, os resultados de um estudo são obtidos através de amostras, que muitas vezes, quando mal obtidas, interferem nos resultados da simulação e, consequentemente, na comparação com a realidade. Para conseguir a validação com os resultados de uma simulação, existem alguns métodos de validação baseados em amostras.

Simuladores de Sistemas Embarcados

  • MAX+PLUS II
  • Isis/Proteus

O software MAX+PLUS II (ALTERA Multiple Array MatriX Programmable Logic User System) é um sistema para desenvolvimento de dispositivos lógicos programáveis ​​ou PLD (Program Logic Devices). MAX+PLUS é uma das ferramentas investigadas que propõe uma simulação determinística de baixo nível que chega à composição do modelo baseado no diagrama de circuito digital ou VHDL (VHSIC Hardware Description Language). A grande vantagem de usar uma ferramenta como Max+Plus II é que podemos testar o comportamento do circuito através de sua simulação sem ter que escrever primeiro no dispositivo PDL.

Por ser uma ferramenta comercial, o Max+Plus II é um tanto limitado em termos de aquisição profissional. Isis, também conhecido como Proteus, é um software produzido pela Labcenter Electronics e é um simulador especial para sistemas embarcados. Além disso, o uso adequado requer um conhecimento mais profundo dos componentes do sistema embarcado, como microcontroladores e sua programação.

Figura 23. Interface do Max+Plus  Fonte: Adaptada de Altera (2003)
Figura 23. Interface do Max+Plus Fonte: Adaptada de Altera (2003)

O Simulador SSD

  • Inclusão de componentes no SSD
  • Classes básicas

Após a seleção, ele já faz parte do conjunto de componentes que podem ser utilizados com o simulador. O simulador SSD consiste em diversas classes que controlam tanto a aplicação em si (o software SSD) quanto os modelos que são criados. TSSDApplication: Esta classe gerencia os plugins carregados no simulador e os modelos nele criados.

TSIMAN: As principais funções que os modelos utilizam para representar um sistema a ser simulado estão disponíveis nesta classe. Os componentes desenvolvidos neste trabalho permitem ao SSD simular aspectos básicos de sistemas embarcados e redes-on-chip. Através da modelagem de alto nível do SSD e da utilização de dois modelos de sistema integrados desenvolvidos e já testados em outros instrumentos específicos, eles são comparados utilizando informações estatísticas extraídas dos dois instrumentos e verificando sua equivalência.

Figura 26. Interface gráfica do SSD.
Figura 26. Interface gráfica do SSD.

MODELAGEM

Componentes de Sistemas Embarcados

  • Diagrama de Componentes
  • Diagrama de Classes
  • Estrutura e Funcionamento

Componentes de Redes-em-Chip

  • Estrutura e Funcionamento de Redes-em-Chip
  • Componentes de Redes-em-Chip

SE (Nucleo.aEntitySends < Nucleo.aMaxCoreSend) or (Nucleo.MaxCoreSend = -1) ENTÃO SSD.Model.SIMAN.AttributeValue['Entity.CoordX'] := Nucleo.aCoordXOrig SSD.Model.SIMAN.AttributeValue['Entity.CoordX'] := Nucleo.aCoordXOrig SSD.Model.SIMAN. CoordY'] := Nucleo.aCoordYOrig Nucleo.aEntitySends := Nucleo.aEntitySends + 1. SSD.Model.SIMAN.StringEvaluateFormula(Nucleo.aTimeBetweenSends) * TimeUnitConvert(Nucleo.aCoreTime.Unit.SI CStatAddValue(Nucleo.aNumberCoreCStatID, 1). SSD.Model.TraceExec(3, Nucleo.ID, entity, 'Arrival of core send ' + IntToStr(newInstructionID) + ' scheduled for time ' + FloatToStr(newTimeSend)).

CoreX = Trunc(SSD.Model.SIMAN.AttributeValue['Entity.CoordXto']) CoreY = Trunc(SSD.Model.SIMAN.AttributeValue['Entity.CoordXTo']) RoteadorIndex = 0.

Figura 39. Algoritmo de canal em rede-em-chip.
Figura 39. Algoritmo de canal em rede-em-chip.

Simulação de Sistemas Embarcados no SSD

Para melhor ilustrar a modelagem pretendida, a Figura 42 mostra um sistema embarcado criado pela ferramenta Proteus e a Figura 43 mostra um sistema semelhante direcionado na ferramenta genérica de simulação de SSD.

Figura 42. Sistema Embarcado no Proteus
Figura 42. Sistema Embarcado no Proteus

IMPLEMENTAÇÃO E VALIDAÇÃO

Estrutura para Implementação dos Componentes

  • Arquivo Modelo (Template)
  • Estrutura para Criação dos Modelos no SSD

Este arquivo template segue o padrão recomendado pelo autor e contém rotinas específicas (usersCreate, userRead, userSave, userVerify, userExecute) que devem ser executadas pelo desenvolvedor. Este nome será reconhecido pelo SSD ao ler o arquivo através de um componente previamente carregado pelo sistema.;. UserRead: Este método é executado quando um módulo deste tipo é carregado a partir de um arquivo de modelo.

Porém, esta ferramenta permite editar os modelos diretamente, editando o arquivo de texto em qualquer editor de texto do mercado. Block_Name: Nome do componente que o identifica visualmente caso exista mais de um módulo com o mesmo componente; A declaração acima é a maneira básica de declarar um módulo diretamente no arquivo de modelo SSD.

Figura 43. Atributos e métodos inseridos na classe TNewModule
Figura 43. Atributos e métodos inseridos na classe TNewModule

Modelos de Sistemas Embarcados Avaliados

Validação de Modelos de Sistemas Embarcados

O intervalo de confiança para o número médio de acessos à tela inclui o valor obtido no modelo Proteus (108), indicando que faz parte da estimativa deste parâmetro, feita a. O intervalo de confiança para o número médio de acessos à tela inclui o valor obtido no modelo Proteus (10), indicando que faz parte da estimativa deste parâmetro feita pelo modelo SSD. O intervalo de confiança para o número médio de acessos à tela inclui o valor obtido no modelo Proteus (2), indicando que faz parte da estimativa deste parâmetro feita pelo modelo SSD.

O intervalo de confiança para o número médio de acessos ao display inclui o valor obtido no modelo Proteus (11), indicando que faz parte da estimativa deste parâmetro feita a partir do modelo SSD. O intervalo de confiança para o número médio de acessos à tela inclui o valor obtido no modelo Proteus (19), indicando que faz parte da estimativa deste parâmetro feita a partir do modelo SSD. O intervalo de confiança para o número médio de acessos à tela inclui o valor obtido no modelo Proteus (30), indicando que faz parte da estimativa deste parâmetro feita a partir do modelo SSD.

Figura 55. Componente counter-time interligado ao Proteus
Figura 55. Componente counter-time interligado ao Proteus

Imagem

Figura 1. Componentes de um Sistema Embarcado.
Figura 2. Diagrama de blocos de um típico microcontrolador  Fonte: Adaptada de Matic &amp; Andric (2001)
Tabela 1. Características da família do 8051
Figura 3. Diagrama de blocos microcontrolador 8051
+7

Referências

Documentos relacionados

4.1 Banco de dados e Oracle Text Para o funcionamento correto da biblioteca virtual algumas alterações foram feitas na base de dados do Elis II: a criação de dois novos campos nas