Restaurante Wireless

Propaganda
Centro Universitário Positivo - UnicenP
Núcleo de Ciências Exatas e Tecnológicas – NCET
Engenharia da Computação
João Marcos Manzo
Restaurante Wireless
Curitiba
2005
Centro Universitário Positivo - UnicenP
Núcleo de Ciências Exatas e Tecnológicas – NCET
Engenharia da Computação
João Marcos Manzo
Restaurante Wireless
Monografia apresentada à disciplina de
Projeto Final, como requisito parcial à
conclusão do Curso de Engenharia da
Computação.
Carlos Albini
Curitiba
2005
Orientador:
Prof.
Luiz
TERMO DE APROVAÇÃO
João Marcos Manzo
Restaurante Wireless
Monografia aprovada como requisito parcial à conclusão do curso de
Engenharia da Computação do Centro Universitário Positivo, pela seguinte
banca examinadora:
PROF. LUIZ CARLOS ALBINI
PROF. MAURÍCIO PERRETTO
PROF. MARCELO MIKOSZ
Curitiba, 06 de novembro de 2005
ii
AGRADECIMENTOS
Gostaria de agradecer em primeiro lugar a Deus, pois não fosse Sua vontade
não teria conseguido realizar esse projeto.
Quero também agradecer minha mulher Fernanda Pinheiro da Silveira por ter
sido compreensiva comigo em todos meus difíceis momentos em que estive
trabalhando em cima do projeto me agüentando de mal-humor e estressado pelo
mesmo motivo. Todas as suas frases de incentivo me ajudaram a continuar e levar
esse projeto adiante.
Agradeço aos meus pais que possibilitaram minha caminhada até esta
importante etapa da minha vida que é a graduação. Sempre me apoiando e
incentivando. Aproveito para dizer que todas as orações de minha mãe surtiram efeito
e consegui chegar até aqui.
Aproveitando a oportunidade agradeço a todos os meus amigos e colegas que
conviveram comigo durante todos esses anos por um lado difíceis de passar e por
outros muito valiosos. Agradeço também ao não só professor como também amigo
Maurício Perretto por sempre dar a atenção e não deixar na mão.
Agradeço ao meu professor orientador pela paciência em suas orientações e também
por ter apostado e acreditado na idéia do projeto. Agradeço também ao professor José
Carlos da Cunha que sempre esteve disposto a ajudar e incentivar a continuação do
projeto.
iii
SUMÁRIO
I
II
III
IV
V
1.
Lista de Tabelas e Quadros .................................................................................... ii
Lista de Ilustrações .................................................................................................iii
Lista de Siglas ........................................................................................................ iv
Resumo................................................................................................................... v
Abstract .................................................................................................................. vi
Introdução............................................................................................................. 1
1.1
Motivação...................................................................................................... 2
1.2
Definição do trabalho..................................................................................... 2
1.3
Contextualidade nos dias atuais.................................................................... 3
1.4
Descrição das principais funcionalidades ...................................................... 4
1.5
Tecnologias utilizadas na implementação ..................................................... 4
2. Fundamentação Teórica ....................................................................................... 6
2.1.
Comunicação Wireless.................................................................................. 6
2.2.
Teoria de Sotftware ....................................................................................... 8
2.2.1.
Banco de dados relacional..................................................................... 8
2.2.2.
Protocolos de comunicação................................................................. 11
2.2.3.
Linguagem C++ - Orientação a objetos ............................................... 12
2.3.
Teoria de Hardware..................................................................................... 13
2.3.1.
Display gráfico GLCD .......................................................................... 13
2.3.2.
Transceiver.......................................................................................... 14
2.3.3.
Microcontrolador .................................................................................. 15
3. Especificação...................................................................................................... 17
3.1.
Especificação do hardware.......................................................................... 17
3.1.1.
Teclado................................................................................................ 18
3.1.2.
GLCD .................................................................................................. 18
3.1.3.
Módulo Transceiver ............................................................................. 20
3.1.4.
Microcontrolador .................................................................................. 21
3.1.5.
Computador Servidor........................................................................... 22
3.2.
Especificação do software ........................................................................... 23
3.2.1.
Banco de dados................................................................................... 24
3.2.2.
Protocolo de comunicação Wireless .................................................... 24
3.2.3.
Estimativa de Custos Para o Projeto.................................................... 26
4. Projeto ................................................................................................................ 28
4.1.
Projeto de Hardware.................................................................................... 28
4.1.1.
Módulo Teclado ................................................................................... 28
4.1.2.
Módulo Display .................................................................................... 28
4.1.3.
Módulo Transceiver ............................................................................. 29
4.1.4.
Módulo Microcontrolador ..................................................................... 29
4.1.5.
Lista de Materiais................................................................................. 30
4.2.
Projeto do Software ..................................................................................... 31
4.2.1.
Casos de uso....................................................................................... 31
4.2.2.
Diagrama de Classes .......................................................................... 32
4.2.3.
Diagramas de seqüência ..................................................................... 34
4.2.4.
Banco de dados................................................................................... 36
4.3.
Projeto do Firmware .................................................................................... 41
4.4.
Projeto do Protocolo de Comunicação ........................................................ 43
5. Resultados .......................................................................................................... 44
6. Conclusão ........................................................................................................... 46
7. Referências Bibliográficas................................................................................... 47
8. Glossário............................................................................................................. 48
Anexos ....................................................................................................................... 49
ii
I
LISTA DE TABELAS E QUADROS
TABELA 1 – APLICAÇÕES E BANDAS ............................................................................................. 7
TABELA 2 – ESTRUTURA DO BANCO DE DADOS ............................................................................ 9
TABELA 3 – ESTIMATIVA DE CUSTO DO CLIENTE ........................................................................ 26
TABELA 4 – ESTIMATIVA DE CUSTO DO SERVIDOR ..................................................................... 26
TABELA 5 – MÓDULOS DO HARDWARE ....................................................................................... 28
TABELA 6 – SINAIS REFERENTES AO MÓDULO (TECLADO)......................................................... 28
TABELA 7 – SINAIS REFERENTES AO MÓDULO (DISPLAY). ......................................................... 28
TABELA 8 – SINAIS REFERENTES AO MÓDULO (TRANSCEIVER).................................................. 29
TABELA 9 – SINAIS REFERENTES AO MÓDULO (DISPLAY). ......................................................... 29
TABELA 10 – LISTA DE COMPONENTES ....................................................................................... 30
TABELA 11 – RELAÇÃO DE TABELAS DO BANCO DE DADOS ....................................................... 37
TABELA 12 – DESCRIÇÃO DA TABELA TB_CLIENTES.............................................................. 37
TABELA 13 – DESCRIÇÃO DA TABELA TB_CONTA................................................................... 37
TABELA 14 – DESCRIÇÃO DA TABELA TB_FUNCIONARIOS................................................... 37
TABELA 15 – DESCRIÇÃO DA TABELA TB_HISTORICO_PEDIDOS ........................................ 38
TABELA 16 – DESCRIÇÃO DA TABELA TB_INGREDIENTES.................................................... 38
TABELA 17 – DESCRIÇÃO DA TABELA TB_LOG_MENSAGENS .............................................. 38
TABELA 18 – DESCRIÇÃO DA TABELA TB_MESAS ................................................................... 38
TABELA 19 – DESCRIÇÃO DA TABELA TB_PEDIDOS_PENDENTES....................................... 38
TABELA 20 – DESCRIÇÃO DA TABELA TB_PRATOS ................................................................. 39
TABELA 21 – DESCRIÇÃO DA TABELA TB_TIPO_CARDAPIO ................................................. 39
TABELA 22 – DESCRIÇÃO DA TABELA TB_TIPO_ORIGEM_MSG ........................................... 39
TABELA 23 – DESCRIÇÃO DA TABELA TB_TIPO_PAGAMENTO............................................. 39
TABELA 24 – DESCRIÇÃO DA TABELA TB_TIPO_PRATO......................................................... 39
TABELA 25 – DESCRIÇÃO DA TABELA TB_TIPO_REQUISICAO.............................................. 39
TABELA 26 – DESCRIÇÃO DA TABELA TB_TIPO_SERVICO..................................................... 40
TABELA 27 – DESCRIÇÃO DA TABELA TB_PEDIDO_CONTA .................................................. 40
TABELA 28 – DESCRIÇÃO DA TABELA TB_PEDIDO_PRATO................................................... 40
TABELA 29 – DESCRIÇÃO DA TABELA TB_SATISFACAO ........................................................ 40
TABELA 30 – DESCRIÇÃO DA TABELA TB_TIPO_ENCERRADO ............................................. 40
TABELA 31 – DESCRIÇÃO DO PROTOCOLO DE COMUNICAÇÃO ................................................... 43
iii
II LISTA DE ILUSTRAÇÕES
FIGURA 1 – ESQUEMA BÁSICO DO PROJETO .................................................................................. 2
FIGURA 2 – EXEMPLO DE UMA ONDA MODULADA EM ASK, FSK E PSK..................................... 6
FIGURA 3 – ESTUDO DO PRINCÍPIO DE HYUGENS .......................................................................... 8
FIGURA 4 – MODELO ER............................................................................................................. 10
FIGURA 5 – EXEMPLO DE ESTRUTURA DE UM PROTOCOLO ......................................................... 11
FIGURA 6 – ILUSTRAÇÃO DE UM GLCD...................................................................................... 13
FIGURA 7 – ILUSTRAÇÃO EXEMPLO DE UM TRANSCEIVER ......................................................... 14
FIGURA 8 – ARQUITETURA INTERNA DE UM PROCESSADOR RISC ............................................. 16
FIGURA 9 – ESQUEMA BÁSICO DO PROJETO ................................................................................ 17
FIGURA 10 – TECLADO DE MEMBRANA / CORTE ......................................................................... 18
FIGURA 11 – ESQUEMA PARA USO DO DISPLAY .......................................................................... 19
FIGURA 12 – DIAGRAMA EM BLOCOS DO MÓDULO TRANSCEIVER ............................................. 20
FIGURA 13 - PINAGEM DO MICROCONTROLADOR 8051 .............................................................. 22
FIGURA 14 – TELA DE LOGIN DO SISTEMA .................................................................................. 23
FIGURA 15 – TELA PRINCIPAL DO SISTEMA................................................................................. 24
FIGURA 16 - DIAGRAMA DE CASOS DE USO................................................................................. 31
FIGURA 17A – DIAGRAMA DE CLASSES DO SISTEMA (CLASSES DE NEGÓCIO). ........................... 32
FIGURA 17B – DIAGRAMA DE CLASSES DO SISTEMA (CLASSES DE BROKERS). ........................... 33
FIGURA 18 – DIAGRAMA DE SEQÜÊNCIA (INCLUIR PRATO). ....................................................... 34
FIGURA 19 – DIAGRAMA DE SEQÜÊNCIA (PESQUISAR PRATO). .................................................. 34
FIGURA 20 – DIAGRAMA DE SEQÜÊNCIA (ATUALIZAR PRATO). ................................................. 35
FIGURA 21 – DIAGRAMA DE SEQÜÊNCIA (EXCLUIR PRATO)....................................................... 35
FIGURA 22 – DIAGRAMA DE SEQÜÊNCIA (GERENCIAR RESTAURANTE). .................................... 35
FIGURA 23 –MODELO ENTIDADE RELACIONAMENTO ................................................................. 36
FIGURA 24 – FLUXOGRAMA DE FUNCIONAMENTO DO FIRMWARE. ............................................ 41
FIGURA 25 – DIAGRAMA DE ESTADOS DO FIRMWARE. ............................................................... 42
FIGURA 26 – TESTE FUNCIONAL DO SISTEMA. ............................................................................ 44
FIGURA 27 – TESTE DE PROTOCOLO DO SISTEMA ....................................................................... 45
iv
III LISTA DE SIGLAS
NCET- Núcleo de Ciências Exatas e Tecnológicas
Wi-Fi – Wireless Fidelity
UNICENP – Centro Universitário Positivo
WLAN – Wireless Local Area Network
RF – Rádio Freqüência
FSK – Frequency Shift Keying
ASK – Amplitude Shift Keying
PSK – Phase Shift Keying
SGBD – Sistemas Gerenciadores de Banco de Dados
SQL – Structured Query Language
ER – Entidade / Relacionamento
IP – Internet Protocol
TCP – Transmission Control Protocol
UDP – User Datagram Protocol
FTP – File Transfer Protocol
SMTP – Simple Mail Transfer Protocol
RTP – Real-time transfer protocol
I/O – Input / Output
ULA – Unidade Lógica Aritmética
RAM – Random Access Memory
ROM – Read Only Memory
PC – Program Counter
CISC - Complex Instruction Set Computer
RISC - Reduced Instruction Set Computer
LSI – Large Scale of Integration
EEPROM - Electrically Erasable Programmable Read-only Memory
JTAG – Joint Test Action Group
SRAM – Static Random Access Memory
UART - Universal Asynchronous Receiver/Transmitter
DPTR – Data Pointer
PSEN - Program Store Enable
v
IV RESUMO
O trabalho visa a implementação de um sistema de comunicação entre clientes
e o atendimento de um restaurante. Para evitar o atraso de ter que esperar que um
garçom venha até a mesa, ou até de que não se encontre um garçom no momento
desejado. O cliente sem sair do lugar envia um pedido diretamente para a cozinha e
aguarda que o pedido lhe seja entregue prontamente.
Desta forma, o cliente fica mais satisfeito, com uma melhor qualidade no
atendimento sem dispensar o trabalho de um garçom, servir efetivamente. O sistema
apenas efetua o trabalho de anotar os pedidos dos clientes, ficando o garçom com a
função apenas de levar o pedido até sua mesa.
Todas as mesas possuirão o sistema instalado e farão uma comunicação semfio (Wireless) com a cozinha diretamente. Onde assim o pedido entrará em uma fila de
prioridades por ordem de chegada.
Palavras-chave: Wireless; Restaurante.
vi
V ABSTRACT
Communication system between the clients and the restaurant. To prevent the
delay to wait a waiter even comes to the table or of that if he does not find a waiter at
the desired moment, the customer without leaving his place, directly sends an order for
the kitchen and waits that the order is delivers to it readily.
Of this form the customer is more satisfied with one better quality in the
attendance without excusing the work of a waiter, to serve effectively. The system only
inhibits waiter of the restaurant to write down the order of the customers, being with the
function to only take the order until its table.
All the tables will have installed a system and will make a Wireless
communication directly with the kitchen. Where thus the order will enter in a queue of
priorities for arrival order.
Key-Words: Restaurant, Wireless.
1
1. Introdução
Normalmente quando vamos a um restaurante o atendimento se procede da
seguinte forma:
•
O cliente chega ao restaurante e senta em uma mesa qualquer.
•
Em seguida, um garçom traz o cardápio até a mesa e sai dando um tempo
para o cliente fazer a escolha do pedido.
•
O cliente já sabendo o que será pedido, solicita ao garçom que anote seu
pedido e o leve até a cozinha onde será inserido no final de uma fila FIFO até
que a comida chegue até sua mesa.
•
Ao final o cliente solicita novamente o garçom para que lhe traga a conta ou ele
mesmo vai até o caixa e efetua o pagamento.
Salvo alguns outros itens que poderiam ser inseridos nesse processo, tudo funciona
basicamente dessa maneira. E facilmente percebe-se que quase que a totalidade
desses itens poderiam ser automatizados, utilizando um sistema de pedidos
automático onde o próprio cliente cuidaria de seus pedidos, deixando para o garçom
apenas o trabalho de levar o pedido até a mesa, melhorando assim a qualidade no
serviço e no atendimento.
2
1.1 Motivação
A fim de melhorar a qualidade do serviço de atendimento em restaurantes surgiu a
idéia de automatizar todo o processo operacional antes realizado pelos garçons.
Deixando a eles apenas a simples tarefa de levar o pedido até a mesa.
Com base nessa idéia, utilizar recursos não estudados no curso é extremamente
vantajoso para a área técnica profissional. Para o projeto em questão, a comunicação
sem fio (Wireless) - largamente utilizada em vários ramos da tecnologia -, é um
conhecimento de grande valor. Conseqüentemente, o projeto final pode ser
aproveitado para aprender essa tecnologia tendo como possibilidade aprimorar os
conhecimentos nessa área e juntamente estruturar uma base profissional concreta.
A comunicação Wireless se dá de forma bastante abrangente no projeto em
questão. Envolvendo protocolos de comunicação, controle de erros, endereçamento,
controle de fluxo de dados e tratamento de colisões.
Não só comunicação Wireless, mas o projeto inclui banco de dados, software
cliente/servidor e conhecimentos de Displays gráficos. Todos esses componentes
juntos fazem deste, um projeto completo e de grande valia para o aprendizado.
1.2 Definição do trabalho
O projeto consiste basicamente em duas partes representadas pela Figura 1:
•
Um cliente (mesas) que será o responsável pela solicitação dos pedidos.
•
Um servidor que atenderá a todas as solicitações dos clientes.
Figura 1 – Esquema básico do projeto
Como comentado anteriormente, ao chegar no restaurante, existe todo um
processo normal desde a chegada do cliente ao restaurante até sua saída. Observou-
3
se que muitos pontos desse processo elementar podem ser automatizados
melhorando o atendimento. O projeto funcionará da seguinte forma:
•
O Cliente chega ao restaurante e senta-se na mesa desejada.
•
Ao invés de o cliente ser recebido na mesa por um garçom trazendo-lhe o
cardápio, o cliente acessará diretamente o Menu de forma digital, escolhendo
todas as opções de seu pedido e enviando para um servidor (cozinha).
•
Feito o pedido o cliente aguardará normalmente que um garçom traga-lhe tudo
que foi solicitado.
•
Após a refeição o cliente solicita no sistema que a conta de sua mesa seja
devidamente fechada para iniciar o processo normal de pagamento.
Toda a comunicação envolvida no trâmite é Wireless. A comunicação do par
transmissor/receptor instalado no servidor terá uma comunicação serial com o mesmo.
Os dados de todos os pedidos serão armazenados em banco de dados, havendo
também a possibilidade de um cadastro de clientes. Logicamente, é através do banco
de dados que haverá o controle de contas do restaurante em questão. Um sistema de
controle de estoque, receitas e despesas não é parte deste projeto ficando apenas o
controle dos pagamentos efetuados pelos clientes.
A sistema instalado nas mesas terá uma interface amigável com o cliente, pois será
interativa e ocorrerá em um display gráfico onde a entrada de dados será feita através
de um teclado próprio.
1.3 Contextualidade nos dias atuais
O sistema do ‘Restaurante Wireless’ se encaixa bem no ambiente em que vivemos,
onde muitas pessoas freqüentam restaurantes com uma freqüência relativamente alta.
O processo operacional normal dos restaurantes de hoje gera alguns tipos de
transtornos tantos para os clientes, quanto para os garçons e o restaurante, por
exemplo:
•
O cliente nem sempre é atendido quando deseja fazer uma solicitação.
•
Existe, mesmo que com baixa freqüência, o fato do garçom esquecer de um
pedido do cliente.
•
Troca de pedidos entre as mesas, pelo fato de o garçom ter anotado o pedido
de uma mesa como o de outra.
•
O cliente não acompanha efetivamente as solicitações feitas em suas conta
que está em aberto, podendo não ter certeza de tudo o que foi pedido e está
especificado em sua conta.
4
Tais problemas seriam facilmente evitados com a automatização do processo
operacional do restaurante. Assim, demonstra-se que o sistema tem uma aplicação
prática nos dias de hoje.
1.4 Descrição das principais funcionalidades
O sistema tem de uma série de funcionalidades fundamentais que devem existir
para que seja um projeto comercialmente viável, dentre elas destacam-se:
Da parte do cliente:
•
Opção de cadastro de clientes (não obrigatória);
•
Caso seja cadastrado, opção de repetição de pedidos anteriores;
•
Pedidos feitos pelo cliente através do sistema diretamente à cozinha;
•
Opção de pedidos complementares, ocorridos durante a refeição;
•
Pedido de fechamento de conta;
•
Opção de “Estou Satisfeito”, para pararem de servir (funcional apenas se
Rodízio).
Da parte do servidor:
•
Visualização de pedidos não finalizados pendentes de atendimento;
•
Visualização gráfica das mesas do restaurante segundo a planta do
restaurante com código de cores para distinguir pedido de conta ou de
refeições;
•
Relatório de valores arrecadados por período;
•
Relação dos clientes cadastrados para atendimento personalizado;
•
Opção de troca de cardápio;
•
Opção de troca de funcionalidade (Buffet, Rodízio, A La Carte).
1.5 Tecnologias utilizadas na implementação
As principais tecnologias empregadas no sistema são:
•
Comunicação Wireless com componentes de rádio freqüência (RF) –
Transceivers (Transmitters/Receivers).
•
Representação em GLCD (Graphic Liquid Crystal Display).
•
Comunicação serial.
•
Banco de dados relacional.
•
Utilização de Microcontroladores.
•
Utilização de teclados para a navegação no cliente.
•
Linguagem de programação C/C++.
5
Para a comunicação Wireless o componente DP1201-A da Xemics, para o GLCD o
componente KS-0108, para a comunicação serial foi utilizada a porta serial do
microcontrolador, para o banco de dados Firebird/Interbase (free) e finalmente para o
microcontrolador, o 8051 que possui sua arquitetura comum entre vários fabricantes,
por exemplo: Atmel e Siemens.
6
2. Fundamentação Teórica
2.1. Comunicação Wireless
É extremamente importante falar de como a comunicação Wireless surgiu e
qual a base de sua existência. Conhecer todo o estudo que está por trás dessa
tecnologia é de fundamental importância para o seu bom entendimento.
Do inglês a palavra Wireless significa sem-fio, ou seja, todos os equipamentos
que funcionam sem a necessidade de estarem fisicamente ligados através de um fio.
Por exemplo, a tecnologia Wireless pode ser utilizada para construir uma rede local
WLAN (Wireless Local Area Network) onde todos os terminais (computadores)
poderiam se comunicar sem a necessidade de cabos de rede. Dependendo da
freqüência as ondas possuem um comportamento diferente. Por exemplo, ondas de
altíssima freqüência (microondas) tendem a ser extremamente direcionais, ou seja, é
necessário que o transmissor e o receptor se ‘enxerguem’ fisicamente para que aja a
comunicação. E à medida que a freqüência da onda diminui menos direcional ela se
torna. As ondas de rádio, mais conhecidas como rádios freqüência (RF), podem
contornar obstáculos como prédios, montanhas, etc, devido à sua baixa freqüência.
Algumas áreas emergentes na comunicação Wireless são:
•
Redes de computadores
•
Monitoramento remoto e aquisição de dados.
•
Controle de acesso e segurança.
Na comunicação Wireless existe o que é chamado de modulação. Modulação é
uma técnica onde a onda portadora é usada para transportar a informação de um lugar
para o outro. O sinal pode ser modulado em sua amplitude (ASK), fase (PSK) ou
freqüência (FSK) codificando-o no transmissor e decodificando-o no receptor. Um
exemplo é mostrado na Figura 2.
Figura 2 – Exemplo de uma onda modulada em ASK, FSK e PSK
7
Na comunicação sem-fio a freqüência varia enormemente dependendo do
dispositivo usado e da aplicação a qual se pretende utilizar essa tecnologia. A tabela 1
contém exemplos de aplicações de RF com suas respectivas faixas de freqüência:
Aplicação
Rádio AM
Baixa transmissão de voz e dados
Controles remotos
Telefones sem fio
Rádio FM
Pager
Sistemas de segurança
Abridor de garagens
Alarmes
Celulares
Comunicação Móvel Federal
Banda Militar
(propagação do espectro de telefones sem-fio)
Radio Militar
Microondas
Radio Amador
Testes de alcance em instrumentação de radares
Marinha
Radio Navegação
Banda
550 - 1600kHz
49Mhz
88 – 108Mhz
150 – 170Mhz
260 – 470 Mhz
824 - 849 MHz e
869 - 894 MHz
902 - 928 MHz
2.4 – 2.4385 GHz
5.727 – 5.875 GHz
24 – 24.25 GHz
Tabela 1 – Aplicações e bandas
Geralmente, a freqüência típica para transmissão de dados na comunicação
sem-fio por radio freqüência é na faixa de 800 – 900Mhz do espectro eletromagnético.
Ondas de rádio são suscetíveis as interferências eletromagnéticas e não podem
atravessar obstáculos, apenas contorná-los aumentando a freqüência quando
necessário.
Pelo principio de Hyugens, uma onda se propaga no espaço, todos os pontos
primários de uma frente de onda irão formar pequenas ondas secundárias que irão
produzir uma nova frente de onda na direção de propagação. Essa propagação da
frente de onda pode ser representada usando vetores assim como na ilustração da
esquerda da Figura 3.Cada posição da frente de onda tem uma componente
eletromagnética que aponta para o receptor.
8
Figura 3 – Estudo do princípio de Hyugens
O uso de ondas de rádio freqüência RF para construir uma rede Wireless é o
suficiente para o bom funcionamento do projeto. Essa tecnologia é com certeza capaz
de atender a todas as necessidades do sistema de comunicação do ‘Restaurante
Wireless’.
2.2. Teoria de Sotftware
2.2.1. Banco de dados relacional
Como o próprio nome já diz, um banco de dados relacional é um conjunto de
dados armazenados e organizados de forma com que todos os dados se relacionem
entre si buscando uma não redundância do banco. Exemplos primitivos de banco de
dados seriam as listas telefônicas e fichas de um acervo de biblioteca.
O maior objetivo de um banco de dados é proporcionar um ambiente adequado
e eficiente para uso na recuperação e armazenamento de informações.
Existem apenas quatro operações típicas e possíveis em um banco de dados:
inclusão, exclusão, alteração e consulta. Para a melhor manipulação de um banco de
dados, existem sistemas gerenciadores, mais conhecidos como SGBD (Sistemas
Gerenciadores de Banco de Dados).
Dentro de um bando de dados podemos encontrar algumas estruturas típicas
de um banco de dados relacional, apresentadas na Tabela 2:
Nome da estrutura
Descrição
Tabelas
Estrutura criada para armazenar os dados propriamente ditos.
Suas colunas chamam-se campos e suas linhas chamam-se
registros.
Visões
Tabelas virtuais criadas a partir das tabelas físicas existentes no
banco de dados. As Views geralmente são uma simples
consulta no banco de dados onde o resultado da consulta é a
própria tabela virtual.
Procedures
Procedimentos padrões criados nos bancos de dados para fazer
9
Exceções
Chaves
Funções
Generators
Triggers
Indices
suas devidas atualizações e modificações. Geralmente torna-se
procedure uma manipulação bastante freqüente que ocorre no
banco ou quando são operações que se tornam inviáveis de
trabalhar na própria linguagem de consulta do banco.
São as exceções que são previstas que ocorram quando da
manipulação do banco de dados. São levantadas e geradas
pelo próprio administrador do banco ao criar uma procedure, por
exemplo.
Responsáveis pela consistência do banco, pois são elas que
criam os relacionamentos entre tabelas e também não permitem
que determinado dado jamais se repita dentro de uma mesma
tabela. Existem dois tipos básicos de chaves:
• Chave primária: responsável pela unicidade de um
campo em uma tabela. Pode ser simples ou composta
por um ou mais campos.
• Chave estrangeira: criada para manter o relacionamento
entre duas e/ou mais tabelas.
Criadas para auxiliar a manipulação do banco de dados,
podendo ser invocada de dentro de uma procedure, trigger, view
ou uma simples consulta no banco.
Geralmente usados para criar campos de auto-numeração
São funções que se ativam quando ocorre uma determinada
operação de manipulação dentro de uma tabela específica.
Estas muitas vezes chegam até a fazer modificações em outras
tabelas. São classificadas em quatro tipos básicos:
• Before Insert: antes de uma inserção
• Before update: antes de uma atualização
• After insert: depois de uma inserção
• After update: depois de uma atualização
Criados para ajudar a agilizar todo o processo de consulta e/ou
ordenação dos dados das tabelas.
Tabela 2 – Estrutura do banco de dados
A linguagem mais utilizada para realizar todas as operações básicas em banco
de dados é o SQL, que varia em sua concepção de SGBD para SGBD, mas em suma
ela é bastante parecida em todos eles. O SQL é uma linguagem extremamente
simples que possui uma eficiência muito grande em suas consultas. A Figura 4
exemplifica o modelo entidade/relacionamento de uma locadora.
10
Figura 4 – Modelo ER
É importante lembrar que também existem num banco de dados os tipos de
dados dos campos de uma tabela. Portanto é possível armazenar um dado como
sendo texto (string), inteiro, real entre muitos outros dependendo também do SGBD.
Assim é possível fazer operações em banco normalmente, pois trabalhar com os tipos
de dados é bastante simples.
O uso de banco de dados no projeto está relacionado ao cadastro de clientes
do restaurante e também aos pedidos por eles realizados.
11
2.2.2. Protocolos de comunicação
Seria extremamente difícil e com certeza é possível dizer que praticamente
impossível, conseguir um sistema de comunicações com alto grau de fidelidade sem
que exista um protocolo de comunicação. O protocolo de comunicação é responsável
por toda a regra da transmissão das informações no meio. Sem um protocolo de
comunicação, as mensagens com certeza se perderiam. Sem mencionar que todos
que pudessem receber, poderiam facilmente saber do que se trata a mensagem em
questão.
Um protocolo de comunicação define parâmetros importantes na comunicação,
tais como:
•
Endereço de origem.
•
Endereço de destino.
•
Conteúdo dos dados.
•
Tamanho da mensagem.
•
Verificação de erros.
•
Etc.
Dentre outros inúmeros parâmetros que poderiam fazer parte de um protocolo
de comunicação, esses são com certeza o básico para quaisquer protocolos. A figura
5 mostra um exemplo básico de estrutura de um protocolo.
Figura 5 – Exemplo de estrutura de um protocolo
Um protocolo define como será realizada a comunicação entre duas estações
quaisquer. É a partir do protocolo que uma estação sabe se uma determinada
mensagem é ou não destinada a ela. Existem dezenas de protocolos em uso hoje, que
atendem a determinados tipos de comunicação. Dentre tantos protocolos, alguns
bastante famosos estão listados abaixo:
•
TCP/IP – Protocolo de internet.
•
UDP – Protocolo de transporte para internet.
•
FTP – Protocolo para transferência de arquivos.
•
SMTP – Protocolo de serviços de e-mail.
12
•
RTP – Protocolo de transporte de dados em tempo real.
Um protocolo de comunicação para controlar a transferência de informações é
implementado em camada de software pelo desenvolvedor. O uso de protocolo no
projeto do ‘Restaurante Wireless’ é extremamente importante para manter a
integridade da troca de mensagens que existirá.
2.2.3. Linguagem C++ - Orientação a objetos
A linguagem de programação C foi desenvolvida em uma laboratório chamado
Bell Labs em meados da década de 1970. Imprevisívelmente surgiu de outra
linguagem de programação chamada ‘B’. Foi inicialmente projetada como uma
linguagem de programação de sistema para o UNIX, e acabou se expandido para
muitos outros sistemas. Assim, surgiram algumas versões da linguagem até que a
versão de Kernighan e Richie foi padronizada e conhecida como ANSI C tornando-se
dominante entre os programadores. [8]
Bjarne Stroustrup no mesmo laboratório Bell Labs, iniciou desenvolvimento da
linguagem C++ na década de 1980. C++ tem um suporte completo a orientação a
objetos, e devido a isso se tornou largamente usada.[8]
Por ser uma linguagem que facilita o acesso a posições de memória e
alocações de espaços de memória, a linguagem C++ é aconselhada para vários
programas de sistema e de hardware. E por ser considerada também a linguagem de
programação de baixo nível de mais fácil entendimento, o C/C++ possui um grau de
utilização altíssimo entre os desenvolvedores de hardware, software e firmware.[8]
Por todas essas características, o C++ é mais do que suficiente para a implementação
do projeto do sistema de ‘Restaurante Wireless’.
13
2.3. Teoria de Hardware
2.3.1. Display gráfico GLCD
Os módulos LCD são interfaces de saída muito úteis em sistemas
microprocessados. Podem ser Gráficos ou de Caracteres. Os módulos LCD gráficos
são encontrados com resoluções de 122x32, 128x64, 240x64 e 240x128 dots pixel. Os
LCD comuns (tipo caractere) são especificados em número de linhas por colunas e
são encontrados nas configurações 2 linhas x 16 caracteres, 2 linhas x 24 caracteres,
entre outros.
Os módulos LCD possuem um controlador próprio que permite a interligação
com outras placas através de seus pinos, onde o barramento de dados e de controle
deve ser interligado ao circuito do usuário. Para a comunicação com o display, deve
haver um protocolo que envolve o envio de bytes de instrução e bytes de dados pelo
sistema do usuário.
Os módulos de LCD são projetados para funcionarem com a maioria das
CPU’s do mercado, atendendo apenas a restrições de clock para leitura/escrita. No
GLCD existe a CGRAM, que é a região da memória RAM destinada à criação de
caracteres especiais.
Para a inicialização dos módulos é necessário executar um procedimento que
se resume em enviar uma seqüência de instruções para configurar o modo de
operação para a execução de um dado programa de interfaceamento.
Figura 6 – Ilustração de um GLCD
O uso de um GLCD no projeto é imprescindível devido à interação que o cliente
do restaurante deve ter com o sistema no momento em que estiver sentado à mesa
para fazer o seu pedido. A figura 6 mostra o exemplo de um GLCD.
14
2.3.2. Transceiver
Transceiver é um circuito responsável pela comunicação existente entre duas
estações que utilizam comunicação, seja ela por infra-vermelho, bluetooth ou RF. A
palavra Transceiver já possui dois significados: ‘Trans’ que vem de transmitter e
‘ceiver’ que vem de receiver, ou seja, transmissor e receptor ao mesmo tempo.
Com essa visão geral, conclui-se facilmente que o circuito tanto envia
informações quanto recebe. Portanto, além de bastante prático é muito útil também.
Existem no mercado transceivers que são concebidos para operarem em
determinadas faixas de freqüência, isso vai depender do responsável pelo projeto
saber qual delas atende às necessidades do sistema.
Alguns destes transceivers possuem também uma interface direta para alguns
microcontroladores o que ajuda bastante a implementação do projeto. A Figura 7
mostra a foto de um transceiver.
Figura 7 – Ilustração exemplo de um Transceiver
A utilização do transceiver no projeto é bastante importante para estabelecer a
conexão entre dois pontos e fazer a troca de informações. O transceiver atende a
todas as exigências do projeto.
15
2.3.3. Microcontrolador
Um microcontrolador é um computador e como todos os computadores, ele
também possui vários fatores em comum com os demais dispositivos (por exemplo,
microprocessadores):
•
Todos possuem uma CPU.
•
Todos possuem no mínimo uma memória RAM para poder armazenar
variáveis.
•
E todos possuem alguma interface de entrada e saída I/O.
Existe uma grande diferença entre microcontroladores e microprocessadores.
Os microprocessadores são concebidos para realizarem diversas tarefas, por isso
servem para os computadores que são largamente utilizados no mundo. Em um
computador muitos tipos de tarefas são realizadas portanto é necessário um
microprocessador que além de conseguir trabalhar com vários tipos de tarefas
diferentes, consegue fazer isso em altíssimas velocidades.
Para um microcontrolador, a velocidade não dita a eficiência do sistema, pois
um microcontrolador é usado em sistemas dedicados, ou seja, que realizam tarefas
limitadas.
Geralmente
os
microcontroladores
possuem
alguma
interface
de
comunicação serial e algumas outras funcionalidades embutidas, dependendo do
fabricante. Isso faz com que os microcontroladores sejam extremamente utilizados em
sistemas dedicados, por exemplo, um microcoondas que possui um teclado e um
display, com certeza possui um microcontrolador. A velocidade para a aquisição dos
dados de entrada do teclado e contagem de tempo de duração não precisa ser
extremamente grande, para tanto o clock do próprio microcontrolador já é o suficiente.
Os microcontroladores assim com os processadores podem ser de dois tipos:
RISC e CISC. Aqueles que possuem uma arquitetura CISC possuem muitas
instruções (Instruction set) que são complexas em comparação com um RISC. Na
arquitetura RISC são utilizadas poucas instruções mais simples para executar uma
operação comparável e em menos tempo que uma arquitetura CISC.
Um controlador RISC básico pode ser constituído das seguintes partes:
•
ULA – Unidade Lógica Aritmética (realiza operações lógicas e aritméticas).
•
Banco de registradores – Registradores de uso geral.
•
Multiplexadores – Auxiliam o caminho dos sinais.
•
Memória RAM – Memória de dados volátil.
•
Memória ROM – Memória de programa.
•
Unidade de Controle – Controla o valor de todos os pinos de controle do
sistema.
16
•
Unidade de busca da próxima instrução – Controla o PC (Program Counter).
•
Barramento de dados – Contém os dados que trafegam entre os blocos.
•
Barramento de controle – Contém o valor dos pinos de controle. Por exemplo,
operação a ser realizada pela ULA.
Figura 8 – Arquitetura interna de um processador RISC
Levando em consideração que o sistema terá uma interface com o usuário
através de um display gráfico e de um teclado, por onde ocorrerá a entrada de dados
pelo usuário e também que o sistema lidará com os dados em trânsito transmitidos
pelos componentes RF, é imprescindível o uso de um microcontrolador no projeto. A
figura 8 mostra um esquema básico de arquitetura interna de um processador RISC.
17
3. Especificação
3.1. Especificação do hardware
O sistema é constituído de duas partes essenciais: cliente e servidor.
O servidor controla diversos clientes basicamente. O esquema básico do
projeto é apresentado na figura 9:
Figura 9 – Esquema básico do projeto
A ilustração da esquerda representa o sistema cliente que possui os seguintes
dispositivos:
•
Teclado.
•
GLCD.
•
Módulo Transceiver.
•
Microcontrolador.
Já a ilustração do lado direito da figura representa o sistema servidor,
constituído das seguintes partes:
•
Computador Servidor.
•
Módulo de interface serial.
•
Microcontrolador.
•
Módulo Transceiver.
Dessa maneira conseguimos facilmente listar todos os módulos que serão
usados no projeto. A seguir todos os componentes a serem utilizados estão
especificados.
18
3.1.1. Teclado
O teclado a ser usado durante o projeto, servirá para ser instalado nas mesas e
fará a interface com o usuário. Onde este fará a entrada de dados dos pedidos e
enviará para a cozinha.
O teclado é um simples teclado de membrana. A figura 10 mostra um simples
teclado de membrana em corte lateral:
Figura 10 – Teclado de membrana / corte
Na figura os números 7 e 8 são respectivamente o circuito tátil ou seja aquele
que sensível ao toque dos dedos e contato com a tinta condutora que é aquele ao qual
ativa o circuito inferior representado pelo numero 4 na figura. A informação é então
conduzida pelo rabicho (número 5) até o conector(número 6).
3.1.2. GLCD
O display gráfico a ser utilizado no sistema é o KS-0108, cujo fabricante é a
Samsung. O KS-0108 é um driver de LCD do tipo LSI (Large Scale of Integration), com
64 canais de saída por ponto do sistema de matriz do LCD. Algumas outras
características do dispositivo estão listadas abaixo:
•
Sinal de entrada de 8bits paralelo.
•
Os dados são armazenados na RAM do display.
•
Tensão de alimentação: +5V +/-10%
•
Possui módulos em 128x64 e 128x32.
•
Backlight.
19
•
Controle de tensão do contraste (Vee).
O display é dividido logicamente ao meio, contendo dois controladores, chamados
Controller#1 e do Controller#2, onde cada um é controlado independentemente.
Cada metade consiste em 8 páginas horizontais que são 8 bits (1 byte) em nível lógico
alto. Os endereços da página, 0-7, especificam uma das 8 páginas. A figura 11 mostra
o exemplo.
Figura 11 – Esquema para uso do Display
•
Endereço de Y (0-63): O contador de endereço de Y designa o endereço do
DDRAM interno. Um endereço é ajustado pela instrução e aumentado por 1
automaticamente pelo WR ou RD.
•
Endereço X (0-7): Este é o endereço da página e não tem nenhuma função da
contagem.
•
Display Start Line (0-63): O registro de linha do começo da display especifica a
linha na RAM que corresponde à linha superior do painel do LCD, ao indicar
índices na RAM dos dados da exposição no painel do LCD. É usado para o
deslocamento da tela.
20
3.1.3. Módulo Transceiver
O módulo transceiver a ser utilizado no sistema é o DP-1201 da Xemics. Como
já citado anteriormente, ele é ao mesmo tempo transmissor e receptor de dados por
rádio freqüência. Suas principais características são:
•
É um modulo relativamente pequeno.
•
Alimentação de 2,4V – 3,6V.
•
Potencia máxima na saída de 11dBm.
•
Receptor sensível à –111dBm.
•
Alta taxa de dados >152kbps.
•
Consumo de corrente: 62mA para o transmissor e 14mA para o receptor.
O módulo transceiver DP-1201 é destinado a algumas aplicações típicas, tais
como:
•
Automação residencial e controle de acesso.
•
Controle de processo e construção.
O DP-1201 é um transceiver que utiliza informação digital para a transmissão
dos dados à distâncias maiores que quinhentos (500m) metros em locais abertos. O
módulo já incorpora uma antena através de dois pinos externos (TX e RX). O
diagrama de blocos do DP-1201 é mostrado na figura 12.
Figura 12 – Diagrama em blocos do módulo Transceiver
21
3.1.4. Microcontrolador
O microcontrolador utilizado no projeto é um controlador que possui uma
arquitetura básica para alguns fabricantes tais como: Atmel Corp. ,Siemens, Intel,
chamado 8051, que é um microcontrolador de 8 bits otimizado para aplicações de
controle. Este uC possui :
•
CPU de 8-bits otimizada para aplicações de controle
•
Processamento Booleano Amplo (lógica Single-bit)
•
Espaço de endereçamento de Memória de Programa de 64K
•
Espaço de endereçamento de Memória de Dados de 64K
•
4K bytes de Memória de Programa on-chip
•
128 bytes de RAM de Dados on-chip
•
32 linhas de I/O programáveis
•
Dois contadores/timer de 16-bits
•
UART Full duplex
•
Estrutura de interrupção com dois níveis de prioridade
•
Oscilador de relógio On-chip
Quanto à memória o ‘8051’ possui 4kB de memória de programa interno
(ROM), podendo-se ainda utilizar 64kB externos. Possui RAM interna, e possibilidade
de RAM externa. As memórias de programa e de instrução, têm endereçamento
distintos, sendo identificada qual memória deve ser acessada por utilizar-se de
instruções distintas. Mapeia em memória registradores, portas de I/O, ponteiros do
sistema, temporizadores. Os endereços de 0x00 a 0x20 são 4 bancos de registradores
com 8 registradores cada. Os endereços de 0x21 a 0x30 podem ser endereçados bit a
bit ou byte a byte. O pino PSEN é elevado a 1 para acessos a memória interna,
ficando em 0 em acessos a memória externa. O sinal ALE é utilizado para enviar o
endereço a ser acessado na memória externa a um latch. Esse endereço vem do
registrador DPTR.
Quanto as capacidades de entrada e saída, A família 8051 possui as seguintes
capacidades de I/O “nativas”, variáveis conforme o modelo:
•
32 Portas de I/O endereçáveis individualmente, divididas em 4 portas de 8 bits
mapeadas em RAM com bits individualmente endereçáveis (58 ou 24 portas
dependendo do modelo)
•
1 UART Full-Duplex
•
Modelos com 4 ou 8 Canais A/D
•
Modelos com 10 ou 5 Canais PCA
22
A Figura 13 a seguir ilustra a pinagem do dispositivo da família 8051:
Figura 13 - Pinagem do microcontrolador 8051
3.1.5. Computador Servidor
Para o servidor um computador qualquer pode ser utilizado, lembrando apenas
que os drivers para a utilização do banco de dados e da serial sejam instalados na
máquina.
23
3.2. Especificação do software
A camada de software do projeto pode ser divida em três partes:
•
Programa da ROM para os microcontroladores clientes.
•
Programa da ROM para o microcontrolador do servidor.
•
Software instalado no Servidor que faz interface com o banco de dados.
O programa da ROM dos microcontroladores clientes possui a funcionalidade de
fazer a interface com o usuário através do teclado e do display gráfico. É responsável
também pela montagem do pacote que deve ser enviado pelo transceiver assim como
o controle de quantos ‘frames’ foram e/ou devem ser enviados.
O programa gravado na ROM do servidor é responsável pelo tramite das
informações na rede, é ele que será responsável pelo envio e recebimento de
requisições enviando informações do servidor assim como recebendo pedidos de
clientes. É responsável pelo controle de tráfego de dados na rede, controle de
colisões, esquemas de endereçamento e controle de requisições de mensagens.
Quanto ao software, este será instalado no computador do servidor terá
comunicação direta com o banco de dados e conterá informações sobre cadastro de
clientes e funcionários-usuários do sistema. As figuras 14 e 15 ilustram as telas do
sistema.
Figura 14 – Tela de login do sistema
24
Figura 15 – Tela principal do sistema
3.2.1. Banco de dados
O SGBD a ser utilizado pelo sistema é o FIREBIRD, compatível com o
INTERBASE que é nativo dos compiladores da Borland, este SGBD fornece senão
todas, a maioria das funcionalidades que um banco de dados deve possuir. Com
dezenas de aplicações que auxiliam o trabalho com o SGBD, a simplicidade de se
trabalhar com o gerenciador e ainda com a vantagem de que os compiladores da
Borland são totalmente compatíveis com ele, fica extremamente simples utilizá-lo no
projeto.
3.2.2. Protocolo de comunicação Wireless
Existem protocolos alvo para o projeto, porém, o protocolo do projeto não
seguirá à risca nenhum deles, tentará apenas incorporar algumas funcionalidades. Um
dos protocolos em questão é o CSMA/CA.
Para assegurar que os meios de transmissão sejam corretamente compartilhados, as
redes sem-fio usam um esquema conhecido como ‘Carrier Sense Multiple Access with
25
Collision Avoidance’ (CSMA/CA). Ao invés de depender de todas as outras estações
para receber todas as transmissões, o CSMA/CA ativa uma breve transmissão do
receptor pretendido antes de transmitir um pacote. Colisões de mensagens de controle
podem acontecer quando se estiver usando o CSMA/CA, porém podem ser tratadas
facilmente.
Quando uma colisão acontece, as estações implementam o que é chamado de
backoff, onde são dados tempos aleatórios antes de reenviar as mensagens de
controle. Considerando que o tamanho do pacote da mensagem de controle é muito
pequeno, a probabilidade de uma nova colisão é extremamente pequena. [Comer,
Douglas E.]
A idéia inicial do protocolo a ser realmente implementada é de que o servidor
controla todas as estações. Ao invés de uma estação simplesmente mandar seu
pedido em um tempo aleatório para o servidor correndo assim o risco de uma colisão,
é o servidor quem vai perguntar para a estação se existe algum pedido a ser feito. E
assim ficará em loop infinito por todas as estações clientes sempre fazendo a mesma
pergunta até que encontre alguém com alguma requisição. Ao encontrar, a troca de
informações é realizada normalmente até seu término, depois disso o servidor retorna
a sua atividade de varredura pela rede em busca de alguma estação com requisições.
No caso de mensagens enviadas pelo servidor e que se perderam, então existirá um
time-out, se não receber nenhuma resposta o servidor reenvia então o pacote, caso
não receba resposta nenhuma o servidor continua a varredura para o próximo
endereço. No caso de perda do pacote por parte do cliente, sua requisição esperará a
próxima iteração do laço do servidor.
Assim o problema de colisões é totalmente contornado e controlado. Existe
apenas o problema de perdas de pacotes e que deve ter um tratamento mais
especifico.
Considerando que o transceiver a ser utilizado envia 8bits de cada vez, pode-se
implementar um protocolo de 256bytes, divididos da seguinte forma:
•
Três bytes para indicar o início do pacote.
•
Um byte de endereço de origem.
•
Um byte de endereço de destino.
•
Um byte de CRC.
•
Duzentos de trinta e um bytes de dados.
•
Um byte de tipos de requisição.
•
Um byte para o número seqüencial.
•
Um byte para indicar o fim de pacote.
26
3.2.3. Estimativa de Custos Para o Projeto
As tabelas 3 e 4 apresentam uma estimativa do total de custos para a
implementação do projeto separado em duas partes: cliente e servidor:
Estimativa de Custos Para o Cliente
Recurso
Placa padrão para o microcontrolador 8051
Resistores
Capacitores
Diodos
Transistores
LED Vermelho
XTAL – 11,0592Mhz
8051
Soquetes
27256 ROM
62256 RAM
GLCD
Teclado de Membrana
Módulo Transceiver
Total
Qtde. Valor / unidade (R$) Total (R$)
1
7
9
3
2
1
1
1
5
1
1
1
1
1
10,00
0,30
0,60
0,20
1,00
0,20
4,00
11,00
0,50
4,50
3,00
75,00
5,00
45,00
10,00
2,10
5,40
0,60
2,00
0,20
4,00
11,00
2,50
4,50
3,00
75,00
5,00
45,00
170,30
Tabela 3 – Estimativa de custo do cliente
Estimativa de Custo Para o Servidor
Recurso
Placa padrão para o microcontrolador 8051
Resistores
Capacitores
Diodos
Transistores
LED Vermelho
XTAL – 11,0592Mhz
8051
Soquetes
27256 ROM
62256 RAM
Computador PC (Config. mínimas)
Módulo Transceiver
Total
Qtde. Valor / unidade (R$) Total (R$)
1
7
9
3
2
1
1
1
5
1
1
1
1
Tabela 4 – Estimativa de custo do servidor
10,00
0,30
0,60
0,20
1,00
0,20
4,00
11,00
0,50
4,50
3,00
1.400,00
45,00
10,00
2,10
5,40
0,60
2,00
0,20
4,00
11,00
2,50
4,50
3,00
1.400,00
45,00
1.510,30
27
Estima-se também que o valor da hora de trabalho seja de R$10,00. Contando
com um total aproximado de 650horas de trabalho, estima-se um custo de R$6.500,00
de mão-de-obra.
Logicamente que o total para a implementação, depende do número de clientes
a serem implementados. A equação 1 apresenta uma fórmula para o cálculo do custo.
Custo = 170,30x + 8.035,30 (Eq. 1)
,onde:
‘x’ corresponde ao número de clientes a serem implementados.
28
4. Projeto
4.1. Projeto de Hardware
O projeto de hardware possui os seguintes módulos apresentados na tabela 5:
Nome do módulo
Uso
Teclado
Cliente
Display
Cliente
Transceiver
Cliente e servidor
Microcontrolador
Cliente e servidor
Tabela 5 – Módulos do hardware
4.1.1. Módulo Teclado
O Anexo 1 representa o diagrama esquemático para o módulo do teclado. A
tabela 6 representa os sinais do módulo.
Sinal Direção
Tipo
Tamanho Ativo em
Comentários
D
Saída
Barramento 8 bits
Contato
Barramento do teclado. É
ligado no port P0 do do
8051 e mapeado em
memória com os dados
do display.
Tabela 6 – Sinais referentes ao módulo (Teclado).
4.1.2. Módulo Display
O Anexo 2 representa o diagrama esquemático para o módulo display. A
tabela 7 representa os sinais do módulo.
Sinal Direção
Tipo
Tamanho
Ativo em
A
Entrada Barramento 8 bits
Qualquer
sinal
Comentários
Barramento de dados
do display. É ligado no
port P0 do do 8051 e
mapeado em memória
com os dados do
teclado.
Tabela 7 – Sinais referentes ao módulo (Display).
29
4.1.3. Módulo Transceiver
O Anexo 3 representa o diagrama esquemático para o módulo transceiver. A
tabela 8 representa os sinais do módulo.
Sinal Direção
Tipo
TX
Saída
Sinal
RX
Entrada Sinal
Tamanho Ativo em
Comentários
1 bit
Transmissor do transceiver
1 bit
Receptor do transceiver
Tabela 8 – Sinais referentes ao módulo (Transceiver).
TX é o sinal do transceiver responsável por transmitir os dados. RX é o sinal
responsável pela recepção dos dados captados pela antena do transceiver. Quando o
transceiver está configurado em modo de recepção um clock de recepção é gerado.
4.1.4. Módulo Microcontrolador
O Anexo 4 representa o diagrama esquemático para o módulo do
microcontrolador. A tabela 9 representa os sinais do módulo.
Sinal
TX
RX
AD
Direção
Tipo
Saída
Sinal
Entrada Sinal
Entrada Barramento
A
B
Saída
Entrada
Barramento
Barramento
INT
T
Entrada
Entrada
Barramento
Barramento
D
Entrada
Barramento
Tamanho
Descrição
1 bit
Transmissor da serial
1 bit
Receptor da serial
8 bits
Barramento de dados e
endereço (mapeamento em
memória)
16 bits
Sinais de endereçamento
2 bits
Sinais ALE(AddressLatch
Enable) e PSEN (Program
Store Enable).
2 bits
Sinais de interrupção
2 bits
Sinais de Timers
(contadores)
8 bits
Sinais de dados
Tabela 9 – Sinais referentes ao módulo (Display).
O Anexo 5 representa o circuito responsável por fazer o mapeamento em
memória tanto do display quanto do teclado. Representa também o circuito de
interface com o transceiver. Todo esse circuito representado pelo Anexo 5 foi feito em
uma única placa de circuito impresso.
30
4.1.5. Lista de Materiais
A tabela 10 relaciona os componentes utilizados no projeto de uma forma geral.
Componente
Resistores (Diversas ordens)
Capacitores (Diversas ordens)
Diodos
LED
Microcontrolador 8051
Latch 74ls373
Memória RAM – 62256
Memória ROM – 27256
Cristais (Diversas ordens)
Chaves ON/OFF
Conectores
Placas PCI
Display KS-0108
Teclados de membrana
Transceiver DP-1201
Transistores (Diversas ordens)
Buffers 74ls244 / 74hc245
Tabela 10 – Lista de componentes
31
4.2. Projeto do Software
O software do servidor corresponderá as seguintes especificações.
4.2.1. Casos de uso
Figura 16 - Diagrama de casos de uso.
A figura 16 apresenta os casos de uso do sistema. O ator de nome cliente, não
acessa o sistema diretamente. No caso deste ator, seu cadastro e seus pedidos são
feitos remotamente através da mesa onde o cliente está sentado.
32
4.2.2. Diagrama de Classes
Figura 17a – Diagrama de classes do sistema (classes de negócio).
33
Figura 17b – Diagrama de classes do sistema (classes de brokers).
Os diagramas de classes representado nas figuras 17a e 17b acima
correspondem apenas ao diagrama das classes de negócio e brokers. Os formulários
que possuem suas próprias classes foram omitidos deste diagrama. Este diagrama
apenas representa o problema a ser tratado, são apenas as classes de negócio que
serão utilizadas pelo sistema.
34
4.2.3. Diagramas de seqüência
A seguir serão apresentados os diagramas de seqüência correspondentes às
principais funcionalidades do sistema. Da Figura 18 à Figura 21, os diagramas
correspondem ao caso de uso ‘Cadastrar Prato’. Os outros casos de uso de cadastro
funcionam da mesma maneira, por este motivo foram omitidos, com a diferença é
lógico dos parâmetros a serem passados e das janelas de cadastro. No diagrama de
seqüências de gerencia do restaurante também foram omitidos outras seqüências de
geração de relatório pois são iguais a seqüência de geração de relatório existente no
diagrama representado pela Figura 22.
Figura 18 – Diagrama de seqüência (Incluir prato).
Figura 19 – Diagrama de seqüência (Pesquisar prato).
35
Figura 20 – Diagrama de seqüência (Atualizar prato).
Figura 21 – Diagrama de seqüência (Excluir prato).
Figura 22 – Diagrama de seqüência (Gerenciar Restaurante).
36
4.2.4. Banco de dados
A persistência dos dados em um banco de dados considera o modelo entidade
relacionamento representado pela figura 23.
Figura 23 –Modelo entidade relacionamento
A seguir estão representados nas tabelas 11 a 30, o dicionário de dados do
banco de dados em questão.
Nome
TB_CLIENTES
TB_CONTA
TB_FUNCIONARIOS
TB_HISTORICO_PEDIDOS
TB_INGREDIENTES
TB_LOG_MENSAGENS
TB_MESAS
TB_PEDIDOS_PENDENTES
TB_PRATOS
TB_TIPO_CARDAPIO
TB_TIPO_ORIGEM_MSG
TB_TIPO_PAGAMENTO
TB_TIPO_PRATO
Descrição
Tabela que contém os dados dos cadastros de clientes.
Tabela que contém os dados da conta de um cliente.
Tabela que contém os dados dos cadastros de funcionários.
Tabela que contém o histórico de pedidos dos clientes.
Tabela que relaciona os ingredientes do restaurante.
Tabela que armazena um ‘log’ da troca de protocolos entre mesas e servidor.
Tabela que contém os dados relacionados a uma determinada mesa.
Tabela que armazena os dados de um pedido que ainda não foi atendido.
Tabela que armazena todos os pratos oferecidos pela casa.
Tabela que relaciona os tipos de cardápio existentes.
Tabela que contém os dados que diferenciam a origem de uma mensagem.
Tabela que armazena a forma de pagamento escolhida pelo cliente.
Tabela que relaciona um prato aos seus ingredientes.
37
TB_TIPO_REQUISICAO
TB_TIPO_SERVICO
TB_PEDIDO_CONTA
TB_PEDIDO_PRATO
TB_SATISFACAO
TB_TIPO_ENCERRADO
Tabela que armazena os tipos de requisições usados nas mensagens.
Tabela que armazena a forma com a qual o restaurante está operando.
Tabela que armazena as mesas que pediram a conta.
Tabela que relaciona os pratos de um pedido.
Tabela que armazena se existe uma mesa que está satisfeita no tipo de
operação = Rodízio
Tabela que armazena os tipo de encerramento de um pedido/conta
Tabela 11 – Relação de tabelas do banco de dados
TB_CLIENTES
Nome do campo Tipo Nullable Chave Primária
Comentários
CODIGO
Inteiro N
S
Código de chave primária.
NOME
Texto N
N
Armazena o nome do cliente.
Armazena o nome de usuário para ‘login’ do cliente.
USUARIO
Texto N
N
SENHA
Texto N
N
Armazena a senha de acesso ao sistema.
CPF
Texto N
N
Armazena o CPF do usuário.
Tabela 12 – Descrição da tabela TB_CLIENTES
TB_CONTA
Tipo Nullable Chave Primária
Comentários
Inteiro N
S
Código de chave primária.
Real N
N
Armazena o valor total do pedido.
Data N
N
Armazena a data de inicio dos pedidos.
Armazena a data de encerramento dos
DTHR_SAIDA
Data N
N
pedidos.
COD_CLIENTE
Inteiro N
N
Relaciona o cliente com a conta.
COD_PEDIDO
Inteiro N
N
Relaciona o pedido com a conta.
COD_TIPO_PAGAMENTO Inteiro N
N
Relaciona a forma de pagamento do pedido.
COD_TIPO_ENCERRADO Inteiro N
N
Diz se a conta já foi ou não encerrada.
Nome do campo
CODIGO
VALOR_TOTAL
DTHR_ENTRADA
Tabela 13 – Descrição da tabela TB_CONTA
TB_FUNCIONARIOS
Nome do campo Tipo Nullable Chave Primária
Comentários
CODIGO
Inteiro N
S
Código de chave primária.
NOME
Texto N
N
Armazena o nome do funcionário.
Armazena o nome de usuário para ‘login’ do
funcionário
USUARIO
Texto N
N
SENHA
Texto N
N
Armazena a senha de acesso ao sistema.
CPF
Texto N
N
Armazena o CPF do funcionário na base.
Tabela 14 – Descrição da tabela TB_FUNCIONARIOS
38
Nome do campo
CODIGO
COD_CLIENTE
COD_FUNCIONARIO
COD_MESA
COD_CONTA
OBSERVACOES
Tipo
Inteiro
Inteiro
Inteiro
Inteiro
Inteiro
Texto
TB_HISTORICO_PEDIDOS
Nullable Chave Primária
Comentários
N
S
Código de chave primária.
S
N
Relaciona o cliente ao pedido.
N
N
Relaciona o funcionário ao pedido do cliente.
N
N
Relaciona o código da mesa do cliente.
N
S
Relaciona o código da conta do pedido.
S
N
Armazena observações gerais do pedido.
Tabela 15 – Descrição da tabela TB_HISTORICO_PEDIDOS
TB_INGREDIENTES
Nome do campo Tipo Nullable Chave Primária
Comentários
CODIGO
Inteiro N
S
Código de chave primária.
DESCRICAO
Texto N
N
Armazena a descrição do ingrediente em questão.
PRECO
Texto N
N
Armazena o preço do ingrediente.
Tabela 16 – Descrição da tabela TB_INGREDIENTES
Nome do campo
CODIGO
PACOTE
COD_ENCERRADO
COD_TIPO_ORIGEM
CRC
Tipo
Inteiro
Texto
Inteiro
Inteiro
Texto
Nullable
N
N
N
N
N
TB_LOG_MENSAGENS
Chave Primária
Comentários
S
Código de chave primária.
N
Contém o pacote completo do protocolo
N
Verifica se o pacote já foi tratado
N
Armazena o endereço de origem do pacote.
N
Armazena o crc do pacote.
Tabela 17 – Descrição da tabela TB_LOG_MENSAGENS
Nome do campo
CODIGO
NOME
ENDERECO_HW
N_PESSOAS
Tipo Nullable
Inteiro N
Texto N
Texto N
Inteiro N
TB_MESAS
Chave Primária
Comentários
S
Código de chave primária.
N
Armazena o nome da mesa.
Armazena o endereço de ‘hardware’ da mesa.
N
N
Armazena quantas pessoas a mesa suporta.
Tabela 18 – Descrição da tabela TB_MESAS
Nome do campo
CODIGO
COD_CLIENTE
COD_FUNCIONARIO
COD_MESA
COD_CONTA
OBSERVACOES
COD_PEDIDO
TB_PEDIDOS_PENDENTES
Nullable Chave Primária
Comentários
N
S
Código de chave primária
S
N
Relaciona o cliente ao pedido.
N
N
Relaciona o funcionário ao pedido do cliente.
N
N
Relaciona o código da mesa do cliente.
N
S
Relaciona o código da conta do pedido.
S
N
Armazena observações gerais do pedido.
Relaciona o pedido pendente ao histórico de
Inteiro N
N
pedidos da mesa.
Tipo
Inteiro
Inteiro
Inteiro
Inteiro
Inteiro
Texto
Tabela 19 – Descrição da tabela TB_PEDIDOS_PENDENTES
39
Nome do campo
CODIGO
NOME
DESCRICAO
PRECO
COD_TIPO_SERVICO
PAGINA
COD_TIPO_CARDAPIO
TB_PRATOS
Tipo Nullable Chave Primária
Comentários
Inteiro N
S
Código de chave primária.
Texto N
N
Armazena o nome do prato.
Texto N
N
Armazena a descrição do prato.
Real N
N
Armazena o preço do prato.
Inteiro N
N
Relaciona o prato ao tipo de serviço.
Inteiro N
N
Diz em qual página do cardápio o prato pertence.
Inteiro N
N
Relaciona o prato ao tipo de cardápio.
Tabela 20 – Descrição da tabela TB_PRATOS
TB_TIPO_CARDAPIO
Nome do campo Tipo Nullable Chave Primária
Comentários
CODIGO
Inteiro N
S
Código de chave primária.
DESCRICAO
Texto N
N
Armazena a descrição do tipo cardápio. (Massas, carnes..)
Armazena em qual pagina dos tipos de cardápio esse
PAGINA
Inteiro N
N
cardápio pertence.
Tabela 21 – Descrição da tabela TB_TIPO_CARDAPIO
TB_TIPO_ORIGEM_MSG
Nome do campo Tipo Nullable Chave Primária
Comentários
CODIGO
Inteiro N
S
Código de chave primária.
DESCRICAO
Texto N
N
Diz se a origem da mensagem é cliente ou servidor.
Tabela 22 – Descrição da tabela TB_TIPO_ORIGEM_MSG
TB_TIPO_PAGAMENTO
Nome do campo Tipo Nullable Chave Primária
Comentários
CODIGO
Inteiro N
S
Código de chave primária.
DESCRICAO
Texto N
N
Armazena a forma de pagamento do pedido.
Tabela 23 – Descrição da tabela TB_TIPO_PAGAMENTO
TB_TIPO_PRATO
Nome do campo
Tipo Nullable Chave Primária
Comentários
COD_INGREDIENTE_TIPO Inteiro N
S
Armazena o código do ingrediente.
COD_PRATO_TIPO
Inteiro N
S
Armazena o código do prato
Tabela 24 – Descrição da tabela TB_TIPO_PRATO
TB_TIPO_REQUISICAO
Nome do campo Tipo de dado Nullable Chave Primária
Comentários
CODIGO
Inteiro
N
S
Código de chave primária
DESCRICAO
Texto
N
N
Armazena a descrição do tipo de requisição.
Diz qual o modo de operação em que aquele
MODO_OPERACAO Inteiro
N
N
tipo de requisição é válido.
Tabela 25 – Descrição da tabela TB_TIPO_REQUISICAO
40
TB_TIPO_SERVICO
Nome do campo Tipo de dado Nullable Chave Primária
Comentários
CODIGO
Inteiro
N
S
Código de chave primária
Armazena a descrição do tipo de serviço. (A La
DESCRICAO
Texto
N
N
Carte, Buffet, Rodízio).
Tabela 26 – Descrição da tabela TB_TIPO_SERVICO
TB_PEDIDO_CONTA
Nome do campo Tipo de dado Nullable Chave Primária
Comentários
COD_MESA
Inteiro
N
S
Código de chave primária (código da mesa)
COD_CONTA
Inteiro
N
S
Código de chave primária (código da conta)
Tabela 27 – Descrição da tabela TB_PEDIDO_CONTA
TB_PEDIDO_PRATO
Nome do campo Tipo de dado Nullable Chave Primária
Comentários
COD_PEDIDO
Inteiro
N
S
Código de chave primária (Código do pedido)
COD_PRATO
Inteiro
N
S
Código de chave primária (Código do prato)
ATENDIDO
Inteiro
N
N
Diz se o pedido já foi atendido
Tabela 28 – Descrição da tabela TB_PEDIDO_PRATO
TB_SATISFACAO
Nome do campo Tipo de dado Nullable Chave Primária
Comentários
COD_MESA
Inteiro
N
S
Código de chave primária (Código da mesa)
Tabela 29 – Descrição da tabela TB_SATISFACAO
TB_TIPO_ENCERRADO
Nome do campo Tipo de dado Nullable Chave Primária
Comentários
CODIGO
Inteiro
N
S
Código de chave primária
DESCRICAO
Texto
N
N
Armazena a descrição do tipo de encerramento.
Tabela 30 – Descrição da tabela TB_TIPO_ENCERRADO
41
4.3. Projeto do Firmware
Para o firmware instalado no módulo cliente (nas mesas), o programa gravado na
ROM, segue as características de funcionamento de acordo com a Figura 24.
Após inicializar todos os dispositivos (teclado, display, transceiver, variáveis
internas), então o sistema fica em loop até que alguma mensagem chegue do servidor.
Caso uma mensagem seja recebida então o protocolo é analisado e uma resposta é
enviada ao servidor, enquanto isso o sistema volta ao estado normal (loop). Enquanto
em estado normal também pode ocorrer a entrada de dados do usuário através do
teclado e então o sistema analisa os pedidos do cliente e monta um pacote que será
enviado ao servidor na próxima troca de mensagens que ocorrer.
Figura 24 – Fluxograma de funcionamento do Firmware.
O ciclo de funcionamento do firmware segue o diagrama de estados
representado pela figura 25:
42
Figura 25 – Diagrama de estados do Firmware.
Após inicializado todos os dispositivos, o sistema entra no estado ‘Aguardado
Evento’, que pode ser tanto uma entrada de dados feita pelo cliente através do
teclado, quanto uma mensagem que acabou de chegar do servidor.
No caso de o cliente fazer uma entrada de dados pelo teclado, então o sistema
entra no estado de ‘Recebendo dados de entrada’ e logo em seguida ‘Montando
protocolo’ que monta o pacote que será enviado ao servidor.
No caso de uma mensagem chegar do servidor, o sistema entra no estado de
‘Recebendo dados do servidor’ e em seguida passa para o estado de ‘Analisando Msg’
que faz a análise da mensagem que chegou do servidor. Após a mensagem ter sido
devidamente ‘entendida’ pelo sistema então este agora encontra-se no estado de
‘Enviando Msg’, após isso volta ao estado original de ‘Aguardando Evento’.
43
4.4. Projeto do Protocolo de Comunicação
Na tabela 31 é apresentado o formato do pacote de dados do protocolo definido.
Nome do campo
Tamanho
Descrição
Inicio
3 bytes
Contém os caracteres que indicam o inicio do pacote.
End. Origem
1 byte
Contém o endereço de origem do pacote
End. Destino
1 byte
Contém o endereço de destino do pacote
Tipo de requisição
1 byte
Contém o tipo de requisição do cliente/servidor.
Ult. Seqüencial
1 byte
Número de seqüência da ultima mensagem recebida.
Dados
231 bytes
Espaço reservado para os dados do pacote.
CRC
1 byte
Para controle de erros na mensagem.
Fim
1 byte
Caractere que indica o fim do pacote.
Tabela 31 – Descrição do protocolo de comunicação
O servidor fará o controle das mensagens fazendo uma pergunta para cada
cliente, evitando dessa forma as colisões. O transceiver utilizado no projeto necessita
de uma sincronização antes de iniciarem a troca de mensagens. O lado transmissor
precisa enviar dez vezes o caractere correspondente ao número hexadecimal 0xAA
para o lado do receptor e dessa forma poderem estabelecer o canal de comunicação.
Porém, o transceiver é instável e facilmente se perde depois de transmitir
poucos bytes de dados reais. Para solucionar esse problema o pacote de 240 bytes no
total é quebrado em pacotes menores de 30 bytes e no intervalo de envio de cada um
desses pacotes o caractere de sincronização (0xAA) é enviado mais duas vezes,
dessa forma a perda de pacotes ou pacotes que chegaram incorretos diminui
significativamente.
44
5. Resultados
Observou-se que desde a finalização do hardware do sistema bem como o
início de testes de campo efetivamente, o transceiver se mostrou muito instável com a
troca de mensagens e isso fez com que o projeto tivesse um atraso muito grande em
sua implementação até encontrar a real causa do problema.
Através de testes reais foi possível fazer um cadastro online via RF do cliente
para o servidor e, também foi possível realizar um pedido. Porém devido à
instabilidade do hardware os testes de caso eram instáveis mostrando-se funcionais
em um momento e não-funcionais em outro.
Entretanto, mesmo com os problemas encontrados pode-se observar que o
protocolo de comunicação é funcional. Pois também foi testado com cabos além de
ser testado com RF.
O software teve uma alta aceitação e com um funcionamento real muito
estável. Assim como o firmware também era estável. A troca de mensagens por RF
funcionou perfeitamente. Porém com o hardware instável devido à utilização de uma
placa de circuito impresso não roteada e nem prototipada, ficou difícil que o sistema
funcionasse em 100% dos testes. O sistema mostrou-se funcional em poucos dos
testes realizados.
Na figura 26 é possível ver a tela do software no momento em que chegou um
pedido da ‘MESA 1‘ e este foi atrelado a um dos garçons cadastrados. Esse foi um
teste realizado com sucesso.
Figura 26 – Teste funcional do sistema.
45
Na figura 27 é possível ver a mensagem sob a forma de protocolo que saiu do
firmware do cliente e chegou até o servidor sem erros de sincronia. A imagem
representa um pacote de dados que chegou perfeitamente e foi recebido no
‘hyperterminal’ do Windows.
Figura 27 – Teste de protocolo do sistema
46
6. Conclusão
Ainda é necessário um esforço para que todo o sistema implementado se torne
um produto realmente. E isso ocorrerá certamente depois de ter um hardware
reavaliado e a troca de mensagens cliente servidor ficar estável.
O sistema possui uma idéia comercialmente viável e inovadora no mercado
atual.
Considerando-se que 100% das partes funcionam perfeitamente em separado
e que poucos problemas foram encontrados no conjunto inteiro, fica evidenciado que o
esforço restante para a conclusão do projeto é pequeno porém essencial.
47
7. Referências Bibliográficas
[1] Gallo, Michael A. – Comunicação Entre Computadores e Tecnologias de Rede.
São Paulo: Thomson, 2002
[2] Tanenbaum, Andrews. – Redes de Computadores. Rio de Janeiro: Campus, 2003
[3] Comer, Douglas E. – Redes de Computadores e Internet 2 Edição. Porto Alegre:
Bookman, 2001
[4] Walker, Halliday R. – Fundamentos de Física – Eletromagnetismo. Rio de Janeiro:
LTC, 2003
[5] ATMEL CORPORATION - www.atmel.com - Consultado em 15/02/2005.
[6] XEMICS AS - www.xemics.com - Consultado em 20/02/2005.
[7] TEXAS INSTRUMENTS – www.ti.com - Consultado em 10/02/2005.
[8] http://www.cplusplus.com/doc/information/history.html - Consultado em 12/05/2005
48
8. Glossário
B
•
Backoff – Quantidade aleatória de tempo que uma estação espera para
retransmissão depois de identificado um erro (Ex.: colisão).
•
Bits – Unidade lógica.
•
Bluetooth – Comunicação por Infravermelho.
•
Clock – Período de tempo para o funcionamento de um dispositivo.
•
Drivers – Sistema de interface com um hardware.
•
Ethernet – Tipo de redes de computadores.
•
Frame – Tamanho de um quadro para envio em um pacote dentro de uma
C
D
E
F
rede.
I
•
Idle – Tempo em que um dispositivo se encontra ocioso.
•
Latch – Circuito de lógica seqüencial cujas saídas não dependem somente das
L
entradas atuais, mas também de entradas anteriores.
•
Loop – Laço de repetição.
•
Plug-and-Play – Dispositivo onde ao se conectar não precisa de reinicialização
•
Power-on-reset – Sistema que provoca um Reset assim que o circuito é ligado.
•
Power-save – Dispositivos projetados para economizar energia.
•
Power-down – Circuito que mantém as saídas de um dispositivo em alta
P
impedância (3-state) até que o sistema retome a tensão de operação original.
R
•
Reset – Estado de incialização de um determinado sistema
•
Standby – Tempo de ‘descanso’.
•
Throughput – Taxa de transferência de dados. Quantidade de dados
S
T
transferida.
•
Time-out – Tempo de espera para envio de um novo pacote.
49
ANEXOS
Anexo 1
50
Anexo 2
51
Anexo 3
52
Anexo 4
53
Anexo 5
Download