• Nenhum resultado encontrado

Apesar de ser um processador, e n˜ao um microcontrolador, o powerpc vem sendo bas- tante utilizado em sistemas embarcados. Ele une um baixo consumo com um alto poder de processamento. Os powerpcs s˜ao muito utilizados em controladores industriais, gateways, instrumenta¸c˜ao, sistemas de reconhecimento de som e imagem, sistemas para

a ind´ustria automotiva e sistemas de telecomunica¸c˜oes, entre outras aplica¸c˜oes.

A implementa¸c˜ao do algoritmo de controle nesta plataforma foi realizada utilizando- se o kit lite5200 da Freescale, que utiliza o powerpc mpc5200 da Motorola, um

processador de 32 bits que opera a uma freq¨uˆencia de clock de 400MHz. O kit tamb´em

disp˜oe de 16Mbytes de mem´oria flash, 64Mbytes de mem´oria ram e diferentes tipos de perif´ericos de comunica¸c˜ao. Com a presen¸ca de todas estas caracter´ısticas, percebe-se a grande capacidade desta plataforma, o que permite a implementa¸c˜ao das diversas fun- cionalidades discutidas no Cap´ıtulo 6, de modo a atender as necessidades das aplica¸c˜oes mais exigentes dentro da proposta de controle de trajet´oria. Em fun¸c˜ao da presen¸ca de todos estes recursos de hardware, esta plataforma foi a escolhida para a realiza¸c˜ao dos ensaios experimentais no ve´ıculo Mini-Baja, pois a boa disponibilidade de mem´oria permite o armazenamento dos dados do percurso e as interfaces de comunica¸c˜ao pos- sibilitam a coleta destes dados para an´alise.

7.4.1

Programa¸c˜ao do Algoritmo

A programa¸c˜ao do kit, assim como no caso do dsp, tamb´em ´e feita pela ferramenta Code Warrior em um vers˜ao espec´ıfica para esta plataforma. Por´em, para esta vers˜ao do Code Warrior, n˜ao est´a dispon´ıvel o Processor Expert, e sim uma outra ferramenta chamada MPC Quick Start, que consiste em uma ferramenta gr´afica para a habilita¸c˜ao,

desabilita¸c˜ao e sele¸c˜ao de modos de opera¸c˜ao de perif´ericos. Embora seja uma interface muito boa entre o programador e os registradores de configura¸c˜ao de hardware, o MPC Quick Start n˜ao ´e uma ferramenta auxiliar t˜ao poderosa se comparada ao Processor Expert, pois o c´odigo gerado apenas define o modo como o hardware e perif´ericos v˜ao operar, de modo que ajustes, como temporiza¸c˜ao de timers, defini¸c˜ao de eventos e rotinas de tratamento de interrup¸c˜oes e rotinas de acesso a perif´ericos, devem ser implementadas pelo projetista. Da mesma forma que o ambiente de desenvolvimento dispon´ıvel para o dsp, o MPC Quick Start permite apenas a codifica¸c˜ao em linguagem c, embora o Code Warrior aceite tamb´em programa¸c˜ao em c++. J´a uma vantagem do ambiente de desenvolvimento para powerpc est´a no fato das bibliotecas padr˜oes serem mais completas, a exemplo da biblioteca math.h, que contem todas as fun¸c˜oes matem´aticas necess´arias `a implementa¸c˜ao do algoritmo.

Tendo sido analisadas a arquitetura do powerpc e as caracter´ısticas do ambiente de desenvolvimento, foi realizada a programa¸c˜ao do algoritmo de controle utilizando o c´odigo desenvolvido em linguagem c. Devido `a grande disponibilidade de mem´oria do kit, foi poss´ıvel implementar o sistema completo modelado no Cap´ıtulo 6. A disponi- bilidade de todas as fun¸c˜oes matem´aticas tamb´em permitiu implementa¸c˜ao do c´odigo

praticamente sem altera¸c˜oes. Na realidade, a ´unica altera¸c˜ao necess´aria foi devido ao

fato de que as rotinas de aloca¸c˜ao dinˆamica de mem´oria estavam na biblioteca stdlib.h em vez da biblioteca malloc.h, bastando alterar as diretivas do pr´e-processador nos arquivos que incluem malloc.h.

7.4.2

Determina¸c˜ao dos Parˆametros das Tarefas

Os mesmos testes de execu¸c˜ao realizados em bancada para quantificar os parˆametros de tr das tarefas nas plataformas anteriores, foram tamb´em realizados com c´odigo aplicado `a plataforma powerpc. Os tempos de execu¸c˜ao obtidos nas medi¸c˜oes e utilizando-se os horizontes iguais a 20, podem ser vistos na Tabela 7.3:

Como esperado pode-se observar, a partir dos resultados obtidos, que o powerpc atende muito bem `as necessidades das aplica¸c˜oes propostas e, como a plataforma x86, apresenta recursos capazes de suprir as necessidades de aplica¸c˜oes mais elaboradas,

