Autor: Mauricio Lopes de Oliveira. Orientador: Prof. Manuel Lois Anido, Phd. NCE/UFRJ. Co-orientador: Prof. José Paulo Brafman, Msc.



Documentos relacionados
Aula 11 Bibliotecas de função

Matemática / 1ª série / ICC Prof. Eduardo. Unidade 1: Fundamentos. 1 - Introdução ao Computador

HARDWARE e SOFTWARE. O Computador é composto por duas partes: uma parte física (hardware) e outra parte lógica (software).

Fundamentos de Informática 1ºSemestre

Vensis PCP. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) comercial@vensis.com.br

GUIA RÁPIDO DE CONFIGURAÇÃO PARA WINDOWS

TECNOLOGIAS DE MICRO-GERAÇÃO E SISTEMAS PERIFÉRICOS. 6 Painéis Solares Fotovoltaicos

1 Criando uma conta no EndNote

ALTERAÇÕES NO SISTEMA ORION

SGCT - Sistema de Gerenciamento de Conferências Tecnológicas

Agenda. A interface de Agendamento é encontrada no Modulo Salão de Vendas Agendamento Controle de Agendamento, e será apresentada conforme figura 01.

Manual de Instalação

Boletim Técnico R&D 07/08 CARACTERÍSTICAS DO DRIVER MPC de maio de 2008

Principais Informações

III.3. SISTEMAS HÍBRIDOS FIBRA/COAXIAL (HFC)

Integração com coletores de ponto, catracas, dispositivos de abertura de portas, fechaduras eletromagnéticas,

Notas de Aplicação. Utilização do conversor RS232/RS485 (PMC712) com controladores HI. HI Tecnologia. Documento de acesso público

Manual. Autorizador da UNIMED

FKcorreiosg2_cp1 - Complemento Transportadoras

Vensis Manutenção. Rua Américo Vespúcio, 71 Porto Alegre / RS (51) comercial@vensis.com.br

TESTE DE SOFTWARE (Versão 2.0)

PIM TECNOLOGIA EM GERENCIAMENTO DE REDES DE COMPUTADORES (GR3P30)

1. Objetivo: Lançar novo produto para bloqueio do veículo via celular GSM e rastreador GSM com localização por GPS.

3 Fundamentos do Comportamento dos Hidrocarbonetos Fluidos

Os novos usos da tecnologia da informação nas empresas Sistemas de Informação

3. TIPOS DE MANUTENÇÃO:

Bancada Didática para CLP SIEMENS S XC110 -

Sensor de Nível Digital / Analógico

Projetos, Programas e Portfólios

INTRODUÇÃO A LOGICA DE PROGRAMAÇÃO

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

Integração com coletores de ponto, catracas, dispositivos de abertura de portas, fechaduras eletromagnéticas,

Universidade Luterana do Brasil Faculdade de Informática. Disciplina de Engenharia de Software Professor Luís Fernando Garcia

Versões Todos os módulos devem ser atualizados para as versões a partir de 03 de outubro de 2013.

5. PLANEJAMENTO E ORGANIZAÇÃO DA MANUTENÇÃO:

GESTÃO DE PROJETOS. Uma visão geral Baseado nas diretrizes do PMI

Regulamento da Feira de Ciência

REGULAMENTO DE ESTÁGIO DE INICIAÇÃO PROFISSIONAL

MANUAL DE INSTALAÇÃO

3 Formulação da Metodologia 3.1. Considerações Iniciais

Transformadores. Transformadores 1.1- INTRODUÇÃO 1.2- PRINCÍPIO DE FUNCIONAMENTO

Módulos de Expansão para Microcontroladores

MANUAL DO USUÁRIO FINANCEIRO

Academia FI Finanças

Capítulo V. Técnicas de Análise de Circuitos

Código: Data: Revisão: Página: SUMÁRIO

Cursos Profissionais de Nível Secundário (Decreto-Lei n.º 74/2004, de 26 de Março)

5 PROCEDIMENTO EXPERIMENTAL

Proposta. Projeto: VENSSO. Data 25/05/2005. Andrade Lima Damires Fernandes Andrade Lima Damires Fernandes. Responsável. Autor (s)

XVIII Seminário Nacional de Distribuição de Energia Elétrica

Pontifícia Universidade Católica do RS Faculdade de Engenharia

Processo TCar Balanço Móbile

Anexo V. Software de Registro Eletrônico em Saúde. Implantação em 2 (duas) Unidades de Saúde

Regulamento para realização do Trabalho de Conclusão de Curso

GESTÃO DE LABORATÓRIOS

Boletim Técnico. CAGED Portaria 1129/2014 MTE. Procedimento para Implementação. Procedimento para Utilização

Processo de envio de de marketing

Manual do Novo Pátio. Revenda. Versão 2.0

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE CIÊNCIAS APLICADAS Cidade Universitária de Limeira

UMG 100. User Media Gateway to E1 and VoIP. Transcoding nos 30 canais. Cancelamento de eco. Suporte SNMP. CDR personalizável

CRONOGRAMA DELPHI para turmas Aproximadamente 84 horas - aulas de 2 horas

ESCOPO DETALHADO - CO Modelos 3D e Vinhetas Animadas

DISCIPLINA: Matemática. MACEDO, Luiz Roberto de, CASTANHEIRA, Nelson Pereira, ROCHA, Alex. Tópicos de matemática aplicada. Curitiba: Ibpex, 2006.

Organização de Computadores Digitais. Cap.10: Conjunto de Instruções: Modos de Endereçamento e Formatos

2º Passo Criar a conexão via ODBC (Object DataBase Conection)

5. Lista de Exercícios - Amplificadores e Modelos TBJ

Plano de aulas ª série 1ª aula 2ª etapa

Proposta. Treinamento Lean Thinking Mentalidade Enxuta. Apresentação Executiva

SMART CONTROLE DO ESTOQUE DE GONDOLA

Roteiro de Implantação Estoque

Gerenciamento do Escopo

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO II PROJETO BÁSICO: JORNADA AGIR

Projeto de Arquitetura Objetivos. Tópicos abordados. Arquitetura de software. Vantagens da arquitetura explícita

Índice. Dia 05 de fevereiro de Apresentação Dia 12 de fevereiro de

Dissídio Retroativo. Cálculos INSS, FGTS e geração da SEFIP

Manual do DEC Domicílio Eletrônico do Contribuinte

Design Patterns ABSTRACT FACTORY EMERSON BARROS DE MENESES

Copyright 2013 VW Soluções

Artigo 12 Como montar um Lava Jato

PDF Livre com o Ghostscript

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza

Apresentação do Curso

Informática II INFORMÁTICA II

Workflow. José Palazzo Moreira de Oliveira. Mirella Moura Moro

Versão 14.0 Junho Contato: Representação mais detalhada da operação em cada estágio: 21 blocos

Manual de Instalação e Configuração

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

H. Problemas/outras situações na ligação com a Segurança Social;

WEB MANAGER. Conhecendo o Web Manager!

Novo Sistema Almoxarifado

Desenho centrado em utilização

Modelagem, qualificação e distribuição em um padrão para geoinformações

Autocalibração com erros relacionados ao Sistema, Auto CQ e Troca de Reagente

Copyright GrupoPIE Portugal, S.A. Manual Utilizador

Administração de Redes Servidores de Aplicação

Plano de curso Planejamento e Controle da Manutenção de Máquinas e Equipamentos

Unidade 7: Sínteses de evidências para políticas

Software Para Controle de Acesso e Ponto

Capítulo VII Projetos de eficiência energética em iluminação pública Por Luciano Haas Rosito*

Linguagem de. Aula 07. Profa Cristiane Koehler

Transcrição:

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO ESCOLA POLITÉCNICA DEPARTAMENTO DE ELETRÔNICA E DE COMPUTAÇÃO DESENVOLVIMENTO DE SOFTWARE E HARDWARE EMBUTIDO PARA UM SISTEMA DE ESTACIONAMENTO Autr: Maurici Lpes de Oliveira Orientadr: Prf. Manuel Lis Anid, Phd. NCE/UFRJ C-rientadr: Prf. Jsé Paul Brafman, Msc. EP/UFRJ Avaliadr: Prf. Carls Jsé Ribas D Avila, Msc. EP/UFRJ DEL 09/2006

