CONTROLO DE PONTE BASCULANTE

Documentos relacionados
CONTROLO DE SEMÁFOROS

CIRCUITOS SEQUENCIAIS

SISTEMA DE GESTÃO DE TELEFONE

CIRCUITOS SEQUENCIAIS

1. INTRODUÇÃO 2. ANÁLISE TEÓRICA DE UM CIRCUITO SEQUENCIAL BÁSICO SISTEMAS DIGITAIS , MEEC TRABALHO DE LABORATÓRIO III CIRCUITOS SEQUENCIAIS

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

PROJECTO DE UM SISTEMA DE FECHADURA ELECTRÓNICA

GUIA DE IMPLEMENTAÇÃO DE CIRCUITOS NA PLACA DE DESENVOLVIMENTO:

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

VIVADO TUTORIAL 101: CADEADO DIGITAL

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

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

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

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2015/2016 Trabalho 3 Circuitos Combinatórios Típicos

GUIA DE UTILIZAÇÃO DO VIVADO DESIGN SUITE WEBPACK: INTRODUÇÃO AO AMBIENTE DO PROJETO

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

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

UNIVERSIDADE FEDERAL DO CEARÁ DEPARTAMENTO DE ENGENHARIA EM TELEINFORMÁTICA DISCIPLINA: PROJETO LÓGICO DIGITAL PROFESSOR: ALEXANDRE COELHO

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

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

SISTEMAS DIGITAIS LETI, LEE Ano lectivo de 2013/2014 Trabalho 2 Circuitos Combinatórios Típicos

Instituto Superior Técnico Licenciatura em Engenharia Aeroespacial Licenciatura em Engenharia Electrotécnica e de Computadores.

TRABALHO DE LABORATÓRIO I 1. INTRODUÇÃO 2. DESCRIÇÃO DO CIRCUITO COMBINATÓRIO SISTEMAS DIGITAIS , MEFT/MEAER FUNÇÕES COMBINATÓRIAS

Pré-Laboratório (Para ser entregue no início da aula prática)

2 a Lista de Exercícios

1 Objetivos. 2 Material utilizado. 3 Normas de segurança e conduta no laboratório. 4 Contextualização. Pág 1/6

SISTEMAS DIGITAIS MEEC de Janeiro de 2014, 11:30

a)[1 val] Desenhe o esquema lógico que implementa directamente a função f (i.e., sem simplificar).

Departamento de Engenharia Elétrica e de Computação SEL 384 Laboratório de Sistemas Digitais I Profa. Luiza Maria Romeiro Codá PRÁTICA Nº5

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

Exercícios de Laboratório 3

CONTADORES DIGITAIS (Unidade 6)

Quartus II: Modo Esquemático. Leandro Schwarz

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

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

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

SISTEMAS DIGITAIS MEEC de Janeiro de 2014, 11:30

Teste 2 Sistemas Digitais - MEEC 2011/12 1

DEPARTAMENTO DE ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES INSTITUTO SUPERIOR TÉCNICO UNIVERSIDADE TÉCNICA DE LISBOA SISTEMAS DIGITAIS

Programação em Linguagem C

Trabalho Prático Nº 8

Painel Luminoso com LEDs

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

Aula pra tica 1. Projeto e Simulaça o no Agilent Advanced Design System. PSI3483 Ondas Eletromagnéticas em meios guiados. Prof.ª Fatima Salete Correra

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

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Circuito de Recepção Serial Assíncrona

Comunicação Serial Assíncrona

Trabalho prático de Sistemas Digitais

Circuitos sequenciais síncronos

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

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim

Departamento de Engenharia Elétrica e de Computação EESC-USP. Guia de Projetos VHDL utilizando o QUARTUIS II. Profa. Luiza Maria Romeiro Codá

SISTEMAS DIGITAIS INTRODUÇÃO AO AMBIENTE DE PROJECTO DO XILINX ISE 10.1 PEDRO TOMÁS, PAULO LOPES, HORÁCIO NETO

TRABALHO DE LABORATÓRIO I 1. INTRODUÇÃO 2. DESCRIÇÃO DO CIRCUITO COMBINATÓRIO SISTEMAS DIGITAIS , MEEC FUNÇÕES COMBINATÓRIAS

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

Tutorial para criação de circuitos digitais em VHDL no Quartus Prime 16.1

