gaph gaph tinyos guilherme frederico rohde leonel pablo tedesco sistemas operacionais embarcados

30
GAPH www.inf.pucrs.br/ ~gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

Guilherme Frederico RohdeLeonel Pablo Tedesco

Sistemas operacionais embarcados

Page 2: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

Roteiro

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

Page 3: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

Motivação

• Sensores– Detecção de luz, movimento, propriedades

químicas, ruídos, pressão...– Tempo de vida– Requisito essencial: Confiabilidade

• Redes de sensores

Page 4: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

Rede de sensores

Page 5: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 6: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

Arquitetura de um sensor

• MCU• LED´s• Sensor de temperatura• Sensor de Luz• Rádio• Porta serial• Co-processador

Page 7: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

Arquitetura de um sensor

Page 8: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 9: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 10: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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)

Page 11: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 12: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 13: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 14: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

• Sistema operacional projetado especificamente para redes de sensores

• Modelo de programação baseado em componentes, oferecido pela linguagem nesC, um dialeto de C

Page 15: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 16: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

• Sistema operacional basicamente consiste de:– um pequeno escalonador – grafo de componentes

Page 17: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

• Componentes– tratadores de comandos – tratadores de eventos– frames de tamanho fixo– Tasks (tarefas)

Page 18: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

• Frames– Estrutura de variáveis acessadas pelo componente

ao qual ele pertence

Page 19: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 20: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 21: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 22: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

Page 23: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

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

Page 24: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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)

Page 25: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 26: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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

Page 27: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

Page 28: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

TinyOS

Page 29: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

PERGUNTAS ???

Page 30: GAPH gaph TinyOS Guilherme Frederico Rohde Leonel Pablo Tedesco Sistemas operacionais embarcados

GAPH www.inf.pucrs.br/~gaph

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.