DEDICATÓRIA A meu avô Alcides e minha avó Luzia, que nã estã a meu lad para cmpartilhar s mments marcantes em minha vida, cm este. ii

AGRADECIMENTOS À minha amada espsa Fabiana, que me aclheu nas minhas angústias. As meus pais pr acreditarem em mim, quand nem mesm eu acreditava. A Prf. Manuel Lis, pr sua rientaçã e cmpreensã. As amigs Daniel, Raphael e Vinícius Pr suas participações E principalmente a Deus, pr sempre me dar muit além d que eu almejava. iii

RESUMO Este trabalh final de graduaçã descreve a cncepçã, prjet e a implementaçã de um sistema embutid basead na linha de micrcntrladres PIC, cuj hardware é testad através da implementaçã de uma aplicaçã de um sistema de cntrle de estacinament de autmóveis. Este trabalh faz uma descriçã das diversas tecnlgias estudadas para alcançar s bjetivs prpsts e descreve prjet e a implementaçã d hardware e d sftware empregads. Ele também descreve a metdlgia usada e td prcess de desenvlviment desde a cncepçã e prjet até a implementaçã d sistema prpst. O hardware desenvlvid é razavelmente ptente e genéric, cnsiderand-se um sistema embutid cm micrcntrladr PIC, e pde ser usad em diversas aplicações, nã se limitand à aplicaçã apresentada, a qual fi desenvlvida pel autr em cnjunt cm aluns d curs de Ciência da Cmputaçã da UFRJ. O sistema pssibilita cntrle de um estacinament, lidand cm clientes avulss (u rtativs) e mensalistas e permite registrar placas, marcas, tabelas de preçs e clientes mensalistas, além de calcular temp de permanência e valr a ser pag pel usuári. iv

SUMÁRIO Dedicatória... ii Agradeciments... iii Resum... iv Sumári... v Índice de figuras... vii Índice de tabelas... ix 1 Intrduçã... 1 1.1 Imprtância d tema... 1 1.2 Objetivs d Prjet... 2 1.3 Organizaçã d trabalh final... 2 2 Revisã Bibligráfica... 3 2.1 Intrduçã... 3 2.2 Bibligrafia revisada... 3 2.2.1 Micrcntrladres analisads... 3 2.2.2 Artigs e prduts revisads... 5 2.3 Cnclusões da Revisã Bibligráfica... 6 3 Revisã das tecnlgias utilizadas n prjet... 7 3.1 Intrduçã... 7 3.2 Características gerais da família de micrcntrladres PIC utilizada... 10 3.2.1 Micrcntrladres utilizads n prjet... 13 3.4 Cmpnentes externs utilizads n prjet... 16 3.4.1 EEPROM 24C32... 16 3.4.2 RAM 62256... 17 3.4.3 MAX 232...18 3.4.4 PCF 8583... 19 3.4.4 LCD... 20 v

3.3 Prtcls utilizads n prjet...21 3.3.1 Prtcl I2C...21 3.3.2 Prtcl de cmunicaçã para teclad PS/2... 22 3.4 Sftwares e prgramadres de micrcntrladres utilizads n prjet... 23 3.4.1 Sftwares utilizads... 23 3.4.2 Prgramadr utilizad... 25 3.5 UML... 25 4 Cncepçã e prjet d sistema... 26 4.1 Intrduçã... 26 4.2 Funções e requisits de um sistema de estacinament... 26 4.3 Requisits de hardware d sistema de estacinament... 30 4.4 Requisits básics de um S.E. para us geral... 31 5 Implementaçã e resultads... 41 5.1 Intrduçã... 41 5.2 Implementaçã d sftware...41 5.3 Implementaçã d hardware... 46 5.4 Resultads... 51 6 Cnclusões... 54 6.1 Resum d trabalh... 54 6.2 Principais dificuldades... 55 6.3 Cnclusões... 56 6.4 Trabalhs futurs... 57 Bibligrafia utilizada... 58 Referências... 59 Apêndice A Listagem d códig desenvlvid... 62 Apêndice B Manual de us das Biblitecas usadas n Hardware... 135 Apêndice C Glssári d Sistema de Estacinament... 144 Apêndice D Análise de requisits d Sistema de Estacinament... 148 vi

ÍNDICE DE FIGURAS Figura 1 - Níveis de abstraçã d prcess de desenvlviment de sistemas embutids... 10 Figura 2 Um esquema simplificad d micrcntrladr 16F64... 11 Figura 3 Pinagem d 18F452 e d 18F4620... 15 Figura 4 - Pinagem da EEPROM 24C32... 17 Figura 5 Identificaçã da EEPROM... 17 Figura 6 Pinagem d 62256...18 Figura 7 Diagrama d CI MAX232... 19 Figura 8 Esquema de utilizaçã d PCF 8583... 19 Figura 9 Cmunicaçã I2C...22 Figura 10 Cmunicaçã d teclad cm cmputadr... 23 Figura 11 Cmunicaçã d cmputadr cm teclad... 23 Figura 12 Ligaçã d PIC cm LCD... 32 Figura 13 Diagrama de temp d cicl de escrita d LCD... 33 Figura 14 Ligaçã d PIC cm teclad PS/2... 33 Figura 15 Ligaçã d PIC cm 24C32 e PCF8583... 34 Figura 16 Diagrama de temp ds dispsitivs I2C... 34 Figura 17 Cmunicaçã serial n MAX232... 35 Figura 18 Ligaçã d PIC cm MAX232... 35 Figura 19 Ligaçã d PIC cm a memória externa 62256... 36 Figura 20 Diagrama de temps de leitura na memória 62256... 36 Figura 21 Diagrama de temps de escrita na memória 62256... 37 Figura 22 Ligaçã d PIC cm a interface paralela... 38 Figura 23 Diagrama de temps da interface paralela... 39 Figura 24 Diagrama esquemátic d hardware prjetad... 40 vii

Figura 25 Sistema final implementad... 46 Figura 26 Visã de frente d sistema... 47 Figura 27 Visã lateral direita d sistema... 48 Figura 28 Visã frntal d sistema... 49 Figura 29 Visã lateral esquerda d sistema... 50 Figura 30 Dispsiçã ds cmpnentes na placa d sistema... 51 Figura 31 Tabela de marcas cadastradas... 51 Figura 32 Tabela de preçs para autmóveis de classe 1... 52 Figura 33 Ticket de entrada... 52 Figura 34 Listagem d páti... 52 Figura 35 Ticket de saída... 53 viii

ÍNDICE DE TABELAS Tabela 1 Características d 18F452 e 18F4620... 14 Tabela 2 Pinagem padrã d LCD... 20 Tabela 3 Valres típics d diagrama de temp d LCD medids em nansegunds... 32 Tabela 4 Valres ds temps ds diagramas da memória 62256... 37 ix

1 INTRODUÇÃO A cmputaçã está cada vez mais presente, e cada vez mais imprtante n nss ctidian. Assciada as utras tecnlgias, a cmputaçã ferece uma enrme gama de prduts e serviçs que servem para melhrar a qualidade de vida das pessas. Há inúmers exempls de prduts cm serviçs sfisticads que só cm auxíli de cmputaçã é pssível prver, cm pr exempl: eletrdméstics e autmóveis inteligentes, equipaments médics de última geraçã, etc. Neste cenári, tem se trnad cada vez mais imprtante, embutir placas eletrônicas cm micrcntrladres dentr ds equipaments, a fim de dar-lhes mair capacidade para prver nvas funções, para substituir partes mecânicas u ecnmizar energia, entre utras cisas. A aplicaçã de micrcntrladres e de utrs circuits integrads dentr de equipaments trnu-se muit imprtante, tant d pnt de vista ecnômic quant estratégic, fazend cm que muitas universidades e empresas criassem curss, departaments, u áreas denminadas Sistemas Embutids u Sistemas Embarcads, para estruturar melhr as pesquisas e desenvlviment destes tips de sistemas. 1.1 IMPORTÂNCIA DO TEMA Atualmente é muit cmum haver pel mens um cmputadr pessal nas residências. Da mesma maneira, há diverss sistemas que ficam embutids dentr de aparelhs facilmente encntrads ns lares: Celulares, lavadras, autmóveis, micrndas, TVs, DVD s, etc. Estatísticas atuais indicam que s micrprcessadres usads em PC s representam apenas 3% d ttal de micrprcessadres e micrcntrladres fabricads n mund [27]. Em terms de valr de prdut, s cmputadres e s ntebks junts representam apenas 30% d valr d smatóri de tds s utrs prduts que usam micrprcessadres e micrcntrladres em sistemas embutids, tais cm máquina de lavar, micrndas, autmóveis e aviões [27]. Prtant, s Sistemas Embutids sã uma realidade n cntext da nva ecnmia, que cnsiste na cmbinaçã d prcess da glbalizaçã e da alta tecnlgia, na qual s resultads-chave e s ativs prdutivs sã fundamentalmente intelectuais infrmaçã e cnheciment e nã físics. Embra na nva ecnmia se tenha dad muita atençã a desenvlviment de sftware e telecmunicações, a nva ecnmia, que faz us intensiv de infrmaçã, englba também desenvlviment de sistemas embutids. A evluçã tecnlógica ds sftwares de desenvlviment e das técnicas de fabricaçã de CI s tem casinad uma reduçã ns custs de prduçã ds Sistemas Embutids. Dessa frma, bservase uma diminuiçã ds preçs de venda de prduts baseads em Sistemas Embutids. Ou seja, nvas

