PROJECTO DE UM SISTEMA DE FECHADURA ELECTRÓNICA

Documentos relacionados
1. INTRODUÇÃO 1. ESPECIFICAÇÃO DO CONTROLADOR DE MÁQUINA DE SISTEMAS DIGITAIS , MEFT/MEAER

CONTROLO DE SEMÁFOROS

Considere o projecto de um circuito capaz de contar o número de produtos num cesto de compras composto por um ou mais dos seguintes produtos:

CIRCUITOS SEQUENCIAIS

SISTEMAS DIGITAIS 4º Trabalho de Laboratório Contadores e Registos

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 5 Circuitos Sequenciais Síncronos

Sistemas Digitais Guia de Implementação de Circuitos na Placa de Desenvolvimento

Laboratório 3 RELATÓRIO. Identificação dos Alunos: Nome:Gonçalo Santos Número: Nome:Bernardo Bastos Número: 84012

12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM)

SISTEMAS DIGITAIS 5º Trabalho de laboratório Projecto de uma Fechadura Electrónica

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

Hardware. 5- Faça o fluxograma para efectuar o debounced de uma tecla por temporização(20ms). Implemente uma rotina para a leitura da tecla.

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS II Enunciados de Laboratório

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2015/2016 Trabalho 4 Módulos Sequenciais: Contadores e Registos

Divisão de Engenharia Eletrônica Laboratório de ELE-20

Guião do trabalho prático TP7

SISTEMAS DIGITAIS I (EC) SISTEMAS DIGITAIS (EE) Enunciado do Projecto

Sistemas Digitais (SD)

Fundamentos de Microprocessadores 2006/2007 1º Ano Eng. Electrotécnica (Bolonha) 1º Exame (14/07/2007)

Eletrônica Digital II

Exemplo de número de caixa. Exemplo de número de posto

Fundamentos de Microprocessadores ENGENHARIA ELECTROTÉCNICA

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo

Trabalho Prático Nº3 Porta Paralela

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

Configuração remota de circuitos baseados em FPGA

Computer Setup Manual do utilizador

Dispositivos lógicos programáveis (DLP) Princípio de funcionamento dos DLP. DLPs: Extensão para circuitos sequenciais

Seguinte Contas de Correio Eletrónico Seguinte Ficheiro Definições da Conta Adicionar Conta Configuração da Conta Automática O Seu Nome

Princípio de Funcionamento

Grupo. 1 Introdução e objectivos. 2 Estudo do protocolo IETF Stream Control Transport Protocol SCT 2.2 Estudo do formato dos pacotes SCTP

LABORG. VHDL Máquina de estados finitos

2º TESTE (Questões 5, 6, 7, 8 e 9)... 1h30m EXAME (Questões 1 a 9)... 2h30m

Controlador de Motor de Passo baseado num 8051

Projecto de Laboratório de Computadores

Escola Superior de Enfermagem. ANEXO I Procedimentos para requisição de material

A) A C + A B D + A B C D B) A B + A B D + A B C D C) A C + A C D + A B C D D) A C + A B D + A B C D

ENGª DE ELECTRÓNICA E COMPUTADORES

Placas de suporte externas

REDES DE COMPUTADORES

Manual do Utilizador. Declaração Anual Suporte Informático. Anexo J /Modelo 10

Engenharia de Sistemas e Informática Guia do Trabalho / º Ano/ 1.º Semestre

ZS Rest. Manual Avançado. Funcionamento com cartões Sistema Pré-Pago. v2011

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

2 a Lista de Exercícios

Plano de Aula 26/8/13. VHDL - Visão Geral. Obje%vos: VHDL - Visão Geral. Descrição de circuito digital em VHDL

Centro de Educação Profissional da Universidade Estadual de Campinas

INSTRUMENTAÇÃO E MEDIDAS

O presente manual tem como objectivo orientar os utilizadores a efectuarem o seu registo no SISO.

Vantagens da Folha de Cálculo. UFCD 3776 Informática folha de cálculo e base de dados. Formadora: Sónia Rodrigues.

TC500 / TC550 MANUAL DE UTILIZADOR

