Top Banner
Facul Sist Mestra dade de tema e ado Integra Orienta Coorie e Engen mbebid Ricardo Dissertaçã ado em Eng Majo dor: Prof. entador: Pr nharia d do de g contro Alexandr ão realizad genharia E or Telecom Hélio Men rof. José C Junho 2 a Unive georref olo re Vaz Go da no âmbi Eletrotécni municações ndes de Sou Carlos dos S 2012 ersidade ferenci omes ito do ca e de Co s usa Mendo Santos Alv e do Por iação e omputador onça ves rto e res
103

Dissertação v1.0

Jan 09, 2017

Download

Documents

builiem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dissertação v1.0

Facul

Sist

Mestra

dade de

tema e

ado Integra

OrientaCoorie

e Engen

mbebid

Ricardo

Dissertaçãado em Eng

Majo

dor: Prof. entador: Pr

nharia d

do de gcontro

Alexandr

ão realizadgenharia Eor Telecom

Hélio Menrof. José C

Junho 2

a Unive

georrefolo

re Vaz Go

da no âmbiEletrotécnimunicações

ndes de SouCarlos dos S

2012

ersidade

ferenci

omes

ito do ca e de Co

s

usa MendoSantos Alv

e do Por

iação e

omputador

onça ves

rto

e

res

Page 2: Dissertação v1.0

© Ricardo Alexandre Vaz Gomes, 2012

Page 3: Dissertação v1.0

iii

Resumo

Esta dissertação expõe um sistema de referenciação terrestre e controlo para veículos

automóveis.

O projeto consiste num mecanismo de gestão de frotas automóvel, recorrendo a

tecnologia GPS e GSM, baseado num produto já comercializado.

O sistema permite obter a localização, através do GPS, bastando para tal, enviar uma

mensagem de texto de um telemóvel, para o número do cartão SIM inserido no módulo

instalado na viatura que se pretende seguir.

Incorpora um subsistema de notificação de eventos, que avisa o utilizador, através do

envio de mensagens de texto, de ocorrências relevantes, como o disparo do alarme do veículo

ou condução fora do perímetro de operação estabelecido.

O método anti-carjaking consiste num botão de pânico que, se acionado, imobiliza a

viatura.

Outro aspeto crítico é a possibilidade de armazenar dados dos percursos efetuados, para

posterior visualização, descarregá-los para um computador pessoal, sendo apenas necessário

que este possua acesso a redes sem fio IEEE 802.11b.

É possível requisitar informações da viatura recorrendo a uma ligação do módulo instalado

à tomada do barramento OBD2.

Page 4: Dissertação v1.0
Page 5: Dissertação v1.0

v

Abstract

This dissertation presents an automotive geo-referencing control system.

The project consists of a mechanism for management of car fleets, using GPS and GSM

technology based on a product already marketed.

The system allows the location through GPS by simply send a text message from a phone

number to the SIM card inserted in the module installed in the car that you want to follow.

Incorporates an event notification subsystem that alerts the user, by sending text

messages, about relevant events, such as triggering alarm vehicle or driving outside the

perimeter of operation established.

The anti-carjacking method consists of a panic button which, if activated, stops the car.

Another critical aspect is the ability to store data paths made for later viewing,

downloading them to a personal computer, requiring only that it has access to an IEEE

802.11b wireless network.

You can request information of the car through a link module installed to use the OBD2

bus.

Page 6: Dissertação v1.0
Page 7: Dissertação v1.0

vii

Agradecimentos

Gostaria de agradecer em primeiro lugar à minha família, porque a família vem sempre

em primeiro lugar, ao meu pai Narciso, à minha mãe Estrela e à minha irmã Daniela, o facto

de me terem proporcionado todas as condições e a estabilidade necessárias para que eu

pudesse ter a oportunidade de mostrar o meu valor.

Quero agradecer à minha namorada Inês e aos meus amigos, que me ajudaram a superar

alguns períodos difíceis nos últimos anos.

Um muito obrigado ao meu orientador, o professor Hélio Sousa Mendonça e ao meu

coorientador, o professor José Carlos Alves que me guiaram sempre no sentido certo.

Por último, não podia deixar de agradecer a todo o pessoal da NIBBLE Engenharia, em

particular ao Eng.º Nelson Silva, que foi uma ajuda incansável durante o desenvolvimento de

todo o projeto e ao Eng.º José Azevedo que me proporcionou a oportunidade de o

concretizar.

Muito obrigado a todos!

Page 8: Dissertação v1.0
Page 9: Dissertação v1.0

ix

“A nossa maior fraqueza está em desistir.

O caminho mais acertado para vencer é sempre tentar só mais uma vez”

Thomas Edison

Page 10: Dissertação v1.0
Page 11: Dissertação v1.0

xi

Índice

Resumo .............................................................................................. iii

Abstract .............................................................................................. v

Agradecimentos ................................................................................... vii

Índice ................................................................................................ xi

Lista de figuras .................................................................................... xv

Lista de tabelas .................................................................................. xvii

Abreviaturas e Símbolos ........................................................................ xix

Capítulo 1 ............................................................................................ 1

Introdução ...................................................................................................... 1 1.1 - Motivação e Contexto ............................................................................... 1 1.2 - Objetivos .............................................................................................. 2 1.3 - Organização do Documento ........................................................................ 2

Capítulo 2 ............................................................................................ 3 Estado da arte .............................................................................................. 3 2.1 - Enquadramento ...................................................................................... 3 2.2 – Tecnologias de localização ......................................................................... 3 2.3 – Protocolo NMEA ...................................................................................... 4 2.4 – Tecnologias de comunicação ....................................................................... 5 2.4.1 – Sistema GSM ........................................................................................ 5 2.4.2 – Comunicação sem fios ............................................................................ 6 2.4.3 – CAN, Controller Area Network .................................................................. 7 2.4.4 – OBD, On Board Diagnostics ...................................................................... 12 2.5 – Sistemas de gestão de frotas ...................................................................... 14 2.6 – UMI - Unidade móvel inteligente ................................................................. 17 2.7 – Sumário ............................................................................................... 19

Capítulo 3 .......................................................................................... 21 Arquitetura do sistema ................................................................................... 21 3.1 – Enquadramento ..................................................................................... 21 3.2 – Perspetiva geral do sistema ....................................................................... 21 3.3 – Módulos do sistema ................................................................................. 23 3.3.1 – Unidade de processamento ..................................................................... 23 3.3.2 - Alimentação do sistema ......................................................................... 24 3.3.3 – Módulo de comunicação ......................................................................... 24

Page 12: Dissertação v1.0

3.3.4 – Módulo de localização ........................................................................... 24 3.3.5 – Entradas e saídas do sistema ................................................................... 25 3.3.6 – Armazenamento externo de dados ............................................................ 25 3.4 – Ambiente de desenvolvimento ................................................................... 25 3.5 – Sumário ............................................................................................... 26

Capítulo 4 .......................................................................................... 27 Desenvolvimento de hardware .......................................................................... 27 4.1 – Enquadramento ..................................................................................... 27 4.2 – Tensões de entrada do circuito .................................................................. 28 4.3 – Alimentação do sistema e bateria ............................................................... 29 4.4 – Circuito de encravamento da bateria ........................................................... 31 4.5 – Elaboração do esquemático ....................................................................... 32 4.5.1 – Microprocessador ................................................................................. 33 4.5.2 – GPS ................................................................................................. 36 4.5.3 – GSM ................................................................................................. 37 4.5.4 – Armazenamento de dados externo ............................................................ 38 4.5.5 – Transmissor/recetor de radiofrequência ..................................................... 39 4.5.6 – Unidade de medição inercial ................................................................... 40 4.5.7 – Optoacopladores ................................................................................. 41 4.5.8 – Transístores de Darlington ...................................................................... 41 4.5.9 – Interfaces com o exterior ....................................................................... 42 4.5.10 – Massa analógica e massa digital .............................................................. 43 4.6 – Desenho da placa de circuito impresso ......................................................... 44 4.6.1 – Regras a respeitar ................................................................................ 44 4.6.2 – Especificações técnicas ......................................................................... 45 4.6.3 – Dimensionamento das antenas e áreas restritas ............................................ 45 4.6.4 – Disposição de componentes .................................................................... 46 4.6.5 – Planos de massa .................................................................................. 47 4.6.6 - Legenda da PCB e pontos fiduciários .......................................................... 48 4.7 – Sumário ............................................................................................... 49

Capítulo 5 .......................................................................................... 51 Desenvolvimento de software .......................................................................... 51 5.1 - Enquadramento ..................................................................................... 51 5.2 – Organização dos blocos de código ............................................................... 52 5.3 – Descrição dos blocos de código ................................................................... 53 5.3.1 – ADC ................................................................................................. 53 5.3.2 – SPI .................................................................................................. 54 5.3.3 – USART .............................................................................................. 55 5.3.4 – Configuração de pinos específicos ............................................................. 59 5.3.5 – Systick .............................................................................................. 61 5.3.6 - Watchdog .......................................................................................... 62 5.4 – CAN ................................................................................................... 63 5.5 – Wi-Fi .................................................................................................. 67 5.6 – Sumário ............................................................................................... 67

Capítulo 6 .......................................................................................... 69 Validação da solução ..................................................................................... 69 6.1 – Testes efetuados ao hardware ................................................................... 69 6.1.1 – Circuito de alimentação ......................................................................... 69 6.1.2 – Circuito de encravamento da bateria ......................................................... 71 6.1.3 – ERC e DRC ......................................................................................... 73 6.2 – Testes efetuados ao software .................................................................... 73 6.2.1 – Leitura e escrita em memória Flash .......................................................... 74 6.2.2 – Conversão de sinais analógicos ................................................................. 74 6.2.3 – Systick .............................................................................................. 74 6.2.4 – GPS ................................................................................................. 75 6.2.5 – GSM ................................................................................................. 75

Page 13: Dissertação v1.0

xiii

6.2.6 – CAN ................................................................................................. 75 6.3 - Sumário ............................................................................................... 76

Capítulo 7 .......................................................................................... 77 Conclusão e trabalhos futuros ........................................................................... 77 7.1 – Conclusões ........................................................................................... 77 7.2 – Melhorias ............................................................................................. 78 7.3 – Trabalhos futuros ................................................................................... 79

Referências ........................................................................................ 81

Page 14: Dissertação v1.0
Page 15: Dissertação v1.0

xv

Lista de figuras

Figura 2.1 – Diagrama da arquitetura GSM, adaptada de GSM Standard [5] ...................... 6

Figura 2.2 – Estrutura por camadas de um nó CAN .................................................... 8

Figura 2.3 – Trama de dados do protocolo CAN ....................................................... 10

Figura 2.4 – Trama de erros do protocolo CAN ........................................................ 10

Figura 2.5 – Trama de sobrecarga do protocolo CAN ................................................. 11

Figura 2.6 – Espaço entre tramas para estações com flags de erro ativas ou que foram previamente recetoras de uma mensagem ...................................................... 11

Figura 2.7 – Espaço entre tramas para estações com flags de erro passivas ou que foram previamente transmissoras de uma mensagem.................................................. 11

Figura 2.8 – O conetor J1962 macho (à esquerda) e a respetiva tomada J1962 fêmea (à direita) ................................................................................................. 13

Figura 2.9 – Aspeto exterior (à esquerda) e interior (à direita) da UMI ........................... 17

Figura 2.10 – Diagrama de blocos dos módulos mais importantes do sistema ................... 19

Figura 3.1 – Utilização do sistema ....................................................................... 22

Figura 3.2 – Diagrama dos módulos do sistema ....................................................... 23

Figura 4.1 – Cálculo de resistências da malha de realimentação .................................. 29

Figura 4.2 – Esquema do circuito de alimentação .................................................... 30

Figura 4.3 – Esquema do LDO que alimenta o GPS .................................................... 30

Figura 4.4 – Esquema do LDO que alimenta os restantes componentes do circuito ............. 30

Figura 4.5 – Esquema do circuito de encravamento da bateria .................................... 31

Figura 4.6 – Circuito que implementa uma fonte de corrente ...................................... 31

Figura 4.7 – Curva de carga da bateria P343944, com circuito de proteção ..................... 32

Figura 4.8 – Esquema dos pinos do microprocessador STM32F100RC [30] ........................ 36

Figura 4.9 – Esquema dos pinos do módulo de localização GPS .................................... 37

Figura 4.10 – Esquema dos pinos do módulo de comunicação GSM ................................ 38

Figura 4.11 – Esquema dos pinos para a memória Flash ............................................. 39

Page 16: Dissertação v1.0

Figura 4.12 – Esquema dos pinos para o leitor de cartões de memória ........................... 39

Figura 4.13 – Esquema dos pinos do módulo de comunicações sem fio MRF24WB0MA [21] .... 40

Figura 4.14 – Esquema dos pinos para a unidade de medição inercial [31] ...................... 40

Figura 4.15 – Esquema dos pinos para os optoacopladores ......................................... 41

Figura 4.16 – Esquema dos pinos para os integrados com configuração de Darlington para as 6 saídas digitais ................................................................................... 42

Figura 4.17 – Esquema dos pinos para o conetor 5569-12DOC ...................................... 42

Figura 4.18 – Esquema dos pinos para a interface de programação e diagnóstico .............. 43

Figura 4.19 – Esquema de ligação da massa do circuito ............................................. 43

Figura 4.20 – Dimensionamento das antenas utilizando o AppCAD ................................ 46

Figura 4.21 – Placa de circuito impresso ............................................................... 47

Figura 4.22 – Plano de massa da camada de topo .................................................... 48

Figura 4.23 – Plano de massa da camada de fundo .................................................. 48

Figura 5.1 – Diagrama dos blocos de software desenvolvidos ...................................... 52

Figura 6.1 – Teste do circuito de alimentação ........................................................ 70

Figura 6.2 – Teste do circuito da bateria, estado inicial, com bateria ligada ................... 71

Figura 6.3 – Teste do circuito da bateria, com bateria e alimentação ligadas .................. 72

Figura 6.4 – Teste do circuito da bateria, estado final, apenas com bateria ligada ............ 72

Figura 6.5 – Placa de teste do microprocessador, STM32VLDiscovery ............................. 73

Page 17: Dissertação v1.0

xvii

Lista de tabelas

Tabela 2.1 — Tecnologias de comunicação sem fios de curto alcance. ............................. 7

Tabela 2.2 — Mapa dos pinos SAE196 .................................................................... 13

Tabela 2.3 — Especificações do G959 GPS Tracker. ................................................... 15

Tabela 2.4 — Especificações do AT110 Advanced Vehicle Tracking Device. ...................... 15

Tabela 2.5 — Especificações do HCT Pro Plus. ......................................................... 16

Tabela 2.6 — Especificações da UMI – Unidade Móvel Inteligente. ................................. 17

Tabela 2.7 — Função dos pinos das entradas e saídas digitais disponíveis ........................ 18

Tabela 3.1 — Especificações do microprocessador ARM Cortex M3 ................................ 23

Tabela 4.1 — Tempos de aquisição de posição correta do GPS, em condições ideais ........... 29

Tabela 4.2 — Mapa da utilização dos pinos do microprocessador ................................... 34

Tabela 4.3 — Especificação das pistas .................................................................. 45

Tabela 4.4 — Especificação das pistas de antena ..................................................... 46

Tabela 5.1 — Função ADC_Start .......................................................................... 53

Tabela 5.2 — Função ADC_read .......................................................................... 54

Tabela 5.3 — Função ADC_poll ........................................................................... 54

Tabela 5.4 — Função SPI_Start ........................................................................... 54

Tabela 5.5 — Função spi_select_device ................................................................. 55

Tabela 5.6 — Função spi_clear_device .................................................................. 55

Tabela 5.7 — Função spiTransferByte ................................................................... 55

Tabela 5.8 — Função USART_Start ....................................................................... 56

Tabela 5.9 — Função USART_Disable .................................................................... 56

Page 18: Dissertação v1.0

Tabela 5.10 — Função USART_Receive .................................................................. 56

Tabela 5.11 — Função USART_CheckRx ................................................................. 57

Tabela 5.12 — Função USART_Transmit ................................................................ 57

Tabela 5.13 — Função USART_CheckTx ................................................................. 57

Tabela 5.14 — Função USART_Mirror .................................................................... 57

Tabela 5.15 — Função USART_MirrorClear ............................................................. 58

Tabela 5.16 — Função USART_Flush ..................................................................... 58

Tabela 5.17 — Função USART_Write ..................................................................... 58

Tabela 5.18 — Função USART_Read ..................................................................... 58

Tabela 5.19 — Função USART_SetFlowControl ......................................................... 59

Tabela 5.20 — Função IO_Start ........................................................................... 60

Tabela 5.21 — Função IO_GSM_ON_OFF ................................................................ 60

Tabela 5.22 — Função IO_GSM_DTR ..................................................................... 60

Tabela 5.23 — Função IO_GSM_RESET ................................................................... 60

Tabela 5.24 — Função IO_GSM_VIO ...................................................................... 60

Tabela 5.25 — Função IO_GSM_RI ........................................................................ 61

Tabela 5.26 — Função IO_GSM_DCD ..................................................................... 61

Tabela 5.27 — Função IO_LDO_SWITCH ................................................................. 61

Tabela 5.28 — Função TC1_Start ......................................................................... 62

Tabela 5.29 — Função Systick_Handler ................................................................. 62

Tabela 5.30 — Função wdt_on ............................................................................ 62

Tabela 5.31 — Função wdt_off ........................................................................... 63

Tabela 5.32 — Função wdt_reset ........................................................................ 63

Tabela 5.33 — Modos de operação no padrão OBD2 SAE J1979 ..................................... 64

Tabela 5.34 — Função lerOBD2 ........................................................................... 65

Tabela 5.35 — Função varrimentoOBD2 ................................................................. 65

Tabela 5.36 — Função consumoMedio ................................................................... 65

Tabela 5.37 — Função consumoInstantaneo ............................................................ 66

Tabela 5.38 — Função CAN_Start ........................................................................ 66

Page 19: Dissertação v1.0

xix

Abreviaturas e Símbolos

Lista de abreviaturas

ADC Analog to Digital Converter

ALDL Assembly Line Diagnostic Link

ARM Advanced RISC Machine

AT Attention, Hayes Command Set

BJT Bipolar Junction Transistor

BPSK Binary Phase Shift Keying

CAN Controller Area Network

CS Chip Select

CPU Central Processing Unit

CRC Ciclic Redundancy Check

DAC Digital to Analog Converter

DTC Diagnostic Trouble Codes

DRC Design Rule Check

EAGLE Easily Applicable Graphical Layout Editor

ECU Electronic Control Unit

EEPROM Electrically-Erasable Programmable Read-Only Memory

EOBD European On-Board Diagnostics

ERC Electrical Rule Check

FME For Mobile Equipment

GFSK Gaussian Frequency Shift Keying

GMSK Gaussian Minimum Shifting Keying

GSM Global System for Mobile Communications

GPRS General Packet Radio Service

GPS Global Positioning System

IDE Integrated Development Environment

I2C Inter-Integrated Circuit

IP Internet Protocol

JOBD Japanese On-Board Diagnostics

Page 20: Dissertação v1.0

LED Light Emitting Diode

LSB Least Significant Bit

MISO Master Input Slave Output

MOSFET Metal-Oxide-Semiconductor Field-Effect Transistor

MOSI Master Output Slave input

MSB Most Significant Bit

NMEA National Marine Electronics Association

OBD On-Board Diagnostics

OFDM Orthogonal Frequency Division Multiplexing

OSI Open Systems Interconnection

PCB Printed Circuit Board

PRN Pseudo-Random Noise

PSK Phase Shift Keying

PSTN Public Switched Telephone Network

RISC Reduced Instruction Set Computing

RHCP Rigth-Hand Circularly Polarised

RTC Real-Time Clock

RTR Remote Transmission Request

SCK Serial Clock

SIM Subscriber Identity Module

SMA Sub Miniature Version A

SMS Short Message Service

SPI Serial Peripheral Interface

TCP Transmission Control Protocol

TDMA Time Division Multiple Access

TTL Transistor-Transistor Logic

UMI Unidade Móvel Inteligente

USART Universal Asynchronous Receiver/Transmitter

USB Universal Serial Bus

WLAN Wireless Local Area Network

Page 21: Dissertação v1.0

Capítulo 1

Introdução

Neste capítulo figura a motivação e contexto do problema em estudo, os objetivos

fundamentais a atingir, para esta dissertação, e ainda informação acerca da estrutura

organizacional do documento.

1.1 - Motivação e Contexto

Esta dissertação insere-se no contexto de um sistema de gestão de frotas automóvel que

seja capaz de fornecer a posição atual e o percurso realizado por cada elemento constituinte

da mesma frota.

Graças à evolução tecnológica conhecida nas últimas décadas, é agora possível obter a

localização terrestre de uma pessoa ou objeto em tempo real, através de dispositivos que

recorram a um sistema de posicionamento global composto por um grupo de satélites. Um

sistema destes tem a capacidade para fornecer os elementos necessários com a precisão

adequada para a tarefa em mãos.

Tendo como base o referido sistema de posicionamento global, somando-lhe um sistema

de comunicações conveniente, torna-se por demais evidente a importância de um projeto

desta dimensão, no âmbito da gestão de frotas, como meio de aumentar a eficiência e

melhorar a gestão dos recursos ao dispor das organizações.

Da conjetura atual, retira-se imediatamente a necessidade do projeto resultar num

equipamento fiável, de elevado desempenho e baixo custo.

Uma vez que estes conceitos são maioritariamente abstratos, cabe-me enquanto

projetista, torná-los quantificáveis e explicitá-los com pormenor e detalhe.

Como estudante de mestrado integrado em engenharia eletrotécnica e de computadores,

tendo selecionado o ramo de telecomunicações, eletrónica e computadores, encontrei um

forte entusiasmo, motivação e não menos lógica, para abraçar o desafio de desenvolver tal

sistema, num contexto empresarial, onde o meu conhecimento científico foi deveras útil e

pôde ser posto à prova.

Page 22: Dissertação v1.0

2

1.2 - Objetivos

O principal objetivo deste projeto consistiu em desenvolver um sistema moderno e atual

de localização de frotas automóveis, recorrendo para tal à localização por satélite, por forma

a poder saber qual a posição e o percurso realizado por cada elemento da frota.

Tendo por base o sistema já existente na empresa, pretendeu-se uma atualização

significativa em termos de qualidade e desempenho.

Uma vez que o principal atributo do produto é localizar a posição de uma determinada

viatura, escolheu-se como forma de o possibilitar, o seguinte método: o utilizador envia um

SMS (Short Message Service) para o número do cartão SIM (Subscriber Identity Module)

contido no sistema e este devolve as coordenadas geográficas da sua posição atual na Terra.

O produto resultante incluiu outras características, tais como prevenção de furtos,

possibilidade de descarregar percursos efetuados para um terminal através de meios não

guiados e ainda a obtenção de informações da viatura através do barramento OBD (On-Board

Diagnostic), presente na generalidade das viaturas, dado que na Europa passou a ser

obrigatório utilizar o padrão EOBD (European On-Board Diagnostic) a partir do ano 2001.

1.3 - Organização do Documento

A presente dissertação encontra-se organizada em sete capítulos, que guiam desde a

conceção inicial do produto até à solução final proposta, acrescentando ainda um horizonte

de futuros desenvolvimentos.

O primeiro capítulo é composto por três subtemas, onde são explicados os motivos e onde