tecnlgias prprcinam preçs mais barats e fazem cm que Sistemas Eletrônics Embutids sejam cada vez mais utilizads dentr de prduts as quais eles sã agregads. A facilidade de desenvlviment e baix cust têm prprcinad um mair interesse pr parte das indústrias e das universidades pr Sistemas Embutids, que além de um cust cada vez mais baix, apresentam uma crescente flexibilidade, capaz de permitir sua utilizaçã em uma grande gama de aplicações. 1.2 OBJETIVOS DO PROJETO O prjet descrit neste trabalh abrda a cncepçã, prjet e a implementaçã d hardware de um sistema embutid cm características suficientemente genéricas para pder ser utilizad em gama razável de aplicações. Para testar hardware prpst, desenvlveu-se uma aplicaçã que cnsiste num sistema para cntrle de estacinaments pequens. O hardware nã está limitad a esta aplicaçã e pde ser utilizad cm platafrma de desenvlviment de utras aplicações. 1.3 ORGANIZAÇÃO DO TRABALHO FINAL Neste item, sã mencinads s capítuls descrits neste trabalh e seu cnteúd. O capítul 1 abrda a imprtância d tema, s bjetivs prpsts e rteir deste trabalh. O capítul 2 faz uma revisã bibligráfica, analisa as principais aplicações encntradas que pssuem alguma relaçã cm trabalh aqui apresentad, discute algumas famílias de micrcntrladres e justifica a esclha d micrcntrladr utilizad. O capítul 3 discute as tecnlgias relevantes utilizadas n desenvlviment d sistema apresentad. O capítul 4 apresenta a cncepçã e prjet d sistema desenvlvid, mstrand as características e necessidades de um sistema de estacinament, apresentand e justificand as esclhas feitas. O capítul 5 descreve a implementaçã d hardware e d sftware, apresentand fts d sistema e uma breve descriçã das funções cntidas nas biblitecas desenvlvidas. Pr fim, capítul 6 apresenta as cnclusões deste trabalh e prpõe alguns temas para evluçã deste prjet. 2

2 REVISÃO BIBLIOGRÁFICA 2.1 INTRODUÇÃO Devid à amplitude d tema Sistemas Embutids, n qual este trabalh se insere, esta revisã bibligráfica analisa algumas pesquisas e prduts que pssuem alguma relaçã cm trabalh aqui apresentad. 2.2 BIBLIOGRAFIA REVISADA 2.2.1 MICROCONTROLADORES ANALISADOS Para que s Sistemas Embutids tenham um cust baix e tamanh reduzid, é necessári fazer us de pucs cmpnentes n circuit. Pr este mtiv, geralmente dá-se preferência a us de micrcntrladres n prjet de Sistemas Embutids (u sistemas embarcads), pis eles integram, numa única pastilha, um micrprcessadr e váris utrs dispsitivs cm, cnversres analógicdigitais (AD), memórias, temprizadres, interface de cmunicaçã serial, etc. Deste md, permitem reduçã de custs e de tamanh físic, além de cnferir versatilidade a hardware. Existem várias famílias de micrcntrladres cm recurss bastante variads e, pr iss há diferentes esclhas pssíveis de micrcntrladres, que passarems a analisar a seguir. Os micrcntrladres 8051 [7] fram lançads pela INTEL, n iníci da década de 80, e sã usads em várias aplicações. A família de micrcntrladres 8051, cnhecida pr família MCS-51, é prduzida pr diverss fabricantes, tais cm Intel, Philips e Siemens. Estes fabricantes têm adicinad periférics para 8051, cm: interfaces I2C [8], cnversres analógic digitais (A/D), mdulaçã pr largura de puls (PWM), etc. As principais características nrmalmente encntradas sã: 4 prtas de 8 bits, um cicl de instruçã igual a 12 cicls de clck, 2 temprizadres/cntadres de 16 bits, 1 interface UART, entre utrs. O 8051 geralmente pssui pucas prtas de entrada e saída (E/S), principalmente se fr usada memória externa para expansã da memória interna de dads u de prgrama, que cmprmete 2 prtas d 8051. Além diss, cm cada cicl de instruçã cupa 12 cicls de clck, 8051 necessita de um clck elevad para um cicl de instruçã cnsiderável, que gera um cnsum de energia mais elevad d que em utrs micrcntrladres. Uma utra desvantagem da família MCS-51, em relaçã a utrs micrcntrladres cm PIC, pr exempl, é a puca densidade de códig. Os micrcntrladres ARM [9] fazem parte de uma família de micrcntrladres RISC de nrmalmente 32 bits, que fi desenvlvida para ter melhr desempenh pssível dentr das seguintes limitações: ser simples, cupar puca área e ter baix cnsum de energia. Apesar de pssuir um cnjunt de instruções muit simples se cmparad cm prcessadres CISC, ARM tem instruções mais cmplexas d que aquelas que um prcessadr RISC nrmalmente ferece. O baix

cnsum de energia em relaçã a prcessadres CISC, cm, pr exempl, Pentium, é alcançad através de três fatres: simplicidade d circuit, pipeline curt e um prjet que privilegia mínim cnsum de energia sempre que prcessadr nã estiver em peraçã. Devid às suas características de cupar puca área e de apresentar um baix cnsum de energia (e a mesm temp apresentar um bm desempenh), prcessadr ARM é muit utilizad em aplicações cmplexas que necessitem de um baix cnsum de energia, cm PDAs, vide games (Nintend Game By Advance), etc. Apesar de ser um micrcntrladr/micrprcessadr rápid e cm baix cnsum de energia, as ferramentas de desenvlviment e s própris chips custam mais car d que PIC u 8051, que dificulta desenvlviment basead na linha ARM. Além diss, micrcntrladres ARM nã sã facilmente encntrads cm encapsulament DIP, que dificulta a mntagem de prtótips. A linha de micrcntrladres M68HC11 [10] é uma família de micrcntrladres de 8 bits fabricads riginalmente pela Mtrla e agra, prduzids pela FreeScale Semicnductr. Os micrcntrladres M68HC11 geralmente pssuem 5 prts e pdem perar cm memória externa de prgrama u dads. Prém, quand fr usada memória externa, s prts B e C sã usads para barrament de endereç e de dads respectivamente. Os micrcntrladres M68HC11 pssuem geralmente: EEPROM, temprizadres, cnversr A/D, clck intern de 2 MHz, geradr PWM, interface RS-232 e SPI. Estes micrcntrladres tem ferramentas de desenvlviment cmercializadas exclusivamente pela FreeScale Semicnductr e, assim, seu us casina um alt investiment inicial, pis nã existem muitas alternativas de sistema de desenvlviment freeware para micrcntrladres Mtrla cm existem pr exempl para a linha PIC. Uma utra linha de micrprcessadres recentemente criada pela FreeScale Semicnductr é COLDFIRE, que pssui arquitetura RISC cm tamanh de instruções de 16, 32 u 48 bits, resultand numa melhr densidade de códig, quand cmparad cm micrprcessadres RISC de 32 bits tradicinais. O COLDFIRE é bastante usad em aplicações cmplexas, cm PDAs, víde-games, etc. N entant, além de pssuir as mesmas desvantagens da linha M68HC11 citada anterirmente, COLDFIRE nã é facilmente encntrad cm encapsulament DIP cm na linha PIC, pr exempl, dificultand a mntagem de prtótips. Micrcntrladres PIC [11] - Peripherical Interface Cntrller- é uma família fabricada pela Micrchip Technlgy cm extensa variedade de mdels e periférics interns, cm arquitetura Harvard e cnjunt de instruções RISC cm larguras de palavra de 12, 14 u 16 bits. Estes micrcntrladres trabalham geralmente cm velcidades de até 40 MHz usand cicl de instruçã de quatr períds de clck, que permite uma velcidade de n máxim 10 MIPS Cm clck pde variar desde 32KHz até 40MHz (cnfrme mdel), pde-se estabelecer a velcidade de acrd cm a necessidade, ecnmizand energia. Os micrcntrladres PIC sã encntrads em chips de 6 a 100 pins em diverss encapsulaments (SOT23, DIP, SOIC, TQFP, etc). Seus principais periférics interns (a dispnibilidade varia cnfrme mdel) sã: cnversres A/D de 8 a 12 bits, 4

