Download - 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
© Ricardo Alexandre Vaz Gomes, 2012
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.
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.
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!
ix
“A nossa maior fraqueza está em desistir.
O caminho mais acertado para vencer é sempre tentar só mais uma vez”
Thomas Edison
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
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
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
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
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
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
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
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
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
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.
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.
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).
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.
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.
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
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;
- 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
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].
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
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
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.
13
ISO
ve
re
da
te
(P
3
Figura 2
Nú
É 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
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,
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
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
17
di
or
de
em
to
tra
se
re
2
um
NI
(q
(c
m
e
As
1x
fo
Es
Ca
Fo
Co
Mó
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
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.
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
20
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
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
já
sou
a a
às
em
bos
de
sta
da
m o
tas
ma
de
ura
nte
da
ado
te,
ura
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
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.
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
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.
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.
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
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
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
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
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
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).
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
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
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 é
37
do
co
um
V
co
fo
re
lig
nã
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
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
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,
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
41
sin
(d
eq
de
de
da
co
Ju
sã
(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
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
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
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.
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:
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
1Ω
LE,
es.
nde
ao
as
ão,
1.
as
ma
ões
es,
das
47
ci
de
da
nú
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,
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
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.
50
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.
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
já
do
dos
ado
dos
P e
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
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
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.
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
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)
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)
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.
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()
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;
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
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,
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;
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.
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;
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.
68
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;
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
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,
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
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.
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
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.
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.
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
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
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.
80
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
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