é feita a contextualização deste projeto, os seus objetivos, metas a atingir e a descrição da

organização documental.

O segundo capítulo abrange a pesquisa, o estudo do estado da arte de sistemas já

existentes no mercado, descreve tecnologias que são utilizadas para criar o produto em

questão: tecnologias de posicionamento, tecnologias de comunicação, processamento de

dados e descrição da arquitetura do sistema que serve de base ao novo produto.

No terceiro capítulo encontra-se documentada a arquitetura do sistema.

No quarto capítulo residem todos os detalhes envolvidos no desenho e projeto de

hardware e da placa de circuito impresso.

O quinto capítulo inclui a estrutura e todo o processo de desenvolvimento de software.

No sexto capítulo explicam-se os testes efetuados ao produto, o processo de validação e

os resultados obtidos.

Por fim, mas não menos importante, o sétimo capítulo contém ainda as conclusões do

projeto, seguidas de uma análise a melhorias e trabalho futuro, que garanta não só uma

maior valorização comercial do produto, mas também um aumento do seu período de vida.

No final do documento incluem-se todas as referências consultadas para a elaboração

deste projeto.

Page 23: Dissertação v1.0

Capítulo 2

Estado da arte

Neste capítulo descreve-se o estado da arte dos sistemas de gestão de frotas automóveis

disponíveis no mercado, recorrendo para ilustrar a descrição, à apresentação das principais

tecnologias que constituem este tipo de sistemas.

2.1 - Enquadramento

Desde o final do século XX, com o acentuar da globalização, as empresas encontram cada

vez mais dificuldades, num mundo em constante mudança, para encontrar alternativas de

mercado estáveis que permitam obter padrões de crescimento sustentáveis, que sirvam de

suporte à evolução da organização.

É, portanto, necessário encontrar soluções que possibilitem explorar ao máximo os

recursos ao dispor da organização, especialmente no que diz respeito aos meios que levam os

produtos/serviços junto do cliente.

Assim, o meio empresarial sente a necessidade de ter uma forma de gerir o transporte, de

modo a garantir a segurança dos seus produtos e funcionários, reduzir os custos, os

desperdícios e aumentar os lucros. Desta forma surge a gestão de frotas, como forma de

otimizar os meios ao dispor [2].

Uma vez que o tema dissertado assenta na gestão de frotas automóveis, é de salientar

que este tipo de transporte é aquele que tem uma maior abrangência em relação aos

transportes marítimo, aéreo ou ferroviário, e é o mais utilizado para, efetivamente, entregar

os produtos ao utilizador final.

2.2 – Tecnologias de localização

Presentemente encontram-se disponíveis duas soluções de navegação por satélite, sendo

uma o GPS (Global Positioning System), que ficou disponível a partir de 26 de Junho de 1993,

quando o vigésimo quarto, e último satélite, foi lançado para o espaço [34], e sendo a outra o

GLONASS, de origem russa, que se encontra em utilização, para fins civis, desde finais de

2011 que, quando completo, será composto por uma constelação de trinta satélites (dos quais

seis serão apenas utilização de reserva).

Page 24: Dissertação v1.0

4

Devido à importância e utilidade deste tipo de sistemas, de forma a não ficarem

dependentes da tecnologia de terceiros (que tiveram numa primeira fase fins militares e são

ainda nos dias de hoje desativados em alguns cenários de guerra), também a Europa, a China

e a Índia têm projetos próprios de desenvolvimento de sistemas de navegação por satélite

[35].

O sistema de navegação europeu Galileo é o único com fins exclusivamente civis, tem

prevista uma constelação com trinta satélites, dos quais vinte e sete estarão

permanentemente ativos e três de reserva, dispostos em três orbitas terrestres de média

altitude (a aproximadamente 23222 Km de altitude em relação ao nível médio da água do

mar e uma inclinação orbital em relação ao equador de cinquenta e seis graus), promete

precisões superiores aos sistemas já existentes, havendo testes agendados para 2014 e uma

previsão para a completa operabilidade do sistema no final da presente década [36].

O projeto chinês Compass, ou Beidou, deverá estar operacional a nível mundial em 2020 e

será constituído por trinta e cinco satélites. Na atualidade a cobertura deste sistema apenas

atinge território chinês [37].

O caso do sistema de navegação indiano, o IRNSS, distingue-se, uma vez que o objetivo

deste não é atingir uma cobertura global, mas apenas regional, isto é, tem apenas como alvo

o território Indiano.

Além de ser o primeiro sistema de localização terrestre por satélite, o GPS é também o

mais conhecido e o mais utilizado a nível mundial.

O GPS consiste numa constelação de vinte e quatro satélites que orbitam a Terra a uma

altitude de, aproximadamente, vinte mil quilómetros, dispostos de tal forma que pelo menos

quatro deles estão simultaneamente visíveis em qualquer ponto do planeta.

A transmissão é feita através de um sinal RHCP (Rigth-Hand Circularly Polarised), também

conhecido por L1, a uma frequência de 1575,42MHz. Este sinal é transmitido com uma

potência necessária que garante na superfície terrestre a receção de uma potência de -

160dBw.

O sinal L1 consiste numa modulação BPSK (Binary Phase Shift Keying) que, em conjunto

com um código de ruído aleatório PRN (Pseudo-Random Noise) a uma frequência de

1,023MHz, é conhecido por código C/A (Coarse/Acquisition code) [3].

O recetor desmodula o código recebido na portadora L1 e deteta as diferenças entre os

sinais de relógio atómicos dos satélites recebidos e o sinal de relógio interno presente no

recetor, permitindo calcular com base nesses dados a posição atual no globo terrestre deste

último.

2.3 – Protocolo NMEA

O protocolo NMEA (National Marine Electronics Association) é um protocolo de

comunicação de dados, que tem uma utilização muito acentuada em sistemas baseados em

GPS.

A norma surgiu como meio de simplificação da troca de informação entre, pelo menos,

dois componentes eletrónicos. A simplificação consiste em que toda a comunicação entre os

dispositivos seja feita à base de tramas de dados sistematizadas [1].

Todas as frases são padronizadas da seguinte forma: um prefixo de duas letras define o

dispositivo que está a ser usado, seguido por três letras que definem qual o tipo de

mensagem recebida.

Page 25: Dissertação v1.0

5

No caso dos recetores GPS, é utilizado o prefixo GP.

Cada frase começa com o caracter “$”, termina com um indicador de nova linha e pode

conter mais 80 caracteres de texto (aos quais acresce os terminadores de linha). Os dados

estão separados por vírgulas.

Os dados consistem exclusivamente em texto ASCII e o tamanho da trama pode ser

variável.

Os interpretadores, ao receberem os dados, retiram a informação dos campos entre

vírgulas e utilizam o último campo da trama recebido para verificar a integridade do

conteúdo da trama (esta última parte é opcional para o recetor).

O campo checksum, ou soma de controlo, é nada mais do que um “*” e dois dígitos

hexadecimais que representam um ou exclusivo (XOR) de oito bits de todos os

caracteres entre, o “$” e “*”, sem contar com estes últimos.

Existem diversos tipos diferentes de mensagens NMEA previstas pela norma, cada uma

com uma designação própria, que indica qual o tipo de dados que contém. As mais

importantes são:

- GPGGA: fornece dados de precisão com a localização terrestre a três dimensões

(latitude, longitude e altitude);

- GPVTG: inclui dados relativos ao deslocamento (velocidade);

- GPRMC: mostra dados temporais (data e hora).

A sua fácil implementação levou à sua adoção em massa, em particular a versão NMEA

0183, que permite taxas de transmissão de dados da ordem dos 4800 bits/s, em parte devido

ao facto desta comunicação necessitar apenas de 2 sinais, um de receção e outro de envio,

no dispositivo recetor [4].

2.4 – Tecnologias de comunicação

As tecnologias de comunicação que vão ao encontro das necessidades do projeto

separam-se em duas grandes categorias: meios guiados e meios não-guiados.

Meios guiados são aqueles em que a transmissão é feita através de cabos, sejam eles

telefónicos, coaxiais ou óticos.

Em meios não-guiados a troca de dados é realizada recorrendo a radiofrequência ou

infravermelhos (esta última já considerada obsoleta).

2.4.1 – Sistema GSM

O GSM (Global System for Mobile Communications) é um padrão utilizado para efetuar

comunicações de longo alcance, utilizado na vasta maioria dos dispositivos móveis na Europa,

continente onde teve origem. Este sistema é tão popular que conta atualmente com quase 3

mil milhões de utilizadores em todo o mundo e continua em franco crescimento.

As redes GSM utilizam as frequências 900 MHz e 1800 MHz na Europa, e 850 MHz e 1900

MHz nos Estados Unidos da América.

São um meio de transmissão de dados digital de segunda e terceira geração, que opera

utilizando modulação GMSK (Gaussian Minimum Shifting Keying), que permite que o sinal

modulado a ser enviado na portadora seja, de antemão, filtrado usando um filtro Gaussiano

passa-baixo, o que resulta numa grande redução da interferência entre canais vizinhos.

Page 26: Dissertação v1.0

No

telecom

móveis s

O pr

soluções

serviço p

O G

de melh

recursos

velocida

TDMA -

garantid

2.4.2

Os s

medida

distribui

O de

acima,

barrame

Para

que a la

serviços

Quase to

e, porta

limitaçõ

que sina

GSM é utili

municações q

sem que haja

Figura 2

rincipal uso d

s para outra

por GPRS (Ge

GPRS é um

hor esforço,

s são partilh

ade de trans

Time Divisio

da durante a

– Comun

sistemas sem

em que os

ição de cabo

esenvolvimen

faz com q

entos sem me

a utilizar um

argura de b

que cobram

odas as band

anto, é nece

ões de alcan

ais de radio

izado um s

que está a

a alterações

2.1 – Diagram

do GSM assen

as áreas, com

eneral Packe

serviço de

que transmi

ados por vá

smissão de d

on Multiple A

conexão [5]

nicação se

m fios têm

primeiros a

os que transp

nto de altos

que seja ap

eios guiados

sistema sem

anda de fre

m o uso de

das de frequ

essário escol

ce e é dispe

ofrequência

sistema de

utilizar o se

na rede de

ma da arquit

nta ainda na

mo é o caso

et Radio Serv

dados, base

te dados de

rios utilizad

dados é var

Access), ond

].

em fios

vindo a gan

apresentam

portam a info

débitos nas

petecível tr

.

m fios, é nec

equências di

estas, para a

uências já se

her com crit

endioso ocup

de serviços

cartões SI

erviço. Isto

telecomunic

tetura GSM,

as comunicaç

o do acesso

vice).

eado na tra

tamanho va

ores, e devi

riável (é util

e apenas um

nhar terreno

a enorme

ormação.

s ligações se

ransitar dos

cessário ter

isponível é l

aplicações e

e encontram

tério, uma v

par uma ban

exteriores

IM para ide

permite a

cações.

adaptada de

ções de voz,

móvel à Int

ansferência

ariável, e se

ido a este fa

lizada uma

ma determina

o aos cabla

vantagem d

em fios, com

barrament

em conta al

limitada, pe

específicas e

atribuídas a

vez que os s

nda complet

podem inte

ntificar a

fácil troca d

e GSM Standa

mas dispõe

ternet, desig

de pacotes

m garantia d

acto, subent

técnica de m

ada qualidad

dos nos últi

e reduzir o

binado com

tos com fio

guns fatores

elo que há p

em ambient

aos prestador

sistemas des

ta. É ainda d

rferir com o

operadora

de dispositiv

ard [5]

atualmente

gnando-se es

, no princíp

de entrega.

tende-se que

multiplexage

de de serviço

imos anos,

o percurso e

o que foi d

os para nov

s. O primeiro

prestadores

tes industria

res de serviç

ste género tê

de acrescent

o sinal que

6

de

vos

de

ste

pio

Os

e a

em

o é

na

e a

ito

vos

o é

de

ais.

ços

êm

tar

se

Page 27: Dissertação v1.0

7

pretende transmitir/receber. A taxa de transferência de dados do sistema necessita ser a

adequada e a codificação do canal tem de ser feita de forma muito rigorosa [8].

Para implementar comunicação sem fios/custos, encontram-se três grandes alternativas,

a comunicação via Wireless com protocolo IEEE 802.11, o Bluetooth e a tecnologia ZigBee.

O IEEE 802.11 e o Bluetooth partilham as seguintes características: ambos utilizam uma

transmissão de dados de alto débito e constituem-se como melhor solução em termos de

compatibilidade com a tecnologia presentemente utilizada em mais larga escala nas

organizações.

O Bluetooth é um protocolo que especifica uma forma de transmissão de dados de alto

débito entre dispositivos, através de ondas rádio (de espetro espalhado e multiplexagem

GFSK - Gaussian Frequency Shift Keying e 8-PSK - Phase Shift Keying) de curto alcance.

As redes baseadas no protocolo IEEE 802.11b, também conhecidas por redes Wi-Fi,

utilizam igualmente ondas rádio (de espetro espalhado e multiplexagem OFDM - Orthogonal

Frequency Division Multiplexing) para troca de dados. Porém, atingem maiores distâncias e

comportam maior segurança/privacidade.

ZigBee é um padrão para redes sem fio, que prima pelo baixo consumo e pela baixa taxa

de transmissão de dados. Foi pensado para arquiteturas em malha, topologia em estrela ou

árvore. As suas características adequam-se a ambientes em que a recolha de dados seja feita

frequentemente, em pequenos volumes, e por múltiplos pontos em simultâneo, sendo que o

alcance da rede depende do número de dispositivos interligados.

O menor custo da tecnologia e o menor consumo energético do Bluetooth e do ZigBee

levam a que estas implementações sejam bastante atrativas para dotar produtos de

comunicações sem fio, mas apesar disso, a interface IEEE 802.11 é mais robusta (em termos

de segurança, tendo um maior leque de opções de encriptação), tem maior alcance,

velocidades superiores e a mais alta potência de transmissão, quando comparada com as

outras tecnologias de comunicação sem fios em equação [6].

A tabela 2.1 apresenta uma comparação entre os diferentes tipos de tecnologias de

comunicação sem fios e respetivas características:

Tabela 2.1 — Tecnologias de comunicação sem fios de curto alcance.

IEEE 802.11 Bluetooth1.1 ZigBee

Gama de frequências de operação 2,4 GHz 2.4 GHz 2.4 GHz

Velocidade de transmissão de dados 10 Mbps 1 Mbps 0.1 Mbps

Tipo de modulação OFDM GFSK O-QPSK

Alcance 100 m 10 m 10-75 m

2.4.3 – CAN, Controller Area Network

CAN (Controller Area Network) é um protocolo de comunicação série que suporta de

forma eficiente e segura o controlo de sistemas em tempo real, ligados através de um meio

guiado (cabos) que constituí um barramento, onde cada unidade conectada que possa enviar

ou receber dados é designada por nó, apresentando as seguintes características:

- Mensagens que transitam no barramento têm diferentes prioridades;

Page 28: Dissertação v1.0

- Os

- Fle

- Rec

- Co

- De

- Re

novo liv

- Dis

de nós q

De

protocol

transfer

A ca

da cama

O âm

- Des

- De

ser usad

- For

O ob

indica, o

das tram

desta ca

transmis

camada

modifica

O al

nós, res

tempos de l

exibilidade d

ceção multic

nsistência do

teção e sina

etransmissão

re;

stinção entre

que apresent

forma a at

lar é dividi

rência e a ca

amada de ob

ada de dados

mbito da cam

scobrir que m

ecisão sobre

das;

rnecer uma i

bjetivo da ca

o protocolo

mas, priorida

amada que s

ssão ou se, p

de transfer

ações, const

vo da camad

peitando as

latência são

e configuraç

cast com sin

os dados;

lização de e

automática

e erros temp

tem deficiên

tingir transp

a em três

amada física.

bjetos e a ca

s definida no

mada de obje

mensagens d

quais as me

interface à c

amada de tr

de transferê

ades, contro

se decide se

por outro lad

rência, e ao

ituindo a sec

da física é c

propriedade

Figura 2

garantidame

ção de parâm

cronização t

rros;

de mensage

porários e fa

cias.

parência e

camadas di

amada de tr

o modelo OSI

etos inclui:

devem ser tr

nsagens rece

camada de a

ransferência

ência de dad

olo de erros

e o barrame

do, deve ini

os controlos

cção rígida d

cumprir a ve

es elétricas d

2.2 – Estrutu

ente iguais p

metros do pr

temporal;

ens danifica

lhas perman

flexibilidad

iferentes: a

ransferência

I.

ransmitidas;

ebidas, pela

aplicação rel

é, de uma

dos, ou seja,

s, sinalização

ento se enco

ciar uma rec

s que aplica

deste protoc

erdadeira tra

dos sinais.

ura por cama

para todos os

otocolo;

das, logo qu

nentes de nós

e na imple

a camada d

fornecem to

a camada de

acionada com

maneira ger

, controlar o

o e controlo

ontra disponí

ceção de da

a, esta não

olo.

ansferência d

adas de um n

s nós;

ue o barrame

s, e desativa

ementação,

e objetos,

odos os serv

transferênc

m o hardwar

ral e como o

o fluxo de da

o de falhas).

ível para ini

dos. Devido

apresenta l

de bits entre

nó CAN

ento esteja

ação autónom

a arquitetu

a camada

viços e funçõ

cia, que deve

re.

o próprio nom

ados (definiç

. É no inter

iciar uma no

à natureza

liberdade pa

e os diferent

8

de

ma

ura

de

ões

em

me

ção

rior

ova

da

ara

tes

Page 29: Dissertação v1.0

9

A transferência de mensagens é efetuada recorrendo a quatro tipos diferentes de tramas:

- Tramas de dados (Data frame) que transportam a informação de um transmissor para

o/os recetores;

- Tramas remotas (Remote frame) que são transmitidas de uma unidade do barramento

para pedir a transmissão de uma trama de dados com o mesmo identificador (Identifier);

- Tramas de erro (Error frame) que são enviadas por qualquer unidade da rede que detete

erros no barramento;

- Tramas de sobrecarga (Overload frame) que são utilizadas para introduzir um atraso

extra entre duas tramas de dados ou entre duas tramas remotas.

Duas tramas sequenciais de dados ou remotas são separadas por um espaço entre tramas

(Interframe space).

Uma trama de dados é composta por sete campos diferentes de bits: Start of frame

(SOF), Arbitration Field, Control Field, Data Field, CRC Field, ACK Field e End of frame (o

campo Data pode ter tamanho zero, que corresponde ao não envio de dados).

As tramas podem ter dois formatos diferentes: o padrão e o extenso, sendo que o formato

padrão inclui 11 bits para o campo Arbitration e o extenso inclui 29 bits.

O campo Start of frame, marca o início de uma trama de dados ou remota, e consiste em

apenas um bit, que as distingue. Uma estação só pode iniciar uma transmissão se o

barramento estiver livre (Idle). Todas as estações necessitam de sincronização que é levada a

cabo através do Start of frame da estação que primeiro iniciou a transmissão.

O campo Arbitration é constituído por um identificador (Identifier) e pelo RTR (Remote

Transmission Request). O identificador é composto por 11 bits no caso do formato padrão e

por 29 bits quando se usa o formato extenso, sendo transmitido em primeiro lugar o MSB

(Most Significant Bit). O bit RTR tem valor dominante (0) para tramas de dados e valor

recessivo (1) para tramas remotas.

O campo de controlo é formado por seis bits: os primeiros dois bits são reservados pelo

protocolo CAN e os quatro seguintes são usados para o Data Length Code (DTC), que indica o

número de bytes (no mínimo zero e no máximo oito) que vai ter o campo de dados (Data

Field).

O campo de dados contém a informação que se pretende transportar pelo protocolo CAN,

isto é, os dados propriamente ditos.

O campo de controlo de erros de redundância cíclica (CRC Field) contém uma sequência

de 15 bits (CRC Sequence) e um delimitador desta (um bit recessivo). Este campo é usado

para verificar a integridade das tramas recebidas e enviadas. Os bits envolvidos neste cálculo

são o SOF, o campo Arbitration, o campo de controlo e o campo de dados.

O campo ACK é composto por dois bits: o ACK Slot e o ACK Delimiter (um bit recessivo). O

nó transmissor envia um bit recessivo para o ACK Slot. O nó recetor envia um bit dominante

durante o ACK Slot para sinalizar a receção da trama CAN.

O campo End of frame (EOF) é utilizado para terminar uma trama de dados ou uma trama

remota, com uma sequência de 7 bits recessivos [38].

Page 30: Dissertação v1.0

Uma

diferenç

As t

um delim

Uma

em seis

nós. O d

Uma

e um d

transmis

- Co

remota

- De

a trama rem

ça no bit RTR

ramas de er

mitador (Err

a Active Erro

bits consecu

delimitador d

a trama de s

delimitador.

ssão de uma

ondições inte

após a receç

teção de um

Figura

mota possui

R, que as dis

rro contêm d

ror Delimiter

or Flag cons

utivos a um,

de erros é re

Figura

obrecarga (o

Existem d

flag:

ernas do rec

ção de uma t

m bit a zero d

a 2.3 – Trama

a mesma e

tingue.

dois campos

r). As flags d

iste em seis

, exceto se e

ealizado por

a 2.4 – Tram

overload fra

dois tipos d

etor que req

trama preced

durante um i

a de dados d

exata estrut

: um aglome

de erro pode

s bits consec

estes forem

oito bits a u

ma de erros d

ame) engloba

de condiçõe

querem um

dente do me

intervalo ent

do protocolo

ura de uma

erado de fla

m ser de doi

cutivos a zer

sobrescritos

m.

do protocolo

a dois campo

es de sobre

atraso da pr

esmo tipo;

tre tramas.

CAN

a trama de

ags de erro (

is tipos: ativ

ro, uma Pass

s por bits a z

CAN

os: uma flag

carga e am

róxima tram

dados, com

(Error Flags

vas ou passiva

sive Error Fl

zero de out

de sobrecar

mbas levam

ma de dados

10

m a

) e

as.

lag

ros

rga

à

ou

Page 31: Dissertação v1.0

11

(in

er

um

a

in

tra

tra

fie

Se

O espaço e

ntervalo) e

rro e sobreca

m comprime

transmitir u

ício de um

ansmitir uma

ansmissão de

Figura 2

Figura 2.

Os segmen

eld, data fie

empre que u

Fig

entre tramas

idle (ócio),

arga. O cam

nto arbitrári

ma nova me

a nova tram

a mensagem

e uma nova

2.6 – Espaço

.7 – Espaço e

pr

ntos das tram

eld e a sequ

um transmiss

gura 2.5 – Tr

s (interfram

e utilizado

po intervalo

io, uma vez

ensagem, sen

ma (SOF). A

m, envia oito

mensagem o

entre trama

previamente

entre tramas

reviamente t

mas de dado

uência CRC

sor deteta c

rama de sobr

e space) é c

para contro

o é constituíd

que se reco

ndo que o pr

Após uma e

bits recessiv

ou do reconh

as para estaç

e recetoras

s para estaçõ

transmissora

os (ou remota

são codifica

cinco bits co

recarga do p

onstituído p

olo de fluxo

do por três

onhece que o

rimeiro bit d

estação que

vos a seguir

hecimento do

ções com fla

de uma men

ões com flag

as de uma me

as) start of f

adas recorre

onsecutivos d

protocolo CA

elos campos

das tramas

bits recessiv

o barramento

ominante é

utilize flag

ao intervalo

o barramento

gs de erro at

nsagem

gs de erro pa

ensagem

frame, arbit

ndo ao mét

de valor idê

AN

s de bits inte

de dados,

vos e o ócio

to está livre

interpretado

gs de erro

o e antes do

o como livre

tivas ou que

assivas ou qu

tration field

todo de bit

êntico no flu

ermission

remotas,

pode ter

e pronto

o como o

passivas

início da

e.

foram

e foram

d, control

stuffing.

uxo a ser

Page 32: Dissertação v1.0

12

transmitido, este insere automaticamente um bit complementar no fluxo de dados que é

realmente enviado. Os restantes segmentos das referidas tramas (CRC delimiter, ACK field e

end of frame) não são codificados através de bit stuffing e são mantidos inalterados.

O conjunto de bits resultante é codificado de acordo com o método NRZ (Non-Return-to-

Zero) [41].

2.4.4 – OBD, On Board Diagnostics

O OBD (On-Board Diagnostics) é um sistema que permite aceder a informações sobre as

condições de funcionamento dos veículos.

A quantidade de informação de diagnóstico, disponibilizada por este sistema, varia

bastante desde as primeiras versões, que simplesmente continham indicadores Check Engine

ou MIL - Malfunction Indicator Light, que acendiam no painel de instrumentos da viatura

quando um problema era detetado, mas não devolviam qualquer espécie de indicação acerca

da origem do problema.

As versões mais modernas possuem já uma porta de comunicações padronizada e códigos

de erro DTC (Diagnostic Trouble Codes), que permitem a rápida identificação de problemas

no veículo e, como consequência desse facto, uma mais célere solução dos mesmos.

Na década de noventa, o padrão OBD-I tornou-se obrigatório em alguns países, ainda que

não houvesse nenhum padrão no que respeita ao método de conexão, aos códigos de erro e

nem mesmo à identificação do sistema, ao qual ainda não tinha sido atribuída a designação

OBD. Este cenário viria a sofrer alterações a partir de Janeiro de 1996, quando nos Estados

Unidos da América, passou a ser obrigatório o sistema OBD-II em todos os veículos

automóveis. Anos mais tarde, foi adotado na Europa o padrão EOBD e no Japão foi adotada

uma variação denominada JOBD (Japanese On-Board Diagnostics). No que diz respeito aos

restantes países, enquanto alguns adotaram o padrão americano, outros não possuem ainda

legislação específica para estes sistemas.

O protocolo ALDL (Assembly Line Diagnostic Link), considerado o percursor do OBD, foi

criado pela General Motors em 1981. A interface variava de modelo para modelo e não havia

padronização nem das portas nem do protocolo digital para comunicação.

O principal objetivo do sistema OBD-I era incentivar os fabricantes da indústria automóvel

a projetar sistemas confiáveis que controlassem o volume de emissões de dióxido de carbono,

de modo a que estes se mantivessem constantes e regulados ao longo do período de vida útil

do veículo. Este sistema acabou por não ser aceite pela maioria dos construtores devido,

novamente, à falta de padronização entre os fabricantes e à falta de informação específica

do sistema.

O padrão OBD-II ou OBD2 constituiu uma evolução do OBD-I tanto em funcionalidades

como na aplicação de normas. O padrão OBD-II especifica o tipo de tomada utilizada (uma

tomada J1962 fêmea com entrada para 16 pinos, posicionada no máximo a 0.6 metros do

volante da viatura, de modo a que esteja sempre ao alcance do motorista), um mapa das

funções de cada pino (descritas na norma SAE J196), os sinais elétricos disponíveis, o formato

de comunicação, uma lista dos parâmetros do veículo que são monitorizados e instruções de

armazenamento dos dados recolhidos.

Page 33: Dissertação v1.0

13

ISO

ve

re

da

te

(P

3

Figura 2

É possível

O 14230 (sim

eículos utiliz

O acesso a

elativas a pr

ados de dia

emperatura

Parameter Id

2.8 – O conet

mero do pin

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

utilizar cinc

milares ao R

a somente u

a dados a um

roblemas nu

agnóstico e

do motor,

dentification

tor J1962 ma

Tabela 2

no

co protocolo

RS-232) e o p

um destes pro

ma ECU (Elec

m veículo. A

e uma lista

etc.) que e

Number).

acho (à esqu

direita

.2 — Mapa d

Reservado

Data + VP

ECU +

Neutro da

Neutro de

CAN TX

Data K ISO

Reservado

Reservado

Data – VPW

ECU -

Reservado

Reservado

CAN RX

Data L ISO

Nível de t

s para sinais

protocolo de

otocolos.

ctronic Contr

A norma SA

a dos parâm

estão identi

erda) e a res

a)

dos pinos SAE

o para o fabr

W

a carroçaria

e sinal

O (serial)

o para o fabr

o para o fabr

W

o para o fabr

o para o fabr

O (serial)

tensão da ba

s na interfac

e comunicaç

rol Unit) é u