temprizadres e cntadres de 8 e 16 bits, cmparadres analógics, USART, cntrladres de cmunicaçã I2C, cntrladres PWM, watchdg timer, prtas digitais cm capacidade de 20mA (frnecer u drenar) para acinar circuits externs e sciladres interns de 4Mhz. Existem váris fabricantes de ferramentas de desenvlviment para PICs e algumas sã dispnibilizadas gratuitamente na Internet (apesar de terem limitações). Cnsequentemente é fácil e, até cert pnt, barat bter um prgramadr de PIC u um cmpiladr. Iss trnu PIC muit ppular, facilitand a cmpra destes micrcntrladres. 2.2.2 ARTIGOS E PRODUTOS REVISADOS O trabalh em [1] tem cm bjetiv implementar um sistema de autmaçã residencial acessível à distância pela Internet cm s dispsitivs da casa interligads pel prtcl CAN. O sistema se baseia na cmunicaçã entre um cmputadr servidr lcalizad na residência que cntém s eletrdméstics que serã cntrlads e um navegadr cliente cm uma interface amigável que envia pactes a servidr que se encarregará de tratá-ls. A receber Estes pactes de cntrle enviads pel cliente, servidr se cmunica através de uma interface RS-232 cm um cntrladr mestre, que realiza a cdificaçã ds dads recebids pel servidr para prtcl CAN e transmite cmand para placas eletrônicas que fazem acinament d dispsitiv. As placas eletrônicas e cntrladr mestre utilizam micrcntrladres 68HC11 da Mtrla. O trabalh em [2] cnsiste em um sistema prtátil direcinad a deficientes surds-muds que cnverte text em fala d idima prtuguês d Brasil. O sistema englba a digitaçã d text, a geraçã d sinal acústic crrespndente à fala sintetizada, a amplificaçã d sinal snr e sua reprduçã. O prjet é cmpst pr um micrcntrladr 8031, um display LCD, uma memória flash externa e um teclad padrã PS/2 além de circuits para amplificaçã e reprduçã d sm. A entrada textual é feita pel teclad e visualizada n LCD e s fnemas crrespndentes sã armazenads na memória flash. Este prcess é cntrlad pel micrcntrladr 8031 que identifica text digitad, selecina fnema crrespndente armazenad na memória flash externa e passa dad digital pr um cnversr D/A. Enfim, a saída d cnversr D/A segue para circuit de amplificaçã e reprduçã d sinal snr. O trabalh descrit em [3] apresenta um estud da viabilidade de implementaçã de um sistema embarcad utilizand micrcntrladr 8051. A aplicaçã trata de um sistema para autmaçã d gerenciament de ltaçã e cbrança de estacinaments pags. Durante prjet fi realizad desenvlviment d hardware de um prtótip funcinal d sistema, envlvend a elabraçã de uma placa cntrladra e a prgramaçã de um firmware em Assembly para micrcntrladr 8051, a fim de cntrlar as funções ds periférics d dispsitiv. Fi desenvlvid um sftware na platafrma Windws para gerenciar a cbrança e a ltaçã d páti, send pssível existir mais de um 5

hardware para gerenciar a entrada e saída de veículs e tds cnectads pr um cmputadr através da interface serial RS-232. O trabalh apresentad em [4], cnsiste em um sistema de armazenament, leitura, decdificaçã e reprduçã de arquivs de áudi n frmat MP3. Este trabalh apresenta um prtótip que armazena e reprduz arquivs de áudi MP3 utilizand cmpnentes facilmente encntrads n mercad, send decdificadr MP3 únic cmpnente específic e, pr iss, nã encntrad facilmente. O cntrle central d sistema é feit através de um micrcntrladr ST10F269 (micrcntrladr ARM fabricad pela STMicreletrnics) e arquiv MP3 pde estar armazenad em um HD, em um cartã de memória CmpactFlash u um CD-ROM. A entrada de cmands é feita usand um teclad matricial e a visualizaçã de mensagens é feita através de um LCD. O trabalh descrit em [5] cnsiste de um sistema de acess remt de dispsitivs elétrics. O acess remt é feit através da Internet pr mei de um servidr que recebe pactes enviads pr navegadres que acessam para cntrlar s dispsitivs. A receber cmand enviad pel navegadr, um script em PHP atualiza banc de dads e chama uma rtina java que envia cmand pela prta serial para uma placa cntend um PIC 16F628 que executa cmand através de relés biestáveis que acinam dispsitiv que usuári requisitu. O trabalh apresentad em [6] cnsiste n prjet de um módul didátic para us em curss de micrcntrladres e teste de prtótips. O módul é equipad cm um micrcntrladr 16F877 que pssui: EEPROM, cnversr A/D, saída PWM, inteface serial USART e I2C. Além ds recurss existentes n PIC, módul didátic cnta ainda cm: fntes de alimentaçã de ±5V e ±12V, teclad de dads matricial, LCD, 4 displays de 7 segments, banc de 8 LEDs, 8 chaves para entrada de dads, mtr DC, EEPROM externa e 2 relés biestáveis. 2.3 CONCLUSÕES DA REVISÃO BIBLIOGRÁFICA Após realizar uma busca em artigs, trabalhs e prduts cm alguma relaçã cm prjet a ser elabrad, nã fram achads artigs cm muita semelhança cm trabalh esclhid cm tema. Sb pnt de vista de hardware, ele é muit simples (cm é nrmalmente de se esperar em um sistema embutid) e nã fi necessári analisar utrs esquemas. Um utr aspect a ressaltar na revisã bibligráfica é que s sistemas analisads nã apresentaram detalhes suficientes para uma análise aprfundada. 6

3 REVISÃO DAS TECNOLOGIAS UTILIZADAS NO PROJETO 3.1 INTRODUÇÃO Os cmputadres estã cmpletamente difundids n nss qutidian. Nã causa surpresa milhões de cmputadres serem cnstruíds td an e serem destinads a aplicações diversas. Ou seja, estes cmputadres pdem executar uma ampla variedade de aplicações pdend rdar aplicações variadas cm: jgs, editres de text, planilhas eletrônicas, etc. Dentr desse grup de cmputadres encntram-se: cmputadres pessais (PC s), estações de trabalh, cmputadres de grande prte e servidres. Tais sistemas pdem executar uma enrme diversidade de aplicações para suprir as necessidades d usuári. O que passa despercebid é que milhões de sistemas cmputacinais sã prduzids td an cm um prpósit diferente: executar repetidamente uma funçã específica para qual fram prjetads. Tais sistemas sã embutids (u embarcads) dentr de sistemas maires (geralmente equipaments eletrmecânics cm autmóveis, frns de micrndas, sistemas de segurança, etc), razã pela qual sã chamads Sistemas Embutids. Os sistemas embutids pssuem em seu núcle um micrprcessadr, geralmente um micrcntrladr, que carrega dentr de si um sftware dedicad para executar sua funçã. Os micrcntrladres pssuem uma grande variedade de recurss, além de entradas e saídas, tais cm: cnversr A/D, EEPROM, memória flash, RTC, Timers, UART, PWM e barraments especializads para cnectar periférics (I2C, SPI, USB, etc). Existem diverss fabricantes de micrcntrladres e há famílias de micrcntrladres cm capacidades diferenciadas entre si. Embra muits recurss ds sistemas embutids estejam dispníveis n interir ds micrcntrladres, pde haver a necessidade de us de dispsitivs externs, seja para estender estes recurss, u para suprir alguma necessidade nã prevista pel micrcntrladr. A seguir estã dis exempls de sistemas embutids: 1. Celulares pssuem dentr de si sistemas embutids que fazem a ligaçã entre circuit de cmunicaçã e usuári d celular. 2. Muits eletrdméstics estã agregand valr cm us de sistemas embutids para criar uma interface mais amigável e cnfiável. Pr exempl, a prgramaçã e cntrle de um frn de micrndas sã feits através de um sistema embutid. Da mesma frma, lavadras autmáticas cntêm sistemas embutids que ampliam a gama de pções de lavagem de rupa; A cntrári ds sftwares prjetads para cmputadres pessais (PC s), sftware embutid nã pde ser transferid para utr sistema embutid sem mudanças; principalmente pr causa das

