Atps Edgar - Etapa 1

download Atps Edgar - Etapa 1

of 9

Transcript of Atps Edgar - Etapa 1

Introduo:MICROCONTROLADORESOs microcontroladores so chips inteligentes, que tem um processador, pinos de entradas/sadas e memria. Atravs da programao dos microcontroladores podemos controlar suas sadas, tendo como referencia as entradas ou um programa interno.O que diferencia os diversos tipos de microcontroladores, so as quantidades de memria interna (programa e dados), velocidade de processamento, quantidade de pinos de entrada/sada (I/O), alimentao, perifricos, arquitetura e set de instrues.Os sistemas de controle de acesso visam restringir acessos no autorizados determinados setores e departamentos das organizaes, evitando assim danos em equipamentos, acesso ilegal a informaes importantes, roubos, entre outros problemas. Muitas empresas de tecnologias gastam verdadeiras fortunas em sistemas de controle de acesso para ambientes restritos e esquecem que de nada adiantar investir em segurana se os funcionrios e usurios no estiverem preparados para lhe dar de forma eficaz com situaes onde o invasor convence a vtima a, literalmente, abrir as portas.Prova disso so os engenheiros sociais, pessoas dispostas a terem acessos ilegais s informaes e recursos de empresas de outras pessoas, que enganam at mesmo os profissionais mais bem treinados para lidar com situaes que exigem precao e vigilncia. Uma boa referncia com vrios exemplos destes tipos de prticas o livro 'A Arte de Enganar'[3] de Kevin Mitnick, famoso hacker e engenheiro social, que passou vrios anos na cadeia por este tipo de prtica ilegal. Em seu livro Mitnick explica que, ao contrrio do que as pessoas pensam, os hackers utilizam vrias tcnicas de engenharia social para terem acesso aos dados e sistemas de computadores das empresas.Portanto de nada adiantar ter o sistema de controle de acesso mais seguro do mundo se as pessoas que utilizaro esta tecnologia no esto preparadas para evitar invases e roubos de informaes. Atualmente existem vrias tecnologias destinadas aos sistemas de controle de acesso, entre elas destacam-se as biomtricas. As principais tecnologias biomtricas incluem identificao de usurio por voz, reconhecimento facial, reconhecimento de impresso digital e reconhecimento de ris. O projeto em destaque no utiliza recursos biomtricos, devido aos custos que estas tecnologias demandam. O controle ser realizado atravs de uma senha que o usurio dever digitar para ter acesso ao laboratrio.As vantagens deste sistema so: baixo custo, elimina o inconveniente de ter que carregar as chaves, elimina o risco de perda das chaves e que outras pessoas tenham acesso a elas, entre outras vantagens. O projeto aqui apresentado foi implantado no laboratrio de pesquisa LTR (Laboratrio de Sistemas de Tempo Real) do UnilesteMG. O LTR um laboratrio de pesquisa voltado para o desenvolvimento de pesquisas sobre sistemas de tempo real. Por tratar-se de um ambiente restrito aos acadmicos pesquisadores e professores da instituio e por possuir equipamentos e placas de alto valor, seu acesso deve ser controlado.Visando controlar os acessos fsicos ao laboratrio de pesquisa LTR, foi proposto um sistema eletrnico de controle de acesso. Inicialmente foi definido que o sistema deveria possuir um baixo custo, cada usurio deveria possuir uma senha individual e o usurio poderia alterar sua senha sempre que desejasse.Aps esta definio foi realizada uma pesquisa em vrios sites de eletrnica, a fim de encontrar algum projeto que atendesse a estas necessidades, porm nenhum projeto com tais caractersticas foi encontrado. Entretanto um projeto com algumas caractersticas importantes foi encontrado. O projeto encontrado, cujo nome 'Electronic door codelock'[1], possua as seguintes caractersticas: Baixo custo; Simplicidade; Esquemtico e layout de circuito impresso disponveis; Possibilidade de alterao de senha; Utiliza o microcontrolador PIC16F84;Licena de uso livre.Porm este projeto no atendia a uns pr-requisitos bsicos, entre eles a necessidade de cada usurio possuir uma senha individual, visto que o projeto s aceitava uma nica senha. Como este projeto possua os principais requisitos necessrios ao sistema de controle de acesso proposto, foi definido que a melhor soluo seria alterar o projeto original para que o mesmo suportasse as caractersticas necessrias.E assim, semelhante ao processo que ocorre atualmente com os chamados programas de cdigo fonte aberto e com os softwares livres, iniciou-se ento as modificaes sobre o projeto 'Electronic door codelock'. Antes de realizar as modificaes o projeto original foi montado e testado, verificando assim seu funcionamento como descrito na pgina do projeto.O desenvolvimento do projeto est implementado no microcontrolador PIC16F84, portanto a seo seguinte faz uma breve abordagem a este microcontrolador.