Primeiro Trabalho de Sistemas Digitais

Transcrição:

TRABALHO DE LABORATÓRIO IV CONTROLO DE PONTE BASCULANTE 1. INTRODUÇÃO Pretende-se com este trabalho que os alunos se familiarizem com a síntese de circuitos sequenciais. Este trabalho é considerado para avaliação de conhecimentos. Notas preliminares importantes: Este enunciado deverá ser preparado atempadamente por cada aluno separadamente (incluindo as simulações em ambiente ISE - Xilinx). Uns dias antes da aula de laboratório, os alunos de cada grupo devem reunir-se, conferir as suas respostas, comparar as simulações pedidas e verificar que os resultados são os esperados. As respostas às perguntas e as simulações devem ser incluídas na folha de respostas disponível na página da cadeira que será impressa e entregue no início da aula de laboratório ao docente (uma única folha por grupo). Caso surjam dúvidas, devem recorrer aos horários de dúvidas. No início da sessão de laboratório, será distribuída a cada grupo uma nova folha de perguntas/respostas, com alterações ás regras do funcionamento da ponte basculante relativas a uma modificação a fazer ao projeto desenvolvido em casa. Os alunos devem trazer uma pen com o projeto que desenvolveram, sendo também fortemente aconselhável que tragam um portátil onde o projeto inicial esteja a correr convenientemente. A preparação da modificação ao projeto deve ser executada nos minutos iniciais da aula. É fundamental que ambos os alunos venham devidamente preparados para executar esta preparação com rapidez. O restante tempo da aula será dedicado à modificação do projeto em ambiente ISE Xilinx (incluindo simulação) e ao teste do sistema modificado na placa FPGA Basys2. Para a modificação do projeto e simulação, os alunos tanto podem usar os computadores disponíveis nos laboratórios como o seu portátil pessoal (recomendado). Os últimos 5 minutos são reservados à escrita das conclusões, sendo a folha de perguntas/respostas entregue no final da aula. Como preparação prévia, deve ser feita uma leitura cuidada ao documento Introdução ao Ambiente de Projecto da Xilinx (IAPX) disponível na página da cadeira. Deve ter consigo na aula de laboratório cópias dos documentos Introdução ao Ambiente de Projeto da Xilinx e Guia de Implementação de Circuitos na Placa de Desenvolvimento os quais deverá utilizar como manuais de utilização. 1 P á g i n a

2. PROJECTO DE UM CIRCUITO DE CONTROLO DE UMA PONTE BASCULANTE Pretende-se projetar um sistema de controlo de uma ponte basculante sobre um rio, similar ao representado na figura seguinte: O rio corre de Norte para Sul, sendo-lhe a ponte perpendicular. Por razões de segurança, como a ponte é baixa, só se permite a passagem de embarcações sob o tabuleiro basculante da ponte quando esta está na posição aberta. E como o tabuleiro basculante da ponte é estreito, só podem passar automóveis num sentido de cada vez. A operação da ponte basculante é automática, sendo a segurança garantida por semáforos para as embarcações (colocados nos pilares e partes laterais do tabuleiro da ponte) e para os automóveis (colocados em ambas as entradas da ponte). Existem dois conjuntos de semáforos para os automóveis (S0 a Este e S1 a Oeste da ponte), um para cada sentido. Os semáforos para as embarcações (S2) são comuns a ambos os sentidos. Os semáforos S0, S1 e S2 contêm duas luzes (verde e vermelho). Como as embarcações são esporádicas, a ponte encontra-se na posição fechada por omissão. Radares colocados na margem do rio (RB) são usados para detetar atempadamente a aproximação das embarcações. Um radar (RT) indica, quando ativo, que existem automóveis no tabuleiro da ponte. Um sinal A indica, quando ativo, que a ponte está completamente aberta (elevada). Um sinal F indica, quando ativo, que a ponte está completamente fechada. Um sinal E ativa o mecanismo para elevar a ponte, e um sinal B ativa o mecanismo para baixar a ponte. No protótipo que vai desenvolver, considere que a elevação da ponte demora 5s e o seu abaixamento demora 6.25s. O sinal E deve ser mantido ativo até a ponte estar completamente elevada, e o sinal B deve ser mantido ativo até a ponte estar completamente fechada. As regras de funcionamento do sistema devem ser as seguintes: Quando a ponte está fechada (F ativo) e enquanto RB não deteta a presença de embarcações, os semáforos S0 e S1 alternam, ficando cada um 3,75s no verde. Quando o semáforo S0 está verde, o semáforo S1 deverá estar vermelho, e vice-versa. No entanto, quando terminam os 3,75s numa direção, se ainda houver automóveis no tabuleiro da ponte nesse sentido (RT ativo) ambos os semáforos devem ficar a vermelho. Só quando RT ficar inativo (não há mais carros nessa direção) é que o semáforo da direção oposta fica a verde. Em qualquer destes casos, os semáforos S2 (das embarcações) deverão estar permanentemente vermelhos. Quando a aproximação de uma embarcação é detetada por RB, o semáforo S0 ou S1 que estiver vermelho, deve assim permanecer, enquanto o outro completa o ciclo normal até chegar a vermelho, e aí permanece. Uma vez que não haja mais automóveis na ponte (RT inativo), o controlador deve iniciar a elevação da ponte (ativar E). Uma vez que a ponte esteja elevada (sinal A ativo), os semáforos S2 devem passar a verde. 2 P á g i n a