grandes diferenças de hardware, a mens que tenha sid escrit em Java e sistema implemente uma máquina virtual Java (JVM). Geralmente, hardware de cada sistema embutid é cnfeccinad especificamente para a aplicaçã em questã, cm bjetiv de manter cust baix. Apesar diss, s sistemas embutids pssuem algumas características cmuns. Em geral, s sistemas embutids pssuem um prcessadr e um sftware. Mas para que sftware exista, deve haver um mei para armazenar códig executável e dads tempráris gerads em temp de execuçã. O códig geralmente é armazenad numa memória flash, que pssui uma mair velcidade de leitura que a EEPROM. Os dads tempráris cm passagem de parâmetrs para funções, sã armazenads na memória RAM. Entre as principais Características de Sistemas Embutids que s diferenciam de cmputadres tradicinais, pdems citar: Cnsum de energia - Quant mair fr a freqüência de peraçã de um sistema, mair será cnsum de energia, numa relaçã quadrática da freqüência. Cm sistemas embutids sã geralmente prjetads para um fim especific, a freqüência de peraçã será smente a necessária para a execuçã da tarefa. Cnseqüentemente, num sistema embutid nã se busca trabalhar cm mair clck pssível. A quantidade de CI s d sistema também afeta cnsum de energia. Prtant, devem-se utilizar smente s CI s necessáris para a aplicaçã. Baix cust de prduçã - Para segments que trabalham cm prduçã em massa de sistemas embutids, cust de prduçã é um fatr determinante e que passa pels prjetistas d hardware e das exigências ds desenvlvedres d sftware cntid n sistema embutid. Ou seja: quant mair cust, mair será preç d prdut final. O us de pucs cmpnentes prprcina uma reduçã das dimensões e d cust d sistema embutid. Além diss, deve-se cnsiderar cust destes cmpnentes para se ter um cust ttal que seja menr pssível. Cust de desenvlviment e Time-t-Market Sistemas embutids têm cust de desenvlviment menr que sistemas cmplexs feits para PCs (jgs3d, sistemas peracinais, etc), pis geralmente precisam de prfissinais mens qualificads e as ferramentas de desenvlviment sã mais baratas d que aquelas usadas nestes sistemas cmplexs. Prém, este cust de desenvlviment se trna pequen n cust ttal cas seja feita uma prduçã em massa d sistema embutid. O term Time-t-market se refere à quantidade de temp necessária para um prdut transitar da cncepçã até mercad a qual ele é dirigid. Assim, quant menr este temp, menr será cust de desenvlviment. O us de ferramentas cmputacinais de api a prjet clabra drasticamente para a reduçã deste temp. 8

Quantidade prduzida - A relaçã entre cust de prduçã e cust de desenvlviment é afetada pel númer de unidades a serem prduzidas e vendidas. Pr essa razã, geralmente é indesejável desenvlver cmpnentes de hardware custmizads para um baix vlume de prduçã. Pr utr lad, para prduçã em massa, pde ser útil a prduçã de cmpnentes e ferramentas próprias persnalizadas para diminuir cust de prduçã. O desenvlviment de sistemas embutids, assim cm utrs sistemas, deve seguir uma metdlgia pré-estabelecida para gerar um prdut cm menres margens de err e que atendam cm mair precisã seu bjetiv. Uma metdlgia de prjet é imprtante pr três razões. Primeir, ela permite manter um registr d que deve ser realizad para garantir que tdas as etapas sejam executadas da melhr frma cm menr temp. Segund, ela facilita a esclha de Sftwares de auxíli a prjet, a cnsiderar smente uma etapa d prcess. Terceir, uma metdlgia de prjet facilita a cmunicaçã entre s membrs de uma equipe de desenvlviment. A equipe pde cmpreender mais facilmente que deve ser feit, que deve ser recebid de utras equipes e que ela deve realizar após cumpriment da tarefa. A figura 1 exibe as etapas de um prcess de prjet para Sistemas Embutids. N tp, há s requisits d sistema, nde é descrit que prjet deve realizar sem se especificar cm. A etapa de requisits serve para capturar as necessidades d cliente. Após s requisits, há a especificaçã d prjet, nde é criada uma descriçã mais detalhada cm fc n cmprtament d sistema para cmpreensã da equipe de desenvlviment. O detalhament intern d sistema (cm cnstruir) é iniciad n desenvlviment da arquitetura, que frnece a estrutura d sistema em terms de cmpnentes. Uma vez que se cnhecem s cmpnentes necessáris, pde-se prjetar estes cmpnentes, incluind sftware e algum hardware especializad que se faça necessári. Basead nestes cmpnentes é realizada a integraçã d sistema, nde é cnstruíd sistema cmplet. 9

Figura 1 - Níveis de abstraçã d prcess de desenvlviment de sistemas embutids 3.2 CARACTERÍSTICAS GERAIS DA FAMÍLIA DE MICROCONTROLADORES PIC UTILIZADA Um micrcntrladr é um dispsitiv (single chip) que incrpra tds s cmpnentes básics de um cmputadr tradicinal, em escala bastante reduzida. A principal cnseqüência d pequen tamanh d micrcntrladr é a limitaçã de seus recurss, se cmparads cm s ferecids pr cmputadres tradicinais. Em terms funcinais, um micrcntrladr é um dispsitiv prgramável que cntrla um prcess u sistema. Os micrcntrladres sã prjetads para pssibilitar sluções de baix cust e prtant, seu us pde reduzir drasticamente cust e tamanh físic de um prjet. Os micrcntrladres pdem cnter diverss periférics, prém pssuem algumas características cmuns. A primeira característica é uma memória nã-vlátil para armazenament d prgrama, send mais cmum us da memória flash. Uma utra característica cmum é uma memória RAM para manipular dads em temp de execuçã cm vetres tempráris e parâmetrs. Pr fim, além ds periférics presentes, há prtas de E/S que fazem a cmunicaçã cm mei extern. Na figura 4 há um esquema simplificad d micrcntrladr PIC 16F64 [13] que pssui interface serial, cnversr A/D, temprizadr, cntadr e watchdg timer; para ilustrar a discussã feita até este mment. 10

Figura 2 Um esquema simplificad d micrcntrladr 16F64 O desenvlviment d sftware embutid para micrcntrladres é realizad através de cmputadres tradicinais que funcinam cm platafrmas de desenvlviment nde, cm s recurss dispníveis, é pssível editar, cmpilar e simular este sftware desenvlvid. Além d desenvlviment d sftware, a platafrma de desenvlviment deve pssibilitar a prgramaçã d micrcntrladr (u carga d códig bjet n micrcntrladr) através de um periféric, que é chamad de prgramadr d dispsitiv, qual se cnecta a cmputadr nde está códig a ser gravad. Essa cnexã pde ser feita de várias frmas, prém as mais cmum sã us das interfaces seriais RS-232 u USB. A ligaçã entre códig a ser gravad e prgramadr que cntém micrcntrladr de destin é feita através de um sftware que carrega códig-bjet e realiza a prgramaçã d dispsitiv através de um prtcl estabelecid para tal. Este sftware é chamad de prgrama de gravaçã d micrcntrladr. A depuraçã d prgrama carregad n micrcntrladr nã é tã simples, dispnd-se apenas de impressões de variáveis n display para depurar. Existem sistemas de depuraçã, mas geralmente sã muit cars. 11