Windows 95/98/Me/2000

7. Hardware programável sequencial PAL sequencial Construção sequence present ATF750C

LAB4 Introdução aos Controladores Lógicos Programáveis

Painel Luminoso com LEDs

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Manual do Fénix. Gestão da ficha de unidade curricular (Portal de coordenador de ECTS) DSI (Versão 1.0)

Introdução aos Trabalhos de Laboratório (Hardware/Software) Grupo:

CONTROLADOR do MOTOR de PASSO

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

PLANIFICAÇÃO SEMESTRAL

Escola Secundária de Emídio Navarro

3 a Lista de Exercícios

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Departamento de Informática

Instituto Superior de Engenharia de Lisboa

FPGA & VHDL. Tutorial Aula 1. Computação Digital

Departamento de Engenharia Electrotécnica e de Computadores Instituto Superior Técnico Universidade Técnica de Lisboa

Manual Prático. Elisabete Aguiar

Painel Luminoso com LEDs

Projeto de Introdução à Arquitetura de Computadores. Corridas de Bicicleta 2013 / 2014 LICENCIATURA EM ENGENHARIA INFORMÁTICA E DE COMPUTADORES

Corrigir um valor de erro

earte Portal de Arte e Cultura

SP-1101W/SP-2101W Quick Installation Guide

FORMAÇÃO DE MICROSOFT EXCEL 2010

Departamento de Engenharia Electrotécnica e de Computadores Instituto Superior Técnico Universidade Técnica de Lisboa Sistemas Digitais

EXPERIÊNCIA 6 CIRCUITOS CODIFICADORES E DECODIFICADORES

ZSRest. Manual de Configuração. Centros de Produção. V2011-Certificado

Laboratório de Arquitectura de Computadores IST - Taguspark 2008/2009 Introdução aos sistemas binários Guião 1 9 a 13 de Março 2009

Agrupamento Campo Aberto - Beiriz. Tecnologias da Informação e Comunicação. Unidade 1: Tecnologias da Informação e Comunicação. 1.2.

INSTITUTO SUPERIOR TÉCNICO

Associações de Ficheiros. Mike McBride Tradução: José Pires

GIAE VERSÃO SETEMBRO DE 2011

Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC

Ficheiros de texto 1. Ficheiros de texto. 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro.

Trabalho de Programação 2 Processador CESAR

Linhas de Exploração do Quadro de Competências da Disciplina de Tecnologias de Informação e Comunicação (TIC) 1º Ciclo do Ensino Básico

Gestix Módulo de Produção

PCS 2304 PROJETO LÓGICO DIGITAL 19/05/2006 Gabarito Preliminar 6 a Lista de Exercícios Contadores

Especificações do Trabalho Prático de Informática I

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Apresentador Gráfico - Microsoft PowerPoint. Apresentação de Diapositivos - 90 min. 1. Criação de transições entre diapositivos

Circuitos sequenciais síncronos Parte II

18/10/2010. Unidade de Controle Controle. UC Microprogramada

8 o Projecto: Autenticação com S/Key

Agrupamento de Escolas Templários

Transcrição:

TRABALHO DE LABORATÓRIO V PROJECTO DE UM SISTEMA DE FECHADURA ELECTRÓNICA 1. INTRODUÇÃO Pretende-se com este trabalho que os alunos projectem um sistema de fechadura electrónica. Este trabalho é considerado para avaliação de conhecimentos. No início da aula, cada grupo deverá impreterivelmente mostrar ao docente a resposta a todas as questões referidas na secção 2 e na secção 3. Deverá realizar todo o trabalho em casa, usando a aula de laboratório apenas para testar o circuito na placa de prototipagem. 1. ESPECIFICAÇÃO DO SISTEMA DE FECHADURA ELECTRÓNICA Pretende-se implementar um circuito sequencial básico que implemente um sistema de fechadura electrónica. O circuito global deverá ter a seguinte interface de entrada/saída: Entradas Password Enter Palavra-passe, que consiste num número entre 0 e 15. Finaliza a introdução da palavrapasse. Saídas CONFIG INTRO_PASS Indica que o circuito se encontra em modo de introdução de nova palavra-passe. Durante o modo de introdução de nova palavra-passe, indica que o utilizador deve introduzir esta última. Close Tranca a fechadura. WRONG_PASS Indica que a palavra-passe introduzida está errada. NewCode Inicia o processo de configuração de nova palavra-passe na fechadura. LOCK_OPENED Indica se a fechadura está aberta ou fechada. 1 P á g i n a