Quando já não existirem embarcações na zona da ponte (RB inativos), os semáforos S2 devem passar a vermelho e o sistema deve iniciar o abaixamento da ponte (ativar B). Uma vez que a ponte esteja completamente baixa (sinal F ativo), caso não haja embarcações na zona (RB inativos), deve ser restaurado o funcionamento normal de S0 e S1. Caso sejam detetadas mais embarcações na área, a ponte deve ser elevada novamente. O estado inicial do controlador deve corresponder à situação em que a ponte está fechada e, S0, S1 e S2 estão Vermelhos. O sistema só sai desse estado se RT estiver inativo. Projete o circuito de controlo de acordo com o que aprendeu sobre síntese de circuitos sequenciais síncronos, utilizando uma máquina de Moore, de forma a cumprir as especificações referidas no ponto anterior. Utilize Flip Flops (FF) tipo D para a implementação da máquina de estados, que deve ser desenvolvida utilizando uma configuração one-hot. A temporização deve ser implementada num circuito à parte, o qual interage com o circuito de controlo propriamente dito. Considere um sinal de relógio de 0,8 Hz (1,25 s de período). Note que, tendo em conta que será utilizada uma configuração one-hot, o reset deve colocar a máquina de estados no estado inicial, fazendo o set do primeiro FF e o reset dos restantes. Siga os seguintes passos e responda às perguntas da folha de respostas: 2.1. Indique na folha de respostas, justificadamente, as entradas e saídas do sistema completo, da máquina de estados e do circuito de dados. 2.2. Apresente na folha de respostas o diagrama de estados, indicando o valor de todas as variáveis de entrada e saída da máquina de estados. Tenha em conta que o número de estados deve ser minimizado. 2.3. Calcule e apresente na folha de respostas, justificando, as equações das entradas dos FFs em função dos estados anteriores e das entradas. Caso utilize mapas de Karnaugh, apresente-os. 2.4. Apresente na folha de respostas os logigramas do circuito de dados, do circuito de controlo e do circuito total, considerando a utilização de contadores de 4 bits com clock enable e reset (CB4RE), e FFs tipo D com set e reset síncronos (FDRS). Pode, se preferir, apresentar o logigrama utilizado no ISE. 2.5. Implemente o circuito de dados (temporizador) no ISE, e mostre o seu correto funcionamento apresentando na folha de respostas uma simulação que ilustre as situações relevantes. a. Siga o manual IAPX de forma a criar um projecto no ambiente Xilinx ISE. Deve escolher o Package CP132 pois será utilizada a placa Basys2 neste laboratório. b. Crie uma New Source do tipo Schematic à qual deverá chamar temporizador e adicione todos os componentes adicionais necessários ao projeto do circuito de dados. Estabeleça as ligações necessárias entre os diversos componentes evitando usar fios longos entre os elementos, mas colocando um troço wire em cada entrada e saída e dando o nome respetivo através de net name. Em seguida, verifique se o desenho tem erros tal como indicado no manual IAPX. c. Recorrendo ao capítulo 7 do documento IAPX, crie um ficheiro de simulação em VHDL que permita testar o circuito, e um pulso de reset (mínimo 120 ns) no início da simulação (durante pelo menos um período de clock). Quando tiver a certeza que este circuito está a funcionar corretamente, crie um novo símbolo para o circuito temporizador.sch. 2.6. Implemente o circuito de controlo no ISE. Crie uma New Source do tipo Schematic à qual deverá chamar maq_estados e adicione todos os componentes adicionais necessários ao projeto do circuito de controlo. Estabeleça as ligações necessárias entre os diversos componentes evitando usar fios longos entre os elementos, mas colocando um troço wire em cada entrada e saída e dando o nome respetivo através de net name. Em seguida, 3 P á g i n a

