documento de especificação - exemplo gpsdouglas/documento de especificação... · o contexto do...

19
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA E DEPARTAMENTO ACADÊMICO DE ELETRÔNICA compilado dos trabalhos de: MARCELO MASSAO KATAOKA HIGASKINO THAYSE MARQUES SOLIS ALVARO LUIZ SORDI FILHO HENRIQUE REINALDO SARMENTO EDUARDO CABRAL RESENDE NEIVA MARCOS VINICIUS DA SILVA MATHEUS REZENDE OLIVEIRA DOUGLAS RAFAEL DE FANTI MATHEUS TERRIVEL LABORATÓRIO 3 DE SISTEMAS EMBARCADOS DOCUMENTO DE ESPECIFICAÇÃO E ESTUDO DA PLATAFORMA CURITIBA MARÇO DE 2014

Upload: phungnhu

Post on 11-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

DEPARTAMENTO ACADÊMICO DE INFORMÁTICA E

DEPARTAMENTO ACADÊMICO DE ELETRÔNICA

compilado dos trabalhos de:

MARCELO MASSAO KATAOKA HIGASKINO

THAYSE MARQUES SOLIS

ALVARO LUIZ SORDI FILHO

HENRIQUE REINALDO SARMENTO

EDUARDO CABRAL RESENDE NEIVA

MARCOS VINICIUS DA SILVA

MATHEUS REZENDE OLIVEIRA

DOUGLAS RAFAEL DE FANTI

MATHEUS TERRIVEL

LABORATÓRIO 3 DE SISTEMAS EMBARCADOS

DOCUMENTO DE ESPECIFICAÇÃO E ESTUDO DA PLATAFORMA

CURITIBA

MARÇO DE 2014

Page 2: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

LABORATÓRIO 3 DE SISTEMAS EMBARCADOS

DOCUMENTO DE ESPECIFICAÇÃO E ESTUDO DA PLATAFORMA

Trabalho apresentado como forma parcial de avaliação à disciplina de Sistemas Embarcados da Universidade Tecnológica Federal do Paraná - Campus Curitiba

Prof. Douglas Paulo Bertrand Renaux

CURITIBA

MARÇO DE 2014

Page 3: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

2

Documento de Especificação e Estudo da Plataforma nota: o estudo da plataforma não é apresentado devido a similaridade com o projeto de 2014-1

Parte I – Especificação do Produto

1) Introdução GPS é um sistema de posicionamento global utilizado para a localização e

horário em um determinado local em qualquer lugar da terra, essas informações são

passadas para um aparelho receptor que deve estar no campo de visão de quatro satélites

GPS.

O produto desenvolvido é um visualizador de tracks de um GPS. Basicamente, é

um sistema que recebe coordenadas em latitude e longitude e plota essas coordenadas

relativamente à coordenada inicial.

2) Objetivo

O produto objetiva a visualização, em um display LCD, de tracks de um GPS. O

GPS será simulado por um PC, que envia pela porta serial os dados de latitude e

longitude no formato GPX. É possível ajustar a escala para melhor visualização e

reinicializar a exibição das coordenadas.

3) Domínio do Problema

Várias são as áreas do conhecimento relacionadas ao projeto em questão. A

seguir está exposto um breve resumo dos conceitos que norteiam cada uma das áreas,

entre elas: GPS, Latitude, Longitude e Cálculo de distâncias entre coordenadas

geográficas.

1. GPS

O GPS, ou Global Positioning System (Sistema de Posicionamento Global), é

um elaborado sistema de satélites e outros dispositivos que tem como função básica

prestar informações precisas sobre o posicionamento individual no globo terrestre.

O sistema está plenamente ativo desde 1995 e foi criado pelo Departamento de

Defesa Americano para fins militares, mas também pode ser aproveitado no meio civil,

principalmente na aviação. Uma constelação de 24 satélites é o elemento principal do

Page 4: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

3

aparato, enviando informações para que qualquer dispositivo receptor calcule sua

posição usando um processo chamado de trilateração.

Neste processo, um mínimo de quatro satélites que estejam próximos do receptor

fica constantemente enviando sinais de rádio, contendo a posição atual do satélite e o

instante (tempo) em que aquele pulso foi emitido.

Figura 1 – Sistema de trilateração

O cálculo é feito comparando o tempo em que o sinal foi enviado com o