O MICROCONTROLADOR PIC16F84

Microcontrolador um tipo especial de dispositivo eletrnico que possui integrado em uma nica pastilha de silcio (CI) o microprocessador, a memria (RAM, EPROM e/ou EEPROM) e endereadores de I/O. O microcontrolador PIC16F84, desenvolvido pela Microchip[2], utiliza um processador RISC (Reduced Instruction Set Computer) de 8 bits, trabalhando com a arquitetura Harvard que se caracteriza por possuir o barramento de memria de programas separado do barramento de memria de dados, como pode ser visto na figura abaixo.

Como a arquitetura Harvard separa os barramentos de dados e de programas, tem-se ento uma melhor fluncia dos dados pela CPU, o que, por conseqncia, gera um aumento da velocidade de funcionamento. O PIC16F84 possui um barramento de memria de programas de 14 bits, permitindo que as instrues sejam executadas em apenas um ciclo de mquina, pois nestes 14 bits esto inclusos a instruo propriamente dita (6 bits) e o dado a ser operado (8 bits).Por tratar-se de um microcontrolador RISC, o PIC16F84 possui um nmero reduzido de instrues, mais precisamente 35 instrues. Processadores do tipo CISC (Complex Instruction Set Computer), por exemplo, os da famlia Intel x86, possuem mais de 100 instrues.O PIC16F84 um microcontrolador de baixo custo possuindo entre as principais caractersticas: Freqncia de clock de 10MHz; 1Kx14 bits de memria de programas (Flash); 68 bytes de memria de dados; 13 pinos de I/O.

O diagrama em blocos do PIC16F84 apresentado na figura abaixo:

Os sinais de I/O esto divididos em duas portas, que fazem a ligao destes com o mundo externo. A 'PORTA A' possui 5 pinos e a 'PORTA B' possui 8 pinos, totalizando 13 pinos de I/O.PINAGEM (PIN-OUT)A pinagem da PIC16F84 pode ser vista na figura abaixo. E na tabela seguinte pode-se ver o descritivo de cada pino, sua funo e uso.

Tabela - Descrio dos pinos do PIC16F84A Nome Pino| N| Tipo| Estrutura| Descrio| OSC1/CLKIN| 16| Entrada| Shimitt Trigger/CMOS| Entrada osciladora| OSC2/CLKOUT| 15| Sada| | Sada Osciladora| | MCLR| 4| Entrada/Programao| Shimitt Trigger| Reset e Entrada para voltagem de programao| | RA0| 17| Entrada/Sada| TTL| Portas de entrada e sada| RA1| 18| Entrada/Sada| TTL| | RA2| 1| Entrada/Sada| TTL| | RA3| 2| Entrada/Sada| TTL| | RA4/T0CKI| 3| Entrada/Sada| Shimitt Trigger| Porta de entrada e sada ou entrada do clock externo para timer e contador.| | RB0/INT| 6| Entrada/Sada| TTL/ Shimitt Trigger| Portas de entrada e sada. O port B possui pull-up internos programveis.| RB1| 7| Entrada/Sada| TTL| | RB2| 8| Entrada/Sada| TTL| | RB3| 9| Entrada/Sada| TTL| | RB4| 10| Entrada/Sada| TTL| Permite interrupo se alterar nvel| RB5| 11| Entrada/Sada| TTL| | RB6| 12| Entrada/Sada| TTL/ Shimitt Trigger| | RB7| 13| Entrada/Sada| TTL/ Shimitt Trigger| | Vss| 5| Alimentao| | Terra| Vdd| 14| Alimentao| | Positivo +5V|