Micrcntrladres PIC - Peripherical Interface Cntrller- (PICmicr) é a denminaçã dada à família de micrcntrladres fabricads pela Micrchip Technlgy cm extensa variedade de mdels e periférics interns, cm arquitetura Harvard e cnjunt de instruções RISC. Os micrcntrladres PIC têm famílias de 12 bits, 14 bits e 16 bits de núcle de prcessament e trabalham cm velcidades desde 32KHz até 40 MHz usand cicl de instruçã de quatr períds de clck, que permite uma velcidade de n máxim 10 MIPS. Os micrcntrladres PIC funcinam cm tensões de alimentaçã de 2 a 6V, pssuem de 6 a 100 pins em diverss encapsulaments (SOT23, DIP, SOIC, TQFP, etc) e memória flash que pde ir de 4Kbytes à 128Kbytes. Alguns recurss cmuns em micrcntrladres da linha PIC sã: Watchdg timer - O watchdg timer cnsiste num cntadr incrementad autmaticamente quand habilitad e que, quand acntece estur d seu cnteúd (passagem d mais alt valr para mais baix), micrcntrladr será resetad. Este recurs é usad para evitar que micrcntrladr trave em situações nã-previstas em que sftware embutid fica pres. Cm iss, sistema que emprega micrcntrladr fica mens suscetível a falhas na execuçã d sftware. Brwn-ut detect - O circuit de brwn-ut presente em alguns mdels de micrcntrladres é utilizad para frçar um reset quand a tensã de alimentaçã sfre uma pequena queda. Ele é extremamente recmendad em prjets nde é cmum rápid desligament e religament da alimentaçã. Nestes cass, brwn-ut pde evitar prblemas de reinicializaçã. Para que micrcntrladr execute suas instruções cm sucess, a tensã de alimentaçã deve sempre ficar acima de um valr mínim. Quand essa tensã cai abaix de um nível mínim, micrcntrladr pderá executar algumas instruções incrretamente. O resultad é uma atividade inesperada das linhas e dads interns de cntrle, que pde causar perdas u alterações ns registrs e estad das prtas d micrcntrladr. Para evitar estes prblemas, micrcntrladr deve ser impedid de executar suas tarefas ns períds de tensã de alimentaçã insuficiente. A melhr maneira de garantir iss é cm us de um detectr de baixa tensã que frça micrcntrladr a ficar em estad de reset enquant a tensã nã ficar acima d mínim desejável. Cnversr A/D e cmparadr - Uma E/S analógica pde receber sinais analógics (geralmente níveis de tensã) e, através de periférics interns; dispnibilizar essa infrmaçã na frma digital para us pel micrcntrladr. Essa cnversã analógicdigital é geralmente feita através da representaçã digital d dad u através da cmparaçã d sinal analógic cm um nível de cmparaçã estabelecid. Alguns 12

micrcntrladres dispnibilizam saídas analógicas para cntrle de dispsitivs que se utilizam dessa frma de sinal. Periférics para prtcls estabelecids - Muits micrcntrladres pssuem periférics que implementam prtcls padrnizads. Assim, alguns micrcntrladres pssuem recurss própris para acessar dispsitivs externs que funcinam baseads em prtcls estabelecids. Alguns ds prtcls encntrads n hardware de micrcntrladres sã: I2C, Micrwire, CAN, SPI, RS-232, RS-485,... Timer/Cunter - Outr periféric muit cmum em micrcntrladres é cntadr que registra númer de vezes que crreu uma transiçã psitiva u negativa em um pin de I/O d micrcntrladr, pdend gerar uma interrupçã quand crrer um verflw n cntadr u quand atingir um númer determinad de transições. Um timer é um cntadr que é incrementad u decrementad numa taxa fixa dada pel circuit que gera puls de clck d micrcntrladr, pdend gerar interrupções da mesma frma que cntadr. O timer é utilizad geralmente para cntagem de temp e sincrnism. Em muits micrcntrladres timer e cunter sã periférics que sã intercambiáveis, u seja, um cntadr pde funcinar cm timer u vice-versa, bastand que mesm seja cnfigurad pr sftware. Interrupções - Uma interrupçã é um event que suspende a peraçã regular d prgrama enquant event é atendid pr um utr prgrama. A crrência de interrupções aumenta a velcidade de respsta a events externs e evita a mnplizaçã d prcessadr pr um só prcess. Os micrcntrladres pdem ter diversas fntes de interrupções diferentes, que incluem: events externs, timer, watchdg timer, brwnut detect, etc. Quand uma interrupçã é slicitada, a peraçã crrente é suspensa, a interrupçã é identificada e micrcntrladr executa uma rtina de interrupçã chamada ISR (interrupt service rutine). 3.2.1 MICROCONTROLADORES UTILIZADOS NO PROJETO Desde inici ds ans 80, s fabricantes de micrcntrladres têm lançad diverss micrcntrladres diferentes, cm uma ampla variedade de recurss. A mairia destes micrcntrladres fi criada para atender demandas próprias dessas empresas pr prduts que elas cmercializam u sã direcinads a segments específics cm telefnia celular, eletrdméstics, brinqueds, entre utrs. Pucs prjets sã dedicads a um us mais geral. A Micrchip, que prduz s micrcntrladres PIC, se dedica a prjet de micrcntrladres sem fc numa aplicaçã especifica. Pr cnta diss e da vasta dcumentaçã 13