momento em que ele foi recebido. Considerando que a radiofrequência viaja na

velocidade da luz e aplicando algumas correções, é possível determinar a distância exata

entre o receptor e o satélite.

Cruzando essa informação com a de três outros satélites na área, obtêm-se a

posição do receptor. Além da latitude e longitude, o sistema de trilateração também

permite saber a altura do receptor em relação ao nível do mar, porém o receptor

MVGPS não utiliza a informação de altura.

2. Latitude/Longitude

Considerando o plano equatorial e seu ponto central O, no meio da terra,

mostrados na Figura 1. Para especificar a latitude de um ponto P na superfície da

Terra, desenha-se o raio OP. Então o ângulo de elevação deste ponto acima do

equador é a latitude λ, que pode ser norte (positiva), se o ponto estiver ao norte

Page 5: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

4

do equador e sul (ou negativa) se o ponto estiver ao sul do equador. As linhas de

latitude da Terra são mostradas na Figura 2 [5].

Figura2 - Como determinar a latitude. Fonte: [5].

Figura 3 - Linhas que representam a latitude. Fonte: [5].

A longitude consiste em linhas (chamadas meridianos) que se estendem de polo

a polo. Cada meridiano cruza o Equador. O meridiano é a distância ao meridiano de

Greenwich, que é o local de longitude zero [5]. Esta distância mede-se em graus,

podendo variar entre 0º e 180º para Leste ou para Oeste [4].

Figura 4 - Linhas que representam a longitute. Fonte: [5].

3. Cálculo de distâncias entre coordenadas geográficas

Para o cálculo da distância entre dois pontos, considera-se o raio médio da Terra

igual a 6371 quilômetros. As coordenadas são fornecidas pelo GPS em graus e precisa

transformá-las em radianos utilizando a Equação1:

Page 6: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

5

�������������� = �������� ���. � �180� (1)

No caso da coordenada ser ao sul ou a oeste ela assume valor negativo. Para calcular a

distância entre duas coordenadas, utiliza-se a fórmula 2 (Haversine), aplica à fórmula 3

e multiplicada pelo raio da Terra (fórmula 4), onde φ é a latitude, λ é a longitude e R é o

raio da Terra e d é a distância.

� = ��� ���2 � ���1�. ���2�. ��� ���

2 � (2)

� = 2. � ��2�√�,√1 − �� (3)

� = $. � (4)

4. Linguagem XML e o GPX

XML é uma linguagem de marcação que serve basicamente para estruturar

informações e dados. Isso é feito através de Tags, “<>”, que são utilizadas para nomear

blocos, além disso, um bloco também pode conter valores de variáveis ou outros blocos.

No formato GPX, as coordenadas geográficas, horário e elevação são passadas em um

bloco chamado “trkpt”. Além disso, mensagens nesse formato podem carregar várias

coordenadas. Um exemplo de mensagem pode ser encontrado em:

http://en.wikipedia.org/wiki/GPS_eXchange_Format

Page 7: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

6

4) Contexto

Fig 5: Diagrama de Contexto.

O contexto do projeto envolve um visualizador de rotas, que representa o

produto desenvolvido; um usuário, que pode enviar comandos para esse visualizador, e

um GPS que envia e recebe mensagens do visualizador de rotas.

As mensagens enviadas do GPS para o visualizador de rotas possuem as coordenadas

geográficas, que serão enviadas no formato GPX, e o visualizador de rotas deve

informar ao GPS a quantidade de coordenadas recebidas após o processamento de um

determinado GPX.

Os comandos enviados pelo usuário são de mudança de escalas e inicialização do

programa, ambas enviadas para o visualizador de rotas.

Page 8: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

7

Figura 6 - Diagrama em blocos mostrando que pessoas/equipamentos interagem com o

produto.

5) Interfaces Neste sistema temos basicamente quatro interfaces (Fig 6) com o usuário: dois push buttons, o rotary switch e o display gráfico. A figura abaixo mostra a localização física dessas interfaces na placa base utilizada.

Page 9: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

8

Figura 7. Localização dos push buttons, rotary switch e display OLED na LPCXpresso Base Board

Outra interface é a interface serial com o GPS (emulado num PC).

Nos próximos subitens os aspectos físicos e lógicos de cada interface de usuário será discutida e detalhada.