AE J1979 def

metros disp

ificados uni

spetiva toma

E196

Função

ricante

ricante

ricante

ricante

ricante

teria

ce OBD2: PW

ão de redes

ma valiosa f

fine o méto

poníveis (rot

vocamente

ada J1962 fê

WM, VPW, ISO

s CAN. A ma

fonte de info

odo de requi

tações por

através de

êmea (à

O 9141-2,

ioria dos

ormações

isição de

minuto,

um PID

Page 34: Dissertação v1.0

14

O sistema de requisição e consulta de dados de um PID permite o acesso em tempo real às

informações de performance do veículo, bem como aos códigos de erro DTC que tenham

ocorrido.

Este padrão estabelece ainda uma extensa lista de códigos de diagnóstico de problemas,

os códigos de erro indicados pelo sistema (DTC). Como resultado desta estandardização, pode

ler-se o sistema de qualquer veículo compatível com o padrão, independentemente da

marca.

O padrão EOBD é uma variação do OBD-II, exigido na Europa desde 2001 para motores a

gasolina e 2003 para motores a gasóleo, baseado no padrão europeu de emissões Euro V e

Euro VI, foi desenvolvido para garantir emissões menores que as exigidas pelos seus

predecessores. Alguns fabricantes, que utilizam os canais adicionais para comunicação com

equipamentos, denominam o sistema de EOBD2, apesar de ser baseado no OBD-II, tal como o

EOBD [7].

2.5 – Sistemas de gestão de frotas

Atualmente encontram-se no mercado, diversas soluções já disponíveis para gestão de

frotas que utilizam tecnologias de localização GPS e comunicação GSM.

De um modo geral, o princípio de funcionamento das soluções de gestão de frotas é

semelhante e comum a todas, baseadas no seguinte: equipamentos instalados nas viaturas

recolhem informações acerca de trajetos percorridos, traçam mapas dos percursos

percorridos que podem ser visualizados posteriormente, e a posição atual de cada viatura

pode ser consultada através de comunicação baseada em GSM e GPRS, em tempo real.

São facultadas um rol de funcionalidades extra, que vão desde consulta dos dados na

Internet, a inclusão de sistemas antirroubo, proteção contra uso abusivo das viaturas fora do

horário de expediente, o que em última análise, acaba por diferenciar as soluções em termos

de preço, utilidade e modos de funcionamento.

A PT Negócios disponibiliza um serviço de gestão de frotas que pode ser sintetizado da

seguinte forma: equipamentos nas viaturas recolhem informações GPS, do veículo e do

condutor, permitindo também a este interagir e comunicar com um gestor do sistema

central. Esse sistema central processa a informação e torna-a disponível para os gestores do

sistema, que lhe podem aceder recorrendo à Internet. A comunicação de dados entre o

veículo e o sistema é feita através da rede TMN, utilizando cartões SIM instalados nos

equipamentos das viaturas [9].

A solução apresentada pela Inosat, designa-se InoFrota Trace e apresenta as seguintes

características: localização em tempo real (através de um sistema GPS e um computador com

ligação à Internet) e controlo das viagens efetuadas (análise de relatórios de viagens,

quilómetros percorridos, tempos de utilização diária dos veículos, médias de consumo) [10].

A MOVILOC® proporciona um produto com um leque de funcionalidades que permitem

localização e seguimento em tempo real, consulta de percursos realizados, gestão de pontos

de paragem e controlo de tempos de permanência em pontos predefinidos [11].

Comparando as soluções acima descritas, apenas numa perspetiva de serviço

disponibilizado ao utilizador, uma vez que estas soluções não fornecem informações

detalhadas acerca do hardware que contêm (como as descritas nos parágrafos seguintes),

verifica-se que todas elas apresentam funcionalidades e características semelhantes. Em

termos de preço de mercado todas as soluções mostram, também, algum paralelismo,

Page 35: Dissertação v1.0

15

apresentando variações de custo entre os vinte e os vinte cinco euros por viatura, para o

serviço de monitorização.

A Gosafe Company, Ltd. é uma empresa que disponibiliza um módulo de hardware para

georreferenciação e controlo de viaturas, o G959. Este opera a partir da interação entre o

módulo de sistema integrado no veículo automóvel e um telemóvel. Permite controlo e

gestão remotos, através de SMS e de um servidor, utilizando uma aplicação instalada no

dispositivo móvel (tal como os sistemas apresentados anteriormente). Tem o seguinte

conjunto de especificações, apresentado na tabela 2.3 [12]:

Tabela 2.3 — Especificações do G959 GPS Tracker.

Especificações

Características físicas Dimensões 91x65x28 mm

Fonte de alimentação Tensão admissível 10 – 35V DC

Corrente máxima 140 mA

Condições de operabilidade Temperatura -20ºC – +70ºC

Módulos constituintes GSM

Ublox LEON G100 Quad Band

850/900/1800/1900 MHz, GPRS classe

10, com antena externa

GPS Ublox NEO-6M (GPS, Galilieo) com 50 canais paralelos, com antena externa

CPU RAM estática de 32 Kbytes

E/S Entradas e saídas digitais, entrada e

saída RJ45

Bateria 500 mAh Lion Recarregável

Observações Protocolo TCP/IP Suporte para ligação por GSM

A Astra Telematics inclui no seu catálogo de produtos, um dispositivo de rastreamento de

viaturas que é usado para gerir frotas automóveis, o AT110. Este produto pertence à mesma

categoria dos anteriores, tendo porém como característica distintiva o facto de permitir

comunicação através do CAN Bus, como se pode confirmar no documento de especificações

disponibilizado pela fabricante, cuja síntese se encontra na tabela 2.4 [13]:

Tabela 2.4 — Especificações do AT110 Advanced Vehicle Tracking Device.

Especificações do AT110

Características físicas Dimensões 85x47x15 mm

Fonte de alimentação Tensão admissível 7 – 36V DC

Corrente máxima 300 mA

Condições de operabilidade Temperatura -20ºC – +60ºC

Page 36: Dissertação v1.0

16

Especificações do AT110

Módulos constituintes GSM

GSM1800 ou GSM1900 classe 1, Quad

Band 850/900/1800/1900 MHz, GPRS

classe 10, com antena externa

GPS SiRFStar IV, recetor L1 com 50 canais

paralelos, com antena externa

CPU ARM Cortex M3

E/S

Entradas e saídas digitais, 2 portas

RS232, 2 entradas analógicas, CAN

Bus

Bateria 900 mAh Lion Recarregável

Observações Protocolo TCP e UDP

Inclui um modo de notificação por

GPRS utilizando TCP ou UDP

Acelerómetro Inclui um acelerómetro de três eixos

A BrickHouse Security coloca à disposição o módulo HCT Pro Plus, que é também,

claramente direcionado para a gestão de frotas de veículos, uma vez que partilha o conjunto

de funcionalidades dos produtos anteriores, como se pode verificar na tabela 2.5 [14]:

Tabela 2.5 — Especificações do HCT Pro Plus.

Especificações

Características físicas Dimensões 104x93x26 mm

Fonte de alimentação Tensão admissível 8 – 30V DC

Corrente máxima 680 mA

Condições de operabilidade Temperatura de

funcionamento -30ºC – +85ºC

Módulos constituintes GSM

GSM1800/900 classe 1, Quad Band

850/900/1800/1900 MHz, GPRS classe

10, com antena externa

GPS Recetor L1 com 50 canais paralelos,

código C/A, com antena externa

E/S Entradas e saídas digitais, 1 porta

RS232, 1 entradas analógicas

Fazendo uma análise aos últimos três produtos apresentados, de um ponto de vista de

hardware, encontram-se semelhanças na generalidade das categorias. É notório que as

Page 37: Dissertação v1.0

17

di

or

de

em

to

tra

se

re

2

um

NI

(q

(c

m

e

As

1x

fo

Es

Ca

Fo

Co

7

mensões do

rganizaciona

e dados (mic

m todos eles

orno de supo

ansferências

er um fator

ecomendação

2.6 – U

A unidade

m sistema qu

IBBLE, Engen

quatro mais

colocada na

A em utiliza

correio elet

s dimensões

x0,5x2,3 cm

orma:

specificaçõe

aracterísticas

onte de alime

ondições de o

ódulos consti

os produtos

l é o mesmo

croprocessad

s) e E/S (en

orte protocol

s de dados p

r crítico pa

o dos fabrica

MI - Unid

Figura 2.9

móvel intel

ue se integra

nharia Lda. C

precisamen

face inferio

ação e 20 mA

rónico, supo

do produto

com a caixa

Tabela 2.6

s da UMI

s físicas

entação

operabilidad

ituintes

s se encont

o, isto é, três

dor e memór

ntradas e saí

lar mais ou m

por cabo e, f

ara este tip

antes automó

dade móv

– Aspeto ext

igente é o p

a na categor

Como caract

nte), entrada

r da placa d

A em repouso

orte para mú

são 10x8x2

a de proteçã

— Especifica

Te

C

de T

tram na m

s grandes mó

ria externa a

ídas múltipla

menos alarg

finalmente,

po de prod

óveis.

vel inteli

terior (à esqu

produto que s

ria de gestão

terísticas enc

as e saídas

de circuito i

o de corrent

últiplos utiliz

,5 cm para

ão. As especi

ações da UM

Dimen

ensão admiss

Corrente máx

Temperatura

funcioname

mesma orde

ódulos comp

auxiliar), co

as digitais).

ado, dos pad

no consumo

duto, não d

igente

uerda) e inte

serve de bas

o de frotas a

contram-se a

digitais, u

mpresso), al

te contínua)

zadores e um

a placa de

ificações pod

MI – Unidade M

sões 110x80

sível 8 – 40V

xima 400 m

a de

ento -20ºC

GSM

Telit

850/90

10, co

m de gran

õem os siste