verifique se o desenho tem erros, tal como indicado no manual IAPX e finalmente crie um ficheiro de simulação de forma a verificar o bom funcionamento do circuito. Quando tiver a certeza que este circuito está a funcionar corretamente, crie um novo símbolo para o circuito maq_estados.sch. Nota: deve considerar saídas adicionais, ligadas as FFs, para teste e visualização na placa Basys2 do estado da máquina de estados. Note que, tendo em conta que será utilizada uma configuração one-hot, o reset deve colocar a máquina de estados no estado inicial, fazendo o set do primeiro FF e o reset dos restantes. 2.7. Implemente o controlador completo (controlador.sch) e apresente na folha de respostas simulações (no máximo duas) correspondentes a situações que exemplificam o seu correto funcionamento onde se visualize o estado (saídas dos FF) e todas as entradas e saídas da máquina de estados. a. Crie uma New Source do tipo Schematic à qual deverá chamar controlador e adicione os símbolos da maq_estados e do temporizador. Estabeleça as ligações entre eles e as entradas e saídas. (A não utilização de símbolos independentes para o circuito de dados e de controlo será penalizada na avaliação). Nota: deve considerar saídas adicionais, ligadas aos FFs, para teste e visualização na placa Basys2 do estado da máquina de estados. b. Recorrendo ao capítulo 7 do documento IAPX, crie um ficheiro de simulação em VHDL que permita testar o circuito, e um pulso de reset (mínimo 120 ns) no início da simulação (durante pelo menos um período de clock). Quando tiver a certeza que este circuito está a funcionar corretamente, crie um novo símbolo para o circuito controlador.sch. 2.8. Deve ser preparada em casa a secção 3 deste enunciado até ao ponto 3.4 inclusive!!! Quando garantidamente os resultados forem os esperados, faça uma cópia do projeto feito em casa (File -> Copy Project), dando o nome L4_aula ao novo projeto e garantindo que a opção copy sources to the new location está ativada. Este é o projeto que irá modificar na aula, sem perigo de perder o projeto original. Os alunos devem levar numa pen os dois projetos para a aula (e se possível ambos os projetos num computador portátil onde o projeto esteja a funcionar corretamente). 3. PREPARAÇÃO PARA O TESTE NA PLACA BASYS2 Assume-se que os alunos já simularam exaustivamente e com sucesso o circuito projetado na alínea 2. Os passos seguintes devem ser preparados em casa, até à criação do ficheiro.bit (ponto 3.4) para programação da placa Basys2. Para o teste na placa do circuito projetado, foi disponibilizado um conjunto de ficheiros (disponíveis na página da cadeira): Nome ficheiro sd.sch do Descrição Esquema principal. Basys2.ucf Ficheiro de configuração das placas para os alunos que têm laboratório no LSD1. 4 P á g i n a