1. PUSH BUTTON

O botão utilizado neste projeto e presente na placa base é um push button do tipo normalmente aberto que altera seu estado momentaneamente quando pressionado, sinalizando para o sistema que o usuário pressionou-o. As figuras abaixo apresentam um push button SMD genérico e seus possíveis estados.

Figura 8. Push button SMD genérico (esquerda) e seus possíveis estados (direita)

Os botões utilizados pelo usuário serão do tipo push, sendo um deles para reinicializar o sistema e o outro para interagir de outras formas com ele. Estes botões estão conectados ao micro controlador diretamente através de trilhas e alguns componentes para evitar o debouncing. A interpretação dos sinais propagados pelos botões são interpretados de maneira simples: Caso o sinal possua nível lógico baixo, foi pressionado, caso possua nível lógico alto, não foi pressionado. Esses sinais são processados pelo micro controlador que tomará as ações necessárias.

Page 10: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

9

5. ROTARY SWITCH

Um rotary switch ou rotary encoder é um dispositivo que converte a posição angular em uma saída digital. A figura abaixo mostra o rotary switch e suas dimensões em milímetros, fornecidas no datasheet do fabricante [2]:

Figura 9. Rotary switch (esquerda) e suas dimensões (direita)

O rotary switch é do tipo incremental, com sinais em quadratura. Este componente possui duais saídas digitais que juntas representam uma entre quatro (22) possibilidades. Conforme o eixo é rotacionado, essas saídas são alteradas. Suas duas saídas digitais são processadas pelo controlador que define em qual posição o eixo se encontra.

6. DISPLAY OLED

O OLED (Organic Light-Emitting Diode) é uma tecnologia criada pela Kodak, em 1980, que promete telas mais brilhantes, melhor contraste, tempo de resposta mais rápido, maior ângulo de visualização e menor consumo de energia que os displays LCD e LED. A ideia é utilizar diodos orgânicos compostos por moléculas de carbono que emitem luz quando recebem carga elétrica.

Esta interface é reponsável por apresentar informações importantes para o usuário do sistema de forma visual, como coordenadas por exemplo. Possui uma resolução de 96x64 pixels, totalizando 6144 pixels, sendo que durante a tela de execução boa parte deles é utilizada para mostrar textos e outras informações.

Figura 10. Display OLED em funcionamento

Page 11: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

10

7. COMUNICAÇÃO SERIAL

O sistema possui uma interface serial, pela qual recebe e transmite dado a uma taxa de 115200 bits por segundo. Neste projeto o computador simulará o envio de dados de um GPS no formato GPX, que será recebido pelo processador serialmente.

8. INTERFACE COM O USUÁRIO - SISTEMA DE MENUS.

Inicialmente a tela de inicialização é mostrada no visualizador:

Fig 11: Tela inicial

Após o usuário pressionar o botão init, a seguinte tela será mostrada:

Fig 12: Tela sem coordenadas plotadas. Usuário apertou o botão init.

Page 12: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

11

Com a chegada de coordenadas pelo GPS, o visualizador deve plotar essas coordenadas.

A próxima tela mostra como o visualizador plotaria as coordenadas e como os

dados de coordenada inicial e quantidade de coordenadas seriam mudados:

Fig 13: Tela com 337 coordenadas plotadas, sendo as coordenadas iniciais 30.2º latitude

e -12.2º longitude.

Se o usuário pressionar o botão reiniciar, a tela da figura seria mostrada. Após o usuário

pressionar o botão que troca as escalas a seguinte tela é mostrada.

Fig 14: Tela reiniciada com a troca de escalas (10px/km).

Page 13: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

12

6) Especificação funcional

As seguintes funções devem ser desempenhadas pelo sistema:

RF1 – O sistema deve apresentar uma tela de boot ao ser alimentado, antes da

inicialização.

RF1.1 – A tela de boot deverá conter o Nome do produto, o Nome da equipe, e o

texto “Pressione Init para prosseguir”.

RF2 – O sistema deve ter um botão para inicialização.

RF3 – O sistema deve limpar a tela e se preparar para receber tracks de GPS após o

botão de inicialização ser pressionado.

RF4 – O sistema deve receber tracks de GPS pela serial/UART a 115Kbps 8N1, o

formato utilizado é o GPX.

RF5 – O sistema deve retirar dados de latitude e longitude dos tracks de GPS.

