recursos, e onde a utilizac~ao de sistemas operativos como suporte a aplicac~ao pode n~ao ser viavel.

Documentos relacionados
Dispositivo Multifunções com Acesso Remoto (2 a -parte)

Sistema de Monitorização com Múltiplos Alarmes (1 a -parte)

Sistema de Monitorização e Alarme (1 a -parte)

Sistema de Monitorização e Alarme (2 a -parte)

Um sistema SMS 1 simplificado

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

GUIA PARA O PREENCHIMENTO DOS FORMULÁRIOS ENTIDADE GESTORA ERP PORTUGAL

Prof. Sandrina Correia

ZSRest. Manual Profissional. Comandos Rádio X64. V2011-Certificado

BARRAMENTO DO SISTEMA

Engenharia de Software Sistemas Distribuídos

Copyright 2008 GrupoPIE Portugal, S.A.

Introdução aos Computadores

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

SAFT para siscom. Manual do Utilizador. Data última versão: Versão: Data criação:

Daniel Darlen Corrêa Ribeiro, Eduardo Campos dos Santos. ARL Universidade Federal de Lavras (UFLA) Lavras MG - Brasil

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE : SÃO CAETANO DO SUL - SP - CEP:

Manual do GesFiliais

Programação 2008/2009 MEEC Guia de instalação do PC de programação

Grupo I [4v] b. [0,6v] De que forma é que o escalonador do Linux tenta minimizar o impacto desta limitação?

O Manual do ssc. Peter H. Grasch

Quadro de consulta (solicitação do mestre)

Manual Técnico Interface Modbus

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Projecto de Programação MEEC /2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Copyright 2013 VW Soluções

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.

Manual Gespos SMS. (ultima revisão 20 Fev. 2003)

LEIC/LERC 2012/13 2º Teste de Sistemas Operativos 15/Janeiro/2013

Introdução à Informática

MANUAL DE INSTRUÇÕES

MECANISMO DE ATRIBUIÇÃO DA CAPACIDADE NO ARMAZENAMENTO

Programação de Sistemas

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Figura 1 - O computador

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

Introdução aos Algoritmos e Estruturas de Dados 2011/2012

Manual Brother Image Viewer para Android

COMPUTAÇÃO e PROGRAMAÇÃO

Introdução ª Parte - Acesso à Aplicação Avaliação Online... 4 I Aceder à Aplicação Inscrição Acesso à Aplicação...

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Escola Secundária de Emídio Navarro

Grupo I [4v] executaprograma();

Entradas/Saídas. Programação por espera activa Programação por interrupções

Sistemas Operacionais. Prof. André Y. Kusumoto

PHC dteamcontrol Externo

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Servidor de Gerenciamento de Chaves de Encriptação Aérea OTAR

Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos

A camada de rede do modelo OSI

Manual do Usuário Android Neocontrol

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

file:///c:/documents and Settings/Mauro/Desktop/Manuais_e_cursos/m...

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA

1. CAPÍTULO COMPUTADORES

Modelo Lógico e Físico da Base de Dados

Notas de Aplicação. Interface Controlador HI com Leitor de Código de Barras. HI Tecnologia. Documento de acesso público

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Serviço de Localização Celular Manual de utilização do cartão


Módulo de Circulação e Empréstimo

Sistemas de Telecomunicações I

Placa Acessório Modem Impacta

SOFTWARE. Equipamentos de gestão para controlo de acessos

Sistemas Digitais Reconfiguráveis

5 Entrada e Saída de Dados:

Plataforma de Benefícios Públicos Acesso externo

PAINEL DE SENHAS RBSG4JE. Imagem ilustrativa do painel. Operação/Configuração Painel Eletrônico de Senhas / Guichê com jornal de mensagens.

Manual do Utilizador

Arquitetura de Computadores II

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Manual do utilizador. Animal RFID Integrator. Universidade de Évora Escola de Ciências e Tecnologia

Algoritmos DCC 119. Introdução e Conceitos Básicos

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

Sistemas Operativos I

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP:

CONTABILIDADE GERAL e GESTÃO PREVISIONAL PARA ESNL Versões 5.220/5.230