Relativamente ao circuito de controlo em particular, sugere-se a seguinte interface: Entradas PasswordOK Enter Indica se a password introduzida é igual à armazenada no circuito de dados. Finaliza a introdução da palavrapasse. Saídas CONFIG INTRO_PASS Indica que o circuito se encontra em modo de introdução de nova palavra-passe. Durante o modo de introdução de nova palavra-passe, indica que o utilizador deve introduzir esta última. Close Tranca a fechadura. ACT_TIMER Despoleta o temporizador associado à introdução de palavra-passe errada. NewCode Inicia o processo de configuração de nova palavra-passe na fechadura. TimerExpired Indica que o temporizador associado à introdução de palavra-passe errada expirou. LOAD_PASS Carrega o valor da nova palavrapasse no circuito de dados. WRONG_PASS Indica que a palavra-passe introduzida está errada. LOCK_OPENED Indica se a fechadura está aberta ou fechada. O funcionamento da fechadura electrónica obedece ainda aos seguintes requisitos: Assumindo que a fechadura está fechada, um utilizador que queira entrar, introduz o código utilizando botões on/off, seguido de Enter, estando atribuído um botão por dígito binário da palavrapasse. Uma vez introduzida a palavra-passe, o sistema compara-a com a palavra-passe configurada na fechadura. Se forem iguais, a fechadura é aberta através da activação de LOCK_OPENED. Se forem diferentes, o sistema indica este facto através da activação de WRONG_PASS, iniciando um temporizador de 12.5s, durante o qual as entradas da fechadura estão inibidas; uma vez expirado o temporizador, o sistema volta ao estado inicial. Uma vez aberta, o sistema volta a fechar a fechadura quando detecta que o sinal Close está activo. Para configurar uma nova palavra-passe na fechadura, assumindo que a fechadura está fechada, activa-se o sinal NewCode, passando o sistema ao modo de configuração (indicado pela activação de CONFIG). O sistema aguarda então a introdução da palavra-passe anterior. Se estiver correcta, o sistema aguarda a introdução da nova palavra-passe, activando INTRO_PASS; após a introdução da nova palavra-passe, o sistema faz com que seja memorizada no circuito de dados e volta ao estado inicial. Por outro lado, se a palavra-passe anterior que foi introduzida estiver errada, o sistema indica este facto através da activação de WRONG_PASS, iniciando um temporizador de 12.5s, durante o qual as entradas da fechadura estão inibidas; uma vez expirado o temporizador, o sistema volta ao estado inicial. O armazenamento e verificação da palavra-passe da fechadura são feitos no circuito de dados. O sistema recebe dois relógios do exterior, um para o sistema global e outro para o temporizador: 55 MHz e 0,8 H, respectivamente. O sistema tem que garantir que não há funcionamento incorrecto, mesmo que tenha ido parar a estados não especificados. 2 P á g i n a