municação (

Quanto às d

drões adotad

o de corrente

deve excede

erior (à direi

se a este pro

automóveis,

a presença d

ma bateria

limentação d

, notificação

ma porta séri

circuito às q

dem ser orga

Móvel Intelig

0,5x48,0 mm

V DC

A

– +50ºC

GM862,

00/1800/190

m antena ex

ndeza, o pa

emas, proces

(GPS e GSM

diferenças g

dos para con

e que apesa

er os 500

ita) da UMI

ojeto. Este p

disponibiliz

de entrada an

auxiliar de

de 8 a 40 Vo

o de eventos

ie RS-232 (o

quais acresc

anizadas da

gente.

m

Quad

00 MHz, GPR

xterna

aradigma

ssamento

presente

giram em

netores e

ar de não

mA, por

produto é

zado pela

nalógicas

e reserva

Volts (400

s por SMS

pcional).

cem mais

seguinte

Band

RS classe

Page 38: Dissertação v1.0

18

Especificações da UMI

GPS Ublox NEO-5M GPS, com 50 canais

paralelos, com antena externa

CPU ATMEGA2560, processador de 8 bits

E/S Entradas e saídas digitais, porta

RS232, 4 entradas analógicas

Bateria GP15R8HBE-2EC1 de 8,4 V

Observações Conetores Conetores MMCX para antena GPS e

GSM

Tabela 2.7 — Função dos pinos das entradas e saídas digitais disponíveis

Função dos pinos do conector

GND Corte do motor Abertura

portas

Alarme Ignição Sem uso

Ligação à

bateria

Fecho portas Piscas Reset Sem uso Sem uso

Apresenta o seguinte conjunto de funcionalidades:

- Controlo remoto da viatura através do telemóvel;

- Recorrendo às entradas e saídas digitais disponíveis, é possível atuar sobre a viatura

para abrir e fechar o fecho das portas ou até imobilizar a viatura;

- Consulta da posição da viatura recebendo, para o efeito, as coordenadas GPS no

telemóvel ou para um endereço de correio eletrónico específico;

- Botão de pânico instalado na viatura configura um sistema anti-carjacking, que

possibilita a recuperação e localização da viatura em menor espaço de tempo, em caso de

furto;

- Definição de um horário de utilização, durante o qual é registado todo o percurso da

viatura e todos os eventos relevantes, posterior ao qual é enviado um correio eletrónico que

contém toda a informação recolhida, em formato compatível com o Google Earth;

- Eventos relevantes, tais como sejam o disparo do alarme da viatura, saída de uma área

delimitada, roubo ou reboque da viatura, são automaticamente reportados ao utilizador;

A comunicação é levada a cabo utilizando o sistema GSM/GPRS, pelo que é necessário que

o cartão SIM introduzido no sistema suporte ambos os protocolos.

Os comandos só são aceites pela UMI, quando devidamente validados com o código de

acesso. Para simplificar este processo, há a possibilidade de registar até dezasseis números

de telemóvel no sistema, evitando desta forma, o uso do código de acesso em todos os

comandos a enviar.

Page 39: Dissertação v1.0

19

sis

2

os

ex

se

no

9

Na figura

stema:

Fig

2.7 – Su

Neste capí

s protocolos

xistentes no

e pretende im

ovo sistema q

2.10, mostr

gura 2.10 – D

umário

ítulo aprese

subjacentes

mercado, qu

mplementar.

que se prete

ra-se um dia

Diagrama de

ntaram-se as

s. Foi feita u

ue são semel

. Expôs-se ai

ende criar.

agrama de b

e blocos dos

s principais

uma descriçã

lhantes em f

inda o produ

blocos que s

módulos mai

tecnologias

ão de alguns

funcionalida

uto que serve

intetiza os m

is importante

de localizaçã

s sistemas de

des e em arq

e de base ao

módulos con

es do sistem

ão e comuni

e gestão de

quitetura aq

o desenvolvim

ntidos no

ma

icação, e

frotas já

quele que

mento do

Page 40: Dissertação v1.0

20

Page 41: Dissertação v1.0

Capítulo 3

Arquitetura do sistema

Este capítulo apresenta uma descrição da arquitetura global do sistema. É feita a

apresentação de um diagrama de blocos que ilustra os principais módulos que constam do

projeto final, acompanhados de um relato das funções que cada um deles vai desempenhar

no âmbito do sistema.

3.1 – Enquadramento

Atualmente, para atingir um nível de excelência no projeto e na execução de tarefas

complexas de engenharia, é recomendável executar procedimentos que, não só ajudem a

prevenir erros, como também auxiliem a um saudável planeamento do trabalho em mãos.

Assim sendo, a estruturação do projeto através da definição, descrição e concretização das

partes integrantes do sistema, torna-se essencial para a constituição de uma arquitetura de

sistema concisa, que dê origem a uma solução o mais próxima possível do ideal.

3.2 – Perspetiva geral do sistema

Para se ter uma perspetiva geral do sistema, há que compreender não só o âmbito do

projeto, mas também os limites e as restrições que são impostas ao sistema.

O objetivo passou por desenvolver um sistema que permitisse uma localização e controlo

eficaz de uma viatura remotamente. Para o fazer, tomou-se como base um produto

desenvolvido anteriormente, a UMI, que foi descrita no capítulo anterior. Através de uma

análise detalhada a este produto, identificaram-se de forma imediata os principais módulos a

desenvolver e quais as limitações a ultrapassar.

Começando por uma descrição dos blocos constituintes do novo sistema, este sistema

incluiu os seguintes módulos: comunicação, localização, unidade de processamento, entradas

e saídas digitais, alimentação e armazenamento externo de dados. Até aqui em tudo

semelhante à UMI, uma vez que o paradigma de desenvolvimento segue a mesma linha da

generalidade dos projetos do mesmo segmento.

O desafio passou por adicionar novos blocos ao sistema e melhorar os já existentes, de

forma a dotar o produto de novas funcionalidades. Para enfrentar este cenário foi necessário

Page 42: Dissertação v1.0

22

levar em

sistema.

Uma

controlo

existent

necessar

UMI e a

limitaçõ

custos p

para es

comunic

Para

ao cont

propried

barrame

Nest

pela UM

- Env

rede IEE

- Rec

- Cá

- Ob

- Avi

- Ar

elevada

A ut

que con

através

ECU do v

com um

alvo de

3.1:

m conta lim

.

a vez que nã

o rigoroso do

tes, pelo que

riamente po

adotadas sol

ões a ultrapa

para o utiliza

ses fins, ra

cação sem-fi

a poder extra

rolo de par

dade da org

ento OBD2 de

te novo prod

MI (especifica

vio e receçã

EE 802.11b;

colha de dad

lculo do con

btenção do p

isos por SMS

rmazenamen

capacidade

ilização do s

ntenha o sist

do envio de

veículo, ao l

a rede sem

consulta e a

itações a ul

ão se tratou

o orçamento

e sempre qu

r uma melho

luções para

assar, foi pro

ador e que li

azão pela qu

os.

air informaçõ

âmetros que

ganização, fo

e uma viatur

duto, além

adas no ponto

ão de dados

dos da interf

sumo médio

erfil de cond

de condução

to de todos

.

sistema pode

tema instala

SMS, armaz

longo de um

fios reconhe

análise. Este

ltrapassar, r

u de um pro

de compone

e possível, s

oria significa

o hardware

ojetada uma

ibertou o sis

ual foi adic

ões das unid

e permitam

oi adicionad

ra, através d

de estarem

o 2.6 do cap

armazenado

face OBD2 do

da viatura,

dução do mo

o perigosa e

s os dados

e ser traduzi

ado pode se

zena todos o

m período de

ecida, descar

e princípio de

Figura 3.1 –

restrições qu

ojeto estrita

entes e o ap

sem prejudic

ativa, foi util

e que perm

a solução que

stema da nec

cionado um

dades de con

tirar conclu

do um bloco

do protocolo

incluídas to

pítulo 2) intro

os durante o

o veículo;

durante cad

otorista;

registo de e

recolhidos p

da, sucintam

er localizada

os percursos

tempo e, qu

rrega esses d

e funcionam

– Utilização d

ue foram im

amente acad

proveitamen

car o objetiv

lizado softw

itissem redu

e permitiu c

cessidade da

novo bloco

ntrolo eletrón

usões acerca

o que habili

CAN.

odas as fun

oduziram-se

os percursos

da viagem;

eventos relev

pelo sistema

mente, da se

a em tempo

realizados e

uando chega

dados que po

mento encont

do sistema

mpostas e as

démico, foi

to máximo d

vo do trabalh

ware já desen

uzir os cust

comunicação

a utilização d

o ao sistema

nicas do veíc

a do bom o

ita a comun

cionalidades

as seguintes

realizados a

vantes;

a num cartã

eguinte form

real, a qua

e parâmetros

a a um perím

odem ser, po

tra-se ilustra

s fronteiras

necessário u

dos recursos

ho, que pass

nvolvido para

tos. Quanto

o de dados se

de fios e cab

a, o bloco

culo, com vis

ou mau uso

nicação com

s já satisfeit

s:

através de um

ão microSD

a: uma viatu

alquer instan

s recolhidos

metro equipa

osteriorment

ado pela figu

do

um

sou

a a

às

em

bos

de

sta

da

m o

tas

ma

de

ura

nte

da

ado

te,

ura

Page 43: Dissertação v1.0

23

3

ilu

de

em

ar

co

m

3

3.3 – M

Um esque

ustrado na fi

3.3.1 – U

A unidade

e ser capaz d

m tempo re

rquitetura R

oncretament

icrocontrola

Tensão de

Velocidad

Memória F

Memória S

Interfaces

Conversor

Módulos d

ema dos mód

igura 3.2:

Unidade

de processa

de processar

eal. Para e

RISC (Redu

te uma s

ador apresen

Tabela 3.1

Espe

e funcioname

e de relógio

Flash interna

SRAM

s de comunic

res de sinais

do sistem

dulos constit

Figura 3.2 –

de proce

amento é com

r dados de t

executar tal

uced Instruc

solução da

ta as seguint

— Especifica

ecificações d

ento

a

cação

ma

tuintes do si

– Diagrama d

essamen

mposta exclu

tal forma a q

l tarefa foi

ction Set

STMicroe

tes caracterí

ações do mic

do micropro

2 – 3,6 V D

24MHz

256KBytes

24KBytes

USART, SP

16 canais

istema e a i

dos módulos

to

usivamente

que seja pos

utilizado u

Computing)

letronics,

ísticas, que c

croprocessad

cessador da

DC

s

PI, I2C, CAN

ADC, 2 cana

nteração en

do sistema

pelo micropr

ssível mante

um processa

, o ARM

o STM32F

constam na t

dor ARM Cort

a família STM

ais DAC

ntre eles enc

rocessador.

er o sistema

ador de 32

Cortex M

F100RC [30

tabela 3.1:

tex M3

M32

contra-se

Este tem

a operar

2bits, de

3, mais

0]. Este

Page 44: Dissertação v1.0

24

O processador ARM escolhido para este projeto permitiu ultrapassar as limitações quer de

memória (Flash e RAM) quer de desempenho (não só a velocidade de processamento, como

também abriu a possibilidade da adição de novas funcionalidades) do processador utilizado

anteriormente, que era apenas de 8 bits. Acresce ainda o facto do microcontrolador de 32

bits da ARM, selecionado pela empresa, ter um custo mais reduzido do que o ATMEGA2560 de

8 bits utilizado até então.

3.3.2 - Alimentação do sistema

Este módulo foi projetado de forma a assegurar os níveis de tensão adequados ao

funcionamento de todos os dispositivos que constam da placa de circuito impresso.

Todos os componentes do circuito são alimentados a uma tensão de 2,8 V, de acordo com

as especificações de cada um destes, à exceção do GSM que necessita de dois níveis de

tensão diferentes. Nos pinos de alimentação o GSM requer uma tensão de entrada de, pelo

menos, 3,3 V, podendo chegar aos 4,5 V, e nos pinos de comunicação com o

microprocessador, o nível de tensão adotado foi 2,8 V.

O circuito de alimentação permite o carregamento de uma bateria de recurso, incluindo

um circuito de encravamento que evita a utilização imediata desta, isto é, permite que o

produto seja montado e armazenado na fábrica sem que isso implique qualquer alteração ao

estado inicial da bateria (bateria de recurso só “entra” no circuito após a bateria do

automóvel ser previamente conectada).

3.3.3 – Módulo de comunicação

Este módulo é constituído unicamente pelo componente que possibilita a comunicação

GSM/GPRS entre o sistema instalado na viatura e um dispositivo móvel. Trata-se portanto do

módulo GSM.

O componente escolhido para o efeito, é o GE865-QUAD [19], da Telit, que satisfaz os

requisitos de comunicação pretendidos. Em termos de características, não se afasta muito do

modelo utilizado no produto anterior (idêntico a nível de funcionalidades e recursos),

distinguindo-se pelas dimensões mais reduzidas deste equipamento 22x22x3 mm em oposição

aos 43,9x43,9x6,9 mm do GM862. Isto deve-se ao facto do GE865-QUAD não possuir um leitor

de cartões SIM integrado, que será colocado à parte. Esta opção pode vir a permitir um ganho

de espaço no circuito impresso e uma melhor disposição dos componentes na placa.

O controlo do GSM é feito a partir de comandos AT (Attention, Hayes Command Set),

enviados através de uma das três portas USART que são disponibilizadas pela unidade de

processamento acima descrita.

3.3.4 – Módulo de localização

Para obter a localização em tempo real, foi definido um módulo para o efeito, que é

constituído pelo recetor GPS. A função deste módulo traduz-se na receção do sinal GPS e na

troca de dados com o microprocessador recorrendo a tramas no formato do protocolo NMEA.

Page 45: Dissertação v1.0

25

O componente que realiza esta função é uma solução da Ublox, o NEO-6M [22], que é um

recetor que permite a utilização dos sistemas de posicionamento GPS, GLONASS e é

compatível com o futuro sistema Galileo.

3.3.5 – Entradas e saídas do sistema

Para definir os moldes da interação do sistema com o veículo, as entradas e saídas do

sistema (E/S), são projetadas da seguinte forma: um conjunto de doze entradas/saídas

digitais estão previstos para a ligação física com os componentes do veículo, utilizando um

conetor 5569-12DOC.

É possível a conversão de até 4 sinais analógicos para digital em simultâneo, utilizando

canais do ADC suportados pelo microcontrolador.

O produto contém também uma interface de diagnóstico embutida na placa que permite

não só a programação desta, como o teste de componentes e adição de novas

funcionalidades, como seja o caso da implementação de uma rede CAN de ligação ao sistema

OBD2 e um periférico externo através da interface SPI.

A comunicação série RS-232 deixa de incorporar o sistema, tendo sido substituída por

comunicação sem fios utilizando o protocolo IEEE 802.11, que permite transferências de

dados mais cómodas, sem necessidade de um acesso físico ao módulo.

3.3.6 – Armazenamento externo de dados

Para o armazenamento externo de dados, definiu-se um módulo que segue duas linhas

estratégicas diferentes. Por um lado, projeta-se a inclusão, na placa de circuito impresso, de

três “packages” distintos para uma memória Flash externa, que não devem ser montados em

simultâneo, o que permite uma maior flexibilidade na escolha do componente e da

capacidade da memória. Por outro, prevê-se a adição de um leitor de cartões do tipo

MicroSD, que permita a introdução de uma grande capacidade de memória ainda que esta

última seja mais lenta, quando comparada com uma memória Flash.

3.4 – Ambiente de desenvolvimento

O ambiente de desenvolvimento deste projeto pode ser dividido em duas categorias

principais mais concretas, que melhor traduzem a forma e o processo de desenvolvimento do

sistema: o desenvolvimento de hardware e o desenvolvimento de software. Cada uma destas

categorias vai ser abordada em detalhe, mais adiante, nos capítulos seguintes desta

dissertação.

Para o desenvolvimento comum a ambas as categorias utilizam-se como meio de controlo

de versões e salvaguarda do trabalho realizado o seguinte conjunto de software: TortoiseSVN

para criação de versões e novos ramos de desenvolvimento, Dropbox para a partilha

temporária de ficheiros, e para manutenção e atualização da página web do projeto, o

FileZilla.

Quanto à gestão documental, é levada a cabo através de uma página web que

disponibiliza toda a documentação produzida. Para a geração de referências bibliográficas

Page 46: Dissertação v1.0

26

utiliza-se o EndNote X5 e, finalmente, para a edição de documentos utiliza-se o Microsoft

Office 2010.

3.5 – Sumário

Neste capítulo foi apresentada uma perspetiva geral do sistema, que inclui o âmbito do

projeto, as fronteiras, as funcionalidades e limitações do sistema e o cenário de utilização

genérico.

Incluiu-se um diagrama de blocos completo, a descrição da função de cada módulo e uma

comparação, quando relevante, com o produto anterior.

Por último, descreveu-se o ambiente de desenvolvimento que foi utilizado para a

produção e desenvolvimento de hardware e software.

Page 47: Dissertação v1.0

Capítulo 4

Desenvolvimento de hardware

Este capítulo abrange todo o processo de desenvolvimento de hardware, que culmina na

criação de uma placa de circuito impresso ou, dito por outras palavras, resulta na plataforma

física que serve de base à disponibilização dos serviços do produto.

São de destacar os subcapítulos que abordam a elaboração do esquemático e o desenho

da placa de circuito, através da utilização do programa informático CadSoft EAGLE (Easily

Applicable Graphical Layout Editor).

Todos os passos do processo são representados, sempre que possível, com imagens e

diagramas retiradas no próprio software de desenvolvimento, para uma melhor compreensão

das tarefas e do trabalho envolvido.

4.1 – Enquadramento

O desenvolvimento de hardware é o processo que leva à criação e edição de um

esquemático com os componentes representativos do hardware e respetivas ligações.

Tendo um esquemático devidamente aprovado e com todas as ligações entre

componentes certificadas, este dá origem a um desenho de uma placa de circuito impresso, à

escala, que permite a edição e a disposição dos componentes como bem se entender e da

forma que minimiza o número de vias e pistas o mais possível. Findadas as tarefas anteriores,

foi gerado o conjunto de ficheiros que foram posteriormente enviados ao fabricante.

Para realizar estas tarefas escolheu-se o programa CadSoft EAGLE PCB Design Software

[33], que se pode encontrar gratuitamente na Internet na versão Lite.

Para o dimensionamento das pistas das antenas do GSM e do GPS foi utilizada outra

aplicação gratuita, o AppCAD [32].

Com vista à melhoria dos serviços e funcionalidades previstas para o sistema, sem

esquecer futuras melhorias, foi necessário uma mudança significativa do hardware que servia

de suporte ao produto, sem que contudo, se aumentasse substancialmente o custo de

produção, quando comparado com versões anteriores.

Pretendeu-se finalmente, que a placa de circuito impresso apresentasse versatilidade de

forma a ser possível alterar um ou outro componente do sistema, sem que isso impliquasse a

necessidade do redesenho da PCB e, consequentemente, um novo projeto.

Page 48: Dissertação v1.0

28

Assim sendo, todas as soluções previstas tiveram um compromisso entre preço e

desempenho que acomodam as pretensões citadas.

Como é possível verificar, pela leitura dos temas apresentados neste capítulo, esta

tarefa, apesar de complexa e morosa, originou uma interface atual e versátil, que permite

potenciar ao máximo a utilização de todos os componentes eletrónicos integrantes deste

sistema.

4.2 – Tensões de entrada do circuito

A placa de circuito impresso tem um conjunto de restrições, sendo uma das mais

importantes, o cumprimento dos níveis de tensão de operação dos diversos componentes do

circuito, que são indicados pelos respetivos fabricantes, nas chamadas datasheets.

Como foi visto no capítulo 3, todos os dispositivos eletrónicos selecionados para

integrarem a placa de circuito em projeto podem operar a um nível de tensão de 2,8 V,

excetuando-se o GSM que tem de operar entre 3,3 e 4,5 V para a alimentação e a 2,8 V para

sinais de controlo trocados com o microprocessador. Ora isto obriga necessariamente à

geração de dois níveis de tensão constantes.

Para criar níveis de tensão diferentes no circuito, utilizaram-se reguladores de tensão.

Um regulador de tensão é um dispositivo eletrónico que recebe como entrada um sinal com

um determinado nível de tensão e apresenta, num terminal de saída, um nível de tensão

diferente de valor constante.

Uma vez que os componentes eletrónicos utilizados em circuitos integrados são bastante

sensíveis quer em termos de variação, quer em termos de amplitude de tensão, utilizou-se,

juntamente com o regulador de tensão, um LDO - Low Dropout Voltage Regulator.

Um regulador de tensão de baixa queda tem, como o nome indica, uma característica

particular que o distingue de um regulador de tensão normal: apresenta à saída uma tensão

inferior à da entrada e contém um sinal de controlo, que funciona como um interruptor. A

tensão é mantida constante à saída como num regulador de tensão genérico e este valor

difere do valor de entrada em apenas alguns volts (na mesma ordem de grandeza).

Para o sistema que se construiu foram necessários utilizar, dos componentes acima

mencionados, um regulador de tensão 34063AP [18] e dois “LDO’s” TPS79328-Q1 [26].

Um regulador de tensão recebe à entrada uma alimentação proveniente da bateria do

automóvel, de aproximadamente 12 V, e converte-a no nível de tensão que vai alimentar o

módulo GSM, que atinge os 4,5 V. O módulo GSM é o que vai consumir mais corrente, opera

ao nível de tensão mais alto do circuito e pode chegar a dissipar uma potência igual a 1 W.

Dois “LDO’s” convertem a tensão de 4,5 V para uma tensão de 2,8 V, que serve para

alimentar os restantes integrados que compõem a PCB. São utilizados dois destes

componentes pela seguinte razão: um LDO é responsável pela alimentação exclusiva do

módulo GPS e o outro é responsável pela alimentação de todos os restantes integrados do

circuito. Apesar do GPS utilizar o mesmo nível de tensão e poder ser alimentado a partir do

LDO disponível para todo o circuito, o facto de ter um exclusivo para essa função tornou

possível que o GPS pudesse passar a um estado de baixo consumo quando a viatura era

desligada.

O uso do modo de baixo consumo prendeu-se com o facto deste modo habilitar um

arranque mais rápido, sendo que desta forma é encontrada mais rapidamente a posição atual

Page 49: Dissertação v1.0

29

da

ta

de

st

um

um

m

co

4

te

via

nu

en

9

a viatura. Is

abela 4.1: Tabela 4

Tempo

Cold sta

Aided sta

Hot star

O modo Co

esligado. O

andby. O mo

ma utilização

ma vez que s

ais preciso

onsultado pe

4.3 – A

O circuito

ensão 34063A

atura. Esta

uma malha

ntrada invert

to fica a de

4.1 — Tempo

o de aquisiçã

arts

arts

rts

old start diz

modo Aided

odo Hot star

o. O modo A

se o período

vai ser o

elo utilizador

limentaç

de carga da

AP, que rec

tensão é co

de realimen

tida do comp

Figura 4

ever-se às ca

os de aquisiç

ão de uma p

respeito à a

d start é us

rt é utilizado

Aided start é

de aquisiçã

histórico d

r.

ção do sis

a bateria e d

cebe uma te

onvertida em

ntação nega

parador (CII)

4.1 – Cálculo

aracterística

ção de posiçã

posição corre

aquisição do

sado para a

o quando o

é vantajoso,

ão de posição

do percurso

stema e

e alimentaçã

ensão de en

m 4,5 V pelo

ativa define

):

de resistênc

as de iniciali

ão correta do

eta para os

27

< 3

1

sinal, quand

aquisição d

sistema rein

do ponto d

o correta do

efetuado,

bateria

ão da PCB é

trada de 12

o regulador

e os 1,25 V

cias da malh

ização do G

o GPS, em co

diferentes m

s

3 s

s

do o módulo

de sinal, par

nicia ou inici

e vista da q

GPS for o m

que pode

constituído

2 V dos term

de tensão.

requeridos

a de realime

PS, apresen

ondições ide

modos do GP

GPS parte d

rtindo do es

a depois de

qualidade de

menor possíve

ser posteri

por um regu

minais da ba

Um divisor

pelo regula

entação

tadas na

eais

PS

do estado

stado de

acabada

e serviço,

el, então

iormente

ulador de

ateria da

resistivo

ador, na

Page 50: Dissertação v1.0

30

Com

para o m

restante

As co

4.4:

mo já tinha s

módulo de co

es componen

onfigurações

Figura 4.4

sido referido

omunicação

ntes do circu

s utilizadas p

Figura

Figura 4

– Esquema d

anteriorme

GSM e, reco

ito a uma te

para obter e

4.2 – Esquem

4.3 – Esquem

do LDO que a

ente, da tens

orrendo ao us

ensão de 2,8

este resultad

ma do circuit

ma do LDO q

alimenta os r

são de 4,5 V

so de dois “L

V.

o apresenta

to de alimen

ue alimenta

restantes com

V é retirada

LDO’s”, são a

m-se nas fig

ntação

o GPS

mponentes d

a alimentaç

alimentados

guras 4.2, 4.3

do circuito

ção

os

3 e

Page 51: Dissertação v1.0

31

4

de

de

de

al

fo

in

en

se

m

4.4 – Ci

O circuito

e transístore

eles é de can

O MOSFET

e fecho, pa

imentação,

orma a bate

troduzido no

ntra em utili

A bateria

empre até a

inutos), atra

ircuito d

de encrava

es bipolares

nal N e outro

Figura 4

T (Metal-Oxid

ara que a b

enquanto o

ria mantém

o automóvel

zação e alim

de recurso,

penas 75% d

avés de um c

Figura

e encrav

mento da ba

de junção, u

o é de canal

4.5 – Esquem

de-Semicond

bateria de

sistema não

o estado in

l, sempre qu

menta todos o

ao ser alime

da capacidad

circuito segu

4.6 – Circuit

vamento

ateria ou lat

um MMBT390

P, e um tran

ma do circuit

ductor Field-

recurso este

o é ligado pe

nicial com q

ue a bateria

os componen

entada a 3,9

de máxima

idor de corre

to que imple

da bater

tchup é cons

04 [16] e um

nsístor de ef

to de encrav

-Effect Trans

eja descone

ela primeira

que vem de

da viatura é

ntes do siste

9 V, prolonga

potencial, d

ente:

ementa uma

ria

stituído, nes

m MMBT3906

eito de camp

amento da b

sistor) atua c

ectada do r

vez à bater

fábrica. De

é desligada

ema.

a o seu perío

demorando a

fonte de cor

ste caso, po

6 [17], sendo

po NTD18N0

bateria

como um int

restante cir

ria do veícul

epois do pro

a bateria de

odo de vida

aproximadam

rrente

r um par

o que um

6L [23].

terruptor

cuito de

lo. Desta

oduto ser

e recurso

(carrega

mente 90

Page 52: Dissertação v1.0

32

O pa

a alimen

prática

complet

dos 75%

Os t

somando

Esta

de tensã

bateria

bateria

pelo LM

tempos

A cu

reproduz

A ba

4.5

Para

esquemá

A cr

todos os

Assim

constitu

ar de transíst

ntar a bater

a fonte de

tamente desc

de carga).

ransístores q

o-se o efeito

não foi a so

ão LM317 [20

de recurso,

começa a ap

M317 cai a p

não aceitáve

urva de car

zida na figur

Figura 4

ateria P34394

– Elabor

a poder proc

ático que tra

riação do esq

s component

m sendo é c

uintes do sist

tores é imple

ria de recurs

corrente ga

carregada) e

que aplicam

o do díodo de

olução pensa

0] Este comp

quando est

proximar-se

ique atingin

eis.

rga da bate

ra 4.7:

4.7 – Curva d

44 [28] é col

ração do

ceder ao de

aduzisse as l

quemático e

tes e de toda

conveniente

tema e descr

ementado nu

so com uma

rante, no m

e um mínimo

a fonte de c

e Schottky, a

ada inicialm

ponente, ape

ta se encont

da capacida

ndo os 23 m

eria encontra

de carga da b

locada na pa

o esquem

senho da pl

igações físic

envolveu o co

as as funções

abordar as

revendo-os u

uma configu

corrente o m

máximo, uma

o de 100 mA

corrente bai

atinge os 3,9

ente, que co

esar de asse

tra completa

ade máxima.

A, valor que

a-se nas es

bateria P343

arte inferior

mático

laca de circ

cas dos pinos

onhecimento

s que por ele

ligações efe

um a um.

ração seguid

mais próxim

a corrente d