Alarme Aquecimento Quarto Sala Cozinha Garagem Presente Param. Mensagem

O AMBIENTE DE TRABALHO DO WINDOWS

Instalação do Sistema Operativo Windows XP

Generated by Foxit PDF Creator Foxit Software For evaluation only. Capitulo 1

Componente de Formação Técnica. Disciplina de

Guia de utilização. Gestão de Mensagens. Março 2009

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

MANUAL DO UTILIZADOR

Guia de Utilização. Acesso Universal

Manual de Utilizador Plataforma de Estágios TIC.

Transcrição:

2 o -Trabalho de Laboratorio - ecos Sistemas Computacionais IST - 2003/2004 Recolha de Informac~ao e Acesso Remoto (2 a -parte) 1 Introduc~ao Alguns sistemas embebidos s~ao desenvolvidos sobre plataformas relativamente simples, com escassos recursos, e onde a utilizac~ao de sistemas operativos como suporte a aplicac~ao pode n~ao ser viavel. No entanto, em muitos outros casos, a exist^encia desse suporte ao nvel de sistema operativo (mesmo que com funcionalidade reduzida) pode facilitar grandemente o desenvolvimento das aplicac~oes. Esta parte do trabalho de laboratorio tem como objectivo fundamental a familiarizac~ao por parte dos alunos com a utilizac~ao de nucleos multitarefa para o desenvolvimento de aplicac~oes concorrentes em sistemas embebidos. Em particular, dever~ao adquirir alguma sensibilidade na utilizac~ao de mecanismos de sincronizac~ao e comunicac~ao entre tarefas, no contexto de aplicac~oes concorrentes. O nucleo multitarefa (sistema operativo) a utilizar sera o ecos (Embedded Congurable Operating System) a funcionar numa plataforma PC. 2 Descric~ao do problema As limitac~oes inerentes a alguns sistemas embebidos tornam desejavel a possibilidade de interac- c~ao remota para transfer^encia de informac~ao, ou operac~oes de recongurac~ao. No caso da aplicac~ao desenvolvida no 1 o Trabalho, as limitac~oes no que respeita a interface com o utilizador, constituem um exemplo de uma dessas situac~oes. Neste trabalho, pretende-se desenvolver uma aplicac~ao que, funcionando num ambiente com mais recursos (PC), permita oferecer ao utilizador uma interface mais exvel na interacc~ao com o sistema desenvolvido no 1 o Trabalho. Esta aplicac~ao sera constituda por varias tarefas (aplicac~ao concorrente) que ir~ao interagir entre si, e com a placa PICDEM-2 (1 o Trabalho) atraves de uma linha serie RS232. Mais concretamente, dever~ao existir pelo menos tr^es tarefas, responsaveis, respectivamente, pela interface com o utilizador, a comunicac~ao com a placa PICDEM-2, e o processamento da informac~ao recolhida a partir da placa PICDEM-2. 2.1 Recolha de informac~ao Relativamente a primeira parte do trabalho de laboratorio, devera agora ser acrescentada a seguinte funcionalidade: Comunicac~ao serie RS232 para permitir o acesso remoto. 1

