1 / 30

TinyOS

TinyOS. Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados. Roteiro. Motivação Características de redes de sensores Arquitetura de um sensor TinyOS Referências. Motivação. Sensores Detecção de luz, movimento, propriedades químicas, ruídos, pressão...

lamond
Download Presentation

TinyOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TinyOS GuilhermeFrederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

  2. Roteiro • Motivação • Características de redes de sensores • Arquitetura de um sensor • TinyOS • Referências

  3. Motivação • Sensores • Detecção de luz, movimento, propriedades químicas, ruídos, pressão... • Tempo de vida • Requisito essencial: Confiabilidade • Redes de sensores

  4. Rede de sensores

  5. Características de um sensor • Pequeno tamanho físico e baixo consumo de potência • Operações com alto grau de concorrência • Paralelismo físico limitado e controle de hierarquia • Diversidade de projeto e uso • Robustez

  6. Arquitetura de um sensor • MCU • LED´s • Sensor de temperatura • Sensor de Luz • Rádio • Porta serial • Co-processador

  7. Arquitetura de um sensor

  8. Arquitetura de um sensor • MCU (ATMEL AT90LS8535) • barramento de 8-bits • endereçamento de 16-bits • 32 registradores de propósito geral de 8-bits • 4 MHz e 3.0V • 8 KB de memória flash para memória de programa • 512 bytes para memória de dados

  9. Arquitetura de um sensor • LED´s • Representam saídas conectadas através de portas de input/output • Podem ser usados para mostrar valores de status

  10. Arquitetura de um sensor • Rádio (RF Monolithics 916.50 MHz TR1000) • dispositivo de input/ouput assíncrono com restrições hard real-time • consiste de transceptor, antena e componentes para configuração de potência de sinal e sensibilidade • sinais de controle para configurar o modo de operação (transmissão, recepção, ou desligado)

  11. Arquitetura de um sensor • Sensor de temperatura (Analog Devices AD7418) • Conversores A/D • Utilização do barramento I2C • Até oito dispositivos podem ser conectados ao barramento serial, cada um com um único ID

  12. Arquitetura de um sensor • Porta serial • Processa dados em nível de bit em modo assíncrono • utiliza pinos de input/output conectados a um controlador UART

  13. Arquitetura de um sensor • Co-processador (AT90LS2343) • Tem a função de reprogramar o microcontrolador principal a partir de dados oriundos da rede • Pode ser usado pelo processador principal como dispositivo extra de armazenamento • Conectado a um controlador SPI (canal de dados serial síncrono) • Processa dados em nível de bit em modo assíncrono • 2 KB de memória de instrução flash, 128 bytes de SRAM e EEPROM

  14. TinyOS • Sistema operacional projetado especificamente para redes de sensores • Modelo de programação baseado em componentes, oferecido pela linguagem nesC, um dialeto de C

  15. TinyOS • Objetivos • Atender a requisitos de redes de sensores que utilizam a plataformas similares a descrita anteriormente • Gerenciar a capacidade do hardware de maneira eficiente • Oferecer suporte a operações com alto grau de concorrência • Modularidade • Robustez

  16. TinyOS • Sistema operacional basicamente consiste de: • um pequeno escalonador • grafo de componentes

  17. TinyOS • Componentes • tratadores de comandos • tratadores de eventos • frames de tamanho fixo • Tasks (tarefas)

  18. TinyOS • Frames • Estrutura de variáveis acessadas pelo componente ao qual ele pertence

  19. TinyOS • Comandos • requisições para componentes em nível mais baixo • os parâmetros de comando são armazenados no frame do componente que realizou a requisição e é criada uma tarefa pra a execução do comando • deve haver um retorno da chamada ao comando indicando o sucesso ou não da operação

  20. TinyOS • Eventos • interrupções provocadas por componentes de nível de abstração inferior • sinalização do término do serviço solicitado através de um comando e retorno do resultado da operação

  21. TinyOS • Tasks • operações que, uma vez iniciadas, precisam ser completadas (run-to-completion) • possuem tamanho atômico (por poderem ser preemptados por eventos) • enviam comandos para componentes de nível mais baixo • sinalizam eventos para componentes de nível mais alto • Podem chamar outras tarefas dentro de um componente • tasks são enfileiradas e executadas segundo o algoritmo FIFO

  22. TinyOS

  23. TinyOS • componentes são divididos em três categorias: • abstrações de hardware • hardware sintético • componentes de software em alto nível

  24. TinyOS • Abstrações de hardware • modelam hardware físico em um modelo de componentes • RFM: exporta comandos para manipular pinos de input/output individuais conectados ao transceptor RFM e envia eventos informando outros componentes sobre a transmissão e recepção de bits • seu componente possui um frame informando seu estado corrente (que pode ser o modo de operação, transmissão ou recepção, taxa de envio de bits, etc)

  25. TinyOS • Hardware sintético • Radio Byte • envia ou recebe dados do modulo RFM e sinaliza quando o byte inteiro foi completo • tarefas internas simplesmente codificam ou decodificam os dados • possui interface e funcionalidade similares aos do UART (interface entre a serial e o barramento do microprocessador): oferece os mesmos comandos e sinaliza os mesmos eventos, lidam com dados de mesma granularidade e realizam internamente tarefas semelhantes

  26. TinyOS • software de alto nível • realizam controle, roteamento e transformações de dados • exemplo modulo de mensagem: realiza a função de preencher buffers para transmissão de pacotes e despacha mensagens recebidas para seu lugar apropriado • exemplo: módulos de calculo de dados ou gravação de dados

  27. TinyOS

  28. TinyOS

  29. PERGUNTAS ???

  30. Bibliografia • J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. E. Culler, and K. S. J. Pister. “System Architecture Directions for Networked Sensors”. ACM,In Architectural Support for Programming Languages and Operating Systems, pages 93–104, 2000. • S. Coleri, M. Ergen, T. John Koo.“Lifetime Analysus of Sensor Networks with Hybrid Automata Modelling” ACM, WSNA´02, september 28,pages 98-104, 2002. • D. Gay, M. Welsh, P. Levis, E. Brewer, R. von Behren, D. Culler.“The nesC Language: A Hostlistic Approach to Networked Embedded Systems”. ACM, PLDI´03, june 9-11,pages 1-11 2003. • P. Levis, N. Lee, M. Welsh, D. Culler.”TOSSIM: Accurate and Scalable Simulation of Entire TinyOS Applications”. ACM, SenSys´03, november 5-7, pages 126-137, 2003. • TinyOS is available at http://webs.cs.berkeley.edu.

More Related