(a que corre

xam a tensã

9 V.

onsistia na u

egurar uma c

amente desc

. Nesse mom

e estenderia

specificações

3944, com ci

da PCB.

uito impress

s dos diversos

o de todas a

es são implem

etuadas anal

dora de corre

a possível do

de 200 mA (

esponde a ba

o de 4,5 par

utilização de

corrente de

carregada, f

mento a corre

a o período

s do fabrica

rcuito de pro

so foi neces

s component

as ligações a

mentadas.

isando os re

ente, de form

os 260 mA.

para a bate

ateria próxim

ra 4,2 V a qu

e um regulad

260 mA para

falha quando

ente forneci

de carga pa

ante e é aq

oteção

ssário criar u

tes.

a efetuar ent

estantes bloc

ma

Na

eria

ma

ue,

dor

a a

o a

ida

ara

qui

um

tre

cos

Page 53: Dissertação v1.0

33

4.5.1 – Microprocessador

O microprocessador apresenta-se como o coração do sistema, pelo que, com

naturalidade, é o dispositivo com o maior número de ligações e aquele onde estas

apresentam maior complexidade. Começando pelos pinos de alimentação, são necessárias

cinco ligações ao LDO responsável pela alimentação geral do sistema, que é efetuada através

dos pinos 32, 48, 64, 19 e 13. As massas estão situadas ao lado dos pinos de alimentação,

numa disposição semelhante, a que correspondem os pinos 31, 47, 63, 18 e 12.

No que diz respeito à comunicação com periféricos, o microprocessador apresenta três

alternativas distintas: três interfaces USART (Universal Asynchronous Receiver/Transmitter),

uma SPI (Serial Peripheral Interface) e uma CAN.

Para as três portas USART disponíveis, cada uma delas é constituída por um par de pinos,

aos quais estão atribuídas as funções de transmissão (TX) e receção de dados (RX);

A interface USART1 foi selecionada para comunicação com o GSM, tendo então atribuídos

os pinos 42 e 43 para transmissão e receção de dados do microprocessador para o GSM,

respetivamente.

Os pinos 44 e 45 podem ser utilizados para controlo de fluxo por software, mas uma vez

que este é feito por definição no hardware, encontram-se reservados para uma ligação

através de CAN. Apesar disso, os pinos encontram-se também ligados ao GSM, para ser

possível utilizar o controlo de fluxo por software caso o barramento CAN não seja alvo de

uso.

A USART2 foi escolhida para a comunicação com o GPS, ficando atribuído o pino 16 para a

transmissão de dados para o periférico e a receção no pino 17.

A USART3 tem a utilidade de providenciar diagnósticos ao periférico responsável pela

comunicação sem fios, ou módulo Wi-Fi, e pode também ser utilizada para verificar os

conteúdos presentes nos buffers da USART1 e USART2 (através de software). Os pinos usados

para este efeito são o 29 e o 30, para transmissão e receção, respetivamente.

A interface SPI é utilizada para comunicar com a memória externa, podendo esta ser do

tipo Flash ou um cartão de memória do tipo MicroSD, para acesso a uma unidade de medição

inercial, para comunicação com o módulo Wi-Fi e ainda para o acesso a um periférico

genérico, através de um conetor para o exterior. Os pinos reservados para este efeito são o

24, 50, 55 e 56 para acesso/bloqueio aos periféricos descritos no parágrafo anterior e um

barramento comum a todos constituído pelos pinos 20 (este pino não vai ser utilizado no

sistema, mas faz parte do barramento SPI), 21,22 e 23.

O pino 20 seria usado caso se pretende-se efetuar uma comunicação full-duplex, isto é,

transmissão e receção de dados em simultâneo.

O pino 21 é utilizado para sincronizar as transferências de dados através de um sinal de

relógio utilizado entre o microcontrolador e o periférico em questão.

O pino 22 constitui o veículo para a receção de dados do periférico para o micro e o pino

23 é usado para o envio de informação.

Para a programação do microprocessador utilizam-se os pinos 46 e 49. O pino 46,

responsável pela transferência de dados, o pino 49 pelo relógio de sincronização.

O ARM Cortex M3 prevê a possibilidade de fazer uma reinicialização do microcontrolador

através de um pino de Reset, em questão o pino 7.

O relógio externo é ligado nos pinos 5 e 6, entrada e saída do sinal (são previstas duas

alternativas diferentes para o relógio, sendo depois ligado aquele que se optar por usar).

Page 54: Dissertação v1.0

34

O sistema previu dois LED’s (Light Emitting Diodes) que permitem identificação visual do

funcionamento do software dos componentes eletrónicos, que ficaram alojados nos pinos 34

e 35.

O microprocessador contém, além da interface de comunicação para o GSM acima

referida, via USART, um conjunto de sinais que controlam a operação deste dispositivo por

software. Este conjunto de seis sinais tem, cada um deles, um pino associado: o pino 53, o

pino 57, o pino 54, o pino 61, o pino 59 e o pino 58, cujas funções são descritas na abordagem

particular das ligações do GSM.

Em termos de utilização de pinos, restam aqueles que estão reservados para entradas

digitais (6 pinos: 41, 25, 26, 27, 33 e 36), saídas digitais (6 pinos: 37, 38, 39, 40, 51 e 52),

entradas analógicas utilizadas para o ADC (4 pinos: 8, 9, 10 e 11) e pinos sem ligação,

reservados para o sistema. A tabela 4.2 sintetiza esta informação:

Tabela 4.2 — Mapa da utilização dos pinos do microprocessador

Nome do pino Número do pino Função do pino Nome da ligação

PD0 5 Entrada relógio XTAL1

PD1 6 Saída relógio XTAL2

NRST 7 Reset RESET

PC0 8 Entrada analógica ADC Canal 1 AIN_CH1

PC1 9 Entrada analógica ADC Canal 2 AIN_CH2

PC2 10 Entrada analógica ADC Canal 3 AIN_CH3

PC3 11 Entrada analógica ADC Canal 4 AIN_CH4

VSSA 12 Massa analógica AGND

VDDA 13 Alimentação analógica AVCC

PA2 16 USART2_TX GPS_RX

PA3 17 USART2_RX GPS_TX

VSS_4 18 Massa GND

VDD_4 19 Alimentação 2,8 V VCC

PA4 20 SPI_NSS NSS

PA5 21 SPI_SCK SCK

PA6 22 SPI_MISO MISO

PA7 23 SPI_MOSI MOSI

PC4 24 Selecionar memória externa SPI_CS_1

PC5 25 Entrada digital n.º 2 IOPORT_INFLOAT_2

PB0 26 Entrada digital n.º 3 IOPORT_INFLOAT_3

PB1 27 Entrada digital n.º 4 IOPORT_INFLOAT_4

PB10 29 USART3_TX USART3_TX

Page 55: Dissertação v1.0

35

Nome do pino Número do pino Função do pino Nome da ligação

PB11 30 USART3_RX USART3_RX

VSS_1 31 Massa GND

VDD_1 32 Alimentação 2,8 V VCC

PB12 33 Entrada digital n.º 5 IOPORT_INFLOAT_5

PB13 34 LED0 LED0

PB14 35 LED1 LED1

PB15 36 Entrada digital n.º 6 IOPORT_INFLOAT_6

PC6 37 Saída digital n.º 1 IOPORT_OUT_PP_1

PC7 38 Saída digital n.º 2 IOPORT_OUT_PP_2

PC8 39 Saída digital n.º 3 IOPORT_OUT_PP_3

PC9 40 Saída digital n.º 4 IOPORT_OUT_PP_4

PA8 41 Entrada digital n.º 1 IOPORT_INFLOAT_1

PA9 42 USART1_TX GSM_RX

PA10 43 USART1_RX GSM_TX

PA11 44 USART1_CTS/CAN_RX GSM_CTS

PA12 45 USART1_RTS/CAN_TX GSM_RTS

PA13 46 SWDIO SWDIO

VSS_2 47 Massa GND

VDD_2 48 Alimentação 2,8 V VCC

PA14 49 SWCLK SWCLK

PA15 50 Selecionar periférico genérico SPI_CS_2

PC10 51 Saída digital n.º 5 IOPORT_OUT_PP_5

PC11 52 Saída digital n.º 6 IOPORT_OUT_PP_6

PC12 53 GSM_ON_OFF GSM_ON_OFF

PD2 54 GSM_DTR GSM_DTR

PB3 55 Selecionar módulo Wi-Fi SPI_CS_3

PB4 56 Selecionar módulo MEMS SPI_CS_4

PB5 57 GSM_RESET GSM_RESET

PB6 58 GSM_VIO GSM_VIO

PB7 59 GSM_RI GSM_RI

PB8 61 GSM_DCD GSM_DCD

PB9 62 GPS_LDO_SWITCH GPS_LDO_SWITCH

Page 56: Dissertação v1.0

36

Nome d

VSS_

VDD

4.5

O G

micropro

frequênc

adiante.

As li

neste ca

pino de

Este

optou-se

A al

provenie

o sistem

cortada

LDO disp

possa ar

a posiçã

o pino

represen

parado)

A an

com o co

dimensio

do pino

_3

D_3

Figura

.2 – GPS

GPS é resp

ocessador, c

cia externa,

.

igações do G

aso a USART2

transmissão

e modelo do

e por poupar

limentação é

ente do LDO

ma se encont

por qualque

ponível para

rrancar de um

ão atual corr

23 é ligado

nta uma alim

.

ntena é ligad

onetor da an

onada utiliza

Número do p

63

64

a 4.8 – Esque

ponsável pe

com a font

, sendo que

GPS ao micr

2. O pino de

do primeiro

GPS, o NEO-

r este recurs

é composta

existente na

ra ativo. Qua

er outro mo

os restantes

m estado qu

eta em men

ao LDO do

mentação de

da no coneto

ntena extern

ando um sof

pino

ma dos pino

ela obtençã

te de alime

e as ligações

rocontrolado

e receção de

o é ligado ao

-6M da uBlox

so, para que

por duas c

a PCB espec

ando o sistem

tivo, o módu

s elementos

e não o de d

os de três se

o GPS e o p

e recurso que

r definido pa

na, do tipo SM

tware própri

Função

Ma

Alimenta

os do micropr

ão das pos

entação de

s a esta últ

or são feitas

e dados do G

de receção

x, também p

possa ser us

componentes

cialmente pro

ma é desliga

ulo passa a

do circuito.

desligado (co

egundos (aid

pino 22 é li

e só é utiliza

ara o efeito,

MA (Sub Min

io para essa

do pino

assa

ação 2,8 V

rocessador S

sições da

2,8 V e co

tima são alv

s através de

GPS é ligado

do segundo.

possibilita lig

sado por outr

s distintas: a

ojetado para

ado, ou a alim

receber a te

Este mecan

old start), le

ded start), e

igado ao LD

ada quando

, que corresp

niature Versi

função.

N

TM32F100RC

viatura. Es

om uma ant

vo de maior

uma porta

ao de envio

gações atrav

ros periférico

a alimentaç

a o GPS que

mentação do

ensão de 2,8

nismo é útil p

vando a que

m condições

DO do sistem

o processado

ponde à liga

ion A). Esta l

Nome da ligação

GND

VCC

C [30]

stá ligado

tena de rád

r detalhe m

USART, sen

o do micro, e

vés de SPI, m

cos.

ção principal

atua enquan

o LDO do GPS

8 V através

para que o G

e este encont

s ideais. Assi

ma (o pino

or do GPS es

ação do pino

ligação física

o

ao

dio

ais

ndo

e o

mas

l é

nto

S é

do

GPS

tre

m,

22

stá

11

a é

Page 57: Dissertação v1.0

37

do

co

um

V

co

fo

re

lig

m

pi

ar

SIM

fu

ca

7

4.5.3 – G

O módulo

o módulo de

onexão com

m conetor (c

As diferen

e provem di

A conexão

ontrolo de fl

oi explicado.

O conetor

Existem o

ealizar algum

gação/chama

ão), ON_OFF

odem está a

no E2 (que

rranque).

O GSM est

MCLK (pino

unções deste

artão está in

Figura 4

GSM

de comunica

e localizaçã

o microproc

com uma pist

nças situam-s

retamente d

o via USART

luxo. Porém,

com a anten

utros seis si

mas funções

ada) DCD, n

F, no pino B1

a chamar), R

indica se o

tá ligado a u

A5), SIMRST

es pinos são

serido, alime

4.9 – Esquem

ação GSM te

o GPS, ou

cessador via

ta especialm

se nas seguin

do regulador

T é feita na

, não pode s

na exterior é

nais de cont

: DTR, no p