Realizac~ao das operac~oes de recongurac~ao e transfer^encia da informac~ao recolhida. Aquando da axac~ao da letra \R" no LCD, correspondente a situac~ao de se ultrapassar metade da capacidade de armazenamento, enviar tambem uma mensagem de noticac~ao atraves da linha serie RS232. 3 Interface com o utilizador Na parte do trabalho que se executa no PC, existe uma tarefa responsavel pela interface com o utilizador, que permitira a este efectuar um conjunto de comandos para interagir, quer com a placa PICDEM-2 (atraves da(s) tarefa(s) de comunicac~ao), quer com a tarefa de processamento de informa- c~ao. S~ao os seguintes, os comandos a disponibilizar: Comandos Disponveis comando argumentos descric~ao cr - consultar relogio ar <hh><mm><ss> - acertar relogio cpa - consultar perodo de amostragem mpa <p> - modicar perodo de amostragem cnr - consultar valor NREG mnr <r> - modicar valor NREG tr <n> - tranferir <n>registos (ind. leit. corrente) tri <n><i> - tranferir <n>registos a partir do ndice <i> lri <n><i> - listar <n>registos a partir do ndice <i> lrt < n > < hh > < mm > < ss > - listar <n>registos a partir do instante "hh:mm:ss" rr - reinicializar registos ap -activar processamento dp - desactivar processamento cpp - consultar perodo da tarefa de processamento mpp <p> - modicar perodo da tarefa de processamento le - listar estatsticas TV(min/max/med) re - reinicializar estatsticas No primeiro grupo de comandos, a interacc~ao e feita com a tarefa de comunicac~ao, e no ultimo grupo de comandos a interacc~ao e feita com a tarefa de processamento. A listagem dos registos e feita acedendo directamente a uma zona de memoria onde eles se encontram, e que pode ser acedida pelas varias tarefas. Esta zona de memoria esta organizada na forma de um \buer" circular, com capacidade para NRBUF=1000 registos. A actualizac~ao dos registos nessa zona de memoria e feita pela tarefa de comunicac~ao, a pedido da tarefa de processamento, ou do utilizador atraves dos comandos tr e tri. O comando rr permite reinicializar esta zona de memoria (considerar o \buer" como tendo zero registos). Todos os comandos especicados acima que implicam comunicac~ao com outras tarefas, possuem uma interface sncrona (i.e. bloqueiam a espera de resposta). No entanto, deve ser prevista a hipotese de impossibilidade de comunicac~ao. No caso em que o comando especicado n~ao seja executado com sucesso, a mensagem de resposta tera um codigo de erro. 2

Os comandos de transfer^encia de registos (entre a placa PICDEM-2 e o PC) possuem duas variantes. Na primeira (tr), apenas se especica o numero (n) de registos pretendidos, sendo estes obtidos (caso existam) a partir do primeiro registo ainda n~ao transferido. Na segunda variante (tri), para alem do numero n, e ainda especicado qual o ndice (i) a partir do qual se pretendem os registos. O ndice zero corresponde ao registo mais antigo existente no \buer" circular, independentemente de ja ter sido transferido ou n~ao. Nos comandos de listagem de registos (visualizac~ao dos registos no ecr~a por parte do utilizador), em que se acede directamente a memoria partilhada onde se encontram os registos ja transferidos, existe a possibilidade de especicar o ndice, ou a estampilha temporal do primeiro dos registos a listar. No caso da estampilha temporal, caso o valor especicado n~ao exista, sera considerado como registo inicial o primeiro que tiver uma estampilha superior a especicada. Tanto nos comandos de transfer^encia como nos de listar, caso n~ao exista o numero suciente de registos para satisfazer o pedido, ser~ao enviados / listados os registos disponveis (eventualmente zero). 4 Processamento da informac~ao recolhida A tarefa responsavel pelo desencadear da transfer^encia, e posterior processamento da informac~ao, tera um funcionamento periodico (perodo PPROC). Em cada iterac~ao, faz o pedido de transfer^encia de NR=20 registos (atraves da tarefa de comunicac~ao), e, apos a noticac~ao da transfer^encia, faz o respectivo processamento de modo a actualizar os seguintes dados estatsticos: valores maximo e mnimo da temperatura e da tens~ao (com refer^encia a hora a que ocorreram e valor do outro par^ametro, ou seja, registo completo), e ainda a media (correspondente aos registos existentes nesse momento em memoria) de cada um desses dois par^ametros (temperatura e tens~ao). Em funcionamento normal, a tarefa de processamento faz os seus calculos em \sil^encio". Apenas envia uma mensagem para o ecr~a no caso de surgir algum novo maximo ou mnimo de algum dos par^ametros (temperatura, tens~ao). Esta tarefa aceita comandos da tarefa do utilizador para lhe enviar os dados estatsticos, ou para reinicializar as estatsticas. A tarefa de processamento podera ainda ser activada ou desactivada pelo utilizador, que tambem pode mudar o seu perodo. O perodo PPROC e inicialmente 30 segundos mas pode tomar valores na gama [10.. 3600] segundos. Tal como foi dito acima, a informac~ao recolhida (registos) devera ser mantida numa zona de memoria partilhada, acessvel em escrita pela tarefa de comunicac~ao, e em leitura pelas tarefas de processamento e de interface com o utilizador. O acesso coerente a essa zona de memoria, por parte das varias tarefas, e de extrema import^ancia para o correcto funcionamento da aplicac~ao. 5 Comunicac~ao entre o PC e a Placa PICDEM-2 A comunicac~ao entre o PC e a placa PICDEM-2 sera canalizada atraves de uma tarefa dedicada (ou duas { recepc~ao e transmiss~ao) que faz a interface com o gestor de dispositivo (\device driver") da porta serie fornecido pelo ecos ("/dev/ser0"). O suporte fsico para a comunicac~ao sera uma linha serie RS232 com as seguintes caractersticas: 9600 baud, 8 bits, sem paridade, 1 stop bit. 3

Sobre a linha serie RS232 sera estabelecido um protocolo simples de troca de mensagens. Uma mensagem e iniciada com um codigo especco de incio de mensagem SOM (ver em ap^endice o valor dos codigos), e terminada com um codigo especco de m de mensagem EOM: SOM <MSG> EOM A mensagem propriamente (<MSG>) dita comeca com o identicador do comando, sendo este seguido pelos eventuais dados associados a esse comando: <MSG> := <CMD> <DADOS> Tipos de mensagens comando dados descric~ao CRLG [H M S] consultar relogio ARLG HMS acertar relogio CPAM [p] consultar perodo de amostragem MPAM p modicar perodo de amostragem CNRG consultar valor NREG MNRG r modicar valor NREG TREG n[regs] transferir <n>registos TRGI n i [regs] transferir <n>registos a partir do ndice <i> NBCH noticac~ao de buer meio cheio Na tabela acima (Tipos de mensagens), tanto os codigos de comando como cada um dos varios campos de dados, com excepc~ao de regs, t^em uma dimens~ao de um octeto. Cada registo, e fazem parte da mensagem n registos, tem uma dimens~ao de 6 octetos (HMSTVv). Signicado dos campos de dados: H - horas [00.. 23] M -minutos [00.. 59] S - segundos [00.. 59] p -perodo de amostragem da temperatura e tens~ao (em segundos) [0.. 99] r -novo valor para NREG [1.. 250] n -numero de registos a ler / lidos [0.. 250] i -ndice do primeiro registo a ler / lidos [0.. NREG-1] regs - registos (n x fhmstvvg) (T - temperatura V,v - tens~ao) Os dados representados entre parentesis rectos ([]) apenas fazem parte da mensagem de resposta en~ao do pedido (apesar do codigo do comando ser o mesmo). Mensagens cuja resposta n~ao tenha dados, ou em que tenha ocorrido um erro na execuc~ao remota do comando, ter~ao o seguinte formato: <MSG> := <CMD> <ERRO> 4

em que <ERRO> pode tomar os valores CMD OK e CMD ERRO. A interface de comunicac~ao especicada deve ser estritamente respeitada, de modo a permitir interligar componentes desenvolvidos de forma independente, se assim se desejar. Com excepc~ao das mensagens de noticac~ao (NBCH), que ser~ao escritas no ecr~a do PC directamente pela tarefa de comunicac~ao, todas as restantes mensagens s~ao encaminhadas para a tarefa que efectuou o pedido, sendo esta a responsavel pela sua axac~ao, se for caso disso. No caso dos comandos de transfer^encia de registos, a tarefa que desencadeou essa operac~ao apenas recebe a noticac~ao da sua conclus~ao com sucesso ou n~ao. Os registos propriamente ditos s~ao colocados na memoria partilhada pela tarefa de comunicac~ao, como se disse anteriormente. Sendo o ecr~a do PC um recurso partilhado por mais do que uma tarefa, devera ser garantida a coer^encia na sua utilizac~ao. 6 Ambiente de suporte/desenvolvimento Este trabalho sera programado na linguagem C, utilizando como sistema de desenvolvimento um PC com o sistema operativo Linux. No entanto, tal como se disse acima, o sistema operativo de suporte a aplicac~ao e o ecos, pelo que o Linux apenas e utilizado como sistema de desenvolvimento. A aplicac~ao nal, ligada com o ecos, ira depois ser executada de forma nativa nopcalvo, que sera reinicializado com esta aplicac~ao / sistema operativo. 7 Desenvolvimento do projecto No desenvolvimento do projecto, aconselha-se a utilizac~ao de uma estrutura modular, com testes faseados. Nesse sentido, podem tirar partido da exist^encia de um \alvo sintetico" do ecos para a plataforma PC, a funcionar no contexto do sistema operativo Linux. Desta forma e possvel testar varias partes do trabalho sem necessidade de reiniciar o PC, ou de transferir a aplicac~ao para um PC alvo. Na interface com o utilizador, n~ao se pretende nada de muito complexo (n~ao e esse o objectivo fundamental). Para simplicar a sua concretizac~ao, os alunos podem/devem utilizar um interpretador de comandos rudimentar, que e fornecido (ver pagina da disciplina). A interface de comunicac~ao especicada deve ser estritamente respeitada, de modo a permitir interligar componentes desenvolvidos por diferentes grupos, se assim se desejar. 8 Entrega do trabalho Este trabalho deve ser entregue ate as 16:00h do dia 4 de Junho de 2004 na Secc~ao de Sistemas Digitais e Computadores (gabinete do docente responsavel da disciplina). O material a entregar consiste numa disquete com todos os programas desenvolvidos, e numa listagem dos mesmos. Devem ainda juntar 1ou2paginas A4 com a especicac~ao da estrutura de dados e as partes mais relevantes dos algoritmos (em pseudo-codigo). Todos estes elementos devem vir identicados com o numero do grupo de laboratorio e identica- 5

c~ao dos alunos que o comp~oem. A visualizac~ao dos trabalhos sera efectuada na semana de 7 de Junho (no horario de laboratorio) com base nos trabalhos entregues. As discuss~oes dos trabalhos ser~ao realizadas na semana de 14 de Junho, em data e hora a axar posteriormente na pagina da disciplina. Refer^encias [1] Microchip Technology Inc. PICDEM 2 Plus User's Guide. 2002. [2] Microchip Technology Inc. PIC18FXX2 Data Sheet. 2002. [3] Microchip Technology Inc. MPLAB C18 C Compiler Getting Started. 2002. [4] Microchip Technology Inc. MPLAB C18 C Compiler User's Guide. 2002. [5] Microchip Technology Inc. MPLAB C18 C Compiler Libraries. 2002. [6] Hitachi. HD44780U (LCD-II) (Dot Matrix Liquid Crystal Display Controller/Driver). [7] Microchip Technology Inc. TC74 - Tiny Serial Digital Thermal Sensor. 2002. [8] Microchip Technology Inc. 24AA256/24LC256/24FC256-256K I2C CMOS Serial EEPROM. 2002. [9] Red Hat, Inc. ecos Reference Manual. 2003. A Codigos dos comandos usados na comunicac~ao serie /* Assume-se que os valores de SOM e EOM nao ocorrem na mensagem */ #define SOM 0xFD /* inicio mensagem */ #define EOM 0xFE /* fim mensagem */ #define CRLG 0xC0 /* consultar relogio */ #define ARLG 0xC1 /* acertar relogio */ #define CPAM 0xC2 /* consultar periodo amostragem */ #define MPAM 0xC3 /* modificar periodo amostragem */ #define CNRG 0xC4 /* consultar valor NREG */ #define MNRG 0xC5 /* modificar valor NREG */ #define TREG 0xC6 /* transferir registos */ #define TRGI 0xC7 /* transferir registos a partir do indice especificado */ #define NBCH 0xC8 /* notificacao buffer meio cheio */ #define CMD_OK 0 /* comando realizado com sucesso */ #define CMD_ERRO 0xFF /* erro no comando */ 6