Tarefa Descri¸c˜ao Tempo de Execu¸c˜ao Ci (ms)

τ1 c´alculo da a¸c˜ao de controle 13, 686

J2 c´alculo da lei de controle 70, 566

Tabela 7.3: Tempos de computa¸c˜ao na plataforma powerpc.

como, por exemplo, a integra¸c˜ao em sistemas distribu´ıdos e comunica¸c˜ao com sistemas integrados de controle de tr´afego, que se encontram no topo da hierarquia apresentada

na Figura 2.1. Tamb´em aqui as tarefas J3, τ4, J5, J6 e J7 n˜ao tiveram seus tempos

determinados pelos mesmos motivos descritos na Se¸c˜ao 7.2.

7.5

Avalia¸c˜ao das Plataformas

De modo a se obter uma avalia¸c˜ao do desempenho de cada plataforma na execu¸c˜ao do algoritmo de controle, ´e realizada uma compara¸c˜ao das caracter´ısticas dos tempos de execu¸c˜ao, tomando como referˆencia a plataforma x86. A compara¸c˜ao destas carac- ter´ısticas tem como objetivo determinar a plataforma mais adequada `as necessidades de cada tipo de aplica¸c˜ao.

Os testes realizados com processadores Pentium I e Pentium 4 mostram a grande capacidade da plataforma x86 na execu¸c˜ao do algoritmo de controle, o que pode ser observado na Tabela 7.1. Outra grande vantagem da plataforma x86 ´e a versatilidade proporcionada pela grande variedade de perif´ericos, que permitem a integra¸c˜ao com diferentes arquiteturas. Como desvantagem, podem ser citados os fatos de que a estru- tura de hardware dos sistemas x86 convencionais n˜ao s˜ao apropriadas para sistemas embarcados e as estruturas destinadas a aplica¸c˜oes industriais, como os chamados PCs industriais, normalmente s˜ao solu¸c˜oes de alto custo.

Os resultados da execu¸c˜ao do algoritmo no dsp mostraram que esta plataforma tamb´em tem grande capacidade de processamento, sendo capaz de executar o c´odigo do algoritmo de controle em tempo compar´avel aos processadores mais poderosos da arquitetura x86, o que pode ser visto ao se coparar os dados da Tabela 7.2 com os da Tabela 7.1. Outras vantagens do dsp s˜ao as dimens˜oes e consumo reduzidos, o que o torna adequado para sistemas embarcados. Quanto `as desvantagens, tem-se a pouca

quantidade de mem´oria, o que limita a utiliza¸c˜ao a aplica¸c˜oes mais espec´ıficas, nas quais as condi¸c˜oes de opera¸c˜ao sofrem poucas varia¸c˜oes.

Da mesma maneira que as plataformas anteriores, a plataforma powerpc tamb´em apresentou bom desempenho na execu¸c˜ao do c´odigo, como mostra a Tabela 7.3. O powerpc apresenta grande volume de mem´oria e boa variedade de perif´ericos de co- munica¸c˜ao, assim como o x86, e tamb´em apresenta dimens˜oes reduzidas e baixo con- sumo, assim como o dsp, sendo apropriado para aplica¸c˜oes em sistemas embarcados. Por´em, devido a estas caracter´ısitcas, o powerpc tamb´em pode ser uma solu¸c˜ao cara em algumas aplica¸c˜oes.

Assim, no caso de aplica¸c˜oes com robˆos m´oveis de pequeno porte, em baixas velo- cidades e com condi¸c˜oes de opera¸c˜ao que sofrem pouca varia¸c˜ao, a plataforma dsp ´e naturalmente a mais adequada, pois ´e a que apresenta o menor custo, o menor consumo e tamb´em as menores dimens˜oes, se comparada `as plataformas x86 e powerpc. J´a em aplica¸c˜oes de alto desempenho, nas quais a trajet´oria, a velocidade e a carga trans- portada possam variar significativamente, maior capacidade de comunica¸c˜ao e volume de mem´oria s˜ao necess´arios, al´em do poder de processamento. Desta forma, as plata- formas x86 e powerpc passam a ser as mais adequadas, sendo que a op¸c˜ao entre uma e outra pode ser dada em fun¸c˜ao de necessidades espec´ıficas da aplica¸c˜ao em quest˜ao, como por exemplo, tipo de arquitetura de comunica¸c˜ao, armazenamento de dados ou custo.