no pino B5 (

(permite li

RESET, no pi

o modem e

um leitor de

(pino A8), S

sincronismo

entação, res

ma dos pinos

em um esque

seja, ligaçõ

USART e co

mente dimens

ntes matéria

de tensão 3

a porta USA

ser usado em

é do tipo FM

trolo entre o

pino B3 (sin

(sinalização

gar e desliga

ino C1 (perm

está operacio

cartões SIM

SIMIO (pino

, reinicializa

spetivamente

do módulo d

ema de ligaç

ões para a a

onexão com

sionada para

as expostas a

34063AP (que

ART1, haven

m simultâneo

E - For Mobi

o microproce

nal que indi

se o modem

ar o modem

mite reinicia

onal ou se

M através de

A6), SIMIN (

ação, transfe

e.

de localizaçã

ões em gran

alimentação

uma antena

a o efeito).

a seguir. A a

e é ligada ao

ndo a possib

o com a inte

le Equipmen

essador e o

ica ao GSM

m se encont

), RING, no

r o modem G

ainda se en

um barrame

pino B7) e S

erência de d

ão GPS

nde parte idê

e respetiva

a exterior at

alimentação

os pinos F1, F

bilidade de

erface CAN,

nt (no pino H

GSM, que p

para termi

tra ligado à

pino B4 (mo

GSM) e PWR

ncontra em

ento de cinc

SIMVCC (pino

dados, verifi

êntico ao

a massa,

través de

é de 4,5

F2 e F3).

habilitar

como já

H5);

permitem

nar uma

rede ou

ostra se o

RMON, no

fase de

co sinais:

o A7). As

cação se

Page 58: Dissertação v1.0

38

4.5

Para

ligações

cartões

soluções

Para

pinos e

ligações

chip sel

(Master

alimenta

Figu

.4 – Arma

a os dois tip

s efetuadas

de memória

s é implemen

a a memória

o formato f

s a efetuar s

ect, dois pin

Input Slav

ação de 2,8

ura 4.10 – Es

azename

pos de arma

são as mesm

a MicroSD,

ntada em sim

Flash, estã

físico das m

ão equivalen

nos para tran

ve Output),

V e respetiv

squema dos

ento de d

azenamento

mas, uma ve

utilizam um

multâneo, po

o considerad

memórias é v

ntes: um pin

nsferência d

, um relóg

a massa.

pinos do mó

dados ext

externo es

ez que tant

ma interface

or definição

das três pac

variável, ma

no para ativa

de dados MO

gio de sinc

ódulo de com

terno

scolhidos pa

o a memóri

SPI. Além

no projeto.

ckages difere

as independe

ar o periféric

SI (Master O

cronização S

municação GS

ra integrar

a Flash exte

do mais, ne

entes, isto é

entemente d

co, também

Output Slave

SCK (Serial

SM

o sistema,

erna, como

enhuma dest

é, o número

deste facto,

conhecido p

e input) e MI

Clock), um

as

os

tas

de

as

por

SO

ma

Page 59: Dissertação v1.0

39

pa

de

re

SP

ne

9

Para se p

adronizada)

e ligações e

eferido.

4.5.5 – T

O módulo

PI para trans

este caso a U

Figu

poder utiliza

dá-se uso a

xatamente i

Figura 4.12

Transmis

de comunica

sferências de

USART3, para

ura 4.11 – Es

ar os cartõe

um leitor de

igual ao pre

2 – Esquema

ssor/rece

ação sem fio

e dados para

a despiste de

squema dos p

es de memó

e cartões do

evisto para a

dos pinos pa

etor de r

os é conecta

a o protocol

e erros e tes

pinos para a

ória MicroSD

o tipo menci

as memórias

ara o leitor d

adiofreq

do ao micro

lo IEEE 802.1

stes. Não ne

memória Fla

D de capaci

ionado, que

s Flash, com

de cartões de

uência

processador

11b e utiliza

cessita de li

ash

idade variáv

incluiu um

mo já anteri

e memória

através da i

a a interface

igação a um

vel (mas

esquema

iormente

interface

e USART,

conetor,

Page 60: Dissertação v1.0

40

uma vez

terá de

Em t

e os pino

Com

barrame

de dado

receção

Fig

4.5

A un

forma, o

restando

qualque

finalidad

estilo d

apertada

z que tem in

ser de plásti

termos de al

os 1, 10, 18,

mo nos outr

ento: seleção

os (MOSI e MI

e transmissã

gura 4.13 – E

.6 – Unid

nidade de m

os pinos de l

o a alimenta

r software

de do acresc

e condução

as, travagen

Figura 4

ntegrada um

ico, para não

limentação,

, 19, 25, 28,

os módulos

o do periféri

SO, pinos 35

ão de dados

Esquema dos

ade de m

medição ine

igação são o

ação de 2,8

e/ou firmw

cento futuro

do motoris

ns constantes

4.14 – Esque

ma antena in

o condiciona

necessita de

30 e 36 liga

já vistos,

ico (pino 23)

5 e 32, respe

para o micro

pinos do mó

medição

rcial é ligad

o barramento

V e respet

ware criado

o de novas f

sta do veícu

s, etc.).

ema dos pino

nterna (poré

ar a propagaç

e ter duas e

dos à massa

a interface

), relógio de

etivamente).

oprocessado

ódulo de com

inercial

da ao micro

o de sinais SC

tiva massa.

o, estando

funcionalidad

ulo da orga

os para a uni

m implica q

ção de sinais

ntradas ligad

.

e SPI comp

sincronizaçã

A USART3 t

or.

municações s

oprocessador

CK, MOSI, MI

Este módulo

considerado

des, que per

anização (ac

idade de me

ue o invóluc

s).

das a 2,8 V (

orta os qua

ão (pino 34),

em os pinos

sem fio MRF2

r por interfa

SO e seletor

o não tem,

na PCB, a

rmitam o co

elerações b

dição inercia

cro do sistem

(pinos 17 e 2

atro sinais

, transferênc

26 e 27 para

24WB0MA [2

ace SPI. Des

r de periféric

neste proje

apenas com

ontrolo sobre

bruscas, curv

al [31]

ma

29)

do

cia

a a

1]

sta

co,

to,

a

e o

vas

Page 61: Dissertação v1.0

41

sin

(d

eq

de

de

da

co

Ju

(so

4.5.7 – O

Os optoac

nais digitais

da ordem de

quipamento

O funciona

e entrada e s

e luz envia o

a luz do LED.

4.5.8 – T

Os transís

orrente das s

A configu

unction Tran

Os compo

ão montados

obrepostas),

Optoacop

copladores sã

de entrada.

e até algum

danificado.

amento de u

saída deste.

o sinal e um

. A utilização

Figura

Transísto

tores de Da

saídas digitai

ração de D

sistor), de c

nentes selec

s em simul

, mas na prá

pladores

ão utilizados

. Estes isolam

mas dezenas

um optoacop

A comunica

fototransíst

o deste dispo

a 4.15 – Esq

ores de D

rlington são

is previstas.

Darlington c

canal n, de fo

cionados par

ltâneo, isto

tica só um d

s para prote

m as entrada

s de Volt)

plador consis

ação é feita

tor, que rece

ositivo é feit

uema dos pi

Darlingto

o utilizados n

consiste na

orma a se ob

ra realizar e

o é, na pla

destes compo

eger o micro

as permitind

com segura

ste no isolam

através de u

ebe o sinal,

ta para isola

nos para os

on

no sistema p

ligação de

bter um elev

este efeito,

aca foram

onentes é ins

ocontrolador

do que se use

ança, sem q

mento elétric

um sinal ótic

entra em co

r as seis entr

optoacoplad

para aument

dois transí

vado ganho d

o ULN2003A

previstas lig

stalado.

e a integrid

em tensões

que isso res

co entre os t

co: um díodo

ondução na

radas digitai

dores

tar a capaci

ístores BJT

de corrente.

A e o ULN280

gações para

dade dos

elevadas

sulte em

terminais

o emissor

presença

is.

idade de

(Bipolar

03A, não

a ambos

Page 62: Dissertação v1.0

42

Figu

as 6 saíd

4.5

A lig

2) reque

termina

Este

da bater

e saídas

Na P

aos sina

ura 4.16 – Es

das digitais

.9 – Inter

gação das sa

er que o co

is no veículo

e conetor dis

ria do autom

digitais (pin

F

PCB incluiu-s

is mais impo

squema dos p

rfaces co

ídas digitais

onetor faça

o. Para esta t

sponibiliza 1

móvel de, ap

nos 3 a 11) e

Figura 4.17 –

se ainda uma

ortantes do m

pinos para os

om o exte

aos termina

a ponte en

tarefa escolh

2 terminais

roximadame

uma entrad

– Esquema do

a interface d

microprocess

s integrados

erior

ais da viatur

ntre a saída

heu-se um co

sendo cada

ente 12 V e r

da analógica

os pinos para

de programa

sador.

com configu

a (referidos

a dos transís

onetor do tip

um deles u

respetiva ma

(pino 12).

a o conetor 5

ação e diagn

uração de Da

na tabela 2.

stores de D

po 5569-12D

tilizado para

assa (pinos 2

5569-12DOC

óstico que p

arlington par

.7, do capítu

arlington e

DOC.

a: alimentaç

e 1), entrad

permite aced

ra

ulo

os

ção

das

der

Page 63: Dissertação v1.0

43

ag

(p

at

Fi

de

pa

é

an

ac

3

Esta inter

grupados, qu

- Acesso a

pinos 1 e 13);

- Sinais de

- Acesso

través de fio

Acesso à i

(pinos 12 e

- Acesso a

este barrame

ara porta sér

- Uma ent

Figur

4.5.10

De forma

separada da

Na prática

nalógicos qu

contecer, as

rface é con

ue contêm pi

a alimentação

;

e programaçã

ao barrame

s aéreos e us

nterface USA

14);

aos sinais de

ento e poste

rie RS-232 e

rada digital

ra 4.18 – Esq

– Massa a

a evitar ruíd

a massa “digi

a isso tradu

ue, posterio

duas massas

Figu

nseguida atr

stas que os l

o de 2,8 V, p

ão do microp

nto SPI, co

sando o sele

ART3, que p

e CAN (tran

erior ligação

um cabo J19

(pino 11).

quema dos p

analógica

do analógico

ital”.

uziu-se na c

ormente, co

s são soldada

ura 4.19 – Es

ravés de fu

ligam ao seg

proveniente

processador

m possibilid

etor de perifé

pode ser utili

nsmissão TX

à viatura (p

962 com RS-2

pinos para a i

a e mass

e melhorar

criação de u

onverge par

as manualme

squema de li

ros feitos n

guinte conjun

do LDO glob

SWDIO e SW

dade de adi

érico (pinos

izada para te

e receção

pinos 7 e 5),

232;

interface de

sa digital

a qualidade

um caminho

ra a massa

ente, para un

gação da ma

na placa de

nto de sinais

bal do sistem

CLK (pinos 2

ção de um

6, 8, 9 e 10)

estes do mó

RX), que pe

, com o auxí

programaçã

e dos sinais,

único para

global do

nificar o circ

assa do circu

e circuito,

s:

ma e respetiv

2 e 4);

periférico

);

ódulo GPS, G

ermitem a u

xílio de um c

ão e diagnóst

a massa “an

a a massa d

circuito. P

cuito.

uito

14 furos

va massa

exterior,

SM e Wi-

utilização

conversor

tico

nalógica”

os sinais

Para isso

Page 64: Dissertação v1.0

44

4.6 – Desenho da placa de circuito impresso

O desenho de uma placa de circuito impresso é um processo meticuloso e de grande

complexidade, sujeito a inúmeras restrições e condicionamentos, que obrigam ao seguimento

de regras estritas para evitar erros que provoquem o não funcionamento da placa, mesmo

estando ela bem projetada.

Uma vez que este projeto se baseia num produto já existente, segue-se uma orientação

no sentido de manter as dimensões físicas já existentes. 80x100 mm.

4.6.1 – Regras a respeitar

No que diz respeito às recomendações e regras a cumprir para um bom desenho de uma

placa de circuito impresso, segue-se a seguinte lista:

- No desenho de pistas, devem-se evitar ângulos retos na mesma camada, para não criar

picos de corrente ou capacidades parasitas em determinadas secções da placa, e as pistas

devem ser o mais curtas possível;

- É recomendável deixar entre dois a cinco milímetros em, pelo menos dois lados da PCB,

que são utilizados como suporte, durante a fase de fabrico, onde os componentes eletrónicos

são depois inseridos na placa por um braço mecânico;

- Fontes de tensão devem ter sempre condensadores de desacoplamento ligados entre

estas e as respetivas massas, com fim de evitar a formação de capacidades parasitas e

filtragem de componentes de tensão de altas frequências;

- Conetores analógicos que venham a ser utilizados devem ficar o mais longe possível de

fontes de ruído, para evitar interferências;

- Colocar na mesma periferia todas as conexões com o exterior, o que facilitará o projeto

de um invólucro/caixa para a placa de circuito impresso;

- A pista das antenas (desde o pino até ao conetor da antena externa) deverá ser a mais

curta possível e constituir uma reta (alinhada com o conetor);

- A disposição dos componentes deverá, sempre que não atrapalhe a criação de caminhos

mais curtos, ser feita no mesmo sentido, ou seja, permitir a interpretação de todos os

componentes por mera observação;

- Em circunstância alguma, as distâncias mínimas entre componentes, especificadas pelos

fabricantes, deverão ser desrespeitadas. Esta regra é de extrema importância uma vez que o

seu desrespeito pode levar ao funcionamento deficiente de componentes. Veja-se, por

exemplo, o caso de componentes de radiofrequências que, se ligados demasiado próximos uns

dos outros, poderão ter perdas de alcance significativas e erros na leitura de dados;

- A disposição de componentes deverá ser feita, de tal forma que os elementos que

produzam muito calor fiquem distribuídos por diferentes áreas da placa, como meio de

prevenir a concentração de calor numa zona específica da PCB;

- A utilização de software de roteamento automático (AutoRouter do EAGLE) é sempre

sujeita à introdução dos parâmetros do fabricante da placa.

Page 65: Dissertação v1.0

45

4.6.2 – Especificações técnicas

As especificações técnicas da PCB dizem respeito à largura atribuída às pistas, ao número

de camadas que constituem a placa, ao diâmetro das vias e ao espaçamento mínimo, que

rege a criação das rotas para ligação dos componentes.

Começando pelas camadas, o sistema incluiu apenas duas camadas sendo uma a de topo e

a outra a de fundo (superior e inferior). Apesar da utilização de apenas duas camadas ser

menos dispendiosa em termos económicos do que o uso de um maior número destas, tornou o

trabalho de roteamento mais exigente.

Para a largura das pistas consideraram-se 3 alternativas distintas, consoante a função que

a pista desempenhava. Dito por outras palavras, se uma pista for de conexão entre

componentes esta tem a largura de 8 mil (0,2032 mm), sendo esta a medida por omissão. Se a

pista transporta sinais de tensão de alimentação tem uma largura de 16 mil (0,4064 mm). Se

a pista é utilizada para alimentar o GSM, então tem uma largura de 24 mil (0,6096 mm). Esta

última requer esta largura, uma vez que o GSM é o componente de todos que mais corrente

consome, podendo chegar a dissipar 1W de potência.

No caso das vias, o diâmetro selecionado foi 15,748 mil (0,4 mm). O espaçamento mínimo

entre vias e pistas é igual ao diâmetro do mesmo.

Tabela 4.3 — Especificação das pistas

Categoria Largura Furação Espaçamento

Predefinida 8 mil (0.2032 mm) 15,748 mil (0.4 mm) 8 mil (0.2032 mm)

Alimentação 16 mil (0.4064 mm) 15,748 mil (0.4 mm) 8 mil (0.2032 mm)

GSM 24 mil (0.6096 mm) 15,748 mil (0.4 mm) 8 mil (0.2032 mm)

4.6.3 – Dimensionamento das antenas e áreas restritas

A utilização de componentes eletrónicos que utilizam radiofrequências requer cuidados

adicionais para que a sua utilização não apresente deficiências. Foi necessário criar áreas

restritas na PCB para garantir que não passavam pistas por baixo da zona de

radiofrequências, daqui para a frente designada por RF.

Para o GSM foi necessário criar apenas uma área restrita para a pista que liga o pino ao

corretor da altura externa (corretor FME).

Para o GPS foi necessário algo mais, sendo que toda a zona definida para RF ficou sem

pistas em ambas as camadas da PCB, assim como a ligação ao corretor SMA da antena

externa.

Para o módulo de comunicação Wi-Fi o fabricante exigiu que a zona RF fosse totalmente

isolada inclusive livre de planos de massa.

Quanto à questão das pistas das antenas foi necessário fazer o seu dimensionamento de

forma a garantir que estas tinham uma impedância de 50Ω. Para executar esta tarefa foi

utilizada uma aplicação gratuita chamada AppCAD [41]. Introduzindo os parâmetros da placa

de circuito, e as distâncias exigidas obteve-se o cálculo da resistência obtida:

Page 66: Dissertação v1.0

46

Dest

Espessur

Largura

Espaçam

Comprim

Resistên

4.6

Utili

permitiu

Dado qu

densidad

projetist

Aqua

ligações

ainda qu

Os m

interferê

área res

do fabri

encontra

pela áre

Figu

ta forma os p

ra

mento entre

mento

ncia obtida

.4 – Dispo

zando os p

u criar um r

ue apenas f

de de comp

ta efetuar as

ando da con

s, o dimensi

ue virtual, da

módulos Wi-F

ências de sin

strita, onde n

icante). O m

a-se ao cent

ea da PCB e a

ura 4.20 – D

parâmetros a

Tabela 4.

Parâmetr

pistas

osição de

parâmetros

roteamento

foram utliza

onentes elet

s ligações em

clusão desta

onamento d

a forma fina

Fi, GSM e G

nal (note-se

não passam

microprocessa

tro. As maio

a alimentaçã

Dimensionam

a considerar

4 — Especifi

ros de config

e compon

definidos n

automático

adas duas ca

trónicos par

m falta.

a etapa, o as

das antenas

l da PCB e o

GPS, utilizand

ainda que o

nem pistas,

ador, sendo

ores fontes d

ão próxima d

ento das ant

para as ante

ficação das p

guração da

nentes

nas especifi

minimizand

amadas na

ra a área es

speto da pla

e as áreas

o porquê da d

do RF encon

o módulo de

nem planos

o compone

de calor enc

dos dispositiv

tenas utiliza

enas foram:

pistas de ant

pista da ant

cações técn

do as ligaçõe

placa de ci

pecificada p

aca, no softw

restritas, p

distribuição

ntram-se dis

comunicaçã

de massa, c

nte com o m

contram-se p

vos onde vai

ndo o AppCA

tena

tena

nicas, o Ca

es entre os

rcuito e de

para a PCB,

ware, conten

ermitiu uma

escolhida, n

spersos, para

ão sem fios a

conforme as

maior númer

perfeitamen

ser usada.

AD

0,035 m

1,016 m

0,2 m

10 m

50,1

adSoft EAGL

componente

evido à gran

coube pois

ndo já todas

a visualizaçã

a figura 4.21

a minimizar

apresenta um

especificaçõ

ro de ligaçõe

nte distribuíd

mm

mm

mm

mm

LE,

es.

nde

ao

as

ão,

1.

as

ma

ões

es,

das

Page 67: Dissertação v1.0

47

ci

de

da

da

at

7

Verifica-se

rcuito impre

4.6.5 – P

A criação

e placas de c

as dimensões

úmero de lig

aqui foram f

té apresenta

e, portanto,

esso, no pont

Planos de

dos planos d

circuito utiliz

s da PCB em

ações entre

feitas algum

rem o seguin

o cumprim

to 4.6.1.

Figura 4.

e massa

de massa fo

zado até aqu

m ambas as c

componente

as alteraçõe

nte aspeto:

mento das re

.21 – Placa d

oi realizada a

ui. A única n

camadas (top

es (Ratsnest

es a algumas

egras definid

de circuito im

automaticam

necessidade f

po e fundo).

) os planos d

s rotas por f

das para a c

mpresso

mente pelo s

foi a de cria

Utilizando a

de massa for

forma a max

criação da

software de

ar polígonos e

a função min

ram gerados.

ximizar estes

placa de

desenho

em torno

nimizar o

. A partir

s planos,

Page 68: Dissertação v1.0

48

4.6

A id

possível

.6 - Lege

entificação

ter uma ráp

Figura

Figura 4

enda da P

de compone

pida perceçã

4.22 – Plano

4.23 – Plano

PCB e pon

entes é impo

ão da constit

o de massa d

de massa da

ntos fidu

ortante para

tuição do sist

a camada de

a camada de

uciários

a depois de p

tema e da po

e topo

e fundo

produzido o

osição dos in

hardware, s

ntegrados. Es

ser

sta

Page 69: Dissertação v1.0

49

identificação foi feita na camada superior da placa de circuito impresso e pode auxiliar na

substituição de componentes ou diagnóstico de anomalias.

Igualmente importante foi a inclusão de pontos fiduciários, que não são nada mais que

pontos com 1mm de diâmetro que ajudam a calibração da máquina que leva a cabo o fabrico

do hardware.

4.7 – Sumário

Neste capítulo foi exposto todo o processo de desenvolvimento de hardware. Começando

pelo circuito de alimentação, passando pela elaboração de esquemático, regras a seguir para

a distribuição dos componentes eletrónicos, criação das especificações, dimensionamento de

pistas e antenas, criação dos planos de massa, culminando na aplicação de pontos fiduciários

utilizados na calibração das máquinas que colocam os componentes.

Page 70: Dissertação v1.0

50

Page 71: Dissertação v1.0

Capítulo 5

Desenvolvimento de software

Este capítulo aborda a criação do software necessário para a utilização da placa de

circuito impresso, de modo a que esta consiga implementar os requisitos e as funcionalidades

descritas na arquitetura do sistema.

5.1 - Enquadramento

O desenvolvimento de software é um procedimento decorrente da criação de novas

interfaces físicas eletrónicas. Novas plataformas exigem interpretação através de programas

que lhes deem uso e valor funcional.

O ambiente de desenvolvimento adotado, para a produção de software, foi o Eclipse IDE

(Integrated Development Environment) for C/C++ Developers. Este programa permite a

edição e organização do código fonte utilizado para o projeto e contém ainda um modo de

testes que permite certificar o trabalho realizado. O software produzido foi agrupado em

pastas para facilitar a organização e a manipulação do código. O desenvolvimento do código

foi, sempre que possível centrado no firmware (ligação entre camada física e aplicação).

O firmware encontra-se numa “zona cinzenta”, isto é, realiza chamadas de acesso ao

hardware, requeridas por funções de mais alto nível, e portanto, mais próximas da aplicação

que se pretenda realizar.

No caso particular deste sistema, e visto que se baseia num produto já existente, com o

qual partilha grande parte das funções, seguiu-se uma lógica de aproveitamento do código já

existente, sempre que este se enquadrou no contexto do novo projeto.

O código foi desenvolvido em linguagem C, à imagem do já existente, e teve o seu foco

na camada que faz a ponte para o hardware, visto que o código criado para funções

específicas como sejam a comunicação GPS ou GSM, pode ser reutilizado dado o paralelismo

das funções.

Do comando e utilização do microprocessador, resultaram a maioria dos blocos de código

criados, sendo o restante fruto das novas funcionalidades do sistema, com a possibilidade de

comunicação através de CAN e Wi-Fi, a encabeçarem esta lista, seguindo-se funções

utilitárias de manipulação de dados que foram desenvolvidas sempre que houve necessidade.

Page 72: Dissertação v1.0

52

5.2

Com

produto

deste ca

Com

blocos d

das entr

(E/S), às

no Systic

Memory

relógio p

RTC, os

Os r

delas, c

um Wat

desenvo

microco

Na p

díodos lu

O di

ao proto

do veícu

A pa

outras c

– Organ

m o objetivo

anterior, a

apítulo, no fi

mo tal, o códi

de código co

radas e saíd

s interfaces

ck incluído n

y) emulada q

para funcion

respetivos b

restantes blo

hamada de

chdog. A esc

olvido para

ntrolador an

pasta “utils”

uminosos.

retório defin

ocolo CAN e

ulo através d

asta “wifi” a

configurações

F

nização d

o de aprovei

criação de s

irmware.

igo desenvol

orrespondent

as digitais a

SPI e USART

no sistema, a

que permite

namento em

blocos de cód

ocos foram d

“avr”, agreg

colha deste

a UMI faze

ntigo.

, foi modific

nido como “

as funções

do sistema O

apresenta co

s relacionad

Figura 5.1 –

dos bloco

itar ao máx

software foi

lvido foi agru

tes ao conve

através da at

T para comun

a uma EEPRO

leituras e e

tempo real

digo foram d

dispostos po

ga as funçõe

diretório fic

erem chama

cado o bloco

can” contém

necessárias

BD2.

omo conteúd

as com a imp

Diagrama do

os de cód

ximo o códig

centrada, co

upado numa

ersor de ana

tribuição de

nicação com

OM (Electrica

escritas em

(RTC - Real-

disponibilizad

or um conjun

es geradoras

cou a dever-

adas a esta

de código re

m, como o p

para o aces

dos os fiche

plementação

os blocos de

digo

go já desen

omo já tinha

pasta design

alógico para

e pinos por p

periféricos,

ally-Erasable

memória Fl

-Time Clock)

dos pelo fabr

nto de quat

de atrasos t

se ao facto

pasta que

esponsável p

róprio nome

sso e interpr

eiros que con

o da comunic

software de

nvolvido e t

a sido referid

nada “arm”

digital (ADC

parte do mic

um tempori

e Programma

lash, e a de

). No caso da

ricante.

ro pastas, se

temporais e

de chamada

continha o

pelo acesso e

indica, o có

retação de d

nstituem a p

cação sem fi

esenvolvidos

testado para

do no princíp

que contém

C), à definiç

croprocessad

izador basea

able Read-On

efinição de u

a EEPROM e

endo que um

a definição

as no código

o firmware

e operação d

ódigo dedica

dados retirad

pilha TCP/IP

ios.

a o

pio

os

ção

dor

ado

nly

um

do

ma

de

do

dos

ado

dos

P e

Page 73: Dissertação v1.0

53

Para cada bloco de código desenvolvido, foram criados um ficheiro fonte e um ficheiro de

cabeçalho, como recomendam as boas práticas de programação.

No ficheiro de cabeçalho (de terminação .h) foram declaradas as variáveis globais e as

estruturas de dados que foram usadas pelo ficheiro fonte, assim como as declarações das

funções.

No ficheiro fonte (de terminação .c) encontram-se as implementações das funções e das

estruturas de dados declaradas no ficheiro de cabeçalho. Esta organização encontra-se visível

na figura 5.1, acima exposta.

Apesar do detalhe que se vai apresentar nas descrições de cada bloco, há código que foi

alterado naquele já existente para a UMI, que não é aqui descrito, devido ao facto de

consistir em alterações que resultam da adaptação do código já produzido com o que foi

criado para este projeto, como por exemplo, a alteração de parâmetros de funções e

estruturas de dados que, no âmbito de uma dissertação, não se apresentam como relevantes.

5.3 – Descrição dos blocos de código

Nesta secção, encontram-se explicitados os conteúdos dos principais ficheiros de código

fonte e cabeçalho, discriminados pela função que desempenham no sistema. Para cada

função descrita, são caracterizados os seguintes índices: nome da função, parâmetros de

entrada, parâmetros de saída, requisitos e descrição desta.

5.3.1 – ADC

O ADC é usado com a finalidade de possibilitar a conversão de quatro entradas analógicas

para digitais. Para tal acontecer foram definidas funções que inicializam a conversão de

sinais e realizam essa mesma conversão de dois modos diferentes, com e sem recurso a

interrupções. Apesar de apresentarem resultados semelhantes, o uso de dois modos de

conversão distintos prende-se com o facto de, em algumas situações, não ser recomendável

que o sistema atenda uma interrupção, isto é, pare o processamento de tudo o resto para

proceder à leitura de sinais analógicos. Ainda assim, a qualidade da amostragem de sinais

analógicos é superior quando são utilizadas interrupções.

As funções desenvolvidas para o ADC foram:

- ADC_Start – Inicializa o conversor analógico para digital;

- ADC_read – Amostra 4 sinais analógicos distintos, recorrendo a interrupções;

- ADC_poll – Amostra 4 sinais analógicos distintos, sem recurso a interrupções.

Tabela 5.1 — Função ADC_Start

Declaração da função (void)ADC_Start(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Page 74: Dissertação v1.0

54

Declaração da função (void)ADC_Start(void)

Descrição Inicializa a amostragem de quatro sinais analógicos presentes, cada

um deles, num pino definido no projeto de hardware

Tabela 5.2 — Função ADC_read

Declaração da função (unsigned short int)ADC_read(enum ADC_CHANNELS)

Parâmetros de entrada Número do canal que se pretende amostrar (ADC_CHANNELS)

Parâmetros de saída Valor digital amostrado (unsigned short int)

Pré-requisitos Execução prévia da função ADC_Start()

Descrição Faz a conversão para digital de um dos quatro canais analógicos de

entrada que estão à disposição, utilizando um mecanismo de

interrupções

Tabela 5.3 — Função ADC_poll

Declaração da função (unsigned short int)ADC_poll(ADC_CHANNELS)

Parâmetros de entrada Número do canal que se pretende amostrar (ADC_CHANNELS)

Parâmetros de saída Valor digital amostrado (unsigned short int)

Pré-requisitos Execução prévia da função ADC_Start()

Descrição Faz a conversão para digital de um dos quatro canais analógicos de

entrada que estão à disposição, sem recorrer ao uso de interrupções

5.3.2 – SPI

A interface SPI utiliza um barramento de quatro sinais para acesso e transferência de

dados entre o microprocessador e o periférico selecionado. Desta forma apresentou-se como

necessário a criação de funções para a inicialização da interface, o acesso/bloqueio de um

periférico e transferência de dados. As funções criadas para SPI foram:

- SPI_Start – Inicializa a interface SPI do microprocessador;

- spi_select_device – Seleciona um periférico para utilizar o barramento SPI;

- spi_clear_device – Desabilita um periférico que esteja a utilizar o barramento SPI;

- spiTransferByte – Transfere dados de e para um periférico SPI selecionado previamente.

Tabela 5.4 — Função SPI_Start

Declaração da função (void)SPI_Start(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Page 75: Dissertação v1.0

55

Declaração da função (void)SPI_Start(void)

Descrição Inicializa a interface SPI para comunicação com periféricos

Tabela 5.5 — Função spi_select_device

Declaração da função (void)spi_select_device(char address)

Parâmetros de entrada Endereço do periférico a que se pretende aceder (char address)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função SPI_Start()

Descrição Seleção do periférico com o qual se pretende comunicar

Tabela 5.6 — Função spi_clear_device

Declaração da função (void)spi_clear_device(char address)

Parâmetros de entrada Endereço do periférico a que se pretende aceder (char address)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia das funções SPI_Start() e spi_select_device()

Descrição Desativa o acesso ao periférico selecionado anteriormente pela

função spi_select_device()

Tabela 5.7 — Função spiTransferByte

Declaração da função (unsigned char)spiTransferByte(unsigned char data)

Parâmetros de entrada Dados a enviar para o periférico (unsigned char data)

Parâmetros de saída Dados recebidos do periférico (unsigned char)

Requisitos Execução prévia das funções SPI_Start() e spi_select_device()

Descrição Transferência de dados entre o microprocessador e o periférico SPI

em utilização

5.3.3 – USART

Para implementar a interface de comunicação USART é necessário criar uma função que

faça a inicialização de uma das três interfaces disponíveis (USART1, USART2 e USART3). A

comunicação é realizada através de um conjunto de dois sinais TX e RX que transmitem e

recebem informação para e do periférico, o que implica a realização de um mapeamento dos

pinos designados para esse efeito e definição do seu modo de funcionamento.

Foram, portanto, criadas funções para dar resposta às seguintes necessidades:

inicialização das interfaces, envio de dados, receção de dados, desativação das interfaces,

controlo de fluxo e cópias de conteúdo entre interfaces paralelas.

O controlo de fluxo é possível apenas para a USART1.

Page 76: Dissertação v1.0

56

As funções desenvolvidas para as interfaces USART foram:

- USART_Start – Inicializa uma interface USART;

- USART_Disable – Desativa uma interface USART;

- USART_Receive – Recebe dados através da interface USART;

- USART_CheckRx – Verifica se é possível receber novos dados;

- USART_Transmit – Envia dados através da interface USART;

- USART_CheckTx – Verifica se é possível enviar mais dados;

- USART_Mirror – Replica o tráfego de dados numa interface USART em outra interface

USART;

- USART_MirrorClear – Cancela a replicação de dados entre interfaces USART;

- USART_Flush – Limpa todos os buffers em utilização para a interface USART;

- USART_Write – Envia dados através da interface USART caracter a caracter;

- USART_Read – Recebe dados através da interface USART caracter a caracter;

- USART_SetFlowControl – Configura o controlo de fluxo de dados por hardware.

Tabela 5.8 — Função USART_Start

Declaração da função (void)USART_Start(SERIAL_PORT port, unsigned long int baudrate)

Parâmetros de entrada Porta USART que se pretende inicializar (SERIAL_PORT port) e a

velocidade de transferência de dados pretendida (unsigned long int

baudrate)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Descrição Inicialização da interface USART selecionada (1, 2 ou 3)

Tabela 5.9 — Função USART_Disable

Declaração da função (void)USART_Disable(SERIAL_PORT port)

Parâmetros de entrada Porta USART que se pretende inicializar (SERIAL_PORT port)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função USART_Start()

Descrição Desativa a interface USART selecionada (1, 2 ou 3)

Tabela 5.10 — Função USART_Receive

Declaração da função (unsigned char)USART_Receive(SERIAL_PORT port)

Parâmetros de entrada Porta USART que se pretende utilizar (SERIAL_PORT port)

Parâmetros de saída Dados recebidos na interface USART selecionada (unsigned char)

Requisitos Execução prévia da função USART_Start()

Descrição Recebe os dados enviados de um periférico conectado através

desta interface

Page 77: Dissertação v1.0

57

Tabela 5.11 — Função USART_CheckRx

Declaração da função (unsigned char)USART_CheckRx(SERIAL_PORT port)

Parâmetros de entrada Porta USART que se pretende utilizar (SERIAL_PORT port)

Parâmetros de saída Dados que faltam receber e se encontram armazenados em buffer

(unsigned char)

Requisitos Execução prévia das funções USART_Start() e USART_Receive()

Descrição Verifica se há dados por receber na interface USART em utilização

Tabela 5.12 — Função USART_Transmit

Declaração da função (void)USART_Transmit(SERIAL_PORT port, unsigned char data)

Parâmetros de entrada Porta USART que se pretende utilizar (SERIAL_PORT port), dados

que se pretende enviar (unsigned char data)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função USART_Start()

Descrição Envia os dados selecionados pela porta USART escolhida

Tabela 5.13 — Função USART_CheckTx

Declaração da função (unsigned char)USART_CheckTx(SERIAL_PORT port)

Parâmetros de entrada Porta USART que se pretende utilizar (SERIAL_PORT port)

Parâmetros de saída Dados que faltam enviar e se encontram armazenados em buffer

(unsigned char)

Requisitos Execução prévia das funções USART_Start() e USART_Transmit()

Descrição Verifica se há dados por enviar na interface USART em utilização

Tabela 5.14 — Função USART_Mirror

Declaração da função (void)USART_Mirror(SERIAL_PORT p1, SERIAL_PORT p2)

Parâmetros de entrada Porta USART que se pretende utilizar como fonte de tráfego

(SERIAL_PORT p1) e porta USART que replica o tráfego capturado

(SERIAL_PORT p2)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função USART_Start() para ambas as portas

Descrição Replicação do conteúdo de uma porta USART para outra porta

USART (tanto tráfego ascendente, como descendente)

Page 78: Dissertação v1.0

58

Tabela 5.15 — Função USART_MirrorClear

Declaração da função (void)USART_MirrorClear(SERIAL_PORT p1)

Parâmetros de entrada Porta USART que se pretende selecionar para deixar de replicar

tráfego (SERIAL_PORT p1)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia das funções USART_Start() e USART_Mirror()

Descrição Desativa a função de replicação do tráfego de uma porta USART

para outra

Tabela 5.16 — Função USART_Flush

Declaração da função (void)USART_Flush(SERIAL_PORT p1)

Parâmetros de entrada Porta USART que se pretende selecionar (SERIAL_PORT p1)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função USART_Start() e USART_Receive()

Descrição Liberta o conteúdo presente no buffer de dados que aguardam

receção

Tabela 5.17 — Função USART_Write

Declaração da função (unsigned short)USART_Write(SERIAL_PORT port, const unsigned

char* data, unsigned short size)

Parâmetros de entrada Porta USART que se pretende usar (SERIAL_PORT p1), dados que se

pretendem enviar (const unsigned char * data) e tamanho dos

dados (unsigned short size)

Parâmetros de saída Número de caracteres escritos com sucesso (unsigned short)

Requisitos Execução prévia da função USART_Start()

Descrição Envia dados através da interface USART selecionada, caracter a

caracter

Tabela 5.18 — Função USART_Read

Declaração da função (unsigned short)USART_Read(SERIAL_PORT port, const unsigned

char* data, unsigned short size)

Parâmetros de entrada Porta USART que se pretende usar (SERIAL_PORT p1), dados que se

pretendem ler (const unsigned char * data) e tamanho dos dados

(unsigned short size)

Page 79: Dissertação v1.0

59

Declaração da função (unsigned short)USART_Read(SERIAL_PORT port, const unsigned

char* data, unsigned short size)

Parâmetros de saída Número de caracteres lidos com sucesso (unsigned short)

Requisitos Execução prévia da função USART_Start()

Descrição Recebe dados através da interface USART selecionada, caracter a

caracter

Tabela 5.19 — Função USART_SetFlowControl

Declaração da função (void)USART_SetFlowControl(SERIAL_PORT port,

USART_HANDSHAKE flow)

Parâmetros de entrada Porta USART que se pretende usar (SERIAL_PORT p1), configuração

do controlo de fluxo (USART_HANDSHAKE flow)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função USART_Start()

Descrição Gestão do controlo de fluxo para a porta USART selecionada (ligado

ou desligado)

5.3.4 – Configuração de pinos específicos

Para utilizar o módulo de comunicação GSM, além da interface USART, foi necessário

recorrer a mais alguns sinais de controlo que permitissem o correto funcionamento deste

dispositivo. Estes sinais de controlo obrigaram à configuração de pinos no microprocessador

dedicados especificamente a esse efeito, à sua inicialização e a funções que permitissem o

seu controlo.

O módulo de localização GPS necessita de um pino específico para habilitar/desabilitar a

alimentação de recurso, ou seja, este pino serve como interruptor entre a alimentação

dedicada exclusivamente para o GPS e a dedicada para os restantes módulos, isto é, há

alimentação do módulo de localização pelo LDO geral do sistema (através da bateria de

recurso instalada no verso da placa de circuito), sempre que o LDO do GPS esteja desligado.

O controlo e a configuração de pinos específicos requereram o desenvolvimento de

algumas funções:

- IO_Start – Inicialização dos pinos utilizados para comunicação com GSM e GPS;

- IO_GSM_ON_OFF – Ligar/desligar o GSM;

- IO_GSM_DTR – Inicia/termina uma chamada;

- IO_GSM_RESET – Força um reset no GSM;

- IO_GSM_VIO – Verifica o estado do GSM;

- IO_GSM_RI – Verifica se o GSM está em chamada;

- IO_GSM_DCD – Verifica se o GSM está ligado à rede;

- IO_LDO_SWITCH – Ativa/desativa a alimentação primária do GPS.

Page 80: Dissertação v1.0

60

Tabela 5.20 — Função IO_Start

Declaração da função (void)IO_Start(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Descrição Inicialização de pinos de controlo para os módulos GSM e GPS

Tabela 5.21 — Função IO_GSM_ON_OFF

Declaração da função (void)IO_GSM_ON_OFF(enum IO_FLAG flag)

Parâmetros de entrada Flag de controlo do pino GSM_ON_OFF (enum IO_FLAG flag)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função IO_Start()

Descrição Controlo do pino GSM_ON_OFF

Tabela 5.22 — Função IO_GSM_DTR

Declaração da função (void)IO_GSM_DTR(enum IO_FLAG flag)

Parâmetros de entrada Flag de controlo do pino GSM_DTR (enum IO_FLAG flag)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função IO_Start()

Descrição Controlo do pino GSM_DTR

Tabela 5.23 — Função IO_GSM_RESET

Declaração da função (void)IO_GSM_RESET(enum IO_FLAG flag)

Parâmetros de entrada Flag de controlo do pino GSM_RESET (enum IO_FLAG flag)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função IO_Start()

Descrição Controlo do pino GSM_RESET

Tabela 5.24 — Função IO_GSM_VIO

Declaração da função (uint8_t)IO_GSM_VIO(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Flag de controlo do estado ON ou OFF do GSM (uint8_t)

Requisitos Execução prévia da função IO_Start()

Page 81: Dissertação v1.0

61

Declaração da função (uint8_t)IO_GSM_VIO(void)

Descrição Verificação do estado de inicialização do modem GSM

Tabela 5.25 — Função IO_GSM_RI

Declaração da função (uint8_t)IO_GSM_RI(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Flag de controlo do estado de chamada em curso do GSM(uint8_t)

Requisitos Execução prévia da função IO_Start()

Descrição Verifica se o modem GSM está em ligação/chamada

Tabela 5.26 — Função IO_GSM_DCD

Declaração da função (uint8_t)IO_GSM_DCD(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Flag de controlo do DCD do GSM (uint8_t)

Requisitos Execução prévia da função IO_Start()

Descrição Verifica o estado do DCD

Tabela 5.27 — Função IO_LDO_SWITCH

Declaração da função (void)IO_LDO_SWITCH(enum IO_FLAG flag)

Parâmetros de entrada Sinal de controlo do LDO do GPS (enum IO_FLAG flag)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função IO_Start()

Descrição Controlo do LDO do GPS e entrada em funcionamento do LDO geral

do sistema, por substituição.

5.3.5 – Systick

A função de temporizador foi implementada utilizando o Systick. O Systick é um relógio

interno do microprocessador através de um valor temporal pré-estabelecido que, quando é

atingido, origina uma interrupção.

Para a implementação foi necessária a inicialização deste mecanismo, que é feita nos

ficheiros de cabeçalho e fonte designados por timer, e nos ficheiros que contêm as definições

dos vetores de interrupções predefinidos do microcontrolador, o stm32f10x_it.

As funções criadas foram, então, as seguintes:

- TC1_Start – Inicializa o temporizador;

- SysTick_Handler – Rotina da interrupção que conta o tempo passado entre interrupções;

Page 82: Dissertação v1.0

62

Tabela 5.28 — Função TC1_Start

Declaração da função (void)TC1_Start(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Descrição Inicialização do contador que vai gerar interrupções regulares

Tabela 5.29 — Função Systick_Handler

Declaração da função (void)Systick_Handler(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Esta função tem de ser escrita no ficheiro stm32f10x_it.c, onde

residem as implementações dos vetores de interrupções do

microprocessador

Descrição Interrupção Systick

5.3.6 - Watchdog

Um watchdog é um mecanismo existente no microcontrolador, que efetua um reset ao

sistema, sempre que se verifica uma condição de erro, ou sempre que uma determinada

condição especificada não ocorre, como, por exemplo, o contador do watchdog não renovar.

A sua utilização é importante visto que o sistema opera em tempo real, razão pela qual,

no caso do acontecimento de algo imprevisto, este é capaz de voltar a um estado inicial

conhecido.

As funções desenvolvidas para aplicar e controlar este mecanismo foram:

- wdt_on – Inicia o watchdog;

- wdt_off – Desativa o watchdog;

- wdt_reset – Força o reset do watchdog.

Tabela 5.30 — Função wdt_on

Declaração da função (void)wdt_on(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Descrição Inialização do watchdog com um determinado valor para o timer

que gera os resets

Page 83: Dissertação v1.0

63

Tabela 5.31 — Função wdt_off

Declaração da função (void)wdt_off(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função wdt_on()

Descrição Desativa o watchdog

Tabela 5.32 — Função wdt_reset

Declaração da função (void)wdt_reset(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Execução prévia da função wdt_on()

Descrição Força um reset do watchdog

5.4 – CAN

A comunicação através de CAN foi projetada para ser levada a cabo através de apenas

dois sinais: um de transmissão de dados (CAN_TX) e outro de receção de informação

(CAN_RX), não sendo necessários sinais de alimentação uma vez que a versão do

microprocessador utilizada no sistema (versão STM32F103RC de 64 pinos, compatível com a

totalidade do hardware desenvolvido) suporta nativamente este protocolo.

Para proceder a esta implementação selecionou-se o padrão 1.2 do protocolo de

transferência de dados CAN. Este padrão indica qual a formatação que os dados devem

respeitar para poderem ser corretamente interpretados por qualquer nó presente no

barramento.

A especificação CAN1.2 descreve o formato das tramas de dados e, no que toca ao

Arbitration Field, consigna onze bits para um identificador e um bit para a definição do tipo

de trama em curso na rede. Em alternativa poder-se-ia ter usado o padrão CAN2.0, que

requer o suporte não só para o formato padrão das tramas de dados, mas também para um

formato extenso que especifica 29 bits para o Arbitration Field.

Uma vez que a finalidade desta rede é a recolha de dados de um barramento OBD2 de

uma viatura sem fins de diagnóstico de “DTC’s”, tal não se revela necessário.

De modo a obter informações do sistema de diagnóstico a bordo de um veículo, recorre-se

ao padrão SAE J1979, definido para o efeito, onde estão especificados os endereços

funcionais (“PID’s”) que habilitam o acesso a esses dados disponibilizados pelas unidades de

controlo eletrónicas (ECU) [40]. É importante referir que apesar dos endereços funcionais

serem padronizados, nem todos são acessíveis, dado que alguns são específicos de um

determinado fabricante automóvel.

O padrão SAE J1979 define também a organização do conteúdo no Data Field do protocolo

CAN. Especifica o tamanho do campo DTC das tramas de dados, que vai ter um valor fixo,

Page 84: Dissertação v1.0

64

igual a oito (ao que corresponde o comprimento máximo do campo de dados - oito bytes), o

que deve ser transmitido no campo de dados, e a disposição da informação recebida dos nós.

A requisição de dados a uma ECU procede-se da seguinte forma:

- Envio de uma trama de dados com um identificador de broadcast, que o protocolo SAE

indica como sendo o endereço funcional 0x7DF (0x indica que o número se encontra em

hexadecimal);

- O conteúdo do campo de dados inclui, no primeiro byte, o número de bytes adicionais

utilizados para configurar o modo de operação e o código PID da informação que se pretende

obter do veículo;

- Os restantes bytes do campo de dados são preenchidos com o valor 0x55, uma vez que

não têm qualquer utilização na query.

Os modos de operação disponíveis para OBD2 pelo padrão SAE J1979 encontram-se

indicados na tabela 5.33:

Tabela 5.33 — Modos de operação no padrão OBD2 SAE J1979

Modos de operação

0x01 Mostrar dados em tempo real

0x02 Mostrar dados num determinado instante

0x03 Mostrar Diagnostic Trouble Codes armazenados

0x04 Limpar valores guardados e Diagnostic Trouble Codes

0x05 Resultados dos testes para os sensores de monitorização de oxigénio (excepto

para redes CAN)

0x06 Resultados dos testes de monitorização do sistema e outros componentes (testes,

sensores de monitorização de oxigénio apenas para CAN)

0x07 Mostrar Diagnostic Trouble Codes pendentes

0x08 Operações de controlo de sistemas/componentes a bordo

0x09 Requisitar informação do veículo

0x0A Diagnostic Trouble Codes permanentes

A resposta do pedido de dados ao barramento resulta numa trama de dados com as

características seguintes:

- O byte zero do campo de dados indica o número adicional de bytes que contêm

informação relevante, podendo variar entre 3 e 6;

- O byte um indica o modo de operação, adicionados 0x40, ao valor contido na query;

- O byte dois contém o código PID;

- Os bytes três a seis contêm os dados enviados pela ECU, correspondentes ao PID do byte

dois.

As funções realizadas para utilizar o barramento CAN foram:

- lerOBD2 – Lê um parâmetro do barramento OBD2;

- varrimentoOBD2 – Lê todos os parâmteros disponíveis do barramento OBD2;

- consumoMedio – Calcula o consume médio do veículo durante um percurso;

Page 85: Dissertação v1.0

65

- consumoInstantaneo – Devolve o consume instantâneo do veículo;

- CAN_Start – Inicializa o CANBus;

- CAN_waitReady – Verifica se é possivel receber dados;

- CAN_wrMsg – Escreve no barramento CAN;

- CAN_rdMsg – Lê dados do barramento CAN;

- CAN_wrFilter – Filtra dados recebidos.

As últimas quatro funções (CAN_waitReady, CAN_wrMsg, CAN_rdMsg e CAN_wrFilter)

foram baseadas no código fonte desenvolvido pela Keil, para uma placa de teste com a

finalidade de demonstrar o uso de um periférico CAN, e foram adaptadas a este projeto.

Tabela 5.34 — Função lerOBD2

Declaração da função (float)lerOBD2(uint8_t pid)

Parâmetros de entrada Byte com o código pid que se pretende ler (uint8_t pid)

Parâmetros de saída Valor enviado pela ECU para o parâmetro OBD2 requerido (float)

Requisitos Nenhum

Descrição Obtém informação específica do veículo através de um código

padrão SAE J1979

Tabela 5.35 — Função varrimentoOBD2

Declaração da função (void)varrimentoOBD2(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Descrição Faz uma leitura de todos os dados do veículo e coloca-os num

ficheiro

Tabela 5.36 — Função consumoMedio

Declaração da função (float)consumoMedio(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Valor do consumo médio de combustível (float)

Requisitos Nenhum

Descrição Calcula o consumo médio de combustível tendo por base o consumo

instantâneo e o tempo de funcionamento do motor.

Page 86: Dissertação v1.0

66

Tabela 5.37 — Função consumoInstantaneo

Declaração da função (float)consumoInstantaneo(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Valor do consumo instantêno de combustível (float)

Requisitos Nenhum

Descrição Devolve o valor da ECU para o consumo instantâneo de combustível

Tabela 5.38 — Função CAN_Start

Declaração da função (void)CAN_Start(void)

Parâmetros de entrada Nenhum (void)

Parâmetros de saída Nenhum (void)

Requisitos Nenhum

Descrição Inicialização dos pinos e dos sinais de relógio necessários para

utilizar a interface CAN

Dos inúmeros parâmetros a que o OBD2 permite acesso, foram selecionados os seguintes

para integrar este sistema:

- Temperatura do líquido de refrigeração do motor;

- Mistura de ar e combustível no motor;

- Pressão do combustível;

- Pressão no coletor de admissão, em termos absolutos;

- Rotações do motor, por minuto;

- Velocidade instantânea do veículo;

- Desvio temporal dos cilindros em relação ao primeiro;

- Temperatura do ar de admissão;

- Fluxo da massa de ar que é injetada no motor (apenas para motorizações baseadas no

princípio da combustão);

- Posição do acelerador;

- Tempo passado desde que o motor foi ligado;

- Distância percorrida desde que o indicador MIL foi ativado;

- Pressão nos tubos de combustível;

- Controlo do gás resultante da combustão que é reaproveitado (quanto mais eficiente for

este controlo, maiores vão ser as reduções das emissões de gases poluentes);

- Estimativa do erro de controlo no circuito de realimentação do gás resultante da

combustão do motor;

- Nível de combustível;

- Pressão atmosférica;

- Tensão de funcionamento do módulo de controlo;

- Valor de pico do torque disponível;

- Rácio entre os valores apresentados pelos sensores de oxigénio do motor em circuito

aberto e fechado;

Page 87: Dissertação v1.0

67

- Posição do acelerador em relação ao valor expectável;

- Temperatura ambiente no exterior do veículo;

- Controlo do atuador do acelerador;

- Tempo passado desde que o indicador MIL foi ativado;

- Tipo de combustível do veículo;

- Torque de referência do motor;

- Aceleração em relação à posição do pedal;

- Tempo restante da bateria híbrida (em caso de veículo híbrido elétrico);

- Temperatura do óleo do motor;

- Taxa de consumo de combustível (L/h).

O critério utilizado para a escolha dos parâmetros a ler do barramento OBD2 foi o de

obter informações que fossem padronizadas, isto é, independentes do fabricante do veículo,

e com relevância para o controlo, em termos do sistema de gestão de frotas.

5.5 – Wi-Fi

No que diz respeito ao módulo de comunicação Wi-Fi, não foram criados novos ficheiros

de raiz, no entanto, utilizaram-se os ficheiros disponibilizados gratuitamente pelo fabricante,

a Microchip, que incluem não só a pilha TCP/IP, mas também os protocolos AES, SSL, SMTP e

IEEE 802.11b.

5.6 – Sumário

Neste capítulo foi exposto o desenvolvimento de software levado a cabo no projeto. Foi

feita a descrição do ambiente de desenvolvimento, como foi efetuada a definição das secções

de código, as funcionalidades implementadas e a análise detalhada de cada um dos blocos.

Page 88: Dissertação v1.0

68

Page 89: Dissertação v1.0

Capítulo 6

Validação da solução

Este capítulo apresenta os testes que foram efetuados para certificar o software e o

hardware produzidos neste projeto, de forma a garantir que o funcionamento e desempenho

estão de acordo com os requisitos iniciais.

6.1 – Testes efetuados ao hardware

Para atestar o funcionamento do hardware, foi realizado um conjunto de testes. Esse

conjunto de testes visou garantir que os circuitos de alimentação do sistema e carga estavam

corretamente dimensionados para o sistema projetado que engloba, como foi mostrado ao

longo da dissertação, um vasto lote de dispositivos eletrónicos que também eles necessitam

de uma verificação no que toca às ligações efetuadas entre eles e ao respeito das regras de

desenho da plataforma física onde se encontram integrados.

6.1.1 – Circuito de alimentação

O teste do circuito de alimentação consistiu em verificar se a fonte de alimentação

proveniente da viatura iria capaz de transmitir a corrente e as tensões necessárias para o

correto funcionamento do sistema projetado.

Com vista a simular as condições existentes na placa de circuito impresso, foram

utilizados o seguinte conjunto de materiais: uma breadboard, uma fonte de tensão de 12 V,

um regulador de tensão 34063AP, uma bobina PE53112NL, resistências com valores 1K8Ω,

4K7Ω, 10KΩ, 3K3Ω e 0Ω (aproximadamente), condensadores de 1 nF, 2200 µF e 10 nF, díodos

de Schottky, transístores bipolares de junção 2N3904 e 2N3906 (canal n e p, respetivamente),

um voltímetro e um amperímetro.

A verificação foi levada a cabo através do seguinte conjunto de passos:

- Montagem do circuito de teste conforme apresentado na figura 6.1, que corresponde ao

esquema de circuito apresentado no capítulo 4, na figura 4.2;

- Ligar a fonte de tensão de 12 V;

Page 90: Dissertação v1.0

70

- Co

encontra

o ponto

- Re

realimen

corrente

- Co

impleme

- Reg

Os re

- Va

V±0,01V

- Val

- Val

- Val

Este

tensão e

desejado

situada

(corrent

Apes

verifica

tensão e

bateria.

om o voltíme

a no termina

de funciona

ecorrendo no

ntação, isto

e;

om o ampe

entada pelos

gisto dos res

esultados do

alor da tens

V;

lor da tensão

lor da tensão

lor da corren

es resultados

encontra-se

os. Permitem

entre os 3,

te máxima de

sar de os 4,

uma vez qu

entre os 0,2

etro medir o

al CII (Comp

amento, que

ovamente ao

é, à entrad

erímetro, m

s transístores

sultados obti

Figura

o teste do cir

são nos term

o à saída da

o à saída da

nte à saída d

são satisfat

nos 1,25 V e

m igualment

,9 e os 4,2

e carregame

0 V parecer

ue os díodos

2 e 0,4 V, o

o valor do d

parator Inver

deve estar s

o voltímetro

a da fonte d

medir o valo

s bipolares d

idos:

a 6.1 – Teste

rcuito de alim

minais da r

malha de re

fonte de cor

da fonte de c

órios, uma v

exigidos, o v

te que a ali

V) faça um

ento é 260 m

em uma ma

s de Schottk

que aument

divisor de te

rting Input)

situado nos 1

o, medir o v

de corrente

or da corre

de junção;

e do circuito

mentação fo

resistência d

ealimentação

rrente 4,0 V

corrente 205

vez que o po

valor de tens

imentação d

ma carga sat

mA, corrente

argem reduzi

ky presentes

ta as garant

ensão na res

do regulado

1,25 V;

valor da ten

e, posteriorm

ente à saíd

o de alimenta

oram:

de 1K8Ω, do

o 4,5 V±0,1 V

±0,2 V;

5 mA±9 mA.

onto de funci

são e corren

da bateria de

tisfatória nu

para carrega

ida para as

s no circuito

tias de segur

sistência de

r de tensão,

nsão à saída

mente à saíd

da da fonte

ação

o divisor de

V;

onamento d

nte à saída d

e recurso (q

um período

amento obtid

especificaçõ

o provocam

rança no car

1K8Ω, que

, para verific

a da malha

da da fonte

e de corren

e tensão, 1,

do regulador

da fonte são

que deve es

de tempo ú

da 205 mA).

ões, tal não

uma queda

rregamento

se

car

de

de

nte

,25

de

os

tar

útil

se

de

da

Page 91: Dissertação v1.0

71

ve

co

ap

ve

m

am

va

2N

R7

re

po

co

6.1.2 – C

O teste d

erificação de

onsegue proc

penas após, t

eículo. Após

esmos padrõ

Para cump

mperímetro,

alores de 47K

N3904 e 2N3

7807Z de can

Para prova

- Montage

- Verificaç

- Ligação d

- Separaçã

- Verificaç

- Com a

eóstato, à me

- Com o

otenciómetro

- Registo d

Fig

Os resulta

- A bateria

omo se mostr

Circuito

o circuito d

e que o circu

ceder ao fe

ter sido emp

o fecho do

ões que a ali

prir este tes

um voltíme

KΩ, 10KΩ, 1K

3906 (canal n

nal n) e um r

ar o funciona

m e ligação

ção do estado

da fonte de t

ão do circuito

ção do estado

ajuda do a

edida que se

auxílio do v

o, enquanto

dos resultado

gura 6.2 – Te

dos obtidos

a foi ligada

ra na figura

de encra

e encravam

uito apresent

echo do circ

pregada, pela

o circuito, a

mentação or

ste, foram u

tro, uma ba

KΩ e 22KΩ, d

n e p, respe

reóstato para

amento deste

dos compone

o do díodo e

tensão que s

o de aliment

o do LED;

amperímetro

e altera o val

voltímetro,

é realizado

os observado

este do circu

para o teste

ao circuito d

6.2;

avamento

mento da bat

tado na figur

cuito de util

a primeira v

a bateria dev

riginal.

utilizados os

teria de 6 V

díodos de Sc

etivamente),

a simular a c

e circuito se

entes como

emissor de lu

simula a prov

tação;

o, medir a

lor da sua re

medir o va

o passo ante

os:

uito da bater

e do circuito

de latchup,

o da bate

teria, ou cir

ra 4.5 do cap

lização e ca

vez, a alimen

verá ser cap

s seguintes m

V, condensad

chottky, dois

um transíst

carga da bat

eguiu-se o su

disposto na

uz (LED);

veniente do

corrente fo

esistência;

alor da qued

erior;

ria, estado in

de encravam

não sendo v

eria

rcuito de lat

pítulo 4 da p

arregamento

ntação prove

paz de alim

materiais: u

ores de 100

transístores

tor de efeito

eria.

bsequente p

figura 6.2;

circuito de a

rnecida à c

da de tensã

nicial, com b

mento da bat

visível a pres

tchup, base

presente diss

o da bateria

eniente da ba

mentar o sist

uma breadbo

nF, resistên

s bipolares d

o de campo

procedimento

alimentação

carga simula

ão nos term

bateria ligad

teria foram:

sença de luz

ou-se na

sertação,

após, e

ateria do

tema nos

oard, um

cias com

de junção

(MOSFET

o:

;

ada pelo

minais do

da

z no LED,

Page 92: Dissertação v1.0

72

- Qu

presença

- Aq

como é

- Par

uma ten

- Na

carregam

corrente

Os r

consegu

uando o circ

a de luz no L

Figura 6.

uando da se

notório na fi

Figura 6.4 –

ra o reóstato

nsão nos seus

a posição re

mento, verif

e de 100 mA

resultados d

ido com suc

cuito de alim

LED, como se

.3 – Teste do

eparação do

igura 6.4, ve

– Teste do ci

o, na posição

s terminais d

presentante

ficou-se um

;

este teste s

cesso. Porém

mentação é

e pode comp

o circuito da

circuito de

erificando-se

ircuito da ba

o correspond

de 3,9 V e um

da bateria

a tensão no

são aceitáve

m, a queda d

ligado ao ci

provar na fig

bateria, com

alimentação

e o encravam

ateria, estad

dente à bate

ma corrente

com carga

os terminais

eis, uma vez

da corrente

ircuito de e

ura 6.3;

m bateria e a

o, a emissão

mento;

o final, apen

eria toda des

de 212 mA;

quase comp

s do potenc

z que o enc

fornecida a

ncravamento

alimentação

o de luz no L

nas com bate

carregada, d

pleta, ou sej

ciómetro de

cravamento

o reóstato,

o, denota-se

o ligadas

LED prevalec

eria ligada

documentou

ja, no final

3,7 V e um

da bateria

é consideráv

e a

ce,

-se

do

ma

foi

vel

Page 93: Dissertação v1.0

73

(1

pe

in

ci

no

es

er

Di

co

av

6

fu

ta

de

fig

m

es

ac

3

12 mA), sen

eríodo de ca

6.1.3 – E

O ERC (El

cluídas no s

rcuito impre

O ERC, qu

o esquemáti

scapado ao p

rros e/ou avi

O DRC tem

ito por outra

omponentes,

visos que o c

6.2 – Te

Os testes

unções que

ambém que s

A realizaç

e teste e de

gura 6.5 e,

emória Flash

A placa p

specificado p

cesso a LED’s

ndo este fato

rga, ainda q

ERC e DR

lectrical Rul

software uti

esso.

ando execut

ico, evitand

projetista, q

isos apresent

m uma funçã

as palavras, a

ou falhas n

criador do pr

estes efe

efetuados a

foram prod

se integram

ão dos teste

senvolvimen

numa segun

h externa, p

Figura 6.5

possui acesso

para a placa

s, botões de

or o resulta

ue dentro do

RC

le Check) e

ilizado para

tado, faz um

o desta for

que pode po

tados, caso e

ão paralela

assinala todo

no cumprime

ojeto pode c

etuados a

ao software

uzidas, real

no restante

es foi levada

nto do micro

nda fase, a

ara assegura

– Placa de t

o aos pinos

a de circuito

pressão e te

do menos p

os limites to

e o DRC (De

a a criação

ma listagem d

rma que haj

steriormente

estes sejam

ao ERC, mas

os os erros e

ento dos req

corrigir ou ap

ao softw

visaram gar

lizam os ob

código reuti

a a cabo, nu

oprocessador

referida pla

ar a portabili

teste do micr

do microp

o impresso

este de comu

ositivo, uma

leráveis.

esign Rule C

do esquemá

de todos os e

ja ligações

e, proceder

conhecidos o

s para o des

e incoerência

quisitos de f

provar media

ware

rantir não só

bjetivos para

lizado e prov

ma primeira

r, a STM32VL

ca é utilizad

idade dos blo

roprocessado

rocessador S

e serviu de

unicação atr

a vez que im

Check) são d

ático e o de

erros e incoe

mal efetuad

a uma apro

ou proposita

senho de um

as encontrad

fabrico, sob

ante a neces

ó que o firm

a os quais

veniente da

a fase, utiliz

LDiscovery,

da com os m

ocos de códi

or, STM32VL

STM32F100R

base para o

ravés da inte

mplica o aum

duas funcion

esenho da

erências enc

das ou que

ovação de al

ados.

ma placa de

das na dispos

b a forma de

ssidade.

mware e as r

foram criad

UMI.

zando apenas

que se apre

módulos GSM

igo criados.

LDiscovery

RC, que é o

os testes bá

erface USART

mento do

nalidades

placa de

contradas

tenham

lguns dos

circuito.

sição dos

e erros e

restantes

das, mas

s a placa

esenta na

M, GPS e

o modelo

ásicos de

T.

Page 94: Dissertação v1.0

74

6.2.1 – Leitura e escrita em memória Flash

O teste de leitura e escrita em memória Flash externa, ensaiou o uso da comunicação

através da interface SPI, além de ter verificado que o respetivo bloco de código se integrava

com o módulo de armazenamento de dados.

O teste consistiu em realizar uma escrita no dispositivo de armazenamento e posterior

verificação do sucesso da escrita, através de uma leitura do conteúdo presente na memória:

- Foi feita uma escrita na Flash com o seguinte conteúdo:

“ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”;

- Verificou-se se a escrita tinha sido efetuada com sucesso, através do valor de retorno da

função responsável pela escrita que, em caso de sucesso devia ainda acender um LED (LED

emite luz - sucesso, ausência de luz - insucesso, possibilitando desta forma confirmação

visual imediata);

- Fez-se uma operação de leitura na memória Flash e seguiu-se o mesmo mecanismo de

verificação;

- Desligou-se a placa de desenvolvimento e fez-se nova operação de leitura, para

confirmar a presença dos dados em memória.

Este teste foi repetido para vários endereços de memória diferentes.

Foram cumpridos os objetivos desta prova, uma vez que houve confirmação do sucesso

das leituras e escritas (no ambiente de desenvolvimento Eclipse foi possível atestar a

informação presente nas posições de memória escritas e lidas), o facto de se ter desligado a

alimentação da placa de teste não interferiu com o conteúdo presente em memória.

6.2.2 – Conversão de sinais analógicos

O propósito do teste da conversão se sinais analógicos para digitais, teve como finalidade

a validação do código desenvolvido para o ADC do microprocessador. A conversão necessitava

de apresentar sucesso, tanto recorrendo a interrupções, como sem recurso a estas. Os passos

que foram seguidos neste teste foram:

- Foram simulados valores analógicos variáveis do mundo físico utilizando um

potenciómetro (variando o valor da resistência);

- Foram recolhidos todos os valores dos quatro canais definidos para o ADC, utilizando os

dois métodos de amostragem.

Este teste foi realizado com sucesso, dado que ambos os métodos de conversão

recolheram valores digitais da forma de onda de entrada, tendo-se verificado que o método

de amostragem recorrendo a interrupções apresentou resultados mais precisos, quando o

teste foi repetido várias vezes, quando comparado com o método que não as utilizou.

6.2.3 – Systick

O objetivo do teste do Systick foi o de atestar o funcionamento deste temporizador.

Este teste baseou-se numa premissa muito simples: iniciou-se o timer do sistema,

configurou-se um LED para piscar cada vez que uma interrupção fosse gerada e verificou-se o

resultado, para janelas temporais diferentes. A prova foi concluída com sucesso, pois o LED

piscou a velocidades diferentes consoante o valor da janela escolhido. Este teste apenas

Page 95: Dissertação v1.0

75

comprovou o funcionamento do timer para janelas temporais definidas, não oferecendo

garantias quanto aos valores exatos das unidades temporais.

6.2.4 – GPS

O teste do GPS consistiu na receção de mensagens no formato NMEA, utilizadas apenas

para simular da chegada de posições de um percurso. O código desenvolvido para a interface

USART e a integração deste com o código já desenvolvido para o módulo GPS foram os

grandes testados.

Ligou-se o pino com a função de envio de dados via USART do GPS, ao pino responsável

pela receção de dados do microprocessador. Já no programa de teste inicial, inicializou-se a

porta USART2 e a função GPS_Manage(), por esta ordem (a requisição de informação é feita

pela função GPS_Manage(), utilizando a USART2).

Com recurso ao Debug do Eclipse, verificou-se no vetor de informação recebida (da porta

USART2 RX) a receção do conteúdo das mensagens e, portanto, o sucesso da experimentação.

6.2.5 – GSM

No módulo de comunicação GSM foi testado o envio e a receção de mensagens utilizando

o módulo GSM, enviando comandos AT e observando as respostas.

Ligou-se o pino com a função de envio de dados via USART do GSM (TX) ao pino

correspondente no microprocessador à receção de dados via USART (RX). O pino de receção

de dados do GSM foi ligado ao correspondente no microprocessador à semelhança do que foi

acima descrito.

Recorrendo ao Debug do Eclipse confirmou-se, no conteúdo dos vetores RX e TX do GSM, a

troca de informação bem-sucedida entre o GSM e o microprocessador, ou seja, o sucesso do

teste.

6.2.6 – CAN

O teste a realizar à interface CAN vai consistir na análise do tráfego das tramas entre o

microprocessador e o sistema OBD2 de um veículo.

Em primeiro lugar o sistema de diagnóstico a bordo da viatura vai ser inquirido sobre

quais os parâmetros que suporta, ou seja, qual a informação que disponibiliza.

Em segundo lugar, enviam-se tramas de dados pelo barramento que deverá responder

com a informação requisitada.

Os pedidos a efetuar são selecionados da lista que o sistema projetado suporta, sendo

destes exemplo:

- O valor das rotações por minuto do motor;

- A temperatura ambiente;

- O tipo de combustível da viatura.

Em terceiro lugar comprova-se o cálculo do consumo médio comparando os valores

obtidos com os apresentados pelo computador de bordo do veículo.

Page 96: Dissertação v1.0

76

Através do modo de Debug do Eclipse faz-se uma análise do conteúdo das tramas e, no

caso específico do pedido do tipo de combustível do veículo, verifica-se a interpretação da

informação direcionada para a porta USART3.

Este teste não foi ainda efetuado devido à plataforma de hardware disponível não conter

suporte nativo para a interface CAN.

6.3 - Sumário

Neste capítulo foram explicitados os testes realizados para garantir o correto

funcionamento do hardware pela medida da execução de testes aos circuitos de alimentação

e bateria para assegurar as tensões corretas para todos os componentes dispostos na PCB. Foi

feita uma verificação das ligações elétricas através da realização do ERC e uma comprovação

das regras de desenho da placa de circuito mediante a concretização do DRC. No que diz

respeito ao software, todos os blocos de código foram sujeitos a testes que oferecem

garantias quanto ao seu funcionamento, exceto os algoritmos gerados para o barramento CAN

que não puderam ser postos em prática devido à ausência da plataforma física de hardware,

que se encontra ainda em fase de produção.

Page 97: Dissertação v1.0

Capítulo 7

Conclusão e trabalhos futuros

Este capítulo final apresenta as conclusões que se podem retirar do projeto realizado,

uma exposição das melhorias introduzidas ao sistema, em relação a desenvolvimentos

anteriores, e ainda uma perspetiva acerca de trabalhos futuros.

7.1 – Conclusões

A presente dissertação teve como objetivo a realização de um sistema de localização e

controlo de viaturas utilizando tecnologia GPS e GSM.

Nesta medida, este trabalho reúne um levantamento das tecnologias com utilização

relevante para o sistema e uma comparação com produtos já existentes.

Foi tida em conta, e sempre como fundamental, a inclusão de uma componente inovadora

face ao produto que serviu de base ao projeto, tendo esta resultado no desenvolvimento

completo de uma nova placa de circuito impresso e melhoramentos ao nível do software que

dão resposta a uma arquitetura de sistema que incluiu um módulo de comunicações sem fios

e a possibilidade de utilizar um barramento CAN para comunicação com um veículo que

incorpore um sistema OBD2.

Da elaboração deste projeto resulta uma solução que vai ao encontro dos objetivos

propostos. Posto de uma forma mais explícita, foi criada uma plataforma física, devidamente

testada, que suporta a obtenção da localização GPS, a comunicação através de GSM com o

sistema e o armazenamento de dados obtidos durante o período de operação, utilizando

agora um processador de 32 bits da família ARM.

O hardware disponibiliza ainda um módulo de comunicação sem fios, em fase final de

desenvolvimento, que possibilita que os dados armazenados possam ser recolhidos para um

computador pessoal e aí visualizados, logo após a conclusão dos blocos de código necessários

e respetivos testes, isto é, todo o projeto da interface física foi concluído.

A este módulo junta-se a implementação de um barramento CAN que poderá ser ligado a

um veículo, para desta forma obter informações e diagnósticos sobre o seu funcionamento.

Para atestar do seu funcionamento é necessária a realização de um teste de tráfego de

dados, utilizando uma versão diferente (com a mesma package de 64 pinos) da mesma família

Page 98: Dissertação v1.0

78

do microprocessador escolhido, a versão STM32F103RG, que inclui o suporte para o referido

barramento e é totalmente compatível e integrável com todo o restante hardware projetado.

Uma vez que este microprocessador tem um custo superior, a sua utilização, como a

utilização do barramento CAN para diagnóstico (que requer ainda o uso de um conversor

RS232 para TTL - Transistor-Transistor Logic), deverá constituir uma funcionalidade extra e

não uma característica de base, ou seja, deverá dar origem a uma versão de uma gama mais

elevada, dado que requer mais e melhor hardware.

Do ponto de vista de projeto, os objetivos foram cumpridos com sucesso, o sistema é

funcional e após uma bateria mais exaustiva de testes juntamente com alguns

melhoramentos, poderá, enquanto produto, vir a ser comercializado após aperfeiçoamento

deste protótipo.

7.2 – Melhorias

O hardware resultante deste projeto revela uma melhoria significativa, em relação ao

produto anterior quando se tem em conta o facto de que para as mesmas dimensões do

produto (10cmx8cm), foram incluídos na placa de circuito impresso quatro módulos novos,

que poderão vir a ter implicações ao nível do aumento do valor de mercado de um futuro

produto que tenha por base este protótipo.

O armazenamento de dados foi melhorado na medida em que a capacidade de memória

pode agora ser aumentada recorrendo a cartões de elevada capacidade MicroSD.

A placa de circuito impresso dispõe agora de um rol mais alargado de soluções para a

transferência de dados de percursos, podendo esta ser feita a partir de uma rede Wi-Fi.

É possível recolher dados de uma viatura, recorrendo ao barramento CAN, que podem ser

utilizados para calcular consumos de combustível, verificar o estado do motor, nível de óleo e

outros parâmetros que sejam disponibilizados por unidades de controlo eletrónicas presentes

no veículo.

O esquema das antenas de GPS e GSM foi simplificado, uma vez que foram retirados os

caminhos realizados pelos conetores MMCX desde os terminais dos módulos até aos conetores

do invólucro de proteção (caixa exterior), graças ao novo posicionamento dos componentes,

que permite que estes se liguem diretamente aos conetores exteriores, sem no entanto

deixar de cumprir por completo, as especificações técnicas dos fabricantes.

A interface de programação e desenvolvimento regista agora um melhor aproveitamento,

estando apta para monitorizar o funcionamento não só dos módulos GPS e GSM, mas também

do módulo de comunicação sem fios. Acrescentou-se ainda a possibilidade desta interface

servir de ambiente de desenvolvimento para a integração de futuros periféricos, motivo pelo

qual dá acesso a um barramento completo de SPI, ao barramento CAN, uma entrada digital,

alimentação do circuito de 2,8 V e respetiva massa.

Em termos de firmware, este foi revolucionado, estando agora perfeitamente adaptado a

utilizar microprocessadores ARM de 32 bits de 64 pinos.

A caixa externa que serve de proteção à placa de circuito impresso necessita de ser

redesenhada a vários níveis, para poder ser utilizada para acondicionar o protótipo.

Começando pelo material de revestimento que atualmente é alumínio, deverá ser substituído

por um material à base de plástico, que apresente elevada resistência ao choque e vibrações.

O motivo desta substituição justifica-se com o facto do módulo Wi-Fi ser dotado de uma

antena interna, o que impede o revestimento com materiais metálicos (efeito de blindagem

Page 99: Dissertação v1.0

79

eletromagnética). As dimensões do invólucro deverão ser revistas, no que diz respeito à

altura, com vista à minimização desta, sendo a meta a atingir próxima dos 2,5 cm.

7.3 – Trabalhos futuros

Os futuros desenvolvimentos que deverão ser levados em conta a mais curto prazo,

prendem-se, em primeiro lugar, com a finalização do software necessário para a

implementação da comunicação sem fios segundo o protocolo IEEE 802.11b, que não foi

levada a cabo por manifesta falta de tempo. Em segundo lugar, dizem respeito à realização

do teste definido para a recolha de dados de um veículo, que não pôde ser concretizado uma

vez que a plataforma de testes utilizada não possuía suporte nativo para redes CAN.

A inclusão de uma tomada para um conetor USB (Universal Serial Bus) poderá facilitar a

utilização do barramento CAN, que caso contrário, terá de ser acedido através da interface

de programação e diagnóstico, como foi referido no ponto 7.2 deste capítulo.

A PCB poderá incluir mais um conjunto de dois díodos do tipo LED, para auxiliar na

identificação do funcionamento da comunicação Wi-Fi, ou seja, monitorização do estado do

componente (ligado ou desligado) e transferência de dados (em curso ou não utilizada), uma

vez que a perceção visual do funcionamento do módulo através do recipiente exterior evita a

necessidade de acesso à placa de circuito impresso.

Para incluir os dois últimos pontos (porta USB para CAN e conjunto de díodos luminosos)

sem alterar as dimensões do produto, poder-se-ia utilizar um outro módulo Wi-Fi, com

dimensões bastante mais reduzidas, o HDG104-WiFi com dimensões 7.1x7.7 mm, que realiza

as mesmas funções. Porém pode vir a trazer um grande aumento do custo de produção visto

que este componente é substancialmente mais caro que a solução já prevista e requer um

redesenho parcial da PCB.

A caixa exterior deverá ser substituída por uma em plástico que permita a utilização do

módulo de comunicação sem fios e o restante hardware, num meio agressivo e exigente como

é aquele onde se pretende que um produto deste tipo seja instalado.

Na placa de circuito impresso foi incluído o espaço, e as respetivas ligações, para uma

unidade de medição inercial, o ADXL345, constituído por um acelerómetro de três eixos que

visa possibilitar o reconhecimento de condução perigosa, acelerações abruptas, a ocorrência

de acidentes e o registo desse tipo de eventos anómalos. O desenvolvimento do software

para este dispositivo deve também ser uma tarefa a considerar no futuro próximo, uma vez

que pode introduzir um fator de controlo bastante atrativo para o utilizador do sistema de

gestão de frotas.

Page 100: Dissertação v1.0

80

Page 101: Dissertação v1.0

Referências

[1] João Filipe Ribeiro de Oliveira, Sistema Antirroubo de Veículos com GSM/GPS, Edições

FEUP 2011

[2] Tudo sobre Gestão Profissional de Frotas. Disponível em http://www.gestao-

frotas.com/tag/historia-e-evolucao/ Acedido em 7 de maio de 2012

[3] Global Positioning System Standard. Disponível em

http://www.navcen.uscg.gov/pubs/gps/sigspec/gpssps1.pdf Acedido em 5 de maio de 2012

[4] NMEA data. Disponível em http://www.gpsinformation.org/dale/nmea.htm Acedido em

16 de maio de 2012

[5] The GSM Standard. Disponível em

http://www.sans.org/reading_room/whitepapers/telephone/ Acesso em 17 de maio de 2012

[6] Bluetooth Vs 802.11b Wireless LANs. Disponível em

http://www.exforsys.com/tutorials/wireless/bluetooth-vs-802.11b-wireless-lans.html Acesso

em 5 de maio de 2012 [7] OBD On-Board Diagnostics System. Disponível em http://www.4x4brasil.com.br/forum/jeep-wrangler-cherokee/91657-obd-onboard-diagnostics-system.html Acesso em 22 de maio de 2012 [8] Seunghwan, L., P. YongWan, et al. (2006). Performance of WLAN 802.11B Standard at In-Vehicle Environment. 2006 6th International Conference on ITS Telecommunications Proceedings. [9] PT Negócios. Disponível em http://www.ptnegocios.pt/portal/site/negocios/menuitem.269f923fc057d24c29de769b851056a0/?vgnextoid=43f70ec778bd0310VgnVCM1000005401650aRCRD&view_name=null%2F%3F&gclid=CLS1_4PRu68CFYgifAodE2LbhA Acesso em 26 de maio de 2012 [10] Inofrota Trace. Disponível em http://www.inosat.pt/empresas/inofrota-trace.aspx Acesso em 26 de maio de 2012 [11] Serviços oferecidos MOVILOC®. Disponível em http://www.moviloc.com/index.php?option=com_content&view=article&id=7&Itemid=8&lang=pt&gclid=CN6L_4TRu68CFc4LtAodV1aIoA Acesso em 26 de maio de 2012 [12] Gosafe Company, Ltd. Disponível em http://www.gosafesystem.com/product.asp?id=293&type=Vehicle Trackers Acesso em 2 de junho de 2012 [13] Astra Telematics. Disponível em http://www.gps-telematics.co.uk/vehicle-tracking-products-at110.htm Acesso em 2 de junho de 2012 [14] Brick House Security. Disponível em http://www.brickhousesecurity.com/product/brickhouse+hct+pro+plus.do?sortby=bestSellers Acesso em 2 de junho de 2012 [15] Andrew S. Tanenbaum, Organização Estruturada de Computadores, 2007, 5ª Edição,

Prentice Hall [16] MMBT3904 Datasheet, Fairchild Semiconductor, outubro de 2011

Page 102: Dissertação v1.0

82

[17] MMBT3906 Datasheet, Fairchild Semiconductor, outubro de 2011 [18] 34063AP Datasheet, Advanced Analog Circuits, abril de 2005 [19] GE865 Datasheet, Telit, outubro de 2010 [20] LM317 Datasheet, National Semiconductors, fevereiro de 2011 [21] MRF24WB0MA Datasheet, Microchip, 2010-2011 [22] NEO-6M Datasheet, Ublox, 2011 [23] NTD18N06L Datasheet, ON Semiconductor, agosto de 2004 [24] STM32F103RC Datasheet, STMicrolectronics, abril de 2011 [25] SL868 Datasheet, Telit, maio de 2012 [26] TPS79328-Q1 Datasheet, Texas Instruments, setembro de 2011 [27] ZG2100M Datasheet, Microship, 2010 [28] LP-343944+PC Datasheet. Disponível em

http://www.bpi.com.es/pdf/Litio%20recargable/Li-Pol%C3%ADmero/Prism%C3%A1ticas/LP343944+PC%20-%20520%20-%20Tech%20Data%20sheet.pdf Acesso em 19 de maio de 2012

[29] HDG104-WiFi Datasheet, H&D Wireless, fevereiro de 2011 [30] STM32F100RC Datasheet, STMicrolectronics, abril de 2011 [31] ADXL 345 Datasheet, Analog Devices, 2009-2011 [32] AppCAD. Disponível em http://www.hp.woodshot.com/ Acesso em 1 de junho de 2012 [33] EAGLE PCB Software. Disponível em http://www.cadsoftusa.com/ Acesso em 15 de maio

de 2012 [34] The History of GPS. Disponível em http://www.nps.gov/gis/gps/history.html Acesso em

25 de junho de 2012 [35] Russia’s Glonass Navigation System. Disponível em

http://www.rferl.org/content/russia_launches_gps_system_satellite_glonass/24346967.html Acesso em 25 de junho de 2012

[36] ESA, European Space Agency. Disponível em http://www.esa.int/esaNA/galileo.html Acesso em 25 de junho de 2012

[37] China’s Satellite Navigation System. Disponível em http://news.discovery.com/space/china-navigation-satellite-system-111227.html Acesso em 25 de junho de 2012

[38] CAN Implementation. Disponível em http://sourceforge.net/apps/mediawiki/openecosys/index.php?title=NETVProtocolStack:CANImplementation#Reading_a_Variable_From_a_Node_.28Module.29 Acesso em 25 de junho de 2012

[39] OBD-II PIDs. Disponível em http://en.wikipedia.org/wiki/OBD-II_PIDs Acesso em 25 de junho de 2012

[40] SAE International. Disponível em http://standards.sae.org/j1979_200705 Acesso em 25 de junho de 2012

[41] CAN in Automation. Disponível em http://www.can-cia.org/index.php?id=164 Acesso em 25 de junho de 2012

Page 103: Dissertação v1.0