Uma especificação nunca é completa. Podem existir partes do comportamento do sistema que não estão indicadas explicitamente (ou que podem ser facilmente melhoradas). Nesses casos, tome as decisões que julgar mais razoáveis e justifique-as no relatório. 1. PROJECTO DA MÁQUINA DE ESTADOS 1.1. Apresente o fluxograma correspondente ao funcionamento do circuito de controlo da fechadura electrónica. Implemente o armazenamento e verificação da palavra-passe como um circuito de dados à parte do circuito de controlo. O circuito que implementa o temporizador também deve ser considerado à parte da máquina de estados de controlo. 1.2. Identifique, justificadamente o tipo de máquina de estados do circuito de controlo (Moore vs Mealy). 1.3. Apresente duas codificações possíveis para os estados, correspondentes: (i) codificação binária (ver abaixo restrição para o código do estado inicial) e (ii) codificação one-hot. Indique quais as vantagens e desvantagens de cada caso numa implementação baseada em micro-programação. Tendo isto em conta, escolha a codificação a utilizar para a realização do trabalho de laboratório. Nota: na codificação binária, o código a utilizar para o estado inicial é igual a N1+N2 mod 6, em que N1 e N2 são os números mecanográficos dos membros do grupo. O estado inicial corresponde à situação em que a porta está fechada e nenhum comando foi introduzido pelo utilizador. 1.4. Apresente a tabela de transição de estados. Para minimizar o número de linhas na tabela, pode utilizar o símbolo X (don t care) sempre que uma entrada for irrelevante para a determinação da transição de estado. 1.5. Considere a implementação da lógica combinatória da máquina de estados através de um elemento de memória (i.e., através de micro-programação). i. Indique, justificando, o tipo de arquitectura micro-programada que elegeu para esta implementação. ii. Indique (teoricamente) como utilizar o elemento de memória. Indique ainda qual a dimensão da memória (número de endereços, número de bits por entrada e número total de bits), assim como o seu conteúdo. iii. Implemente a lógica combinatória da máquina de estados do circuito de controlo usando um elemento de memória no Xilinx ISE e simule o seu funcionamento (estado e saídas). Para realizar esta alínea consulte o anexo A. 1.6. Implemente o circuito de dados que gere o armazenamento e verificação da palavra-passe e o circuito que gere o temporizador utilizando a lógica adicional que achar conveniente: i. Apresente o diagrama lógico dos circuitos resultantes; justifique adequadamente como chegou aos circuitos. ii. Implemente esses circuitos no Xilinx ISE e simule o seu funcionamento. 1.7. Integre a máquina de estados com os circuitos de dados e simule o funcionamento da fechadura electrónica completa. Para efeitos de simulação, utilize um só relógio como base (o de sistema) e considere que o relógio do temporizador tem um período cinco vezes superior àquele. 3 P á g i n a

2. REALIZAÇÃO DO SISTEMA Assume-se que os alunos já simularam exaustivamente e com sucesso os circuitos desenvolvidos na alínea 2. Assume-se também que os alunos trazem o projecto (como todos os ficheiros auxiliares do Xilinx ISE e não o esquemático somente) Xilinx ISE dos circuitos da alínea 2 numa USB flash drive ou disco externo USB, incluindo o ficheiro.bit. 2.1. Integre a fechadura electrónica completa no ficheiro sd.sch utilizando os sinais slow_clock e fast_clock como sinais de relógio, da forma que achar mais adequada. Ligue os sinais de entrada da seguinte forma: Botões de Pressão: 0-Enter 1-Close 2-NewCode Botões on/off: 0,1,2,3 Password Coloque os sinais da máquina de estados nos LEDs pela ordem seguinte, da esquerda para a direita: CONFIG, INTRO_PASS, ACT_TIMER, LOAD_PASS, WRONG_PASS, LOCK_OPENED, PasswordOK, TimerExpired. Coloque o valor da palavra-passe configurada e o valor actual da contagem do temporizador (medida em ciclos de relógio de temporizador) no display de 7 segmentos. 2.2. Teste o circuito na placa de desenvolvimento. 3. AVALIAÇÃO DO TRABALHO DE LABORATÓRIO NA AVALIAÇÃO DO TRABALHO DE LABORATÓRIO SERÃO TIDOS EM CONTA OS SEGUINTES COMPONENTES: Projecto e implementação do circuito (alíneas 2.1, 2.4, 2.5, 2.6 e 2.7). Questões teóricas relacionados com a máquina de estados (alíneas 2.2 e 2.3). Implementação e integração das funcionalidades (alínea 3.1 e 3.2): o Funcionamento geral do circuito. o Resposta célere das entradas. o Saídas a funcionar correctamente. Estrutura, apresentação e qualidade do relatório. Em cada uma das alíneas anteriores de projecto serão tomados em consideração os seguintes pontos, os quais deverão ser esclarecidos no relatório a entregar: Descrição de como foi efectuado o projecto dos diversos circuitos Simplicidade e eficiência das soluções Diagrama lógico dos circuitos Simulações que comprovem o funcionamento dos circuitos Funcionamento dos circuitos na placa de desenvolvimento O relatório deverá seguir a seguinte estrutura: 1. INTRODUÇÃO Breve introdução aos objectivos do trabalho realizado. 2. PROJECTO DO CIRCUITO COMPLETO Visão de conjunto do projecto. 3. PROJECTO DO CIRCUITO DE CONTROLO 4 P á g i n a