clkdiv.vhd Divisor de Frequência - especificação. clkdiv.sym Divisor de Frequência - símbolo. disp7.vhd Bloco de controlo do display de 7 segmentos - especificação. disp7.sym Bloco de controlo do display de 7 segmentos - símbolo. dispste.vhd Bloco que identifica o sinal ativo e indica o estado correspondente no display de 7 segmentos especificação. dispste.sym Bloco que identifica o sinal ativo e indica o estado correspondente no display de 7 segmentos - símbolo. disppte.vhd Bloco que identifica o sinal ativo (A, F, B ou E) mostrando-o no display de 7 segmentos especificação. disppte.sym Bloco que identifica o sinal ativo (A, F, B ou E) mostrando-o no display de 7 segmentos - símbolo. Não modifique os nomes destes ficheiros. 3.1. Adicione ao projeto os ficheiros sd.sch, Basys2.ucf, clkdiv.vhd, disp7.vhd, dispste.vhd e disppte.vhd com Project Add Copy of Source (os ficheiros com extensão.sym serão importados automaticamente). 3.2. Abra o esquema do módulo sd clicando duas vezes em cima do ficheiro sd.sch. Nota: se ao abrir o esquema lhe aparecer uma janela com a mensagem: Open Schematic File Errors Out-of-date Symbols clique em Update Instances e em OK. Este projeto não é mais do que uma interface para o aluno: as entradas e saídas já estão configuradas de acordo com o modelo do dispositivo utilizado na placa de desenvolvimento. Funciona como uma placa de prototipagem virtual. Nota: Não altere o conteúdo das caixas indicadas a vermelho nem os nomes dos marcadores de entrada/saída. À esquerda do esquema estão as interfaces de entrada correspondentes aos vários interruptores disponíveis na placa. À direita tem as saídas correspondentes aos 4 displays de 7 segmentos (acendem o símbolo hexadecimal correspondente ao número binário de 4 bits respetivo) e aos leds simples. Neste laboratório existem dois componentes que servem para mostrar o estado da máquina de estados (dispste) e os sinais A, F, E e B (disppte). No esquema pode deixar os sinais dos botões de entrada que não usa no ar (o programa elimina-as automaticamente). No entanto, para todas as interfaces de saída (caixa vermelha à direita), deve ligar todas as entradas que não usa a Gnd. Utilize o símbolo Gnd para fixar sinais a 0, e o símbolo Vcc para fixar sinais a 1. Crie um símbolo para o esquema do circuito projetado na secção 2 (controlador.sch) e adicione-o ao esquema do ficheiro sd.sch. 5 P á g i n a

NOTA: Serão penalizados os trabalhos que insiram o esquemas da secção 2 diretamente no ficheiro sd.sch. 3.3. Realize as seguintes ligações no ficheiro sd.vhd: a) Ligue o sinal de relógio ao sinal slow_clock; este sinal tem uma frequência de 0,8Hz, o que permite visualizar as mudanças de estado. b) Ligue a entrada de reset ao buffer do botão de pressão 0, pressure0. c) Ligue a entrada correspondente ao radar RB ao buffer do botão de pressão 2, pressure2 e a entrada correspondente ao radar RT ao buffer do botão de pressão 3, pressure3. d) Ligue as saídas do circuito correspondentes aos semáforos aos buffer dos LEDs. S0 Verde S0 Vermelho S1 Verde S1 Vermelho S2 Verde S2 Vermelho LED0 LED1 LED3 LED4 LED6 LED7 e) Ligue os bits de estado do controlador aos sinais state_me do bloco dispste, ligue a GND as entradas não utilizadas. O número do FF ativo (1-15) é mostrado em hexadecimal no display de 7 segmentos, disp1. Em caso de erros, se nenhum ou vários FF estiverem ativos simultaneamente, é mostrado 0. f) Ligue os sinais A, F, E e B às entradas correspondentes no bloco disppte. O sinal ativo é identificado (A, B, E ou F) no display de 7 segmentos, disp2. Em caso de nenhum estar ativo é mostrado 0, se vários estiverem ativos é mostrado 1. 3.4. Siga os passos descritos no ponto 4 do Guia de Implementação de Circuitos na Placa de Desenvolvimento que permite gerar o ficheiro.bit (deve ser feito em casa mesmo sem acesso à placa). 3.5. Na aula, implemente o circuito na placa de desenvolvimento. Para tal, siga as instruções dos pontos 3 e 5 do Guia de Implementação de Circuitos na Placa de Desenvolvimento. Note que o interruptor da placa deve estar na posição ON. Nota: durante a síntese do circuito na placa de desenvolvimento, a ferramenta poderá indicar um conjunto de avisos (warnings) e erros. Os erros deverão ser todos corrigidos; os warnings podem em geral ser ignorados, sendo que alguns são originados pelo facto de ter entradas/saídas no ar. 4. TRABALHO A DESENVOLVER NA AULA Como foi referido, o trabalho referido nos pontos 2 e 3 (incluindo a criação do ficheiro.bit) devem ser preparados em casa. Na aula, será pedido para os alunos efetuarem uma modificação ao projeto, preencher a folha de respostas fornecida na aula, simular a modificação ao projeto e refazer o processo para gerar o novo ficheiro.bit modificado, que será testado na placa. Também será pedido aos alunos para testar o ficheiro.bit gerado em casa. 6 P á g i n a