1 Introduo
O computador de bordo vem sendo aplicado com freqncia, no s em veculos pequenos, mas tambm em veculos de mdio e grande porte. Segundo a JcOnline (1999), os computadores de bordo funcionam por meio de sensores eletrnicos e tm como objetivo principal fornecer recursos que auxiliem na dirigibilidade e conduo dos mesmos, atravs de consulta visual a informaes especficas e gerais como temperatura, data/hora, velocidade, nvel de leo e de combustvel, entre outras. Atualmente, automveis j usam computadores de bordo capazes de controlar vrios subsistemas do veculo e informar o estado geral de certos sistemas ao motorista (atravs de luzes no painel) e aos mecnicos atravs de conexes a computadores especiais. Existem tambm os computadores de bordo, que focam a sua atuao em outras particularidades de um veculo, como o controle da frota de veculos de uma empresa, registrando excessos de velocidade, m conduo do veculo, desgaste excessivo dos freios, com comunicao via satlite com a empresa proprietria do mesmo. Tais modelos de computador de bordo, possuem recursos de comunicao distintos dentre os quais o GPS tornou-se o mais popular. Desenvolvedores trabalham na implementao de um servidor www dentro do sistema de computador de bordo de forma totalmente embarcada. Os avanos rpidos e contnuos na eletrnica e tecnologia da computao so um grande elemento impulsionador dos novos conceitos em controle de trfego virio. Veculos com computadores de bordo e comunicadores podero receber do controle de trnsito central instrues sobre o melhor caminho at o destino final. O computador de bordo tambm poder informar ao computador central o seu tempo de viagem e velocidade para ser usado como parte da informao a ser processada. Em sistemas ainda mais avanados, a temporizao dos semforos ser coordenada instantaneamente pelas informaes recebidas dos veculos prximos (ABRAMCET, 2002).
Alm de todos os detalhes abordados, acrescentam-se ainda funes de entretenimento com recursos multimdia, tais como, MP3 e DVD interligados a displays LCD TFTs. O sistema proposto neste artigo visa demonstrar a integrao de funcionalidades dos computadores de bordo padres e comerciais, com um player de MP3. Este sistema integra a utilizao de diversos conceitos e reas de conhecimento da computao, destacando-se arquitetura de hardware com microcontroladores e computadores pessoais (PC), comunicao de dados serial RS232, infravermelho norma RC5 e FTP, sistema operacional Linux e integrao das linguagens de programao BASIC, e C. Visa tambm demonstrar uma nova tecnologia de placasme denominada Mini-ITX, que representa um novo formato no segmento, criado pela VIA Technologies, possuindo alta integrao de perifricos, baixo consumo e dimenses reduzidas. Maiores detalhes podem ser consultados em Freese (2003). Inicialmente so apresentados os conceitos tericos mais relevantes, tais como, a arquitetura de hardware com informaes sobre a placa-me Mini-ITX e o microcontrolador PIC16F877, o sistema operacional Linux com informaes sobre processos e a rea de comunicao de dados via infravermelho seguindo a norma RC5. A prxima seo apresenta detalhes de desenvolvimento, ilustrando a diviso de tarefas desempenhas pela interface microcontrolada e pelo PC, bem como, representaes grficas que representam a forma com a qual todos dispositivos foram interligados. Finalizando o artigo, so apresentados os resultados finais e prticos obtidos com o desenvolvimento do prottipo e a bibliografia utilizada para o embasamento terico do artigo.
2 Arquitetura de hardware
O desenvolvimento do sistema de computador de bordo, utilizou o microcontrolador PIC16F877 e a placa-me Mini-ITX denominada EPIA 800 da VIA Technologies. 2.1 Placa-Me Mini-ITX
Trata-se de uma placa-me para plataforma embarcada x86 ultra compacta, que possui uma alta integrao de perifricos (HITECHMODS, 2002). Foi desenvolvida pela VIA Technologies, famoso fabricante de chipsets e fabricante tambm dos processadores Cyrix. Atravs do seu grande nvel de integrao de perifricos, ela ocupa 66% do espao de uma placa-me padro FlexATX e vem com um processador Cyrix C3 soldado diretamente na placa, inclusive com opo de operao sem cooler (VIA, 2002). A figura 1 ilustra a arquitetura de hardware e a tabela 1 apresenta a especificao tcnica da placa-me Mini-ITX O processador C3 no tem o mesmo poder de processamento dos processadores AMD ou Intel, e no possui os recursos necessrios para jogos ou estaes grficas pesadas mas atende perfeitamente a diversas solues, tais como, servidores de impresso, players MP3, estaes de trabalho padro (Internet, Processador de texto, sem jogos 3D...), servidores proxy, servidores WEB e aplicaes restritamente embarcadas (TORRES, 2001).
Formato Chipsets
Mini-ITX 170x170mm Padro ATX VIA Apollo PLE 133 Ponte Norte VT8601A Ponte Sul VT8231
Perifricos Video AGP2X 2D/3D (compensao DVD) TV S-Video NTSC/PAL USB Rede 10/100 Serial 16C550 Paralela EPP/ECP Audio AC97 IDE onboard Memria Expanso Suporta SDRAM PC100/133 Possui um slot PCI
Tabela 1: Especificao Tcnica da Placa-me Mini-ITX
2.2
Microcontrolador PIC16F877
Este microcontrolador pertence a famlia PIC16C7XX/F87X da Microchip. Esta famlia possui microcontroladores em encapsulamentos de 18 a 44 pinos com uma vasta gama de opes de integrao de perifricos. Possui tambm instrues de 14 bits, 4 a 8 canais de A/D de 8/10 bits, capacidade de gerenciamento de interrupes, vrias interfaces seriais, mdulos de captura, PWM e comparadores, deteco de Brown-Out e pilha com at 8 nveis (MICROCHIP, 2003).
Os microcontroladores PIC16F87X possuem memria de programa FLASH e podem ser reprogramados com baixas tenses sendo ideais para aplicaes de segurana e sensoreamento remoto para comando de motores e aplicaes automotivas de alta velocidade de processamento (MICROCHIP, 2003). A linguagem de programao desta famlia o Assembly, porm o compilador PICBasic permite a sua programao em linguagem Basic (MELAB, 2003).
Processos so fundamentais em sistemas operacionais UNIX, controlando quase todas as atividades de um computador UNIX. possvel criar, iniciar e parar processos dentro de outros programas, assim como enviar e receber mensagens. O processo consiste numa rea de memria alocada e uma thread que executa neste espao seus recursos de sistema (MITCHELL, 2001). Cada processo possui um identificador PID, uma rea de cdigo e bibliotecas que podem ser compartilhadas aumentando a eficincia de utilizao da memria fsica, uma rea de variveis que exclusiva de cada processo e um descritor de arquivos. Possuem tambm uma pilha para variveis locais e para chamadas call e return. Estes processos so controlados por uma tabela de processos indexadas pelo PID de cada processo. Cada processo filho iniciado por outro conhecido como processo pai (MATTHEW, 1996). A figura 2 apresenta a estrutura bsica de um processo UNIX.
PIPE o termo utilizado para demontrar um fluxo de dados entre dois processos, caracterizando uma comunicao entre processos. A figura 3 ilustra o redirecionamento de uma sada padro de um processo filho para um processo pai com o fluxo de dados manipulado atravs da utilizao de um pipe.
PIPES 1 Processo Pai 0 0 1 Processo filho
Tanto no endereo do sistema, quanto no comando o bit menos significativo transmitido primeiro. A figura 4 mostra um pacote de dados norma RC5 (KAINKA, 2002). Na norma RC5, os dados so modulados numa freqncia portadora de 30 a 40KHz.. O transmissor emite por rajadas (salvas) onde esto contidos os pacotes de dados. Cada bit transmitido tem 1,778ms de durao, enquanto que cada pulso curto tem 6,9444s de durao e 20,8332s de intervalo. Para uma freqncia portadora de 36KHz, cada salva curta formada por 32 impulsos e cada salva longa, por 64 impulsos. O pacote completo dura 24,889ms, e sempre transmitido completamente. Se um boto do comando a distncia mantido pressionado, ento o cdigo repetido em intervalos de 64 impulsos(113,778ms).
5 Prottipo Desenvolvido
Os dois tipos diferentes de hardware que compem o sistema de computador de bordo, se comunicam via porta serial RS232 com taxa de transmisso de 9600 bauds. A interface microcontrolada detm controle total sobre as aes do PC, enviando serialmente comandos e recebendo dados como resposta a estes comandos. A interface tambm responsvel por ligar e desligar o PC, atuando diretamente sobre os pinos Pwr_On do PC, bem como, fornecendo tenso a fonte de alimentao ATX do PC, atravs de rels. A interface tambm interfere no funcionamento do sistema de som automotivo pois ir ser responsvel pelo acionamento do sinal remoto do mdulo, liberando a potncia do mesmo, quando a funo de MP3 estiver sendo utilizada. A figura 5 apresenta o diagrama de blocos do prottipo.
Comando
Mdulo
Comando
Inversor
Tenso da bateria
Comando
PC
Display LCD
Serial RS232
As funcionalidades principais so : 1) Indicao de temperatura interna e externa ao veculo em C; 2) Controle de nvel de carga da bateria automotiva; 3) Indicao e controle de velocidade do veculo em Km/h, com indicao de alertas e registros de velocidades superiores a permitida via PC; 4) Indicao de data e hora atuais; 5) Reproduo de arquivos MP3 com controle de volume; 6) Interao homem/mquina atravs de display LCD 4x20; 7) Comandos emitidos via emissor infravermelho Norma RC5. Estas funcionalidades so divididas pela interface microcontrolada e pelo PC, sendo a interface a principal responsvel pela execuo das mesmas, pois controla diretamente o PC. A interface recebe dados via sensor infravermelho Norma RC5 para controlar o PC. J a comunicao entre a interface e o PC serial, protocolo RS232. A transferncia de arquivos MP3 e arquivo de excessos de velocidade do PC ocorre atravs do protocolo FTP, utilizando uma rede Ethernet ponto a ponto. As demais informaes so apresentadas no display LCD da interface microcontrolada. Como mtodo de desenvolvimento, foram observadas as seguintes atividades: a) levantamento de requisitos necessrios ao desenvolvimento; b) especificao, utilizando fluxogramas isolados para cada funcionalidade conforme as sees 5.1 e 5.2 e que integrados representam o sistema completo desenvolvido;
c)
implementao, atravs da gerao dos prottipos de hardware e software equivalentes com a especificao;
d) testes prticos, comprovando a execuo do mesmo de acordo com os resultados esperados. A especificao e implementao completa do prottipo podem ser encontradas em Freese (2003). 5.1 Interface Dentre as principais funes do software da interface destacam-se : 1) Leitura de valores de temperatura atravs dos conversores A/Ds internos, utilizando os sensores de temperatura LM35 da National Semiconductors; 2) Leitura da tenso da bateria atravs de A/D interno. O canal A/D do PIC16F877 recebe uma tenso de 0V a 2,55V que corresponde a faixa de 0V a 17V provenientes da bateria automotiva, extrada atravs de um divisor de tenso varivel. Atravs desta faixa de tenses, a tenso de referncia dos canais A/D torna-se equivalente para a leitura das temperaturas, pois o prottipo l temperaturas de 0 a 255C (0 a 2,55V obtidos na sada do LM35); 3) Leitura de velocidade atravs de um pino de I/O definido, captando os sinais gerados pelo sensor de velocidade efeito Hall V305; 4) Interpretao dos sinais infravermelhos norma RC5 decodificando cada pacote recebido, para a leitura do sistema e do comando que deve ser executado, via interrupo. Foi utilizado o receptor infravermelho PH38C da Siemens e o controle remoto universal System Link 4 da RCA como emissor; 5) Comando direto sobre o PC, substituindo os botes Pwr_On e Rst_Sw; 6) Comando direto sobre o sinal remoto do mdulo de potncia; 7) Comando indireto sobre a alimentao do PC, ligando e desligando o inversor de tenso; 8) Comunicao serial com o PC, com recepo atravs de interrupo para leitura do status do PC, informaes ID3 Tag das msicas de MP3, tempo decorrido de execuo das msicas, status de execuo das msicas (stop,pause,play), velocidade mxima permitida sem emisso de alertas e informaes de data e hora; 9) Comunicao serial com o PC, com transmisso de dados, sem interrupo, para instrues de controle sobre as msicas MP3 (play,pause,stop,next,previous), controle de volume, velocidade mxima permitida pelo veculo sem emisso de alertas, status de carga da bateria, desligando o PC caso necessrio, bem como desligar o PC quando houver este comando via emissor infravermelho. O componente principal da interface o microcontrolador PIC16F877. A implementao do software da interface foi realizada atravs do compilador PICBasic Pro. 5.2 PC Dentre as principais funes do software do PC destacam-se : 1) Execuo de arquivos MP3 atravs de comunicao inter-processos. O programa utilizado foi o mpg321 que foi desenvolvido com a biblioteca MAD (Mpeg Audio
Decoder), que produz uma sada decodificada de 24 bits e freeware. O mpg321 teve suas respectivas entrada e sada padres redirecionadas para o programa principal; 2) Controle de volume atravs da criao de outro processo executando o programa aumix, redirecionando a sada padro para o programa principal; 3) Obteno de dados ID3 dos arquivos MP3 atravs de um processo executando o programa mp3info, redirecionando a sada padro para o programa principal; 4) Registro de velocidades superiores pr-configurada no arquivo velocmax.cfg, criando um log de velocidades no arquivo logvel.log, recebendo serialmente estas informaes, atravs da interface; 5) Desligamento do PC atravs de instruo recebida serialmente, podendo ser por solicitao via emissor infravermelho ou por problemas de carga na bateria; 6) Fornecimento de data e hora atravs de chamadas de sistema no PC enviando as mesmas para a interface via serial; 7) Comunicao serial com a interface por poolling. O software do PC foi desenvolvido em linguagem C para Linux utilizando o compilador gcc. Foi utilizado o sistema operacional Linux Red Hat 7.3. 5.3 Integrao Hardware PC/Interface A figura 6 ilustra a integrao entre o hardware do PC e o hardware da Interface utilizados pelo prottipo.
Figura 8: Tela de execuo de arquivos MP3 com informaes adicionais na 4a linha do LCD
7 Concluses
O prottipo desenvolvido, apontou para uma nova tendncia em equipamentos automotivos, caracterizando um sistema de computador de bordo. Aliando a versatilidade de aplicaes embarcadas dos microcontroladores com o alto poder de processamento de um placa-me extremamente reduzida, tivemos a oportunidade de demonstrar a interao de diversas reas de conhecimento da computao, citando a comunicao de dados serial, a comunicao de dados infravermelho Norma RC5, o protocolo FTP, a arquitetura de hardware, o sistema operacional Linux, linguagem C, linguagem BASIC entre outros. O sistema uniu funcionalidades bsicas de um computador de bordo, tais como medies de temperatura, velocidade, data e hora, nvel da bateria, com um recurso multimdia, j bastante difundido e que vem tornando-se um produto comercial bastante presente na rea de equipamentos de som automotivo, o player MP3. O sistema props tambm uma funcionalidade bastante interessante para empresas, simulando a ao de um tacgrafo, atravs do registro de velocidades excessivas. A utilizao de uma placa-me para a reproduo de MP3 ao invs de um hardware microcontrolado com decodificador MP3, deve-se a dois fatores principalmente: o tamanho extremamente reduzido da placa-me utilizada, constituindo um novo padro de placas-me, denominado Mini-ITX, e principalmente a possibilidade de fcil upgrade para novas tecnologias na rea de compactao de udio que tendem a se consolidar no futuro tais, como MP4, Ogg Vorbis e outras que surgiro em meio ao avano tecnolgico cada vez mais constante e gil.
7.1
Criao de uma nova funcionalidade, para medio de consumo de combustvel a cada abastecimento em tempo real com registro de operaes. Implementao de rotinas grficas para o limitado display LCD padro HD44738, aumentando o nvel de esttica de apresentao de dados, juntamente com um equalizador grfico para o player MP3. Implementao de um sistema de direo inteligente, que funcionaria com um detector de sada de pista do veculo, caso por exemplo o motorista pegasse no sono, utilizando o poder de processamento da placa-me EPIA Mini-ITX. Implementao de um sistema de GPS, com a placa-me Mini-ITX.
8 Referncias
ABRAMCET. Computador de bordo, So Paulo, 2003. Apresenta informaes sobre novas tendncias para os computadores de bordo. Disponvel em: <http://www.abramcet.com.br/home/old/hist_conceitos.shtml>. Acesso em: 6 fev. 2003 ANUNCIACAO, Heverton Silva. Linux guia prtico em portugus. So Paulo: rica, 1999. CANTU, Marcos. Delphi 5.0 a bblia. So Paulo: Makron Books, 2000. CANZIAN, Edmur. Comunicao Serial RS232. So Paulo: Editora da Escola Tcnica CNZ de Cotia, 2002. DANESH, Arman. Dominando Linux a bblia. So Paulo: Makron Books, 2000. FIP. Sensores de velocidade, So Paulo, 2002. Ilustra funcionamento e instalao dos sensores de velocidades comercializados pelo mesmo. Disponvel em: <http://www.fip.com.br/Sensores/Sensor%20de%20Velocidade.pdf>. Acesso em: 9 mar. 2003. FREESE, Cristiano. Prottipo de um computador de bordo baseado em PCLinux. Blumenau, 2003. Trabalho de Concluso de Curso (Bacharelado em Cincias da Computao) Universidade Regional de Blumenau. HITECHMODS. VIA EPIA-800 Mini-ITX Motherboard Review, Flrida, 2002. Apresenta uma reviso completa sobre a placa-me EPIA 800 Mini-ITX. Disponvel em: < http://www.hitechmods.com/reviews/motherboards/VIA_EPIA/via_epia.shtml >. Acesso em: 20 out. 2002. JCONLINE. Computadores de bordo vs check control, Recife, 1999. Apresenta particularidades dos dois tipos de sistema. Disponvel em: < http://www2.uol.com.br/JC/_1999/1903/vc1403b.htm>. Acesso em: 12 fev. 2003. KAINKA, Brian. Emissor/receptor IV para PC. ELEKTOR, So Paulo, ano 1, n. 7, p. 6-11, out. 2002.
KERNIGHAN, Brian W.; RITCHIE, Dennis M. C: A linguagem de programao. Rio de Janeiro: Campus, 1990. The GCC Team. GCC Home Page GNU Project, Boston, 2003. Site oficial do compilador GCC. Disponvel em: < http://gcc.gnu.org/>. Acesso em: 30 mai. 2003. NATIONAL SEMICONDUTOR. Analog and interface products databook. California: National, 2002. MATTHEW, Neil; STONES, Richard. Beginning Linux programming. Birmingham: Wrox, 1996. MELAB MicroEngineering Labs Corporation. PicBasic compiler, Califrnia, 2003. Apresenta manuais e bibliotecas existentes para utilizao do compilador PicBasic. Disponvel em: <http://www.melabs.com/resources/index.htm>. Acesso em: 01 mar. 2003. MITCHELL, Mark; OLDHAM, Jeffrey; SAMUEL, Alex. Advanced Linux Programming. Indiana: New Riders, 2001. MICROCHIP. PIC16F877 device, Arizona, 2001. Apresenta informaes tcnicas sobre o microcontrolador PIC16F877 e exemplos de aplicao prtica. Disponvel em: <http://www.microchip.com/1010/pline/picmicro/category/embctrl/14kbytes/d evices/16f877/index.htm>. Acesso em: 10 jan. 2003. SCHILDT, Herbert. C completo e total. 2. ed. So Paulo: Makron Books, 1990. STEVENS, W. Richard. Advanced programming in the UNIX environment. Boston: Addison-Wesley, 1993. TORRES, Gabriel Hardware curso completo. 4. ed. Rio de Janeiro: Axcel Books, 2001. VIA. EPIA Mini-ITX users manual. Newark: Via VPSD, 2002. WINSTAR Displays. WH2004 product, Taipei, 2003. Apresenta dados tcnicos do display LCD WH2004. Disponvel em: < http://www.winstar.com.tw>. Acesso em: 15 mar. 2003.