RF6 – O sistema deve transformar dados de latitude e longitude em pontos cartesianos.

RF7 – O sistema deve exibir os pontos cartesianos correspondentes a cada coordenada

geográfica no display LCD.

RF8 – O sistema teve apresentar no centro da tela de LCD a primeira coordenada

recebida.

RF9 – O sistema deve enviar uma contagem do número de coordenadas recebidas do

momento em que o botão inicializar foi pressionado até o momento atual.

RF10 – O sistema deve exibir no rodapé da tela de LCD as coordenadas do centro da

tela e o número total de coordenadas plotadas.

RF11 – O sistema deve receber o ajuste de escala através do rotary switch.

RF12 – O usuário poderá ajustar a escala em 30 pixels/km, 20 pixels/km e 10 pixels/km.

RF13 – O sistema deve exibir no LCD qual a escala em utilização.

RF14 – O sistema deve reexibir as últimas 20 coordenadas dentro da nova escala

quando uma mudança de escala ocorrer.

Page 14: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

13

RF15. O sistema deverá armazenar as coordenadas da primeira coordenada recebida.

RF15.1. Caso o usuário limpe a tela, essa coordenada pode ser descartada.

RF15.2. Caso o usuário troque de escala, essa coordenada pode ser descartada.

1. CASOS DE USO.

Fig: 15 Casos de uso do visualizador de rotas.

Caso de uso: Inicia Sistema

Ator principal: Usuário.

Ator de suporte: N/A.

Descrição: Este caso de uso ocorre somente uma vez a partir do momento que o sistema

é iniciado, assim, o visualizador de rotas é iniciado preparando-se para receber

coordenadas.

Pré-Condições: N/A.

Pós-Condições: O visualizador de rotas espera coordenadas do GPS.

Fluxo básico:

1. O visualizador de rotas desenha uma tela inicial contendo:

1.1. Nome do produto.

1.2. Nome da equipe.

Page 15: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

14

1.3. Uma mensagem “Pressione Init para prosseguir”.

2. O usuário aperta o botão init.

3. O visualizador de rotas limpa o conteúdo da tela.

4. O visualizador de rotas desenha uma tela contendo:

4.1. Valor da escala inicial: 30px/km.

4.2. Quantidade de pontos plotados: 0.

4.3. Valor da coordenada inicial: “Nao ha”.

5. O visualizador de rotas espera que coordenadas sejam enviadas pelo GPS.

Caso de uso: Limpa Coordenadas Plotadas

Ator principal: Usuário.

Ator de suporte: N/A.

Descrição: O visualizador de rotas limpa as coordenadas e conexões plotadas.

Pré-Condições: Deve ter ocorrido o caso de uso: “Inicia Sistema”.

Pós-Condições: Pontos plotados são apagados.

Tela é atualizada.

Fluxo básico:

1. O usuário aperta o botão de limpeza de tela.

2. O visualizador de rotas limpa o conteúdo da tela.

3. O visualizador de rotas desenha uma tela contendo:

3.1. Valor da escala: valor anterior de escala, antes de limpar tela.

3.2. Quantidade de pontos plotados: 0.

3.3. Valor da coordenada inicial: “Nao ha”.

4. Dados da coordenada inicial são apagados.

5. O visualizador de rotas espera que coordenadas sejam enviadas pelo GPS.

Caso de uso: Troca Escala

Ator principal: Usuário.

Ator de suporte: N/A.

Descrição: O visualizador de rotas troca o valor da escala.

Pré-Condições: Deve ter ocorrido o caso de uso: “Inicia Sistema”.

Pós-Condições: Nova escala é atualizada.

Tela é atualizada.

Page 16: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

15

Fluxo básico:

1. O usuário aperta o botão de troca de escala.

2. O visualizador de rotas limpa o conteúdo da tela.

3. O visualizador de rotas desenha uma tela contendo:

3.1. Valor da escala: nova escala atualizada.

3.2. Quantidade de pontos plotados: 0.

3.3. Valor da coordenada inicial: “Nao ha”.

4. Dados da coordenada inicial são apagados.

5. O visualizador de rotas espera que coordenadas sejam enviadas pelo GPS.

Caso de uso: Envia Coordenadas

Ator principal: GPS.

Ator de suporte: N/A.

Descrição: O visualizador de rotas.