Respostas às alíneas 2.1, 2.2, 2.3, 2.4 e 2.5. 4. PROJECTO DO CIRCUITO DE DADOS Resposta às alínea 2.6. 5. INTEGRAÇÃO DAS FUNCIONALIDADES NO CIRCUITO GLOBAL Integração e correcto funcionamento das funcionalidades do circuito, validadas na placa de desenvolvimento e através das simulações que achar adequadas. 6. CONCLUSÕES Comentário acerca do trabalho realizado e dos resultados obtidos experimentalmente. 5 P á g i n a

ANEXO A DESCRIÇÃO DE MEMÓRIAS NO XILINX ISE Deverá adicionar ao projecto um elemento de memória (ficheiro my_mem.vhd). O ficheiro originalmente disponibilizado descreve em VHDL uma memória com 64 palavras (6 bits de endereço), em que cada palavra é composta por 16 bits de dados. Para utilizar esta memória deverá editar o seu conteúdo fazendo duplo click no ficheiro dentro do Xilinx ISE. Aparecerá um editor de texto onde poderá definir o conteúdo de memória (tenha sempre atenção para não alterar o formato do ficheiro). Deverá proceder às seguintes alterações: 1. Indicar nas linhas 34 e 35 o número de bits de endereço da memória e o correspondente número de entradas na memória. No ficheiro original assume-se 6 bits de endereço correspondentes a 64 posições de memória: LINHA 34: address : in std_logic_vector(5 downto 0) LINHA 41: type ram_type is array (0 to 63) of 2. Alterar as linhas 35 e 42, de forma a indicar o tamanho da palavra de dados. No ficheiro original assume-se palavras de 16 bits LINHA 35: data_out : out std_logic_vector(15 downto 0) LINHA 42: std_logic_vector(15 downto 0); 3. Preencher as linhas 41 a 46, adicionando mais linhas se necessário, de forma a indicar o conteúdo da memória. O formato do ficheiro é: <posição> => <dados>, onde <posição> é um número (em decimal) que indica a posição de memória e <dados> é um número (em binário), representado entre aspas, que indica o conteúdo da posição de memória. Por exemplo, a linha 7 => "0000010100110111", -- bit mais significativo à esquerda indica que o conteúdo da posição de memória 7, M[7], é o número 0000010100110111 (2). Utilize sempre que necessário o sinal -- para escrever comentários. 4. Verificar se o ficheiro após alterações contém algum erro de sintaxe e corrigir se necessário. 5. Criar o símbolo correspondente ao elemento de memória. 6. Substituir a lógica combinatória da máquina de estados pelo bloco de memória (poderá necessitar de lógica residual). Ficheiro: my_mem.vhd, linhas 34-35, 38-46 32: entity my_mem is 33: Port ( 34: address : in std_logic_vector(5 downto 0); -- bits de endereço 35: data_out : out std_logic_vector(15 downto 0) -- dimensão da palavra de dados 36: ); 37: end my_mem;... 41: type ram_type is array (0 to 63) of -- indicar o número de posições de memória 42: std_logic_vector(15 downto 0); -- indicar a dimensão da palavra de dados 43: constant InitValue: ram_type := ( 44: 0 => "0000000000000000", -- posição de memória 0 45: 1 => "0000000000000000", -- posição de memória 1 46: 2 => "0000000000000000", --... 47: 3 => "0000000000000000", -- 48: 4 => "0000000000000000", -- posição 4... adicionar linhas até ao máximo de 255 49: others => "0000000000000000" -- outras posições não indicadas anteriormente 50: );... 6 P á g i n a