MEMRIAA memria da PIC16F84 para programa no pode ser acessada pelo usurio, a no ser durante a gravao do programa (existem meios de acessar a memria de programa em tempo de execuo - modo apenas leitura). Ela tem 1K x 14 bytes, que a princpio pode parecer pequena, mas como o PIC utiliza a tecnologia RISC, garante uma excelente otimizao da rea de programa. Na figura abaixo pode-se ver o mapa de memria de programa.

REGISTRADORES

Os registradores do PIC16F84 esto divididos em duas partes. A primeira conhecida como SFR (Registros de Funo Especial) e GPR (Registros de Propsito Geral). Estes registros dividem-se em dois bancos.

PC Program counter: Neste registro o microcontrolador guarda a posio atual do programa. A cada instruo lida, o PC incrementado em uma posio.Stack Level 1 ... Stack Level 8:Nestes registradores so guardados os endereos de retorno para o microcontrolador, quando utilizamos a instruo CALL. Note que temos apenas 8 nveis.Reset Vector: Sempre que nosso microcontrolador for resetado, ele apontar para esta posio de memria.Interrupt Vector: Quando tivermos uma interrupo (interna ou externa), o microcontrolador apontar para este endereo.User memory space: Memria de programa. rea dedicada ao nosso programa.O Microcontrolador 16F84AAlm das caractersticas gerais da arquitetura dos microcontroladores PIC vistas at agora, existem outros aspectos peculiares aos membros de cada famlia. Como a diversidade de componentes muito grande, vamos analisar as caractersticas dos componentes da famlia 16F84A.Arquitetura de Hardware da famlia PIC16F84ANa figura abaixo apresentada de forma simplificada a arquitetura interna da famlia PICF84. Ela baseada em registradores, com o barramento de memria de dados separado do barramento de memria de programa (arquitetura RISC). Este conceito permite ter um conjunto de instrues simples, mas extremamente poderoso que enfatiza as operaes bit, byte e de registradores.

A Microchip foi uma das precursoras do uso da tecnologia RISC (Computador com Set reduzido de Instrues) em microcontroladores. Esta tecnologia baseada na arquitetura HARVARD, que separa a memria de dados da memria de programa. Assim temos um bus para dados e outro para programa. OPIC16F84 tem um bus de dados (RAM) com 8 bits (1 byte) e um bus de programa com 14 bits . Isto permite que o microcontrolador carregue na CPU o operador+operando em um nico ciclo de mquina. Isso aumenta a velocidade do chip, permitindo uma melhor performance se comparado a outros microcontroladores que no utilizam esta arquitetura.Outros microcontroladores, como o 8051, utilizam a tecnologia CISC (Computador com Set de instrues complexas), baseada na arquitetura Van Neuman. Nesta arquitetura a memria de dados e a memria de programa utilizam o mesmo bus. Assim, o microcontrolador necessita de mais ciclos para carregar o operador e o operando. Na figura abaixo dado um demonstrativo entre as duas tecnologias

Arquitetura de Van Neuman

Principais membros da famlia Device| ProgramMemory(words)| DataRAM(bytes)| DataEEPROM(bytes)| Max.Freq.(MHz)| PIC16F83| 512 Flash| 36| 64| 10| PIC16F84| 1K Flash| 68| 64| 10| PIC16CR83| 512 ROM| 36| 64| 10| PIC16CR84| 1K ROM| 68| 64| 10|