dispnível n site da empresa (http://www.micrchip.cm/), várias ferramentas de desenvlviment para PIC s fram prduzidas e dispnibilizadas gratuitamente na Internet. Micrcntrladres 18F452 e 18F4620 O desenvlviment deste prjet iniciu-se cm us d PIC 18F452 [14], prém n decrrer d prjet, 18F452 apresentu puca memória para acmdar tdas as funções previstas n sistema de estacinament. Devid a iss, ptu-se pel us d micrcntrladr 18F4620 [15]. O 18F4620 é bastante semelhante a 18F452, send que, enquant 18F452 pssui 16Kinstruções de memória de prgrama, 18F4620 pssui 32Kinstruções de memória de prgrama. N entant, us d 18F452 nã fi ttalmente descartad, pis 18F452 é útil para utras aplicações que pdem ser usadas n mesm hardware, send este hardware genéric suficiente para utras aplicações. A cmparaçã entre estes dis PIC s está representada na tabela 1 e na figura 3. Após iss, é feita uma descriçã ds principais recurss dispníveis nestes PIC s. Características PIC18F452 PIC18F4620 Freqüência máxima 40 MHz 40 MHz Memória de prgrama (Bytes) 32K 64k Memória de prgrama (instruções) 16384 32768 Memória de dads (Bytes) 1536 3968 EEPROM interna (Bytes) 256 1024 Prtas de I/O Prts A, B, C, D, E Prts A, B, C, D, E Timers 4 4 Móduls Capture/Cmpare/PWM 2 2 Cmunicaçã serial 1 USART 1USART Prta paralela escrava 1 PSP 1 PSP Módul cnversr A/D 8 canais de entrada de 10 bits 13 canais de entrada de 10 bits Brwn-ut Reset prgramável Sim Sim Cnjunt de instruções 75 instruções 83 instruções Encapsulament DIP cm 40 pins PLCC cm 44 pins TQFP cm 44 pins Tabela 1 Características d 18F452 e 18F4620 PDIP cm 40 pins PLCC cm 44 pins TQFP cm 44 pins 14

Figura 3 Pinagem d 18F452 e d 18F4620 Alguns detalhes ds micrcntrladres 18F452 e 18F4620 sã: Cnfiguraçã d sciladr - O 18F452 pde perar em it mds diferentes de scilaçã prgramáveis pel usuári e 18F4620 em dez. Sã estes: LP: Cristal perand em baixas freqüências (32 khz e 200 khz) XT: Cristal perand em médias freqüências (1MHz e 4 MHz) HS: Cristal perand em altas freqüências (20 MHz e 40 Mhz) HS+PLL: Cristal perand junt cm um PLL (phase lcked-lp) intern para multiplicar a freqüência de peraçã pr 4 (útil para eliminar interferências eletrmagnéticas encntradas quand se fizer necessári) RC: Us de um resistr e um capacitr para gerar clck de peraçã RCIO: Us de um resistr e um capacitr para gerar clck de peraçã cm liberaçã d pin OSC2 d PIC para I/O digital EC: Clck gerad pr algum circuit extern (útil para sincrnizar sistemas) ECIO: Clck gerad pr algum circuit extern cm liberaçã d pin OSC2 para I/O digital. INTIO1: Clck de até 8 Mhz, gerad internamente pel PIC (Mens precis e dispnível apenas n 18F4620) cm saída de clck em RA6 e I/O em RA7 INTIO2: Clck de até 8 Mhz, gerad internamente pel PIC (Mens precis e dispnível apenas n 18F4620) cm saída de clck em RA7 e I/O em RA6 E/S - O 18F452 e 18F4620 pssuem cinc prtas dispníveis. O 18F452 tem três prtas cm it bits, uma prta cm seis bits e utr prta cm três bits. O 18F4620 tem quatr prtas de it bits e uma prta de quatr bits. Alguns pins dessas prtas sã 15

multiplexads cm periférics interns, cm: I2C, USART, cnversr A/D, etc. Em geral, quand periféric está habilitad para us através de registradres, pin nã pde ser usad cm I/O de us geral. Memória de prgrama flash - A memória flash, nde está códig executável, pde ser lida, escrita e apagada durante a peraçã nrmal d 18F452 e d 18F4620. A memória flash cntida nestes micrcntrladres pde ser lida byte a byte, escrita em blcs de it bytes e apagada em blcs de sessenta e quatr bytes. A peraçã de busca de instruçã é pausada enquant a memória flash estiver send escrita u apagada durante a peraçã nrmal. EEPROM interna - A EEPROM interna ds dis PIC s utilizads n prjet pdem ser lidas e escritas em peraçã nrmal e também escritas e lidas durante a prgramaçã d dispsitiv. Cm bservad na tabela 1, 18F452 tem 256 bytes dispníveis na EEPROM interna e 18F4620 tem 1024 bytes. Timers/Cunters - O 18F452 e 18F4620 pssuem quatr timers/cunters (temprizadr/cntadr) que pdem ser cnfigurads cm diferentes cnfigurações. N md timer, registradr assciad a timer é incrementad quand crrer um determinad númer de transições de clck que é determinad pel valr d registradr de prescale. N md cunter, registradr é incrementad quand crrerem pulss em um pin estabelecid para este periféric. Módul MSSP - O módul MSSP (Master Synchrnus Serial Prt) é um periféric presente n 18F452 e n 18F4620 útil para cmunicaçã serial cm utrs dispsitivs. O módul MSSP pde realizar essa cmunicaçã utilizand prtcl I2C u SPI. Módul USART - O módul USART (Universal Synchrnus Asynchrnus Receiver Transmitter) é utr periféric destinad à cmunicaçã serial presente n 18F452 e n 18F4620. O módul USART pde ser cnfigurad para realizar cmunicaçã serial, full-duplex e assíncrna, para enviar e receber dads de terminais e cmputadres pessais. 3.4 COMPONENTES EXTERNOS UTILIZADOS NO PROJETO 3.4.1 EEPROM 24C32 A EEPROM 24C32 [16] cntém 32.768 bits rganizads em 4096 palavras de 1 byte frnecids através d prtcl I2C. Pdem ser cnectads até 8 destes CIs n barrament, desde que sejam identificads cm cnfigurações diferentes através ds pins A0, A1 e A2. 16

Na figura 4, s pins VCC e GND frnecem a alimentaçã (+5V e 0V); s pins A0, A1 e A2 frnecem uma identificaçã para múltiplas memórias cnectadas n barrament I2C; s pins SCL e SDA sã as linhas de clck e dads que devem ser cnectad a barrament I2C e pin WP é a prteçã de escrita (desabilita escrita na EEPROM quand em nível 1 ). Figura 4 - Pinagem da EEPROM 24C32 A figura 5 exemplifica endereç d 24C32. O primeir nibble (4 bits mais significativs) é fix em 0x8 para identificar uma das EEPROM que pdem estar cnectadas a barrament I2C. O segund nibble cntém a identificaçã da EEPROM e a natureza da peraçã que será realizada (leitura u escrita). Figura 5 Identificaçã da EEPROM Para escrita na EEPROM, mestre d barrament deve enviar após a cndiçã de iníci, endereç da EEPROM que será escrita cm últim bit em nível 0 para identificar a peraçã cm escrita. Após bit de recnheciment da EEPROM, mestre deve enviar dis bytes crrespndentes à psiçã em que dad será escrit. Em seguida, é enviad dad que será escrit. Cas mestre queira escrever dads cnsecutivs, basta enviar mais dads após a cndiçã de recnheciment, s quais serã escrits seqüencialmente na EEPROM. Pr fim, mestre realiza uma cndiçã de parada. A leitura na EEPROM segue um prcediment parecid cm a escrita. A diferença é bit de identificaçã da peraçã que é 1 para indicar uma leitura. A EEPROM envia s dads para mestre após frneciment d endereç de leitura pel mestre. Cas mestre deseje ler dads seguids na EEPROM, basta frnecer uma cndiçã de recnheciment. Para encerrar a leitura, ele nã executa essa cndiçã de recnheciment e realiza uma cndiçã de parada. 3.4.2 RAM 62256 O CI 62256 [17] é uma memória RAM de 256KBits rganizada em 32K palavras de 8 bits. De acrd cm a figura 6, além ds pins de alimentaçã (VCC e VSS), a memória pssui: barrament de endereç (A0 à A13); barrament de dads (IO1 à IO8); habilitaçã de saída (OE); habilitaçã de escrita (WE) e habilitaçã d CI (CE). 17

Figura 6 Pinagem d 62256 3.4.3 MAX 232 O RS-232 é uma interface definida pela EIA (Electrical Industries Assciatin) e equivalente a CCITT-V24 para cmunicaçã serial em que s níveis de tensã ds sinais transmitids e recebids diferem d padrã TTL. O nível lógic 0 é definid cm uma tensã de +3V à +12 V e nível lógic 1 é definid cm uma tensã entre -3V à -12V para dads. Para sinais de cntrle, uma tensã entre +3V e +12V representa nível lógic 1 e uma tensã entre 3V e 12V representa nível lógic 0. Uma interface de cmunicaçã que segue padrã RS-232 é imprtante para um sistema micrcntrlad prque seu us é muit cmum em cmputadres pessais e sua utilizaçã nestes sistemas pssibilita uma cmunicaçã cm estes cmputadres. N entant, a grande mairia ds sistemas micrcntrlads segue padrões TTL, de frma que para se trabalhar cm padrã RS-232 deve ser usad um circuit que faça a cnversã entre s padrões RS-232 e TTL. Tal circuit cnsiste n MAX232, qual transfrma a fnte psitiva de +5V em +5V e 5V, através de um sciladr e de circuits de chaveament e é ilustrad na figura 7.. 18

Figura 7 Diagrama d CI MAX232 3.4.4 PCF 8583 O PCF 8583 [18] é um chip RTC (Real-time clck) que armazena e atualiza a hra e a data cm base na scilaçã de um cristal de 32.768 KHz. A esclha deste RTC prduzid pela Philips, Inc deveu-se a fat de PCF8583 usar prtcl I2C para receber dads referentes a hra e a data e frnecer a hra e a data atuais. Assim, é feita uma ecnmia ds pins usads n micrcntrladr. Um esquema prátic de utilizaçã d PCF8583 está na figura 8. Quand circuit estiver ligad, PCF8583 é alimentad pela fnte deste circuit. Prém quand circuit é desligad, a alimentaçã é frnecida pela bateria BT1. Este chaveament é feit pels dids D1 e D2. Além ds pins para cristal sciladr (OSCI e OSCO), ds pins de alimentaçã (VCC e GND) e ds pins referentes a barrament I2C (SDA e SCL), há pin INT que é ativ cas uma hra e uma data prgramada estiver sid alcançada. Cas a bateria n circuit da figura 8 acabe, deve se cnfigurar a hra e a data tdas as vezes que se ligar circuit, pis a memória RAM cntida n PCF8583 apagará n desligament d sistema. Iss acntece até que a bateria seja trcada pr uma nva. Figura 8 Esquema de utilizaçã d PCF 8583 19

3.4.4 LCD O visr LCD empregad é da Hitachi e apresenta uma interface de saída muit utilizada em sistemas micrcntrlads. Visres LCD sã especificads pel númer de linhas e clunas que eles pssuem, havend LCD s cm várias linhas e clunas. O visr utilizad apresenta 2 linhas pr 40 clunas. Os móduls pdem ser encntrads cm LED backlight (cm uma iluminaçã de fund) para facilitar sua leitura. Neste cas, a alimentaçã deste LED faz-se nrmalmente pels pins 15 e 16. A crrente de alimentaçã deste LED varia de 100 a 200mA, dependend d mdel. Estes móduls utilizam um cntrladr própri chamad HD44780 [19]. Este cntrladr estabelece uma cmunicaçã cm sistema micrcntrlad e executa a açã requerida n LCD prpriamente dit. A tabela 2 frnece uma descriçã da pinagem padrã d LCD. Pin Funçã Descriçã 1 Alimentaçã Terra u GND 2 Alimentaçã VCC (+5 v) 3 V0 Tensã para ajuste de cntraste através de um ptenciômetr ligad a este pin. 4 RS Seleçã: 1 - Dad, 0 - Instruçã 5 R/W Seleçã: 1 - Leitura, 0 - Escrita 6 E Chip select 1 - Habilita, 0 - Desabilitad 7 B0 LSB 8 B1 9 B2 10 B3 11 B4 12 B5 13 B6 14 B7 MSB 15 A (qd existir) And p/led backlight 16 K (qd existir) Catd p/led backlight Tabela 2 Pinagem padrã d LCD Barrament de Dads Cmands sã enviads para cntrladr HD44780 através d barrament de dads. Esta cmunicaçã pde ser feita byte a byte u nible (4 bits) a nible. Cas seja usada a cmunicaçã nible a nible, utilizam-se smente s pins 7 a pin 10 d barrament, havend uma ecnmia de pins de E/S d micrcntrladr. 20

3.3 PROTOCOLOS UTILIZADOS NO PROJETO 3.3.1 PROTOCOLO I2C O I2C é um prtcl síncrn de duas linhas, send uma linha de clck (chamada SCL) e utra linha de dads (chamada de SDA). Graças à especificaçã das saídas em cletr (u dren) abert, prtcl permite a ligaçã de diverss cmpnentes nas mesmas linhas, frmand uma rede de cmunicaçã de dispsitivs. A quantidade de dispsitivs que pdem ser cnectads n barrament é limitada apenas pela capacitância máxima admitida que é de 400pF segund a especificaçã. Cm tds s dispsitivs cnectads a barrament estã em paralel, cada um deles adicina uma capacitância definida pel seu circuit. O I2C é um prtcl síncrn d tip mestre-escrav, mas também suprta multi-mastering, u seja, a presença de diverss mestres presentes n barrament, send que smente um pde estar ativ pr vez. Os princípis de funcinament d I2C sã: A infrmaçã presente na linha de dads (SDA) smente é lida durante a fase alta da linha de clck (SCL); Smente é permitid alterar nível da linha de dads (SDA) durante a fase baixa da linha de clck (SCL); Quand barrament nã está em us, ambas as linhas permanecem desligadas e sã frçadas em nível 1 pels resistres de pull-up. N iníci da transmissã, dispsitiv frça a linha SDA de 1 para 0, durante a fase alta da linha SCL, indicand a tds s cmpnentes presentes n barrament que uma transmissã terá iníci. Este prcess é chamad de cndiçã de iníci. O fim da transmissã (cndiçã de parada) cnsiste na transiçã de 0 para 1 da linha SDA durante a fase alta da linha SCL. Após a cndiçã se iníci, sã transmitids it bits de dads, iniciand pel MSB. Após últim bit (LSB) receptr deve gerar uma cndiçã de recnheciment, que é feit clcand a linha SDA em 0 antes d nn puls de clck da linha SCL. Cas receptr nã recnheça dad, mantend a linha SDA em 1 após nn puls, transmissr deve gerar uma cndiçã de parada e reiniciar a transmissã. Para a cexistência de diverss dispsitivs em um mesm barrament, é necessári que cada um pssua uma identificaçã. O frmat básic de uma identificaçã I2C é cnstituída pr 7 bits de endereç, utilizads para especificar dispsitiv escrav a ser acessad e, após essa identificaçã segue-se um bit identificadr de leitura u escrita. 21

Dessa frma, após envi da identificaçã d escrav pel mestre e da cndiçã de recnheciment pel escrav, mestre pde enviar e receber dads d escrav. Terminada a cmunicaçã, segue-se uma cndiçã de parada. Este prcess é demnstrad na figura 9. Figura 9 Cmunicaçã I2C 3.3.2 PROTOCOLO DE COMUNICAÇÃO PARA TECLADO PS/2 O prtcl para cmunicaçã cm teclad PS/2 é um prtcl serial, síncrn e bidirecinal. Ou seja, teclad pde enviar infrmações para cmputadr e cmputadr pde enviar infrmações para teclad serialmente através de uma linha de dads, a qual é chamada de KBD_DATA. O sincrnism é feit através de uma linha de clck, que é chamada de KBD_CLOCK. Ambas as linhas sã cnectadas a resistres de pull-up. A alimentaçã para teclad é prvida pel cnectr, de frma que além das linhas KBD_DATA e KBD_CLOCK, cnectr tem duas linhas para alimentaçã (+5V e terra), que é frnecida pel cmputadr. O teclad pde enviar infrmações para cmputadr sempre que as linhas KBD_CLOCK e KBD_DATA estiverem em nível 1 pels resistres de pull-up. Cas cmputadr clque a linha KBD_CLOCK em nível 0, teclad cria um buffer cm as infrmações que devem ser enviadas a cmputadr até que mesm termine de enviar. Iss acntece prque cmputadr tem priridade na cmunicaçã. De acrd cm a figura 10, a transmissã de infrmações d teclad para cmputadr é realizada através de 11 bits transmitids pela linha KBD_DATA e sincrnizads pr KBD_CLOCK numa freqüência de 20 khz a 30 khz estabelecida pel teclad. O primeir bit transmitid pel teclad é bit de iníci (nível 0 ), seguid pr 8 bits de dads u cmands (d LSB até MSB). Após s dads, segue-se um bit de paridade (paridade impar) e um bit de parada em nível 1. Cada bit é lid pel cmputadr na transiçã de descida d clck gerad pela linha KBD_CLOCK. 22

Figura 10 Cmunicaçã d teclad cm cmputadr De acrd cm a figura 11, quand cmputadr precisa enviar cmands para teclad, ele clca a linha KBD_CLOCK em nível 0 pr aprximadamente 60us. Após iss, cmputadr clca a linha KBD_DATA em nível 0 e libera a linha KBD_CLOCK para que teclad gere clck. Após a primeira transiçã de descida d clck, cmputadr envia s 8 bits de cmand (d LSB até MSB) seguid pel bit de paridade (paridade ímpar). Após bit de paridade, cmputadr libera a linha KBD_DATA e aguarda bit de recnheciment d cmand prvid pel teclad na próxima transiçã de descida. Figura 11 Cmunicaçã d cmputadr cm teclad Dentre s cmands enviads para teclad estã: acender u apagar LED s de status d teclad (NUM LOCK, CAPS LOCK e SCROLL LOCK), estabelecer taxa de repetiçã da digitaçã d teclad, habilitar u desabilitar teclad e reiniciar teclad. Além ds códigs das teclas pressinadas u sltas, teclad pde enviar cmands para indicar certas situações para cmputadr cm: recnheciment de cmands, err u estur de buffer e pedid de reenvi de cmand. 3.4 SOFTWARES E PROGRAMADORES DE MICROCONTROLADORES UTILIZADOS NO PROJETO 3.4.1 SOFTWARES UTILIZADOS O aument d pder de prcessament ds cmputadres e a criaçã de linguagens de alt nível têm prprcinad a criaçã de sfwares cada vez mais rápids e sfisticads. Estes fatres casinaram uma mair difusã de sftwares prduzids cm intuit de auxiliar prjets. 23