Professional Documents
Culture Documents
FACULDADE DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA MECNICA
PUBLICAO:
BRASLIA: JUNHO - 2007
UNIVERSIDADE DE BRASLIA
FACULDADE DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA MECNICA
APROVADA POR:
_________________________________________________
Prof. Dr. Carlos Humberto Llanos Quintero (ENM-UnB)
(Orientador)
_________________________________________________
Prof. Dr. Ricardo Pezzuol Jacobi (CIC-UnB)
(Examinador Externo)
_________________________________________________
Prof. Dr. Liu Hsu (COPPE-UFRJ)
(Examinador Externo)
BRASLIA/DF,
2ii
FICHA CATALOGRFICA
CORREIA, ANDERSON PEREIRA
UM PROJETO DE CONTROLE DE MOVIMENTAO VEICULAR PROJETADO EM
UM PROCESSADOR EMBARCADO EM FPGA COM AMBIENTE DE SIMULAO
USANDO INSTRUMENTAO VIRTUAL [Distrito Federal] 2007.
xvii, 178p., 210 x 297 mm (ENM/FT/UnB, Mestre, Sistemas Mecatrnicos, 2007).
Dissertao de Mestrado Universidade de Braslia. Faculdade de Tecnologia.
Departamento de Engenharia Mecnica.
1.Automao Vecular
2.Computao Reconfigurvel
3.Processador Embarcados
4. Instrumentao Virtual
I. ENM/FT/UnB
REFERNCIA BIBLIOGRFICA
CORREIA., A. P. (2007). Processador Embarcado em Lgica Reconfigurvel para o
Controle de Movimentao de Veculo de Passeio. Dissertao de Mestrado em
Sistemas Mecatrnicos ENM.DM-14A/07, Departamento de Engenharia Mecnica,
Universidade de Braslia, Braslia, DF, 178p.
CESSO DE DIREITOS
AUTOR: Anderson Pereira Correia.
TTULO: Processador Embarcado em Lgica Reconfigurvel para o Controle de
Movimentao de Veculo de Passeio.
GRAU: Mestre
ANO: 2007
____________________________
Anderson Pereira Correia
Campus Universitrio Darcy Ribeiro.
Asa Norte, Gleba A, Colina Bloco K, apt 205.
3iii
AGRADECIMENTOS
A Deus que em todos os momentos sempre esteve a me conduzir em caminhos de paz,
mesmo nos momentos mais difceis, nunca me abandonou cuidando dos menores
detalhes em minha existncia.
Aos meus pais Pedro e Lcia por me educar e me ensinar o caminho da verdade.
Aos meus irmos Peterson, Andresa e Ismael por serem pessoas com as quais aprendi
muitas coisas nos mais importantes instantes de minha vida. Ao meu mais novo irmo
Luiz Toledo por tudo quanto me ensinou e por sua amizade.
Ao professor Dr. Carlos Llanos por sua ajuda e orientao e sobre tudo sua pacincia.
Tambm a sua esposa Carmem por seu carinho, cuidado e os deliciosos quitutes.
Sinceros ao professor Jos Maurcio Motta que no momento crucial me apoiou a
continuar e chegar a concluso desta etapa.
A todo o corpo docente do Departamento de Engenharia Mecnica da Universidade de
Braslia em especial Marrocos por to grande ateno e dedicao, Professor Dr. Walter
Britto por seus concelhos e ao professor Dr. Sadek por sua confiana. Tambm a
professora Dr.Carla Maria Koike por sua dedicao, apoio e colaborao.
A todo o DPP da Universidade de Braslia em especial ao senhor Nonato por sua
ateno, confiana e apoio.
Finalmente a todos os colegas pela pacincia, ateno e grande ajuda.
Ao Centro Nacional de Pesquisa CNPq pela concesso da bolsa que foi fundamental
para a realizao deste trabalho.
4iv
DEDICATRIA
Dedicado
Primeiramente a Deus por minha existncia e por me capacitar a chegar at aqui aos que
me ajudaram a superar todas as dificuldades que surgiram durante toda essa trajetria.
Meus pais Pedro e Lcia por apoio, motivao e por suas oraes nos momentos mais
difceis.
Meus irmos Peterson, Andresa e Ismael por torcerem por meu sucesso e por me darem
sobrinhos e sobrinhas muito lindos.
A todos os amigos e colegas que contribuiram para a realizao desse sonho.
5v
RESUMO
Este trabalho descreve a implementao de uma plataforma baseada em arquitetura
reconfigurvel e conceitos de instrumentao virtual aplicados a implementao do
controle de um carro, que inclui tarefas de controle relacionado direo, cmbio,
acelerador, freio e embreagem. A novidade desta abordagem o uso de sistemas
reconfigurvel (para desenvolver o controlador do carro) e instrumentao virtual o que
permite desenvolver uma abstrao de alto-nvel em um ambiente de teste e simulao.
O sistema de controle do carro foi desenvolvido em um microprocessador com vrios
perifricos embarcados na FPGA (Field Programmable Gate Array). A comunicao
entre o sistema de controle baseado na FPGA para o carro realizada por um mdulo
eletrnico formado por blocos separados, e placas de circuito de potncia.
6vi
ABSTRACT
This work describes the implementation of a platform based on reconfigurable
architecture and concepts of virtual instrumentation applied to the implementation of a
cars control, which includes control tasks related to the steering wheel, gear, throttle,
brake and clutch. The novelty of this approach is the use of both reconfigurable systems
(for developing the cars controller) and virtual instrumentation issues for developing a
high-level abstraction testing and simulation environment. The car control system was
developed in a microcontroller with several peripherals embedded in a FPGA (Field
Programmable Gate Array). The communication between the FPGA-based control
system and the car is accomplished through an electronic module, which comprises
several insulating and power circuit boards. The virtual instrumentation approach was
used for implementing a high-level abstraction simulation environment in LabVIEW
tool, which allows representing the movement of the car in real time. The
communication between the simulator and the controller is accomplished through a
serial interface in which a RS-232 based protocol was implemented. The user can send
commands to the control system through a keyboard with a PS2 interface. The
commands were defined with a specific syntax and semantics, allowing the user to
execute several maneuvers with the car.
possibilities to validate and simulate solutions for several problems in robotic and
mechatronic areas. The tests and initial overall system validation were accomplished in
both the simulator environment and in the real car. Therefore, this approach made
possible to compare the simulation results with the movement variables of the real car,
which were gathered in real time. This approach makes possible to test and to validate
the control system with low cost and more safety.
7vii
SUMRIO
INTRODUO ...................................................................................................21
1.1 CARACTERIZAO DO PROBLEMA ...................................................23
1.1.1 Projeto SiAE................................................................................................23
1.2 MOTIVAO DESTE TRABALHO .........................................................27
1.3 OBJETIVOS GERAIS ..................................................................................28
1.3.1 Objetivos especficos.............................................................................28
1.4 JUSTIFICATIVA .........................................................................................29
1.5 METODOLOGIA.........................................................................................30
1.6 LIMITAES ..............................................................................................31
1.7 RESULTADOS ALCANSADOS .............................................................. 31
1.8 APRESENTAO DO TRABALHO ........................................................32
9ix
10x
PARA O
DESENVOLVIMENTO
DO
SISTEMA
DE
CONTROLE
DE
DAS
PLACAS
DE
INTERFACE
POTNCIA ................................................................................................140
6.1.1 Controle de Potncia de Acionamento dos Atuadores (Ponte H).. 141
6.1.2 Controle de Acionamento da Embreagem ..................................... 143
6.1.3 Conversor Analgico Digital (A/D) ................................................. 144
6.1.4 Interface de Sinais e Comando entre a FPGA e o Circuito dos
Atuadores ..............................................................................................146
6.2 RESULTADO
OBTIDOS
COM
CONTROLE
DE
11
xi
DO
SISTEMA
DE
CONTROLE
DE
12
xii
LISTA DE FIGURAS
14
xiv
16
xvi
LISTA DE TABELAS
Tabela 1 Principais Sistemas de Automao Vecular Implementados .... 51
Tabela 2 Softcores disponibilizados pelos fabricantes .............................. 67
Tabela 3 Opo de configurao das verses do Microblaze .................... 73
Tabela 4 Caractersticas dos barramentos OPB e LMB............................. 75
Tabela 5 Descrio dos bits do registrador TCSR ..................................... 94
Tabela 6 Descrio dos sinais do perifrico opb_keyboard....................... 96
Tabela 7 Descrio dos registradores opb_7segled ................................... 96
Tabela 8 Descrio da funo dos mdulos do software........................... 99
Tabela 9 Sintaxes dos comandos suportados ........................................... 114
Tabela 10 Descrio das linhas de comandos e suas aes .................... 114
Tabela 11 Descrio dos comandos manuais e suas aes ..................... 115
Tabela 12 Principais Sistemas de Automao Vecular Implementados
comparados ao sistema proposto neste trabalho ........................................ 154
17
ABS
ASIC
Application Specific Integrated Circuit Circuitos integrados para
aplicaes especficas.
AHS
BAS
CDC
CLB
CLP
CPLD
Complex Programmable Logic Device Dispositivo complexo de lgica
programavl.
DARPA
Defense Advanced Research Projects Agency Agencia da defesa em
projetos de pesquisa avanada.
DSP
EDA
EDK
EPROM
apagvel.
ESP
FLS
FPGA
FSM
GUI
HDL
Hardware.
HF
Hardware Fixo.
HP
Hardware Programvel.
ILP
INRIA
Intitut National de Recherche en Informatique et en Automatique
Instituto de pesquisas em informatica e automao.
I/O
18
xviii
IOB
ISE
LabVIEW
LMB
LUT
Lookup Table
MIMD
Multiple Instruction Stream Multiple Data Stream Fluxo mltiplo de
instruo e fluxo mltiplo de dados.
MPGA
OPB
PC
PLA
PLD
PLP
PWM
SiAE
SIMD
Single Instruction Stream Multiple Data Stream Fluxo simples de
instruo e fluxo multiplo de dados.
RAM
RISC
SiP
System in a Package
SoC
System-on-Chip
SRAM
TCS
ULA
VHDL
VI
VLSI
XCL
Xilinx CacheLink
Velocidade do veculo.
20
xx
INTRODUO
Atualmente, os sistemas autnomos so utilizados em diversas reas em variadas
aplicaes valendo-se em muitos casos de tecnologias que utilizam microprocessadores,
que cada vez mais so exigidas a atender s crescentes necessidades de desempenho,
baixo custo e com tempo de ciclo de projeto cada vez menor. Um sistema autnomo
pode ser caracterizado por sua capacidade de execuo das tarefas para as quais foi
projetado, sem a interferncia de qualquer controle externo, (Tzuu-Hseng S., et al.,
2003) e (Baltes J. e Lin Y. Lin, 1999).
Os sistemas automatizados embarcados vm ganhando grande espao com o
avano da tecnologia, e variadas aplicaes vm sendo desenvolvidas em diversos
laboratrios acadmicos e de empresas, trabalhando em diferentes reas como:
automatizao de processos fabris, sistemas de auxlio ao motorista, navegao
robotizada em ambientes hostis, transporte de cargas, realizao de tarefas repetitivas.
Essas aplicaes, em particular o desenvolvimento de sistemas autnomos em
diferentes nveis, tm gerado desafios cada vez maiores para os profissionais que
trabalham no desenvolvimento de tecnologias aplicadas nessa rea. Para tanto, tcnicas
baseadas em modelos matemticos complexos como em (Yang E., et al., 2004),
aplicaes com redes neurais (Gu D. e Hu. H., 2002) e (Li, J. H. Lee e Li, P. M, 2005),
algoritmos genticos e lgica Fuzzy (Zhao Y. e Collins, Jr. E.G, 2005), entre outros so
utilizadas de diferentes formas para o desenvolvimento desses projetos.
Tcnicas cada vez mais elaboradas para o desenvolvimento de sistemas
automatizados, como as FPGAs Field Programmable Gate Arrays, esto sendo
usadas no desenvolvimento de sistemas de automao e controle (aplicando-se a
prototipao rpida de circuitos integrados). Isto permite tornar possvel alcanar
resultados de bom desempenho e custo (Dehon A., 2000).
A grande complexidade dos sistemas atuais de automao veicular envolvendo
dispositivos mecnicos, eletrnicos e sistemas computacionais estimulam a introduo
de novas metodologias de projeto. Um ponto importante que as metodologias de
desenvolvimento exigem um nvel de abstrao alto para elaborao, verificao e
validao do sistema proposto.
21
22
1.1.
CARACTERIZAO DO PROBLEMA
A abordagem tratando do controle de veculos autnomos vem sendo largamente
Na
23
Figura 1.1 Foto do veculo de testes do projeto SiAE (Bellardi, T., 2005).
A figura 1.1 mostra o veculo de teste no qual foi montada toda a plataforma de
automao. Este veculo um Palio com motorizao 1000 cm e injeo eletrnica de
combustvel, cmbio manual com seis marcha inclusive a r, sistema de direo,
acelerador e embreagem mecnicos.
Para a instalao dos dispositivos no veculo, foi necessrio desmontar partes
plsticas do acabamento do painel e o pra-choque dianteiro.
A instalao dos
24
25
26
1.2.
27
O projeto em questo por sua vez pode ser definido como diferenciado das
aplicaes j desenvolvidas, pois possui premissas que estabelecem a utilizao de um
veculo com motorizao de 1000 cm3 com cmbio e direo mecnicos, visando a
obteno de um sistema de baixo custo flexvel o suficiente para adaptar-se a diferentes
modelos de carros realizando a tarefa de estacionamento.
Todo esse trabalho envolve um detalhado estudo para o desenvolvimento de um
sistema robusto, simples e barato que implique em modificaes mnimas no veculo.
Os sistemas j desenvolvidos utilizam sistemas sofisticados e complexos
instalados em veculos modernos que contam com inmeros dispositivos de controle j
instalados.
1.3.
OBJETIVOS GERAIS
Este trabalho tem como objetivo principal desenvolver um controlador de
movimentao para o veculo fazendo a leitura dos sinais dos sensores e acionando os
atuadores de acordo com as necessidades, seguindo as especificaes de arquitetura
flexvel em sistemas distribudos (Bellardi, T., 2005).
A abordagem aplicada para este propsito baseia-se no projeto e implementao
de um controlador de movimentao embarcado em lgica reconfigurvel propiciando,
nesta fase, a um veculo de passeio receber comandos para movimentar-se de forma
segura e controlada. Por outro lado, este trabalho tambm visa desenvolver uma
interface entre o controlador o operador para enviar os comandos para o ambiente de
teste e de simulaes.
28
1.4.
JUSTIFICATIVA
Na rea de veculos autnomos ou automao veicular, tem a cada dia
29
1.5.
METODOLOGIA DE PROJETO
A metodologia aplicada neste trabalho dedicou-se ao projeto de um sistema de
30
aplicada uma metodologia distribuda concebida por (Bellardi T., 2005), onde cada
varivel de controle de movimentao do veculo controlada por um controlador local
que responde a um controle central.
Tambm neste trabalho foi abordada uma metodologia de teste e validao em
dois nveis. No primeiro nvel de validao foram realizados testes no ambiente de
simulao do controlador desenvolvido. No simulador foram utilizados conceitos de
instrumentao virtual no ambiente do Labview da National Instruments.
A presente metodologia de projeto, envolvendo Instrumentao Virtual e
Arquiteturas Reconfigurveis, mostra-se promissora devido grande flexibilidade das
tcnicas utilizadas. O projetista pode modelar diversas tcnicas de navegao e controle
para validar desempenho e viabilidade tcnica/econmica do projeto.
1.6.
LIMITAES
Este trabalho limita-se ao estudo, projeto, simulao, teste e implementao dos
1.7.
RESULTADOS ALCANADOS
Abaixo destacam-se os principais resultados obtidos neste trabalho:
31
1.8.
APRESENTAO DO TRABALHO
Este documento est organizado de forma a proporcionar ao leitor uma
32
33
2. FUNDAMENTOS TECNOLGICOS
Este captulo apresenta a fundamentao terica dos conceitos e tecnologias
utilizados neste trabalho.
Inicialmente, descrevemos um breve histrico dos sistemas de automao
veicular, enfatizando a evoluo e a incorporao de sistemas automatizados. Tambm
so abordadas as principais tecnologias aplicadas a veculos de passeio a evoluo dos
sistemas e os conceitos que revolucionaram a forma de dirigir um veculo possibilitando
novos patamares de segurana, conforto e economia de combustvel.
As pesquisas em automao veicular abriram as portas para o surgimento de
sistemas que auxiliam o motorista na execuo de tarefas pr-estabelecidas e no
gerenciamento de funes especficas ou gerais como: manter a velocidade do veculo,
manter a distncia do veculo a sua frente, estacionamento automtico ou at mesmo o
controle de temperatura no interior do veculo.
Com o avano das tecnologias relacionadas aos veculos automatizados, novos
paradigmas na rea de sistemas veiculares robotizados surgiram. Estes sistema ganham
espao em aplicaes industriais (e.g. carga e descarda) e, adicionalmente, em
aplicaes urbanas objetivando cada vez mais isentar as pessoas de executarem tarefas
repetitivas e/ou desgastantes.
Por outro lado, os sistemas de automao vecular objetivam o aumento de
segurana, pois com o desenvolvimento desses sistemas no haveria mais excesso de
velocidade, ultrapassagens perigosas, motoristas dirigindo embriagados e os acidentes
causados por motoristas que dormem ao volante.
O desenvolvimento de sistemas veiculares robotizados cada vez mais avanados
necessitam de ciclos e sistemas de teste, simulao e validao ainda mais prximos da
realidade com a finalidade de exaurir a possibilidade de falhas. Com esse enfoque, os
novos projetos na rea de automao veicular tm utilizado variados recursos para os
testes de simulao e validao.
34
35
2.1.
Em diversos paises os
motoristas podem contar com computadores que possuem os mapas das ruas da cidade e
recebem informaes sobre as condies de trnsito escolhendo para o motorista o
melhor trajeto.
As tecnologias atualmente desenvolvidas apresentam em sua maioria um grande
conjunto de sensores, transdutores, atuadores, sistemas de comunicao modernos, que
possibilitam a estes veculos cada vez mais executar tarefas mais complexas de forma
segura.
36
A concepo de um veculo com graus de autonomia uma idia que vem sendo
explorada e estudada por todo o mundo.
37
motores cada vez mais potentes. Nos anos 70, foi a vez de reduzir o consumo de
combustvel, carros velozes, potentes e econmicos.
Em 1980 e 90, segurana foi colocada como meta em todo o mundo, trazendo
novos aprimoramentos como controles de freios anti-bloqueio, ABS, o drive-by-wire, e
o Air Bags (Kelber, 2003a).
Em 2000 os conceitos de conforto e acessibilidade a informao ganham
importncia. Utilizar a internet, digitar emails, obter ajuda de um computador de bordo
para chegar ao destino desejado so exemplos tpicos.
Com todos os avanos tecnolgicos para auxlio na dirigibilidade do veculo, o
crescimento de eletroeletrnicos embarcados tem sido exponencial com o surgimento de
conceitos como: break-by-wire, drive-by-wire e steer-by-wire (Kelber C. R, et al.,
2005).
O conceito drive-by-wire originrio da aviao onde foi desenvolvido o
conceito fly-by-wire utilizado pela primeira vez no avio modelo F-16 com a finalidade
de automatizar funes de controle de estabilidade o que segundo os engenheiros que
participaram deste projeto, seria humanamente impossvel pilotar esta aeronave por
causa de sua instabilidade. Nos veculos terrestres este conceito de controle por sinais
eletrnicos foi desenvolvido para auxiliar os pilotos dos carros da F-1 pois permite
administrar os dispositivos de controle (acelerador, freio, trao e direo) do veculo.
Juntamente com os sistemas de auxiliar ao motorista priorizando a segurana,
desempenho e reduo dos ndices de danos ambientais surgem tambm conceitos
denominados de Sistemas de Apoio ao Motorista.
Estes sistemas baseiam-se em informaes internas e externas por meio de
sensores e transdutores verificando o estado atual do veculo e intervindo quando e se
for necessrio. Alm deste, um sistema sofisticado de comunicao complementa a
interao da estrutura de controle como um todo (Kelber C. R, et al., 2005).
38
39
ABS Anti-lock-Breaking-System;
BAS Breaking-Assistant;
40
X-by-Wire;
Cruise Control;
Parking Assistance.
41
2.2.
veicular.
So
42
Figura 2.3 Sistema de auxlio para estacionamento. (Osrio F. S. e Heinen, F.; Fortes,
L., 2000)
A identificao de obstculos nos pontos cegos ao motorista tambm baseiam-se
nas imagens geradas por cmeras ou por scanners a sistemas laser instalados na lateral
do veculo.
43
Na figura 2.4
Baseados em mapas
digitais das regies estes sistemas funcionam como um guia instantneo para o
motorista auxiliando na definio das rotas a serem percorridas para alcanar seu
destino. Atualmente, muitos destes sistemas esto ligados a sistemas mais complexos,
o que possibilita ao motorista obter informaes das condies de trnsito, se o
combustvel que est no tanque suficiente para chegar at o destino, e oferece rotas
alternativas mais rpidas e seguras (Kelber, 2003a).
Os sistemas de comunicao inter-veicular surgiram a partir da evoluo dos
sistemas de comunicao e informao.
Tambm, quando
integrado com o sistema de navegao, permite que exista uma interao entre os
veculos prximos, tornando possvel um trafego de forma cooperativa e muito mais
seguro, minimizando os riscos de acidentes e engarrafamentos. Na Alemanha este
sistema tem sido utilizado nas rodovias de grande porte (Han-Shue, et al., 1999).
44
Tais sistemas no
podem evitar a ocorrncia de um acidente por si s, mas podem reduzir os riscos dos
mesmos ocorrerem pois atuam de forma preventiva a situaes que podem oferecer
risco. Outra aplicao dos sistemas ativos a execuo de tarefas repetitivas como o
estacionamento em vagas paralelas.
O sistema de frenagem de emergncia baseia-se em informaes de sensores de
proximidade, radares para atuar o sistema de frenagem milisegundos antes de uma
coliso eminente, podendo minimizar a gravidade da coliso ou at mesmo evit-la.
Imediatamente enviado para o airbag um sinal para aciona-lo antes da coliso. O
principal desafio desse sistema identificar a eminncia de uma possvel coliso.
Os sistemas de estacionamento automtico tem sido muito aplicados, pois esta
uma tarefa que para muitos motoristas de grande dificuldade. Neste caso, sensores
de proximidade so instalados no veculo que identifica a vaga e executa as manobras
necessrias para estacionar o veculo na vaga, sem colidir com os outros automveis
estacionados, deixando o veculo prximo ao meio fio.
Para a realizao de tarefas autnomamente por veculo de forma ativa ou
passiva existe um sistema de processamento e controle interligando aos transdutores.
Estes sistemas possuem diferentes nveis de inteligncia embarcada at porque o que se
deseja obter um veculo de execute o controle de navegao de forma autnoma.
Desta forma necessrio chegar a um sistema de automao veicular complexo, com
diferentes nveis hierrquicos.
Em (Han-Shue, et al, 1999) apresentada uma proposta de automao veicular
baseada em pontos magnticos instalados nas rodovias.
Magnetrmetros foram
45
Necessita de capacidade de
So aplicados
46
47
Figura 2.7 Projeto Autonomes Fahren (Volkswagen) Rob motorista (Osrio F. S.,
2004)
Os sistemas veculares robotizados tem mostrado sua eficincia no que tange o
aumento de segurana e conforto mas tem gerado o conflito de poder ir a qualquer lugar
a qualquer hora de forma livre. A evoluo dos sistemas veiculares robticos vem
trazendo um aumento significativo das tecnologias embarcadas nos veculos. O nmero
de componentes eletrnicos vem aumentando expressivamente bem como o nmero de
microcontroladores e sensores (Osrio F. S., 2004).
48
Caractersticas
Steven E.
Good et S. Charles Han-Shue,
al, 1988 (*) A. (1991) et all, 1999
Shimazaki
et al., 2004 Tanaka et
al, 2006 (*)
(*)
sim
Pontos
magnticos
instalados na
rodovia
no
No
Controle
eletrnico
no
sim
no
no
No
No
no
sim
sim
no
No
Controle
eletrnico
sim
Controla a
velocidade
pela leitura
dos pontos
magnticos
da rodovia
no
No
Controle
eletrnico
Sim
Display
mostra a
imagem das
cmeras e o
estado do
veculo
Controle da Direo
Controle
hidrulico
Controle da
Embreagem
Controle do Freio
Controle do Acelerador
Wada M,
2003
no
IHM
no
no
Display de
dados
Display para
ngulo da
direo;
Freio;
Acelerador.
Arquitetura Modular
no
sim
no
sim
Sim
Sim
Motorizao
Motor a
combusto
interna
Motor a
combusto
interna
Motor a
combusto
interna
Adaptvel a
qualquer tipo
Motor a
combusto
interna
Motor de
combusto
interna
Cmbio automtico
no
no
No
informado
Adaptvel a
qualquer tipo
Adaptvel a
qualquer tipo
Sim
Conceitos drive-bywire
sim
no
no
sim
No
Sim
Microcontrola
dor
Computador
embarcado
no veculo
Computador
embarcado
no portamalas do
veculo
Computador
embarcado
no portamalas do
veculo
Computador
embarcado
no veculo
Computador
ECU
ngulo das
rodas, giro
das rodas
Presena de
obstculos,
captura de
imagens,
ngulo da
direo
Controlador
Sensoriamento
Ultra-som
ngulo das
rodas; giro
das rodas
Magnetrmet
ros
ngulo das
rodas; giro
das rodas;
GPS
Unidade de controle
no
No
no
no
No
Sim
Flexibilidade
Somente do
software
Somente
software
Somente do
software
Somente do
software
Somente de
software
Somente de
software
Tipo de Sistema
Passivo
Ativo
Ativo
Passivo
Passivo
Passivo
sobreposio das imagens num display para o clculo das variveis importantes para o
estacionamento do veculo em vagas paralelas ou garagens.
2.3.
INSTRUMENTAO VIRTUAL
Nessa seo so apresentados os principais conceitos em instrumentao virtual
e suas particularidades.
A instrumentao virtual pode ser entendida como sendo uma soluo de
medio e automao baseada em computador pessoal, sendo personalizada pelo
usurio (Regazzi R. D., et al., 2005).
O Labview Laboratory Virtual Instruments Engineering Workbench (Regazzi
R. D., et al., 2005) o ambiente desenvolvido pela National Instruments que utiliza a
linguagem G, projetada para o desenvolvimento de aplicativos como tantas outras
linguagens, por exemplo: C, Basic e Delphi.
Embora todas estas sejam direcionadas a objetos (com compiladores que
simplificam o processo de programao atravs de interfaces amigveis com comandos
e funes pr-definidas) existe uma diferena importante entre elas e a linguagem G.
Ela foi desenvolvida pela National Instruments e possu o padro G (Grfico). Sua
principal caracterstica sua forma de programao que altamente produtiva na
construo de sistemas voltados para aquisio de dados, instrumentao, controle e
outras aplicaes.
50
51
52
2.4.
flexibilidade
encontrada
nos
dispositivos
baseados
em
hardware
integrava 2300 transistores em uma nica pastilha de silcio cujo custo inicial oscilava
por volta de duzentos dlares americanos.
A complexidade dos microprocessadores, medida segundo o nmero de
transistores dentro do chip, dobrada a cada 18 meses desde a apario do 4004
(Moore, 1997). Com a evoluo da tecnologia os circuitos integrados, atualmente
integram 20 milhes de transistores por centmetro cbico (cm), podendo atingir 100
milhes at 2012 (Brown e Vranesic, 2000). Uma classificao dos circuitos integrados
que permitem a implementao de uma lgica digital mostrada na figura 2.10 abaixo.
Estes componentes
sistemas
hbridos,
compostos
de mdulos reconfigurveis
e mdulos
no-
trabalhar com uma arquitetura projetada exclusivamente para esta aplicao, o que faz
com que a eficincia seja maior do que as encontradas em sistemas de uso geral. Isto
ocorre porque o Hardware projetado para executar os algoritmos necessrios para
aquela aplicao especificamente.
A tecnologia de computao reconfigurvel dada por meio das especificaes:
como:
algoritmos,
linguagens,
compiladores,
sistemas
Sua
56
Figura 2.11 Arquitetura interna de uma FPGA (Compton, K.; Hauck, 2002)
De modo geral as FPGAs possui uma arquitetura interna, como mostrado na figura
2.11, composta por uma matriz de blocos lgicos configurveis chamados CLB
(Configurable Logics Block) envoltos por uma rede de conexes programveis.
Na periferia do circuito esto os blocos de entrada e sada I/O Blocks, que
tambm so programveis. A arquitetura dos CLB pode variar de acordo com a famlia
e fabricante, mas geralmente so formadas de pontos de entrada ligadas a blocos de
funes puramente combinacionais chamados de LUT Look-up table, multiplexadores
e registradores que geralmente so flip-flops.
Uma FPGA pode ter seu comportamento redefinido de tal forma que sistemas
completamente diferentes podem ser implementados na mesma pastilha. As FPGAs
com granulidade mais fina permitem que o circuito seja definido no nvel de portas
lgicas, trabalhando-se em operaes com at um bit de largura.
Nas FPGA de
57
influenciar o tempo que o dispositivo vai levar para responder a um sinal numa entrada
e gerar uma sada. nessa fase de roteamento, onde questes como: interferncia de
sinais, quando a integridade de um barramento pode ser comprometido devido
freqncia que o dispositivo esteja utilizando ser alta e interferir nos valores dos bits
que trafegam por esse caminho.
Uma FPGA possui uma arquitetura interna como mostrado na figura 2.4,
composta de uma matriz com milhares e em alguns casos milhes de blocos lgicos
configurveis CLB Configurable Logic Block, cercado por uma rede de interconexes
programveis distribuda por todo o chip formando uma rede de interconexes
configurveis. Existem os blocos de entrada e sada IOB Input Output Block, que
tambm so programveis, e que servem como interface do dispositivo.
A arquitetura com que a FPGA roteada podendo ser entendida como sendo a
maneira como os comutadores programveis e os segmentos de trilha so posicionados
de forma a permitir a interconexo dos blocos lgicos uns com os outros.
Figura 2.12 Arquitetura geral de roteamento de uma FPGA (Compton, K.; Hauck,
2002)
58
Esta pode ser descrita a partir de um modelo geral como mostra a figura 2.12.
Para melhor entendermos este modelo so necessrios alguns conceitos:
a)
ressaltar que so para ligao interna do FPGA, no podendo ser confundidos com os
pinos externos do encapsulamento que so ligados aos blocos de I/O;
b)
e)
59
(b)
(a)
(a)
(b)
60
NORMALIZAO
hardwired
Programao estruturada
Uc
Memrias
TTL
1957
1967
Algoritmo fixo
Hardware fixo
LSI
MSI
1977
FPGAs
1987
ASICs
Algoritmo varivel
Hardware fixo
1997
2007
RECONFIGURABILIDADE
Algoritmo varivel
Hardware varivel
ESTABELECIMENTO
Porm,
61
04 displays de 7 segmentos ;
08 Led individuais;
62
PORTA DE
EXPANSO A
CABO JTAG
PORTA DE
EXPANSO B
Chip FPGA
PORTA
VGA
PORTA DE
EXPANSO C
ALIMENTAO
DA PLACA 5 Volts
PORTA
Serial DB9
LEDs 7
SEGMENT
PORTA
LEDs
BOTES
CHAVES
63
64
IPs (Intelectual
Properties).
A tabela 2 mostra os soft-cores disponibilizados no mercado pelos principais
fabricantes de FPGA .
Alguns fabricantes como, por exemplo, a Xilinx alm dos soft-processors
fornecidos disponibilizam tambm um hard-core do processador power PC 405 para a
famlia Virtex 4 e at 2 cores para a Virtex II Pro.
Tabela 2 Soft-cores disponibilizados pelos fabricantes
Microprocessador
Microcontrolador Fabricante
Nios II
Altera
Microblaze
Xilinx
Picoblaze - 8 bits
8051 High-speed 8 bits RISC
Microcontroller
(R80515)
TMS32025 DSP
Processor (C32025)
Xilinx
CAST, Inc
CAST, Inc
C68000
Microprocessor
CAST, Inc
Digital Core
Design
65
2.4.5.1.Aspectos da Ferramenta
A utilizao dos recursos dos hardwares reconfigurveis, mais propriamente as
FPGAs, por algum tempo estava restrito aos projetistas que trabalhavam com
linguagens prprias para a descrio de hardwares como VHDL e Verilog.
66
67
(a)
(b)
68
2.4.5.2.Microprocessador MicroBlaze
A crescente utilizao dos sistemas embarcados tem proporcionado uma
evoluo desta metodologia. Conceitos de processamento em lgica reconfigurvel
esto conquistando grande espao nas aplicaes em pesquisas e mercadolgicas e
apresentam bons resultados.
Diferentes ferramentas EDA Electronic Design Automation, foram usadas para
sntese das configuraes na FPGA, sendo descritos comumente em VHDL.
As
endereamento;
c)
d)
e)
f)
g)
69
70
A tabela 3 ilustra as
Caractersticas
Estado da verso
Processador do canal de comunicao
Barramento de perifrico no circuito (OPB) dados de
apoio interface
Barramento de perifrico no circuito (OPB)
instrues de apoio interface
Memria local de barramento (LMB) dados de apoio
interface
Memria local de barramento (LMB) instrues de
apoio interface
Hardware barrel shifter
Hardware para diviso
Hardware para debugao lgica
Link simples de interface(FSL)
Mquina de estados e limpeza de instrues
Acumulador de instrues de interface (IOPB)
Acumulador de dados de interface (IOPB)
Acumulador de instrues de interface CacheLink
(IXCL)
Acumulador de dados de interface CacheLink
(DXCL)
4 ou 8 palavras para acumulao em linha
Suporte de hardware execuo
Padro de comparao das instrues
Unidade de ponto flutuante (FPU)
Desabilita o hardware de multiplicao
Hardware de depurao legvel ESR e EAR
Verso do Microblaze
Verso
Verso
Verso
2.10
3.00
4.00
Depreciada Depreciada Depreciada
Verso
5.00
Ativada
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
0-7
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
0-7
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
0-7
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
Opcional
0-7
Sim
No
No
Opcional
Opcional
Opcional
Opcional
4
Opcional
-
Opcional
4
Opcional
Opcional
Opcional
Opcional
Sim
-
Opcional
Opcional
Opcional
Sim
Opcional
Opcional
Sim
Opcional
especificada por um nome como entrada, sada e possvel configurar o nmero de bis
que compe esta porta. A utilizao de outros recursos da FPGA como: divisores de
hardware, tambm devem ser habilitados para evitar erros na compilao.
No arquivo j citado, esto as instanciaes dos perifricos do sistema, bem
como a configurao dos mesmos.
71
2.4.5.5.Cdigo de Programao
Os trs tipos de arquivos anteriormente apresentados, mhs, mpd e mdd, possuem
uma sintaxe muito simples, pois, tratam da especificao das opes e de como
instanciar os perifricos e seus controladores. Uma vez compilados e introduzidos os
perifricos que sero utilizados no sistema em conjunto com o Microblaze, s resta
carregar o cdigo do programa. Estes arquivos podem estar em C, C++ ou Assembler.
O compilador do Microblaze est baseado no compilador GCC.
72
Caracterstica
Largura de endereo (bits)
32
32
125
125
Masters (max)
16
Masters (tpico)
2-Aug
Slaves (max)
16
16
Slaves (tpico)
2-Aug
500 MB/s
500 MB/s
No
No
Bus locking
Sim
No
Retry
Sim
No
Timeout
Sim
No
Sim
Sim
Mdio
Baixo
73
2.5.
CONCLUSES DO CAPTULO
Neste captulo foram estudados os conceitos tecnolgicos e a fundamentao
vecular esto sendo comercializadas no mundo todo com diferentes arquiteturas, grau
de flexinilidade e controladores.
A tecnologia em instrumentao virtual apresentada visa inserir o usurio a
novos ciclos de projetos aplicando novos tcnicas de testes e validao, usando seus
74
75
3. ARQUITETURA DO SISTEMA
Esse captulo foca a apresentao da arquitetura proposta na elaborao do
controle de movimentao e o controle do estacionamento automtico do veculo.
Inicialmente, apresentada a arquitetura proposta em trabalhos anteriores (Bellardi T.,
2005) e (Garrido R., 2001), sendo apresentadas partes mecnicas, eletroeletrnicas e
computacionais propostas nesses trabalhos.
Sabe-se que para o projeto de sistemas de controle o estudo da arquitetura do
sistema um dos passos iniciais na concepo do projeto. durante a elaborao da
arquitetura do sistema que os projetistas dedicam sua ateno para a definio da
comunicao, interao e o funcionamento entre os subsistemas.
Esse projeto no diferente: para a elaborao do sistema de controle de
movimentao dedicaram-se exforos na concepo de uma arquitetura que atendesse
os requisitos de segurana, desempenho dentro das especificaes do projeto em termos
de custo, o que limita a aplicao de tecnologias de alto custo.
No tpico seguinte apresentamos as modificaes e extenses que foram
realizados na arquitetura proposta nos trabalhos anteriores, mostrando as vantagens da
aplicao da computao reconfigurvel por meio da tecnologia das FPGAs para o
projeto e implementao do controle de movimentao do veculo.
3.1.
76
77
78
79
80
3.2.
antecederam a atual e por este motivo apresentamos as arquiteturas das fases anteriores.
Estas arquiteturas somaram grandes contribuies para o projeto e propiciaram o
desenvolvimento da arquitetura atual que se utilizou dos principais conceitos
desenvolvidos e aplicados anteriormente. Adicionando-se conceitos em hardware
reconfigurvel (veja captulo 4), ambiente de simulao desenvolvido utilizando-se
conceitos de instrumentao virtual (veja captulo 5), e o projeto do sistema de controle
de movimentao do veculo de testes real (veja captulo 6).
Para desenvolver a arquitetura que atendesse os requisitos do projeto SiAE de
baixo custo, desempenho e flexibilidade pensou-se na possibilidade de alterao na
arquitetura proposta por (Bellardi T., 2005). Entretanto, foi visto que essa arquitetura
possua limitaes para a implementao de um sistema de simulao e validao do
controle de movimentao e a necessidade de tornar o sistema com um formato mais
comercial tornou-se tambm um alvo a ser alcanado.
Dessa forma surgiu a necessidade de se projetar uma nova arquitetura
aproveitando-se muito do que j se havia desenvolvido,
acrescentando novas
81
desenvolvimento
do
controlador
de
movimentao
em
um
82
inserido em uma FPGA que por sua vez gerncia os sinais de comando do operador, l
os sinais dos transdutores e executa as aes necessrias (Correia A., et al., 2007b).
A segunda mudana a criao de um ambiente de simulao que pode ser
utilizado para testar e validar o sistema de antes de se testar no veculo real, diminuindo
os riscos de acidentes e o dano do equipamento bem como do ambiente a sua volta. Em
(Dario Giove, 2004) foi aplicada uma metodologia prxima da aplicada nesse trabalho,
mas em menores propores para o controle de acelerador, utilizado um sistema de
simulao em instrumentao virtual e lgica reconfigurvel para isso.
83
3.3.
CONCLUSES DO CAPTULO
Neste captulo foi estudada a arquitetura do sistema proposto para o projeto
A proposta da
84
Tambm apresentada a
4.1.
realizada em duas etapas. Na primeira utilizou-se a opo Base System Builder Wizard
(EDK MicroBlaze tutorial, 2005) na configurao dos recursos padro disponveis pelo
Microblaze para a Spartan-3. Na segunda etapa foi utilizado o ISE Integrated
Software Environment, para a descrio do hardware de controle de comunicao de
teclado utilizando o protocolo PS2.
85
Na figura 4.1,
Figura 4.1 Tela de seleo do modelo da placa utilizada Base System Builder Wizard
Uma vez selecionada a placa, o projetista pode selecionar o processador com o
qual deseja trabalhar, MicroBlaze ou PowerPC. No caso da placa selecionada s
disponibilizado o processador MicroBlaze.
Na fase seguinte foram configuradas as freqncias do relgio, do sistema e a
freqncia do relgio do barramento, o tamanho das palavras, a forma de teste do
processador e como ser utilizado o bloco de memria Cache.
A figura 4.2, mostra o diagrama do hardware configurado utilizando o Base
System Builder Wizard, suas ligaes e a estrutura do sistema. Cada um dos blocos
considerado um perifrico que uma vez configurado, foi ligado ao barramento OPB
On-chip Periferical Bus, que leva as informaes de cada um dos perifricos ao
processador onde so processadas.
86
87
LMB e com a memria BRAM . O sistema possui 2 instncias deste perifrico: uma
instncia controla o barramento de dados (dlmb_cntlr), enquanto a outra instncia
(ilmb_cntlr) controla o barramento de instrues. O MicroBlaze possui uma arquitetura
tipo Havard (Patterson, D. A. e Hennessy, J. L., 2000) com um conjunto de instrues
RISC.
O bram_block uma memria totalmente parametrizvel com dois portos de
acesso (dual_port). As FPGAs da Xilinx possuem blocos de memria imersos em sua
estrutura re-configurvel. Assim o tamanho da memria instanciada ir depender da
capacidade da famlia da FPGA. A Spartan-3 XC3S200 possui 12 blocos BRAM de
2,25 KB cada, totalizando 27 KB. O sistema possui 1 instncia bram_block contendo 8
BRAMs, totalizando 16MB.
O OPB_GPIO (General Purpose Input/Output) um perifrico de entrada e
sada paralela com interface de 32 bits para conexo com um barramento OPB. O OPB
GPIO pode ser configurado com 1 ou 2 canais. Cada canal pode ser configurado como
entrada, sada ou bidirecional.
Caso o pino de entrada exclusivo seja escolhido, a quantidade de lgica
necessria para implementao do GPIO ser menor.
Na utilizao do pino
88
89
b)
c)
Modo PWM: Esse modo foi utilizado para a gerao de pulsos PWM para o
controle de velocidade dos motores de corrente contnua CC, instalados para
realizarem o acionamento do acelerador, freio, cmbio e direo.
90
O modo generate deve ser habilitado para ambos timers (bit MDT no
TCSR);
O nvel lgico ativo dos sinais GenerateOut devem ser habilitados para
1 em ambos timers. Isto feito setando os parmetros c_gen0_assert e
c_gen1_assert para 1;
(1)
TLR1 =
(2)
50000000
2
FREQ _ PWM
91
(3)
TLR1 =
(4)
Nome
21
ENALL
22
PWMAx
Descrio
0 Sem efeitos nos timers
1 - Habilita todos os timers
0 Desabilita PWM
1 - Habilita PWM
Leitura: 0 No ocorreu interrupo
23
TINTx
24
ENTx
25
ENITx
26
LOADx
27
ARHTx
28
CAPTx
29
GENTx
30
UDTx
31
MDTx
92
93
Interface
I/O
Externa
Externa
OPB
OPB
OPB
OPB
I
I
I
O
O
I
Descrio
Sinal de dados da porta PS/2
Sinal de sincronismo da porta PS/2
Sinal de reset
Scan_code da tecla pressionada do teclado
Sinal de scan_code disponvel
Sinal de acknowledge de leitura do scan_code
verificar o status do bit 23 ready, caso seja 1 alguma tecla foi pressionada e o
respectivo scan_code se encontra na posio 24 31 do registrador KSR;
b)
c)
Endereo
C_BASEADDR
+ 0x00
C_BASEADDR
+ 0x01
C_BASEADDR
+ 0x02
C_BASEADDR
+ 0x03
Descrio
Caractere do dgito das unidades do display
Caractere do dgito das dezenas do display
Caractere do dgito das centenas do display
Caractere do dgito do milhar do display
94
O core dcm_module tem como entrada o sinal clock vindo do oscilador da placa
Spartan-3 e sua sada utilizada como clock do nosso sistema embarcado. Sua principal
funo reduzir o clock skew do circuito, ou seja, reduzir a diferena do tempo de
propagao do sinal de clock.
As configuraes foram feitas nos perifricos e em sua forma de acesso ao
barramento OPB. Foram definidos o tamanho da memria do programa, o
funcionamento de cada um dos perifricos acrescentando: o protocolo PS2 e os mdulos
PWM (que fazem parte do sistema de controle de movimentao, mas que no foram
configurados por meio do Base System Builder Wizard).
4.2.
(Bellardi T., 2005). Na arquitetura descrita no tpico 3.1 desse trabalho, foi definido
que cada um dos mdulos seria responsvel por controlar as variveis de movimentao
separadamente, respondendo aos comandos do operador.
Uma vez definidos os mdulos do sistema de controle de movimentao, cada
um deles passou por um processo de detalhamento o qual contou com uma analise
anterior do funcionamento das variveis de movimentao do veculo. No processo de
detalhamento dos mdulos, foram definidos quais os recursos de hardware seriam
necessrios, bem como a relao entre esses mdulos. Tambm foram definidas as
funes a serem executadas dentro dos mdulos do sistema.
O software foi desenvolvido utilizando a linguagem C e compilado pelo GNU
GCC com diretivas para o processador Microblaze. Foi realizada uma programao em
mdulos, divididos em arquivos que depois foram ligados e compilados por meio do
GCC. Essa programao tambm foi realizada de forma a facilitar a migrao do
software desenvolvido do ambiente de simulao no controlador de movimentao para
a aplicao no veculo real de teste apenas com a troca do arquivo protocolo.c, uma vez
que o hardware configurado na FPGA o mesmo.
A diferena fundamental entre os dois sistemas (citada no captulo 3 nas figuras
3.4 e 3.5) que na aplicao de controle de movimentao do veculo de teste no existe
um protocolo de comunicao, ou seja, os dados so passados paralelamente para o
95
carro e os sinais de entrada vindos do conversor A/D de oito entradas devem ser
multiplexados por meio do arquivo interface_dados.c. J na aplicao desenvolvida
para o simulador cinemtico, implementado em LavVIEW, os dados so enviados e
recebidos por meio do protocolo de comunicao no padro RS232 por meio do arquivo
protocolo.c.
Nas figuras 4.5 e 4.6, pode-se observar os diagramas de blocos do software do
controlador de movimentao no microprocessador embarcado na FPGA para o veculo
de testes e para o simulador cinemtico, respectivamente (Correia A., et al., 2007a).
96
ps2_teclado.c
disp_7seg.c
Descrio
Mdulo principal de execuo que contm a funo main ( ). responsvel por
chamar as funes de entrada de dados e do protocolo de comunicao.
Mdulo que realiza o protocolo de comunicao serial via RS-232 com o Labview.
Funes que acionam o motor DC do freio e analisam o sinal vindo do respectivo
potencimetro.
Funes de acionamento do sistema Autonomy do Palio.
Funes de acionamento dos dois motores DC presentes no cmbio e seu
sensoriamento.
Funes de acionamento do motor DC presente na borboleta do carro de acordo com
o sinal de retorno do potencimetro e da rotao.
Funes de acionamento do motor do sistema de direo do carro de acordo com a
posio desejada.
Realiza a interface com o usurio atravs da porta PS/2 e do display de 7 segmentos.
Tambm realiza a interpretao e execuo dos comandos chamando cada funo
especfica presentes em outros mdulos.
Biblioteca com as funes bsicas para leitura dos scan_code do teclado.
Biblioteca com as funes bsicas para escrita de caracteres alfas-numricos no
display de 7 segmentos.
97
Xuint8;
typedef char
Xint8;
Xuint16;
typedef short
Xint16;
Xuint32;
typedef long
Xint32;
typedef float
Xfloat32;
typedef double
floating point */
Xfloat64;
/**<
64-bit
double
precision
registradores do perifrico. Assim para sada de dados, uma escrita no registrador feita
no perifrico, e para entrada de dados, uma leitura do registrador feita.
Abaixo seguem as funes de baixo nvel utilizadas:
98
endereo base
BaseAddress.
Caso o perifrico opb_uartlite esteja configurado como interface STDIN e/ou
STDOUT, ento funes padres de entrada e sada como printf() e scanf() podem ser
usadas. Porm estas funes ao serem compiladas, resultam em um grande nmero de
instrues e, portanto, no so adequadas para um sistema embarcado. A Xilinx fornece
alternativas para a funo printf(). A funo: xil_printf() resulta em apenas 1KB de
programa, porm no suporta a impresso de nmeros em ponto flutuante (%f) ou do
tipo long de 64 bits.
c) perifrico opb_timer xtmrctr_l.h: So utilizadas 2 funes: uma para escrita
no registrador de status (TCSR) e outra para escrita no registrador de load
(TLR).
Funes utilizadas na implementao dos registradores:
xtmrctr_msetloadreg(BaseAddress,TmrCtrNumber,RegisterValue)
Escreve o valor RegisterValue no registrador TLR do timer de nmero
99
e)
100
4.2.2
implementadas:
a)
b)
101
A Figura 4.9 ilustra a posio de cada bit em cada uma destas variveis, o que
facilita fazer a leitura dos valores da cada uma de forma precisa.
4.3
detalhadas.
Em seguida o push-button(2) testado, e caso esteja ativado a varivel reset ser
setada (1) e envia um sinal de requisio de finalizao para o Labview. Ento o
Labview recebe o sinal, identifica a requisio e finaliza sua execuo. O Labview
tambm pode finalizar a execuo e enviar um sinal, que ser identificado como uma
requisio de finalizao e a varivel reset ser habilitada.
103
4.4
104
4.5
105
4.6
4.7
106
4.8
Eixo x
POSX
195
127
63
POSY:
63
127
195
107
4.9
109
sinal_rdb[2..0]
LA
IC
RO
BL
opcao
BV
IE
W
AZ
Varivel Requisitada
110
b)
c)
d)
111
Param1 x
Param2 y
exec_modulo[k]
param1[k]
param2[k]
DIxy
D,E ou C
Inteiro de 0 a 60
y se x != C
0 se x = 'C'
FREx
0 ou 1
ACxy
B ou R
0 a 100 se x = b
0 a 9999 se x = 'r'
CABxy
0 a 6
N se x = 0
R se x = 6
x se 0<x<6
EBxy
A,R ou C
0 a 100 se x = C
0 se x != C
y se x= C
Cx ou Fx
A,C ou F
0 a 100 para Cx
1 a 9999 para Fx
Pxy
R ou A
Inteiro positivo
Sintaxe
Param1 x
Ao
DIxy
D,E ou C
Inteiro de
0 a 60
FREx
0 ou 1
ACx
B ou R
0 a 100 se x = b
0 a 9999 se x = r
CABxy
0 a 6
EBxy
A,R ou C
0 a 100 se x = C
Cx ou Fx
A,C ou F
0 a 100 para Cx 1
a 9999 para Fx
Pxy
R ou A
Inteiro positivo
112
Ao
Espao pressionada
Espaos liberada
Ativa freio
Desativa freio
Aciona embreagem
>
<
e)
113
114
115
116
4.12
CONCLUSES DO CAPTULO
Neste captulo foram abordado os processos de referentes ao projeto e a
Aps a
Cada um desses
118
5.
5.1.
mostrou-se
promissora.
O ambiente de simulao criado no software LabView, de forma geral, realiza as
seguintes tarefas:
Obter os sinais recebidos pela porta serial (padro RS-232). Estes sinais
devem ser extrados do pacote enviado pelo Microblaze usando o padro
de protocolo de comunicao serial que foi especificado conforme
padro em (Bushby S., 1997).
119
5.2
abre a porta serial: responsvel por abir a porta serial dando incio a
recepo dos dados;
separao dos bits para cada varivel: realiza a separao das palavras
em bits (dos dados enviados por meio serial);
122
Essas
5.3
5.3.1
Mdulo Serial
O mdulo serial responsvel pela comunicao do ambiente de simulao com
123
Cada estgio do
seqenciador contm um ou mais blocos que executam uma funo, esse seqenciador
executado como um lao de repetio onde executado do primeiro at o quarto ndice
voltando logo ao primeiro.
No primeiro estgio pode-se configurar qual a porta est sendo utilizada para a
realizao da comunicao. Nesse caso, est sendo utilizada a porta COM1 que est
configurada no primeiro e segundo passo do seqenciador. Este estgio tambm abre a
porta serial e a janela para a configurao da porta serial (ver figura 5.4).
O segundo estgio do seqenciador possui dois blocos. Estes blocos realizam o
envio dos sinais e palavras e a triagem dos sinais e palavras separando os bits e
escrevendo os dados nas variveis globais relacionadas aos mesmos. A porta de
comunicao fechada no terceiro estgio completando assim o ciclo torna a ser
repetido indefinidamente at que o ciclo de comunicao seja finalizado.
As Figuras (5.5 a 5.7) mostram os blocos do Mdulo Serial de forma mais
detalhada, cada um com sua estrutura e funcionalidade.
O bloco de configurao da porta serial desempenha a funo de possibilitar ao
projetista modificar, a taxa de transmisso dos dados e escolher qual a porta que se
deseja utilizar. No caso dessa aplicao, est sendo utilizada a porta COM1, como
descrito anteriormente, e a taxa de transmisso dos dados de 19200 bps (veja a figura
5.5).
125
5.3.2
Mdulo Trata-Sinais
O mdulo Trata-Sinais foi projetado com o objetivo de simular a resposta de
cada um dos atuadores aos estmulos dos comandos enviados por meio da comunicao
serial. Possui os blocos de simulao dos atuadores de cada uma das variveis presentes
no veculo: acelerador, freio, direo, cmbio e embreagem.
Os motores que atuam essas variveis so representados por um bloco que
responde adequadamente ao sinal PWM e de direo, realizando o incremento ou
decremento em uma varivel especfica. O valor dessa varivel enviado de volta VI
Serial para posterior envio ao Microblaze.
Nos blocos de execuo, os laos so temporais, ou seja, so executados a cada 1
mili-segundo. Assim pode-se determinar parmetros para velocidade de acionamento
dos atuadores no ambiente de simulao. Por exemplo, se desejar-se que uma varivel
seja incrementada em 50 unidades/segundo, incrementa-se a varivel com um valor de
0,05 unidades por ciclo de execuo. Lembrando que as variveis incrementadas so
simuladas como se fossem posies dos atuadores e, portanto, devem ser valores
inteiros de 8 bits vindos de um potencimetro (0 a 255).
Na figura 5.8 mostrado uma o painel de controle com os instrumentos que
indicam o estado atual das variveis relacionadas. O operador tem acesso ao ngulo das
rodas, posio do freio, marcha engatada, posio da embreagem e os sinais do PWM
do cmbio.
128
129
130
131
5.3.3
Mdulo Trajetria-carro
Esse mdulo realiza a simulao da cinemtica do veculo com direo tipo
x = v.cos ( ) .cos ( )
(5)
y = v.sin ( ) .cos ( )
.
= v.
sin
l
(6)
(7)
Onde:
133
Os dados referentes ao
posicionamento e direo de cada uma das retas so enviados a um cluster que agrupa
todas as informaes e as envia a um grfico tipo x, y para seja simulada a
movimentao do veculo na tela.
134
5.4
135
137
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
138
5.5
CONCLUSES DO CAPTULO
Neste captulo foram abordados assuntos pertinente ao projeto e a construo do
Na
139
Adicionalmente, apresenta-se o
6.1.
placas para acionamento dos mdulos. As citadas placas por sua vez possuam
limitaes tecnolgicas, pois em sua concepo, foram utilizados rels para realizar o
acionamento dos motores de corrente contnua. Este problema tcnico impossibilitava o
controle de velocidade dos motores usando um sinal eletrnico apropriado (por exemplo
PWM). Alm do anterior, nem todos os mdulos possuam placas apropriadas para seu
funcionamento.
Outro ponto que motivou a projetar e implementar novas placas de acionamento
e condicionamento foi a necessidade de que o kit de desenvolvimento baseado em
FPGA Spartan3 muito sensvel a correntes superiores a 100 mA. Para garantir que
no circulariam surtos de corrente pelo kit de desenvolvimento Spartan-3 foi necessrio
140
Os transistores canais P
141
12V
R5
10K
R1
100
Q3
U4C
R7
10K
R3
100
Q1
IRF4905
5
CD4069UBCM
IRF4905
DIR
1
U3A
Motor1
U4A
3
Motor2
U4B
U3B
3
Q4
CD4093BCM
CD4069UBCM
R2
100
Q2
R6
10K
CF1
IRF3205
IRF3205
4
5
R4
100
R8
10K
CD4069UBCM
PWM
CD4093BCM
12V
de suas trilhas.
142
DIR
JP3
0
1
0
1
Terminais Eletro-vlvula
D9
Q1
IRFZ48N
R1
10k
143
U1
MP1
MP2
MP3
MP4
5
7
10
12
5V
6
11
8
5V 12V
IN1
IN2
IN3
IN4
9
4
VSS
VS
EN A
EN B
OUT1
OUT2
OUT3
OUT4
GND
ISEN A
ISEN B
JP2
2
3
13
14
1
2
3
4
M_Passo1a
M_Passo1b
M_Passo2a
M_Passo2b
1
15
1
2
3
4
BORNE4
L298N
12V
D1
M_Passo1a
D2
M_Passo1b
D5
D3
M_Passo2a
D6
D4
M_Passo2b
D7
D8
5V
U2
C1
Cap
0.33uF
IN
5V
3
OUT
GND
LM7805CT
2
C2
Cap
0.1uF
J6
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
BORNE9
144
Figura 6.8 Imagem da placa com o Circuito do Conversor Analgico Digital (A/D).
145
de sinais:
5V
12V
3 JW1
2
5V
U1 6N137
FPGA_OUT0
R1
100
1
2
3
4
1
2
3
4
8
7
6
5
8
7
6
5
INTERFACE_OUT0
R32
330
U2 6N137
146
147
148
Na figura 6.13 mostrado o sinal relativo posio do freio, sendo que esta
varia de 0 a 255. Quando a leitura do transdutor indica (0) significa que o freio est
desativado, e quando indica 255 o freio est totalmente acionado.
149
Este teste
150
(a)
(e)
(i)
(n)
(b)
(f)
(j)
(o)
(c)
(g)
(l)
(p)
(d)
(h)
(m)
(q)
CONCLUSES DO CAPTULO
Neste captulo foram abordados os principais pontos relativo ao projeto do
A segunda
etapa por sua vez mostra uma seqncia de frames da filmagem do teste de
movimentao realizado com o veculo real.
151
CONSIDERAES GERAIS
Este trabalho prope a implementao de uma arquitetura de controle de
CONTROLADOR
DE
MOVIMENTAO
EM
HARDWARE
RECONFIGURVEL
O projeto e implementao do controlador de movimentao em hardware
reconfigurvel trouxe ao projeto SiAE novo cenrio tecnolgico, pois abriu um novo
caminho para a elaborao de sistemas envolvendo o controle da navegao seguindo
uma trajetria. Adicionalmente, a tecnologia envolvida pode ser adaptada para tcnicas
conhecidas em robtica (implementao/validao) como, por exemplo, a navegao
evitando obstculos. O projeto em si um passo prvio para a elaborao de um sistema
de estacionamento automatizado (baliza automtica).
A extenso da arquitetura modular (proposta nesse trabalho) foi potencializada
com a flexibilidade da implementao do controle de movimentao usando hardware
reconfigurvel.
No que tange os resultados obtidos com a implementao do sistema de controle
de movimentao embarcado em lgica reconfigurvel motra-se promissor em dois
principais aspectos: tempo de projeto e flexibilidade em hardware/software.
152
7.3.
O SISTEMA DE SIMULAO
O ambiente de simulao trouxe ao projeto uma nova metodologia de ciclo de
153
7.4.
154
funcional do sistema para atender as espectativas do projeto SiAE bem como o controle
de trajetria e de navegao.
155
156
REFERNCIAS BBLIOGRFICAS
Amato Joo Neto (2004) Relatrio setorial FINEP Semicondutores
http://www.finep.gov.br/PortalDPP/relatorio_setorial - acessado em 2004
Baille, Grard at al. (1999).: Le CyCab de INRIA Rhne-Alpes. INRIA. Relatrio
tcnico no. 0229.
Baltes, J., and Lin, Y. Lin (1999) .: Path- Tracking Control of a Non-Holonomic Carlike Robot with Reinforcement Learning. CITR, Tamaki Campus, University of
Auckland, Private Bag 92019 pg 117
Bellardi Thiago C., (2005) .: Definio de uma arquitetura flexvel para controle de
movimentos de um veculo de passeio. Publicao DM 002 Dissertao de
mestrado apresentada no departamento de mecnica da Universidade de Braslia,
novembro.
Bellows, P.; Hutchings, B. JHDL - An HDL for Reconfigurable Systems, Proceedings
of the IEEE Symposium on Field-Programmable Custom Computing Machines,
Abril 1998.
Becker, J. Simon, A., Shnitz, I., Gllinger, H., Schumacher, W., (1998) A
Decentralized Path Planning and Control Structure for an Autonomous Vehicle,
In Proceeding of the IV '98. IEEE International Conference on Intelligent
Vehicles. Stuttgart, Alemanha - Outubro 1998.
157
CNN (a) - Four vehicles finish in $2 million robot race. Acessado em setembro 2005.
http://www.cnn.com/2005/TECH/science/10/08/robot.race.ap/.
CNN (b) - Don't like parking? Try Piv, - Acessado em setembro 2005.
http://www.cnn.com/2005/AUTOS/09/30/nissan_concept.reut/
Compton, K.; Hauck, S. (2002) .:Reconfigurable Computing: A Survey of Systems and
Software, ACM Computing Survey, Vol. 34, No. 2, pg. 171-210.
158
Gu D., Hu. H. (2002).: Neural Predictive Control for a Car-like Mobile Robot.
International Journal of Robotics and Autonomous Systems, Vol. 39, No. 2-3,
pg 1-15
Hamblen J. O.; Furman M. D. (2001).: Rapid Prototyping of Digital System. Ed.
Kluwer Academic Publishers.
Han-Shue; Tan Jrgen Guldner; Satyajit Patwardhan; Chieh Chen an Bndicte Bougler
(1999) .: Development of on Automated Steering Vehicle Based on Roadway.
Harteinsten R. (2002).: Enabling Technologies for Reconfigurable Computing and
Software/Configure Co-Design. CNRS International Workshop ENST, Paris.
Hutton M.; Yuan R.; Schleicher J.; Chua K.; Phoon H. (2006) .: A methodology for
FPGA to Structured_ASIC Synthesis and Verification. Proceeding of the
Conference of Design, Automation and test in Europe, pg. 64-69.
Hwang, K.; Xu, Z. (1998) .:Scalable Parallel Computing: Technology, Architecture,
Programming, McGraw-Hill.
I.N.R.I.A institute Acessado em 2007 http://www.inria.fr/index.en.html
Kelber Christian R., Cludio R. Jung, Farlei Heinen (2005) .: Computao Embarcada;
Projeto e Implementao de Veculos Autnomos Inteligentes. XXV Congresso
da SBC, Janeiro.
Kelber, C.R.; Osrio, F.S.; Jung, C.R.; Heinen, F.J.; Dreger, R.S.; Gules, R.; Mello Jr.,
C.D.; Silveira, M.A.; Schumacher, W.; (2003a) "Tecnologias para Automao
Veicular - Solues em Mecatrnica e Sistemas de Apoio ao Motorista";
Engenharia- Estudos Tecnolgicos; ISSN 1517-3615, Vol. XXIII, No. 24, p.37-
47.
Kelber, C.R.; Dreger, R.S.; Gomes, G.K.; Webber, D.; Schirmbeck, J.; Netto, R.H.;
Borges, D.A.; (2003b) "Cell-Phone Guided Vehicle, an Application based on a Driveby-Wire Automated System"; In Proceeding of the 2003 IEEE Intelligent
Vehicles Symposium; Ohio, USA, 9-11 June.
159
Li J. H, Lee, Li, P. M. (2005) A Neural Network Adaptive Controller Design for FreePitch-Angle Diving Behavior of an Autonomous Underwater Vehicle. Robotics
and Autonomous Systems. Elsevier, 52 pg 132 - 147
Magnets A Case Study of Mechatronic System Design. IEEE/ASME Transaction on
Vehicle Technology, Vol., 4, No 3, Fevereiro.
Makimoto T. (2002) .: The Hot Decade of Field Programmable Technologies. IEEE
Proceedings of the International Congress on Field Programmable Technologies.
Mingjie Lin.; Gamal A.; Chang Y.; Wong S. (2006) .: Performance Benefits of
Monolithically Stacked 3D-FPGA. FPGA06 - USA.
Moore G. E. (1997) .: The Microprocessador: Engine of the Technology revolution.
Communications of the AMC, Vol. 40 (2), pg. 112-114.
M. Herz et al. (2002) .: Memory Organization for Data-Stream-based Reconfigurable
Computing; Proc. IEEE ICECS 2002, Dubrovnik, Croatia.
National I. - http://zone.ni.com/devzone/cda/tut/p/id/5053 - acessado em 21/02/2007.
Osrio, F. S.; Heinen, F.; Fortes, L. (2002). Controle da Tarefa de Estacionamento de
um Veculo Autnomo atravs do Aprendizado de um Autmato Finito usando
uma Rede Neural J-CC. In: VII Simpsio Brasileiro de Redes Neurais, 2002,
SBC Porto de Galinhas - Recife.
Osrio, F. S.; Musse, S. R.; Santos, C. T.; Heinen, F.; Braun, A. e Silva, A.T. S. (2004).
Ambientes Virtuais Interativos e Inteligentes: Fundamentos, Implementao e
Aplicaes Prticas. XXIV Congresso da SBC JAI 2004 (Jornadas de
Atualizao
em
Informtica).
Tutorial.
Salvador,
Bahia.
Web:
160
Regazzi, Rogrio Dias; Pereira, Paulo Srgio e Silva Jr; Manoel Feliciano (2005) .:
Solues prticas de instrumentao Utilizando a programao grfica
Labview.
Robosoft S.A. Automated People Transportation Applications, Technologies and
Perspectives.
Sep.
2003
Acessado
Disponvel
em
http://www.robosoft.fr/Brochures/wp-transports_EN.pdf
Sanchez, E. et al. (1999) .:Static and Dynamic Configurable Systems, IEEE
Transactions of Computers, pp. 556-564.
Self-parking car hits the shops. BBC News, 01 setembro 2003 - Disponvel em
http://www.news.bbc.co.uk/2/hi/technology/3198619.stm.
Shaladove S. E. e Desoer C. A., 1991
Shimazaki Kazunori; Kimura Tomio; Yamada Satoshi (2004).: Parking assisting device
Patent No US 6711473 B2 - United States
Simon, A.; Becker, J., (1999) Vehicle Guidance for an Autonomous Vehicle, In
Proceeding of the IEEE International Conference on Intelligent Transportation
Systems. Tokyo, Japan; 5-8 October.
Simon, A., Shnitz, I., Becker, J., Schumacher, W.; (2000) Navigation and Control of
an Autonomous Vehicle, In Proceeding of the 9th IFAC Symposium on Control
in Transportation Systems. Braunschweig; 13-15 June.
Sipper, M.; Sanchez, E. (2000) .:Configurable Chips Meld Software and Hardware,
IEEE Computer, pp. 120-121.
Shnitz, I., Schwarze, K., (1999) Lateral Control of an Autonomous Vehicle: Design
and First Practical Results, In Proceeding of the IEEE International Conference
on Intelligent Transportation Systems. Tokyo, Japan; 5-8 October.
Shnitz, I. (2001); "Querregelung eines autonomen Strassenfahrzeugs"; ForschrittBerichte VDI, Reihe 8, Nr. 882.
161
Tanaka Yuu; Iwata Yoshifumi; Satonaka Hisashi; Endo Tomohiko; Kubota Yuichi;
Matsui Akira; Iwakiri Hideyuki; Sugiyama Toru; Kawakami Seiji; Iwazaki
Katsuhiko; Kataoka Hiroaki (2006) .: Vehicle backward movement assist device
and vehicle parking assist device
163
APNDICES
164
165
166
167
168
169
170
PROCESSADOR
o MicroBlaze
Utilizao dos recursos da FPGA - Microblaze
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
827
557
1119
3
1920
3840
3840
12
% Usado
43.07%
14.51%
29.14%
25.00%
BARRAMENTOS DE COMUNICAO
o dlmb
Utilizao dos recursos da FPGA - dlmb
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
1
1
1
-
1920
3840
3840
-
171
% Usado
0.05%
0.03%
0.03%
0.00%
o ilmb
Utilizao dos recursos da FPGA - ilmb
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
1
1
1
-
1920
3840
3840
-
% Usado
0.05%
0.03%
0.03%
0.00%
o mb_opb
Utilizao dos recursos da FPGA - mb_opb
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
145
11
249
-
1920
3840
3840
-
172
% Usado
7.55%
0.29%
6.48%
0.00%
Controle de MEMRIA
o dlmb_bram
Utilizao dos recursos da FPGA - dlmb_bram_cntlr
Recursos
Usado
Disponvel
% Usado
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
3
1
5
-
1920
3840
3840
-
0.16%
0.03%
0.13%
0.00%
o ilmb_bram
Utilizao dos recursos da FPGA - dlmb_bram_cntlr
Recursos
Usado
Disponvel
% Usado
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
3
1
5
-
1920
3840
3840
-
173
0.16%
0.03%
0.13%
0.00%
PERIFRICOS
o Chaves 8 bits
Utilizao dos recursos da FPGA - Chaves
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
49
72
27
-
1920
3840
3840
-
% Usado
2.55%
1.88%
0.70%
0.00%
o Leds 8 bits
Utilizao dos recursos da FPGA - leds
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
67
105
37
-
1920
3840
3840
-
174
% Usado
3.49%
2.73%
0.96%
0.00%
o Botes 3 bits
Utilizao dos recursos da FPGA Botes
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
42
57
27
-
1920
3840
3840
-
% Usado
2.19%
1.48%
0.70%
0.00%
o RS-232
Utilizao dos recursos da FPGA - rs232
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
54
62
88
-
1920
3840
3840
-
175
% Usado
2.81%
1.61%
2.29%
0.00%
185
165
194
-
1920
3840
3840
-
% Usado
9.64%
4.30%
5.05%
0.00%
o Teclado PS 2
Utilizao dos recursos da FPGA - ps2_teclado
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
54
76
46
-
1920
3840
3840
-
176
% Usado
2.81%
1.98%
1.20%
0.00%
o PWM_I/O
Utilizao dos recursos da FPGA - pwm/IO
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
45
63
27
-
1920
3840
3840
-
% Usado
2.34%
1.64%
0.70%
0.00%
o PWM_TIMER_1
Utilizao dos recursos da FPGA - pwm_timer1
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
265
313
291
-
1920
3840
3840
-
177
% Usado
13.80%
8.15%
7.58%
0.00%
o PWM_TIMER_2
Utilizao dos recursos da FPGA - pwm_timer2
Recursos
Usado
Disponvel
Slices
Slice Flip Flops
LUTs de 4 entradas
MULT18X18s
265
313
291
-
1920
3840
3840
-
OPB_Clk
CLK
OPB_Clk
OPB_Clk
Keyboard_Clk
OPB_Clk
Clock_25Mhz
ready_set
OPB_Clk
OPB_Clk
OPB_Clk
OPB_Clk
OPB_Clk
OPB_Clk
LMB_Clk
LMB_Clk
178
68.362
91.128
98.348
98.348
100.120
100.120
100.120
100.120
135.612
135.612
138.658
138.927
151.676
203.707
238.152
238.152
% Usado
13.80%
8.15%
7.58%
0.00%