Diversas freqncias de operao e empacotamento esto disponveis. Dependendo da aplicao e dos requisitos de produo existe uma opo de dispositivo mais apropriado para ser selecionado. Para maiores detalhes consulte o datasheet do componente que voc utilizar.Caractersticas Gerais * Apenas 35 palavras de instruo para aprender * Todas instrues com um ciclo exceto para desvios que levam dois ciclos * Velocidade de operao: DC at 20 Mhz de clock * Instrues com 14 bits de largura * Barramento de dados de 8 bits * 16 registradores de funes especiais de hardware * Pilha com 8 nveis de profundidade * Modos de endereamento direto, indireto e relativo para dados e instrues. * Capacidade de interrupoCaractersticas dos perifricos * 13 pinos de I/O individualmente configurados * Temporizador/Contador de 8 bits com 8 bits de pr-escala * Power-On Reset (POR) * Temporizador Watch-Dog (WDT) com oscilador prprio para operaes seguras * Proteo de Cdigo Programvel * Modo SLEEP para diminuio de consumo de energia. * Opes de oscilador selecionvel: * RC oscilador RC de baixo custo * XT cristal padro * HS Cristal de alta velocidade * LP Cristal de baixa freqncia (reduo de consumo) * Programao Serial in-circuit (atravs de dois pinos) * 4 bytes de identificao (ID) programveis pelo usurioPorm sua maior vantagem a gravao. Ela pode ser feita com um pequeno circuito eletrnico, de custo muito baixo, atravs da porta paralela ou serial de qualquer PC. Se voc no tem um, veja um dos meus projetos PROGPICII.Suas principais caractersticas so: * 1024 bytes de memria FLASH, que pode ser gravada vrias vezes; * 68 bytes de memria RAM; * 64 bytes de memria EEPROM; * 13 pinos de I/O configurveis individualmente; * Timer de 8 bits com divisor escalar; * Interrupes externa e interna; * Arquitetura RISC com set de instrues de fcil aprendizado, com apenas 35 instrues; * Watchdog Timer; * Possibilidade para 4 tipos de osciladores, configurveis via software; * Entre outras.Organizao da Memria de ProgramaA famlia PIC16F84A tem um contador de programa (PC) de 13 bits capaz de enderear at 8K x 14 bits de memria de programas. O vetor de RESET est localizado no endereo 0000h e o vetor de interrupo no endereo 0004h. Outra caracterstica importante a ser salientada a impossibilidade de se ler diretamente da memria de programa. A maneira com que isso feito na arquitetura do PIC utilizando a instruo RETLW k, que ser visto mais adiante na apresentao do conjunto de instrues.Organizao da Memria de DadosA memria de dados composta de registradores e RAM para uso geral. Os registradores so divididos em 2 grupos funcionais: Registradores de Funes Especiais (32 endereos iniciais de cada banco) e Registradores de Uso Geral (endereos restantes de cada banco). Entre os registradores de funes especiais esto: o registrador TMR0, o contador de programa (PC), o registrador de Status (STATUS), os registradores I/O (ports) e o registrador de seleo (FSR). Alm disso, os registradores de funes especiais so usados para controlar a configurao dos ports de I/O e as opes de pr-escala. Os registradores de uso geral so usados para dados e controle de informao sob comando das instrues.

Concluo:A Microchip disponibiliza ferramentas para desenvolvimento de aplicaes para seus microcontroladores PIC. Dentre estas ferramentas podemos citar o MPLAB e o PICStart. O MPLAB um IDE que fornece uma integrao entre editor de texto, compiladores e microcontroladores.Podemos tambm, utilizar outras ferramentas de desenvolvimento, na Internet encontramos diversas delas. Vamos utilizar nesta experincia a ferramenta P16Pro Programmer for MicroChip microcontrollers, ela disponibiliza alm do software, um gravador de microcontroladores PIC (anexo 01). Atravs do software P16pro e do circuito de gravao, pode-se carregar um programa escrito em hexadecimal no microcontrolador. Diversos parmetros podem ser configurados no software para programar diferentes verses de microcontroladores PIC. Utilize o manual da ferramenta para maiores detalhes da utilizao do software P16pro.

Bibliografia * [1] Microchip PIC16F8X Datasheet www.microchip.com * [2] Projetos de Hardware e Software utilizando Microcontroladores PIC Edmur Canazian - 2009 * [3] P16Pro Programmer for MicroChip microcontrollers Short Manual