Pré-Condições: Deve ter ocorrido o caso de uso: “Inicia Sistema”.

Pós-Condições: Nova escala é atualizada.

Tela é atualizada.

Fluxo básico:

1. O GPS envia coordenadas segundo a regras de negócio 1 e 2.

2. O visualizador de rotas limpa o conteúdo da tela.

3. O visualizador de rotas verifica as coordenadas que foram enviadas.

4. A coordenada inical, é armazenada.

5. A coordenada inicial, é mostrada no centro da tela.

6. Enquanto há outras outras cooordenadas, o visualizador de rotas plota elas.

6.1. O visualizador de rotas faz a o cálculo da distância em metros entre o ponto anterior

plotado com o que está sendo processado.

6.2. O visualizador de rotas calcula a distância em pixels entre a coordenada sendo

processada com a coordenada inicial, o cálculo baseia-se na escala atual.

6.3. O visualizador de rotas desenha um ponto representando essa coordenada.

7. O visualizador de rotas desenha uma tela contendo:

7.1. Valor da escala: valor atual da escala.

7.2. Quantidade de pontos plotados: quantidade de pontos recebidos do GPS.

Page 17: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

16

7.3. Valor da coordenada inicial: valor da coordenada inicialmente armazenado.

8. O visualizador de rotas envia para o GPS a quantidade de coordenadas recebidas de

acordo com a regra de negócio 3.

9. O visualizador de rotas espera que coordenadas sejam enviadas pelo GPS.

Fluxos alternativos:

4.a Coordenada inicial já foi enviada em outra mensagem do GPS.

4.a.1. Pula para o passo 6

6.a Somente uma coordenada é enviada

6.a.1. Pula para o passo 7.

Regras de negócio:

1. As coordenadas devem ser enviadas no formato GPX.

2. As coordenadas devem ser recebidas na velocidade 115kbps com configuração pacote

8N1.

3. A quantidade de coordenadas deve ser enviada na velocidade 115kbps com

configuração pacote 8N1.

7) Especificação não-funcional

Nesta seção são expostos os requisitos não funcionais do sistema, eles foram

restringidos apenas aos aspectos de desempenho.

Requisitos não funcionais:

RNF1. Não há limites de pontos plotados.

RNF2. Todos os pontos que chegam do GPS serão plotados se estiverem dentro das

dimensões da tela convertida em kilômetros de acordo com a escala que está

sendo utilizada, caso contrário, não serão plotados.

RNF3. O sistema deverá responder a qualquer ação do usuário em menos de 500ms.

RNF4. O sistema deverá enviar a quantidade de pontos recebidos para o GPS em menos

de 500ms para 500 pontos enviados pelo GPS

Page 18: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

17

Parte II – Estudo da Plataforma

Page 19: Documento de Especificação - Exemplo GPSdouglas/Documento de Especificação... · O contexto do projeto envolve um visualizador de rotas, que representa o produto desenvolvido;

18

REFERÊNCIAS

[1] BARR, Michael. Embedded Systems Glossary. Embedded System. Disponível em: <http://www.barrgroup.com/Embedded-Systems/Glossary-E>. Acesso em 28 de fevereiro de 2014. [2] NC State University. Embedded Computer Systems. Disponível em <http://www.ece.ncsu.edu/research/cas/ecs>. Acesso em 28 de fevereiro de 2014. [3] CMSIS-RTOS RTX Version 4.74 - Overview. Disponível em: <http://www.keil.com/pack/doc/cmsis_rtx/_overview.html>. Acesso em 26 de fevereiro de 2014. [4] Sistema de Posicionamento Global (GPS) - Latitude e Longitude. Disponível em: <http://www.cienciaviva.pt/latlong/anterior/gps.asp>. Acesso em 26 de fevereiro de 2014. [5] Latitude and Longitude. Disponível em: <http://www-istp.gsfc.nasa.gov/stargaze/Slatlong.htm>. Acesso em 26 de fevereiro de 2014. [6] How does GPS work? Disponível em: < http://www.physics.org/article-questions.asp?id=55>. Acesso em 02 de março de 2014. [7] How CRT and LCD monitors work. LCD Technology. Disponível em: <http://www.bit-tech.net/hardware/2006/03/20/how_crt_and_lcd_monitors_work/3>. Acesso em 02 de março de 2014.