UnicenP – Centro Universitário Positivo
Núcleo de Ciências Exatas e Tecnológicas
Curso de Engenharia da Computação
PROJETO
CONTROLE DE ACESSO Á AMBIENTES BASEADO EM
I-BUTTON
Autor: Fernando Bomfim Boszczowski
Prof. Orientador: Valfredo Pilla Jr.
Curitiba
2002
SUMÁRIO
LISTA DE FIGURAS ....................................................................................................................................................IV
LISTA DE TABELAS .................................................................................................................................................... V
LISTA DE ABREVIATURAS .....................................................................................................................................VI
RESUMO ........................................................................................................................................................................VII
ABSTRACT ................................................................................................................................................................... VIII
1 INTRODUÇÃO.............................................................................................................................................................1
2 ESPECIFICAÇÃO.......................................................................................................................................................3
2.1 DESCRIÇÃO.......................................................................................................................................................... 3
2.2 ESTUDO TEÓRICO.............................................................................................................................................. 6
2.2.1 I-Button ...........................................................................................................................................................6
2.2.2 Características dos I-Buttons......................................................................................................................7
2.2.3 Protocolo 1-Wire...........................................................................................................................................8
2.3 ESPECIFICAÇÂO DO HARDWARE ............................................................................................................... 10
2.3.1 O 8031...........................................................................................................................................................12
2.3.2 Placa com o microcontrolador 8031 .......................................................................................................12
2.3.3 Teclado..........................................................................................................................................................12
2.4 ESPECIFICAÇÃO DO SOFTWARE ............................................................................................................................. 13
2.4.1 Interface com o usuário..............................................................................................................................14
2.5 ESPECIFICAÇÃO DA VALIDAÇÃO DO PROJETO ................................................................................. 14
2.6 CUSTOS................................................................................................................................................................... 16
3 PROJETO.....................................................................................................................................................................17
3.1 PROJETO HARDWARE ............................................................................................................................................ 17
3.1.1 I-Button .........................................................................................................................................................17
3.1.2 Teclado..........................................................................................................................................................17
3.1.3 Acionamento do relé...................................................................................................................................18
3.1.4 Interface com o usuário..............................................................................................................................18
3.2 PROJETO SOFTWARE............................................................................................................................................... 19
3.2.1 Leitura do i-button......................................................................................................................................20
3.2.2 Leitura do Teclado......................................................................................................................................22
3.2.3 Acionamento do relé...................................................................................................................................24
3.2.4 Interface com o usuário..............................................................................................................................24
4 RESULTADOS.............................................................................................................................................................25
5 CONCLUSÃO ..............................................................................................................................................................27
6 REFERÊNCIAS ..........................................................................................................................................................29
II
ANEXO 1 PLACA COM O MICROCONTROLADOR 8031 ..........................................................................30
ANEXO 2 COMUNICAÇÃO COM O COMPUTADOR....................................................................................31
ANEXO 3 RECEPTÁCULO DE LEITURA DO I-BUTTON ...........................................................................32
ANEXO 4 INTERFACE COM O TECLADO.......................................................................................................33
ANEXO 5 INTERFACE COM O LCD ...................................................................................................................34
ANEXO 6 INTERFACE COM O RELÉ ................................................................................................................35
ANEXO 7 COMPONENTES UTILIZADOS.........................................................................................................36
ANEXO 8 CÓDIGO FONTE .....................................................................................................................................38
III
LISTA DE FIGURAS
FIGURA 1 - FLUXOGRAMA DO SOFTWARE ......................................................................................................................... 4
FIGURA 2 - FLUXOGRAMA DO SOFTWARE C/MÓDULO EXTRA........................................................................................ 5
FIGURA 3 - I-BUTTON ........................................................................................................................................................... 6
FIGURA 4 – DIAGRAMA INTERNO DO I-BUTTON .............................................................................................................. 7
FIGURA 5 – PULSO DE RESET E PRESENÇA ....................................................................................................................... 8
FIGURA 6 – TRANSFERÊNCIA DE DADOS ATRAVÉS DE JANELA DE TEMPO.................................................................. 9
FIGURA 7 - DIAGRAMA DE BLOCO DE HARDWARE ........................................................................................................ 10
FIGURA 8 - TECLADO NUMÉRICO ..................................................................................................................................... 13
FIGURA 9 - FLUXOGRAMA DAS FASES DO SISTEMA....................................................................................................... 19
FIGURA 10 - FLUXOGRAMA DA LEITURA DO I-BUTTON................................................................................................. 21
FIGURA 11 - FLUXOGRAMA DA LEITURA DO TECLADO ............................................................................................... 23
FIGURA 12 - FLUXOGRAMA DAS MENSAGENS EXIBIDAS PELO LCD .......................................................................... 24
IV
LISTA DE TABELAS
TABELA 1 - PRINCIPAIS COMPONENTES ......................................................................................................................... 11
TABELA 2 - TABELA DE CUSTOS...................................................................................................................................... 16
TABELA 3 - LIGAÇÕES DO TECLADO COM O KIT 8031 ................................................................................................. 17
TABELA 4 - PINOS ENVOLVIDOS POR TECLA .................................................................................................................. 22
TABELA 5 - ESTADO DA PORTA PARA O ACIONAMENTO DA RELÉ ............................................................................... 24
V
LISTA DE ABREVIATURAS
CPU – Central Processing Unit
CRC – Cyclic Redundancy Check
RAM – Random Acess Memory
ROM – Read Only Memory
TTL – Transistor-Transistor Lógic
LCD – Liquid Crystal Display
VI
RESUMO
A dificuldade em se controlar o acesso a ambientes está presente em nosso meio,
desde o controle de uma simples porta de uma casa até um laboratório contendo materiais
ofensivos ao contato humano. O sistema de controle de acesso deve ser funcional e além de
tudo seguro, dificultando ao máximo qualquer tipo acesso indevido.
Neste trabalho foi desenvolvido um sistema capaz de controlar o acesso de pessoas
em ambientes restritos. Sua aplicação pode ser feita para residenciais, comércios, cofres e
laboratórios, com um número de acessos ilimitados, pois é um sistema rápido e com um
identificador de baixo custo.
O sistema é microprocessado com base em um identificador pessoal chamado de ibutton, que é uma memória de toque com aparência muito semelhante a uma pilha de
relógio. A liberação é feita através de um número de série único contido em cada i-button e
uma contra-senha. O processamento dos sinais provenientes do i-button e do teclado
numérico são feitos através do microcontrolador 8031.
Palavras-chave: i-button, sistema microprocessado, microprocessador, sistema de
segurança
VII
ABSTRACT
The difficulty in control place´s entrance are present in our way, since the control
of the access in entrance door of a house until the control of the access of dangerous
material laboratory. In all cases, the access system control must be functional and beyond
all insurance, making the entrance difficult to the maximum.
A system capable to control the people’s access in restricted areas was developed in
this work. Its application can be made in places as residential, commerce, strongbox and
laboratories, with a number of limitless accesses, in the system is fast and low cost
identification.
The system is microprocessed based on a personal identification called i- button.
The i-button is a memory of touch very similar with a clock´s stack. The release is made
through an only array number contained in each -i button and a counter-password. The
processing of the signals proceeding from i- button and the numerical keyboard is made
through microcontroller 8031.
Keywords : i-button, microprocessed system, microcontroller 8031, accused, security
system.
VIII
1 INTRODUÇÃO
O i- button é um dispositivo portátil, de baixo custo e pequena dimensão com
capacidade de comunicação com dispositivos receptores. Os diversos -i button possuem
armazenados internamente códigos únicos que permitem a identificação inequívoca de seu
portador / proprietário. Assim, estes dispositivos podem ser utilizados nos mais diversos
sistemas de acesso, tais como fechaduras eletrônicas, ativação de chave de criptografia, e
outros. Alguns modelos mais sofisticados são capazes de portar vários quilobytes de
informação ou mesmo o resultado de horas de monitoração de temperaturas, podendo ser
aplicados no armazenamento de informações pessoais ou profissionais do usuário ou no
controle de ambientes em que a temperatura é variável crítica, como os encontrados no
transporte e armazenamento de alimentos perecíveis.
O objetivo deste trabalho é desenvolver um dispositivo stand-alone baseado no
microcontrolador 8051/31 capaz de ativar fechaduras elétricas para o controle de acesso de
ambientes, desde uma simples casa, um setor de uma fábrica, até um ambiente altamente
restrito como de um laboratório nuclear. Um usuário poderá acessar um ambiente
controlado por este equipamento via apresentação de um i-button e de uma contra-senha
(inserida via teclado), ambos de uso pessoal.
Para o controle de acesso são normalmente utilizados cartões com tarja magnética,
cartões com código de barras e SmartCards, mas estes levam uma grande desvantagem em
relação ao i-button. A tecnologia empregada no i-button tem a vantagem de ser um produto
pequeno, fácil de operar, operação de leitura rápida e sem dúvida a maior delas que é a
durabilidade que é maior que 10 anos sem exigir nenhum cuidado especial, o que não
ocorre com os cartões magnéticos que não podem ficar perto de nenhum campo magnético,
nem o SmartCard que se deve ter um cuidado especial na região aonde se encontra o chip.
Seu desenvolvimento é ideal, pois é um sistema ultra-seguro e praticamente
inviolável. Além do mais é muito prático, pois não é necessário nenhum funcionário para
controlá- lo, sua manutenção consiste em apenas atualizar a lista de usuários, que esta
presente na memória ROM do kit 8031, quando tiver atualizações.
1
2
2 ESPECIFICAÇÃO
Nesta etapa será apresentado a especificação do projeto de controle de acesso
baseado em i-button.
2.1 DESCRIÇÃO
O projeto é um sistema de controle de acesso para ambientes baseado em um ibutton e uma contra-senha, ambos de uso pessoal. O projeto basicamente consiste em
leituras e processamentos de sinais provenientes tanto do i-button, teclado e do
microcomputador quando existe um servidor de senhas.
O sistema é composto por uma placa microprocessada, um identificador pessoal e
um teclado numérico. A placa contêm um microcontrolador 8031 capaz de executar todas
as funções do processamento referentes a leitura do i-button e do teclado. Tanto o
identificador pessoal, i-button, quanto o teclado fazem a interface do usuário com o
sistema microprocessado.
Inicialmente o usuário coloca o i-button em seu leitor enviando para o Kit 8031 o
sinal lido do i-button que é constituído por 8 bits do código do produto, mais 48 bits de um
número serial único e 8 bits para a verificação de erro (CRC- Cyclic Redundancy Check).
Após a aquisição do sinal a placa do microcontrolador 8031 fará uma busca na sua
memória ROM externa para verificar a existência do usuário, liberando assim a entrada no
teclado da cont ra-senha. A contra senha é um número qualquer de 4 bits previamente
cadastrado, aonde cada portador de um i-button terá uma. Caso o usuário tenha digitado
sua contra senha corretamente será liberado o seu acesso ao ambiente, como mostrado na
figura a seguir.
3
Figura 1 - Fluxograma do Software
Com o sistema conectado a um servidor de senhas(módulo extra) o seu
funcionamento será da mesma forma como citado acima, caso não seja encontrado o
número serial na memória ROM do Kit 8031, a busca será feita em um servidor local
conectado com o Kit 8031 via RS232 com uma velocidade de 9600Kbps, como mostra a
Figura 2.
4
Figura 2 - Fluxograma do Software c/módulo extra
O projeto é composto pelos módulos:
1.
Módulo de aquisição do sinal do I-button:
Neste módulo, através do Kit 8051 será feita a comunicação entre o
microcontrolador e o i-button, usando a porta serial, para executar a leitura
do i-button.
2.
Módulo de software de processamento:
Desenvolver um software usando a linguagem assembly para que o Kit 8051
consiga processar o sinal proveniente do i-button. O processamento se dará
com a verificação de erro (CRC - Cyclic Redundancy Check) e uma busca
na lista de usuários presente na memória ROM.
3.
Módulo da interface do teclado:
Neste módulo será implementada a comunicação entre o teclado e o Kit
8051, para que o usuário possa digitar sua contra-senha, após ter efetuado a
leitura do i-button.
4.
Módulo de software do teclado:
5
O objetivo deste modulo é processar o sinal digitado através do teclado,
observando se ele confere com a contra-senha do i-button que se encontra
na memória ROM.
5.
Módulo de acionamento da fechadura elétrica:
Após os módulos anteriores estiverem prontos será adicionada uma
fechadura elétrica ao sistema, que será ativada através de um relé, com o
objetivo de criar uma aplicação stand-alone, capaz de controlar o acesso de
pessoas a entrada de ambientes.
2.2 ESTUDO TEÓRICO
2.2.1 I -Button
É um chip encapsulado em uma caixa de aço inoxidável fabricado pela Dallas
Semiconductor, com uma vida útil maior que 10 anos, figura 3. As dimensões do i-button
são de 17,35mm de diâmetro e 5,89mm de altura. O encapsulamento do i-button é dividido
em duas partes totalmente isoladas, a tampa frontal e o restante da caixa. A parte frontal é
onde se encontra a linha de dados, é o restante do encapsulamento é a parte que deve ser
ligada ao terra para a comunicação. Sua necessidade de tensão é a mínima possível, apenas
2,8V que o i-button já interpreta como nível lógico alto. A tensão que é necessária para a
comunicação e o correto funcionamento do i-button é proveniente da linha de dados [02] e
é chamada tensão parasita.
Figura 3 - I-Button
6
Figura 4 – Diagrama interno do i-button
O i-button é uma memória de toque fabricado com tecnologia CMOS. O modelo
utilizado para este projeto foi o 1990A, ele é composto por uma memória ROM contendo
um número de série único. O seu consumo de energia é de até 5V, o que o torna
compatível com a família lógica TTL[02].
2.2.2 Características dos I-Buttons
As informações contidas na memória do i-button são de 64 bits, nos quais os 8 bits
mais significativos são códigos do i-button, os 48 bits seguintes é um número serial único e
os 8 bits menos significativos são bits para o teste de erro CRC (Cyclic Redundancy Check)
[04].
O CRC é calculado pelo resto da divisão em módulo da seqüência de dados por um
polinômio gerador que no caso de 8 bits é X8 + X5 + X4 + 1, gerando um binômio igual a
10011000 [02].
O tempo de leitura de um i-button é menor que 5ms e sua faixa de temperatura de é
de -40ºC a +85ºC [04].
O i-button comunica-se utilizando as regras do protocolo 1-Wire através de portas
físicas do microcontrolador 8031.
O nível de tensão deve ficar entre 2.8V a 5V. Este valor de 2.8V é o mínimo para
recarregar o capacitor interno responsável pelo suprimento da tensão do i-button quando a
7
linha de tensão esta em 1. Todas as tensões maiores que 2.2V são considerado como nível
lógico 1, tensões menores de 0.8V são consideradas nível lógico 0 [03].
2.2.3 Protocolo 1-Wire
O protocolo de comunicação do i-button é bidirecional, é chamado de 1-wire. A
transmissão via serial é half-duplex, não pode transmitir e receber ao mesmo tempo. Sua
transmissão é feita através de janelas de tempos, em todos os casos o i-button é o escravo
e o microcontrolador o mestre, este é o responsável pela inicialização da transferência de
dados ou comandos [02].
Os comandos ou dados são enviados bit a bit formando os bytes, iniciando sempre
com o bit menos significativo. A sincronização entre o mestre e o escravo é baseada em
uma rampa; quando o i-button é conectado no receptáculo de leitura o microprocessador
coloca a linha de dados em nível baixo durante 480µs fazendo um reset logo a linha de
dados volta a nível alto e é colocada em nível baixo pelo i-button. Esta segunda forma de
onda é chamada de pulso de presença e tem uma duração de 60µs, após decorrido este
tempo a linha de dados volta ao nível lógico alto, estando apto a iniciar a transmissão de
dados. A sincronização é sempre feita por um pulso de reset seguido por um de presença
[02].
Figura 5 – Pulso de Reset e Presença
A leitura é definida de dois modos, leitura de 1 ou leitura de 0 sendo realizadas
diversas vezes geram os bytes. Para iniciar uma leitura de um bit do i-button o
microcontrolador 8031, mestre, deve sempre mudar o nível da linha de dados, passando do
nível lógico alto para o nível lógico baixo. Assim o i-button identifica o comando de
leitura.
8
Como por exemplo o mestre, microcontrolador 8031, coloca a linha de dados em 1
e em seguida em 0 por um período máximo de 15µs indicando que está pronto para receber
um bit, o i-button manda um bit 1 a linha de dado é colocada em 1 imediatamente, fazendo
com que o mestre leia 1. Após um período chamado de tempo de recuperação, o mestre
coloca novamente a linha de dados em nível baixo para receber outro bit, o i-button manda
um bit 0 a linha de dados permanece em 0 por um período de no mínimo 60µs para que
seja lido 0 e novamente vai para o nível alto para executar nova leitura.
O intervalo de tempo que a janela permanece ativa, ou seja em nível baixo, para
efetuar a leitura pode se estender por mais de 60µs, mas não pode ser superior a 120µs pois
pode ser considerado um pulso de reset em casos extremos, mas normalmente ocorre
somente com 480µs [03]. O tempo mínimo para o envio de um novo bit após a janela
fechada, ou seja, após a linha de dados passar de nível baixo para alto é de 1µs para um
novo comando [02].
Figura 6 – Transferência de Dados através de janela de tempo
A transmissão é feita com uma taxa de 9600 bits/s, mas pode ser aumentada para
19200, 57600 e 115200 bits/s por controle de software[02].
9
2.3 ESPECIFICAÇÂO DO HARDWARE
O hardware deverá exercer as funções de leitura do i-button, leitura do teclado,
acionamento do LCD para a interface com o usuário, e acionamento de um relé que ativará
a fechadura elétrica.
A comunicação via RS232, é feita utilizando a serial da placa com o
microprocessador 8031 e uma porta serial do microcomputador. A escolha da serial se
deve por aceitar uma distância muito grande entre o Kit 8031 e o servidor.
Ao Kit 8031 será acoplado em suas portas o leitor de i-button, um teclado numérico
com 12 teclas e o LCD de comunicação com o usuário, conforme mostra a figura 7.
Figura 7 - Diagrama de Bloco de Hardware
10
O sinal proveniente do i-button é composto por 64 bits. Os 8
bits iniciais caracterizam o código do produto, os 48 bits
subseqüentes compõem um número serial único capaz de
identificar um usuário. Os 8 bits restantes formam o código
I-Button
do CRC( Cyclic Redundancy Check), que é usado para a
conferência da transmissão. A transmissão é feita de modo
serial, com uma taxa de transmissão variável. O receptáculo de
leitura do i-button será conectado ao microprocessador através
da porta P1.0. O modelo utilizado será DS1990A-F5
O microprocessador utilizado é da família Intel muito
semelhante ao 8051, diferindo em não ter uma memória ROM
Microprocessador 8031
interna e algumas portas de entrada e saída serem distintas. A
Tabela 1 - Principais Componentes
comunicação com o meio externo será feita pelos 8 bits da
porta P1 e 2 bits da porta P3. O modelo utilizado é o 8031A
fabricado pela Siemens.
A memória utilizada é do tipo EPROM tem a capacidade de
Memória ROM
256Kbits, 32K linhas de 8 bits cada, nela estará contida o
programa responsável pelo microprocessador e a lista de
usuários.
A memória RAM também tem sua capacidade máxima de
Memória RAM
256Kbits divididos em 32K linhas de 8bits cada e terá a
função de armazenar dados durante o processamento.
O teclado utilizado é numérico com 12 teclas. Para o seu
funcionamento são necessários 9 linhas de informações, mas
Teclado
só utilizaremos 7 pois não sendo utilizado a tecla ´*´. A
ligação com o microprocessador se dará através das portas
P1.1 à P1.7.
O LCD utilizado é do tipo caracter, com a capacidade de 16
colunas por 2 linhas. O seu funcionamento é feito através de 5
LCD
bits de controle e 8 bits de dados. A ligação com o
microcontrolador será feita com um mapeamento da memória
RAM.
11
2.3.1 O 8031
Um microprocessador é um elemento eletrônico, desenvolvido para executar tarefas
específicas, com linguagem de comando específica chamada assembly. Ele se utiliza de
uma memória de programa (ROM) para ler as instruções que deve executar e se utiliza uma
memória de dados (RAM) para armazenar temporariamente informações de uso próprio das
instruções, enquanto essas informações devem ser armazenadas.
A escolha do microcontrolador 8031 se deve por ser um componente altamente
compacto e simples de manusear e por ser familiar ao meio acadêmico.
2.3.2 Placa com o microcontrolador 8031
A placa utilizada com o microprocessador 8031 (Kit 8031) foi desenvolvida para o
3ºAno de Engenharia da computação UnicenP, para a disciplina de microprocessadores.
A placa contém um cristal de 11,0592MHz para a oscilação, uma memória ROM externa
de 256 KBits, uma memória RAM externa de 256 KBits, uma porta serial, um reset e as
portas de entrada e saída P1 com 8 bits e P3 com 6 bits.
O Kit 8031 deverá estar em um ambiente seco e com temperaturas entre -5ºC a
35ºC para um perfeito funcionamento.
2.3.3 Teclado
O teclado é do tipo numérico composto pelas teclas 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *.
Internamente suas ligações são da forma de uma matriz, que quando pressionada uma tecla
há um contato entre uma linha e uma coluna desta matriz. Cada tecla pressionada tem um
contanto distinto em cada vértice da matriz.
12
Figura 8 - Teclado numérico
2.4 ESPECIFICAÇÃO DO SOFTWARE
O software tem uma função muito importante, sendo o responsável pela leitura do ibutton e pela liberação ou não do acesso ao ambiente. Após ser feita a leitura do i-button o
software fará a conferência dos bits lidos através do CRC, em seguida será consultado a
lista de usuários na ROM, receberá a contra-senha digitada no teclado e conferirá na lista
de usuários se a senha está correta de acordo com o serial do i-button, liberando assim o
acesso.
No módulo extra, será desenvolvido a comunicação via RS232 para a consultar a
lista de usuários em um servidor. Após a leitura do i-button ser executada, o Kit 8031
receberá o número serial contido no i-button e buscará na memória ROM, caso não exista
será consultado no servidor remoto. Se a senha for encontrada no servidor, este retornará a
contra-senha para o kit 8031 para que seja conferida após ser digitada pelo usuário. O
servidor será desenvolvido utilizando o compilador Borland C.
O CRC pode ser conferido de duas maneiras, a primeira é realizar a divisão da
mensagem mais CRC pelo polinômio gerador se o resto for 0, a transmissão esta correta. A
segunda maneira é separar a mensagem do CRC recalcular e comparar. O software do
microprocessador fará do segundo modo.
O software para o Kit 8031 será desenvolvido em linguagem assembly e testado em
um simulador do microcontrolador 8031.
13
2.4.1 Interface com o usuário
O usuário tem a sua disposição para a liberação da porta um leitor de i-button e um
teclado numérico. Para uma facilidade de comunicação entre o usuário e o equipamento,
este contará com o auxílio de um display de cristal líquido(LCD). O LCD mostrará passos
a ser seguido pelo usuário e erros que podem ocorrer durante o processo de liberação do
acesso.
1.
2.
i-button: 6 bytes com um número de série único por produto.
Teclado: 4 digitos numéricos escolhidos entre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 para a
contra-senha.
3.
Mensagens do display:
Insira o i-button no leitor
I-button não cadastrado
Insira a senha no teclado
Senha inválida
Porta liberada
No módulo extra, o operador terá a sua disposição um menu com a possibilidade de
adicionar ou remover usuários da lista de pessoas que tem a permissão para o acesso.
2.5 ESPECIFICAÇÃO DA VALIDAÇÃO DO PROJETO
Os testes serão realizados a partir da fase de desenvolvimento. Inicialmente será
feito testes na placa do microprocessador 8031.
1.
Teste de leitura e escrita da memória RAM.
O programa desenvolvido irá escrever em todas as posições da memória
RAM, a palavra FFh. Posteriormente irá ler os endereços vendo se a palavra
FFh está escrita em todas as posições..
2.
Teste de leitura e escrita da porta P1 e P3.
Para executar o teste de leitura das portas P1 e P3 coloca-se todos os pinos
das portas no nível lógico 1 e executa-se a leitura dos 8 bits da porta P1 e
compara-se com o valor FFh, a mesma coisa é feita para a porta P3. O teste
14
de escrita é feito com o auxilio de leds, em cada porta coloca-se 8 leds e
escreve AAh em cada porta, caso os leds acendam de forma alternada a
escrita na porta está funcionando corretamente.
3.
Teste da serial da placa.
O teste da serial consiste em fazer um programa em assembly para enviar
alguns bits e receber outros e
é feito com o auxilio de um
microcomputador. O programa para o PC vai ser desenvolvido usando a
linguagem C.
Após ter testado a placa do microprocessador inicia-se os testes dos módulos após
terem sido desenvolvidos. Os testes serão os seguintes:
1.
Teste de comunicação entre o i-button e o Kit 8031.
O objetivo aqui é que o Kit 8051 através da porta P1.7 consiga efetuar a
leitura o i-button.
2.
Teste da checagem de erro (CRC).
Após a mensagem ser recebida o microprocessador deve separar o CRC e
comparar com o CRC calculado por ele.
3.
Teste da busca do serial do i-button na memória ROM.
Neste teste o microcontrolador deve ter a capacidade de encontrar ou não o
número serial lido do i-button.
4.
Teste da leitura do teclado numérico.
O teste consiste em fazer a leitura da porta P1.0 à P1.6, identificando os 4
números digitados pelo usuário formado sua contra-senha. Este teste será
realizado com um auxilio de um display de 7-segmentos, ao pressionar uma
tecla o display mostrava a tecla correspondente no display.
5.
Teste da busca da contra-senha digitada pelo teclado na memória ROM.
Este teste será semelhante ao da busca do serial, apenas difere que a busca é
executado em um endereço conhecido.
15
6.
Teste do acionamento de um relé.
O teste consiste em verificar o funcionamento do relé, e posteriormente
testar a ativação do mesmo através do Kit 8031.
Completando os testes acima citados, inicializará os teste finais de validação. Que
consiste em ligar o sistema a uma fechadura elétrica e executar varias simulações de uso.
2.6 CUSTOS
Os custos levantados dizem respeito apenas a parte de desenvolvimento do projeto
de controle de acesso através do i-button, não contabilizando equipamentos de
laboratórios.
Tabela 2 - Tabela de Custos
Nome
Descrição
Placa
Impressa,
microprocessador, memória
Componentes
eletrônicos
RAM,
memória
ROM,
diversos
capacitores,
resistores,
conectores, LCD, etc
I-Button
2 i-buttons, 2 chaveiros
350h estimada para a
Horas de Trabalho
conclusão do projeto
Total
Custos
R$ 100,00
R$ 30,00
R$ 8750,00
R$ 8880,00
16
3 PROJETO
3.1 PROJETO HARDWARE
3.1.1 I -Button
O receptáculo de leitura do i-button utiliza 2 fios para a comunicação serial. Um
deles é o terra comum a todo o sistema, e o outro é a linha de dados que será conectado a
porta P1.0 do microcontrolador 8031. Na linha de dados foi utilizado um resistor de pullup para garantir 5v no nível lógico alto, ver Anexo 3.
3.1.2 Teclado
São necessários 9 linhas para poder realizar a leitura do teclado numérico (12
teclas). O caracter ‘*’ não será utilizado sendo necessário então apenas 7 linhas. As linhas
estão conectadas em 3 colunas e 4 filas. A detecção da tecla digitada é feita lendo a coluna
e a fila da tecla correspondente.
A conexão com o kit 8031 é feita através dos pinos P1.1 ao P1.7 conforme
mostrado no Anexo 4.
Porta física do microcontrolador
Fila/Coluna correspondente do teclado
P1.1
Fila 1 (Pino 1)
P1.2
Coluna 1 (Pino 2)
P1.3
Fila 2 (Pino 3)
P1.4
Coluna 2 (Pino 4)
P1.5
Fila 3 (Pino 5)
P1.6
Coluna 3 (Pino 6)
P1.7
Fila 4 (Pino 7)
Tabela 3 - Ligações do teclado com o KIT 8031
17
3.1.3 Acionamento do relé
Para o acionamento do relé utilizou-se um transistor com a função de uma chave
on-off. Isto se deve porque se a ligação fosse feita diretamente entre o relé e a porta
P3.3(INT0) não teria corrente necessária para o acionamento do relé.
O circuito de polarização utilizado nesta aplicação é o de corrente de base
constante, a fonte de polarização da base é, na realidade, o sinal de entrada que controla o
transistor, cortando-ô(chave aberta) ou saturando-ô(chave fechada). O resistor R8 tem a
função de limitar a corrente no transistor, para não danificá- lo. O diodo em paralelo com a
bobina serve para evitar que o transistor se danifique devido à corrente reversa gerada por
ela no chaveamento do relé. Ver detalhes no Anexo 6.
3.1.4 Interface com o usuário
A ligação entre o kit8031 e o display de cristal líquido é feita mapeando um
endereço da memória externa. Para enviar os dados para o LCD utiliza o barramento de
dados da memória RAM e os bits de endereço A0 e A1 para controle junto com uma lógica
extra, ver Anexo 5
Endereços Mapeados:
8000h Escrita de instruções no LCD
8001h Escrita de dados no LCD
8002h Leitura do Barramento de dados
18
3.2 PROJETO SOFTWARE
Nesta etapa do projeto esta descrito como será o funcionamento do programa
desenvolvido para o microcontrolador 8031.
O fluxograma mostrado abaixo representa os passos do sistema a partir que ele
entra em funcionamento.
Figura 9 - Fluxograma das fases do sistema
19
3.2.1 Leitura do i-button
A leitura do i-button inicia-se pela detecção do mesmo, quando ele se encontra no
receptáculo de leitura. Após a detecção é necessário executar a inicialização do processo de
leitura que é composto por um reset seguido por uma nova verificação de presença do ibutton, este processo pode ser chamado de handshake entre o microcontrolador
8031(mestre) e o i-button(escravo).
A leitura do número serial único contido em cada i-button é feita de forma serial,
são lidos bit a bit até formarem os bytes que são salvos na pilha, esta operação se repete
até serem lido os 64 bits ou 8 bytes.
Após ser feita a leitura inicia o teste de erro da transmissão (CRC), com a
mensagem recebida calcula-se um CRC e compara-se com os 8 bits finais recebidos, caso
os números forem iguais a informação lida do i-button esta correta, caso contrário é
necessário refazer a leitura.
20
Figura 10 - Fluxograma da leitura do i-button
21
3.2.2 Leitura do Teclado
A detecção de uma tecla é feita da seguinte maneira: originalmente todas as filas e
colunas estão em nível lógico 1. Primeirame nte coloca-se em nível lógico 0 uma coluna,
após varre todas as filas para ver o seu nível lógico, caso o nível lógico esteja em 0 alguma
tecla foi digitada. A confirmação desta tecla digitada ocorre apenas quando o nível lógico
da fila passa de 0 para 1 evitando assim que quando pressionada uma vez a tecla mais de
um digito seja lido. Este loop ocorre um todas as colunas até que 4 digitos sejam digitados.
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
Num
1
0
1
0
0
0
0
1
0
BDh
2
0
1
0
0
1
0
0
0
EDh
3
0
1
1
0
0
0
0
0
F9h
4
0
0
0
1
0
0
1
0
B7h
5
0
0
0
1
1
0
0
0
E7h
6
0
0
1
1
0
0
0
0
F3h
7
0
0
0
0
0
1
1
0
9Fh
8
0
0
0
0
1
1
0
0
CFh
9
0
0
1
0
0
1
0
0
DBh
0
0
0
0
0
1
0
0
1
6Fh
#
0
0
1
0
0
0
0
1
84h
Tabela 4 - Pinos envolvidos por tecla
22
Figura 11 - Fluxograma da Leitura do Teclado
23
3.2.3 Acionamento do relé
O software irá acionar o relé colocando o nível lógico da porta P3.3 (INT0) em 1.
Com o auxílio do Timer 1 do microcontrolador 8031 o relé permanecerá com sua chave
fechada por um período de aproximadamente 5s, após o qual porta P3.3 retornará ao nível
lógico igual a 0.
Nível Lógico Porta P3.3
Estado do Relé
0
Desativado
1
Ativado
Tabela 5 - Estado da porta para o acionamento da relé
3.2.4 Interface com o usuário
A interface com o usuário pode ser feita em várias etapas do sistema, desde seu
inicio até o fim com o acionamento de relé, como mostra o fluxograma abaixo.
Figura 12 - Fluxograma das mensagens exibidas pelo LCD
24
4 RESULTADOS
O sistema apresentou os resultados esperados, sendo capaz de distinguir um ibutton de outro. Com o desenvolvimento do software para controlar o microcontrolador
8031 o sistema executa a leitura do i-button e do teclado, faz o cálculo e a conferência do
CRC, busca o número de serie do i-button e a contra-senha na memória ROM e comunicase com o servidor. Já o software desenvolvido para o servidor executa a comunicação entre
o PC e o microcontrolador 8031 e faz a interface entre o servidor e o banco de dados.
25
26
5 CONCLUSÃO
O sistema desenvolvido para controle de acesso à ambientes utilizando i-button,
teve seu funcionamento testado e os resultados esperados foram obtidos.
A utilização do identificado pessoal, i-button, é muito interessante. O identificador
é um produto de fácil manuseio, resistente e compatível com a família TTL o que torna seu
funcionamento simples e adaptável a qualquer projeto.
Desenvolvimentos futuros incluem uma interface amigável para o administrador do
sistema registrar novos i-buttons, uma criptografia para que ocorra uma transmissão segura
e um sistema de controle de fluxo para que se tenha certeza de que apenas uma pessoa
entrou quando a porta foi liberada.
27
28
6 REFERÊNCIAS
[01] Dallas Semiconductor Corp., http://www.ibutton.com (20/03/2002).
[02]
Dallas
Semiconductor
Corporation,
iButton
Data
Books,
standard.pdf,
http://www.ibutton.com/ibuttons/standard.pdf (28/03/2002).
[03] Dallas Semiconductor Corporation, iButton Application Notes, app74.pdf,
http://pdfserv.maxim- ic.com/arpdf/AppNotes/app74.pdf(28/03/2002).
[04] Dallas Semiconductors Corporation, Serial Number iButton, DS1990Aserial.pdf,
http://www.ibutton.com/ibuttons/ DS1990Aserial.pdf (05/04/2002).
[06]Dallas
Semiconductors
Corporation,
iButton
Probe,
DS9092.pdf,
http://www.ibutton.com/ibuttons/ DS9092.pdf (05/04/2002).
[07] NICOLOSI, Denys E. C. Microcontrolador 8051 Detalhado. São Paulo: Érica,
2000.
[08] SILVA JUNIOR, Vidal P. da. Aplicações Práticas do Microcontrolador 8051. São
Paulo: Érica, 1998.
29
Download

i-button