Liczniki z zastosowaniem

Podobne dokumenty
Liczniki z zastosowaniem

napięcie-częstotliwość

Elektroniczny sejf hotelowy

Sterowanie wyświetlacza LCD typu HD44780

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Układy czasowo-licznikowe w systemach mikroprocesorowych

Programowany układ czasowy

Systemy Czasu Rzeczywistego FPGA

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Systemy Czasu Rzeczywistego FPGA

(przykład uogólniony)

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

2. PRZERZUTNIKI I REJESTRY

Układy czasowo-licznikowe w systemach mikroprocesorowych

Technika Mikroprocesorowa

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak pok. 107, tel

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

Elektronika i techniki mikroprocesorowe

Programowanie Mikrokontrolerów

Szkolenia specjalistyczne

Ćw. 7: Układy sekwencyjne

Architektura mikrokontrolera MCS51

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Architektura mikrokontrolera MCS51

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Automatyzacja i robotyzacja procesów produkcyjnych

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

Systemy Czasu Rzeczywistego FPGA

Projektowanie układów FPGA. Żródło*6+.

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Automat skończony FSM Finite State Machine

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8

LCD (Liquid Crystal Display)

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Systemy na Chipie. Robert Czerwiński

Instytut Teleinformatyki

Budowa mikrokontrolera UC3C. - 3 rodzaje obudów

Laboratorium Podstaw Techniki Cyfrowej

Systemy Czasu Rzeczywistego FPGA

Programowalne układy logiczne

Programowany układ czasowy APSC

UKŁADY CYFROWE. Układ kombinacyjny

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

W przypadku spostrzeżenia błędu proszę o przesłanie informacji na adres

1.2. Architektura rdzenia ARM Cortex-M3...16

Przerzutniki. Układy logiczne sekwencyjne odpowiedź zależy od stanu układu przed pobudzeniem

Sterowniki Programowalne (SP)

Opis przedmiotu zamówienia CZĘŚĆ 1

Wykład 8. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Laboratorium Asemblerów, WZEW, AGH WFiIS Tester NMOS ów

Systemy cyfrowe z podstawami elektroniki i miernictwa Wyższa Szkoła Zarządzania i Bankowości w Krakowie Informatyka II rok studia dzienne

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Hardware mikrokontrolera X51

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

Wykład 4. Języki Opisu Sprzętu

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

Programowalne układy logiczne

Ćwiczenie 27C. Techniki mikroprocesorowe Badania laboratoryjne wybranych układów synchronicznych

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Cyfrowe układy scalone c.d. funkcje

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Proste układy sekwencyjne

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

5/11/2011. Układy CMOS. Bramki logiczne o specjalnych cechach. τ ~ R*C

HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe

Wbudowane układy peryferyjne cz. 2 Wykład 8

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

2. Budowa układów procesorowych rodziny TMS320C

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

Wykład 6. Mikrokontrolery z rdzeniem ARM

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Szkolenia specjalistyczne

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

Programowalne Układy Cyfrowe Laboratorium

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Transkrypt:

Liczniki z zastosowaniem FPGA i µc Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1

Liczniki Rodzaje implementacji: Układy średniej skali integracji MSI Mikrokontroler Układ FPGA 2

Przerzutnik D Q n+1 = D CLK D Q n Q n+1 0 x 0 kasowanie 1 x 1 ustawianie n+1 oznacza nstępny stan wyjścia Q tzn. po narastającym zboczu zegara WSTiE, Sucha Beskidzka, Informatyka - Elektronika 3

Przerzutnik J-K CLK J K Q n Q n+1 0 0 x Q n trzymanie 0 1 x 0 kasowanie 1 0 x 1 ustawianie 1 1 x Q n zamiana x x x Q n JK Q 0 1 00 0 1 01 0 0 11 1 0 10 1 1 Q n+1 = JQ n + K Q n WSTiE, Sucha Beskidzka, Informatyka - Elektronika 4

Przerzutnik T T CLK T Q n Q n+1 0 x Q n trzymanie 1 x Q n zamiana x x Q n T Q 0 1 0 0 1 1 1 0 Alternatywa wykluczająca Q n+1 = Q n T + Q n T = Q n T WSTiE, Sucha Beskidzka, Informatyka - Elektronika 5

Licznik asynchroniczny 1 clk T D1 clk D1 D2 1 T 1 T clk D1 D2 6

Licznik asynchroniczny T T T T 7

Licznik synchroniczny 1 clk T D1 clk D1 D2 1 T T clk D1 D2 8

Licznik synchroniczny T T T T 9

Licznik - MSI Polaryzacja diod a Polaryzacja diod a f g b f g b e d c e d c g f e d c b a g f e d c b a 74x47 BCD -> 7seg 74x47 BCD -> 7seg Q A Q B Q C Q D Q A Q B Q C Q D Binary -> BCD Q A Q B Q C Q D 74x163 10

Licznik w µc Podłącz wyjście przetwornika do wejścia wychwytującego CAP2.1 układu czasowego LPC_TIM2 +3.3V U/f 3 P0.5 NXP LPC 1768 (ARM Cortex M3) Wyświetlacz graficzny Land Tiger 11

GPIO Wyświetlacz graficzny Mikrokontroler Mikrokontroler LPC 1768 DAC I2S PWM WDT ADC UART Rdzeń ARM Cortex M3 SPI CAN Ethernet DMA Impulsy wejściowe TIMER USB I2C RTC 12

Układ czasowy TIMER Cztery identyczne układy czasowe Timer/Counters. Każdy posiada dwa wejście wychwytujące Capture oraz dwa wyjścia sygnalizacji zgodności Match. Liczniki 32-bitowe z programowalnym 32-bitowym preskalerem. Dwa tryby pracy: licznik Counter lub układ czasowy Timer Up to two 32-bit capture channels per timer, that can take a snapshot of the timer value when an input signal transitions. A capture event may also optionally generate an interrupt. Cztery 32-bitowe rejestry porównujące (match registers) that allow: Continuous operation with optional interrupt generation on match. Stop timer on match with optional interrupt generation. Reset timer on match with optional interrupt generation. Cztery zewnętrzne wyjścia odpowiadające rejestrom porównującym o następujących akcjach gdy licznik główny osiągnie wartość przechowywaną w rejestrze porównawczym: Ustaw nisko Ustaw wysoko Zmień stan na przeciwny TIMER0 Nie zmieniaj stanu. Przerwanie 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 TIMER1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 Impulsy wejściowe TIMER2 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 TIMER3 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 13

Licznik w µc TIMER0 pracuje w trybie układu czasowego wyznaczającego czas otwarcia bramki TIMER2 pracuje w trybie licznika zliczającego zbocza narastające impulsów przychodzących na wejście CAP2.1 int main (void) { uint32_t TimerInterval; SystemInit(); SystemCoreClockUpdate(); TimerInterval = SystemCoreClock; //1s lcdinit(); init_counter2_ch1(); init_timer(0, TimerInterval); while (1) { } } void TIMER0_IRQHandler (void) { int k; int del = 127; uint32_t val; LPC_TIM0->TCR = 0x0000; //stop timer LPC_TIM2->TCR = 0x0000; //stop counter LPC_TIM0->IR = 1; //clear interrupt flag val = LPC_TIM2->TC; for (k=0; k < 7; k++) printf("%c",del); colour = LCDWhite; posx = 76; printf("%d", val); LPC_TIM2->TCR = 0x0002; //reset counter LPC_TIM2->TCR = 0x0001; //start counter LPC_TIM0->TCR = 0x0001; //start timer posx = 76; colour = LCDBlack; return; } 14

LPC 1768 impulsy GND 15

Licznik - FPGA Podłącz wyjście przetwornika do wejścia licznika BCD z wyświetlaczem LCD przygotowanym na płycie FPGA. +3.3V U/f 3 V14 FPGA LCD Spartan 3AN starter kit Implementacja licznika 16

Matrycowy moduł LCD E RW RS BF Wyświetlacz LCD CG RAM DD RAM DB[7:0] Licznik Adresu Rejestr Danych BF Busy Flag znacznik zajętości magistrali 2018-05-29 Rejestr Komendy typ HD44780 Wyświetlacz LCD 17

Licznik - FPGA clk rst FPGA E RW RS DB [7:0] Sterowanie LCD 4 4 4 Licznik BCD 4 in Detektor zbocza narastającego Licznik Modulo 10 Licznik Modulo 10 Licznik Modulo 10 Licznik Modulo 10

Blok wejściowowyjściowy (I/O Block IOB) Pionowy kanał łączeniowy (Vertical Routing Channel) Konfigurowalny blok logiczny (Configurable Logic Block CLB) Element kluczujący (Switch Box - SB) Element łączący (Connection Box - CB) Poziomy kanał łączeniowy (Horizontal Routing Channel) Siatkowe FPGA składa się z matrycy konfigurowalnych bloków logiki (Configurable Logic Blocks - CLBs), z których każdy składa się z klastra podstawowych Elektroniczna Aparatura elementów Dozymetryczna, logicznych (Basic Logic Elements -BLEs)., które 19 składają się z pamięci podręcznej (Look-Up Table) iwfiis, przerzutnika AGH (Flip-Flop).

Architektura FPGA Siatkowe FPGA składa się z matrycy konfigurowalnych bloków logiki (Configurable Logic Blocks - CLBs), z których każdy składa się z klastra podstawowych elementów logicznych (Basic Logic Elements -BLEs), które składają się z pamięci podręcznej (Look-Up Table) i przerzutnika (Flip-Flop). Elementy kluczujące (Switch boxes - SB) łączą poziome i pionowe ścieżki sieci połączeniowej. Elementy łączące (Connection Boxes CB) łączą bloki logiczne CLB i bloki wejścia-wyjścia IOB z sąsiadującymi ścieżkami sieci połączeniowej. Sieć połączeniowa FPGA zajmuje 80-90% powierzchni układu. Powierzchnia logiki zajmuje 10-20%. Elastyczność FPGA zależy głównie od jego programowalnej sieci połączeniowej. Dlatego mówi się też o architekturze wyspowej wyspy logiki w morzu zasobów połączeniowych. 20

Switch Box Switch Box Connection Box Switch Box Switch Box Zasoby połączeniowe wokół jednego bloku CLB z segmentami śćieżek długości 1 21

Spartan-3AN System Gates Equivalent Logic Cells CLBs Slices Maksymalna liczba linii I/O XC3S700AN 700k 13248 1472 5888 372 V14 GND Źródło impulsów 22

Liczba CLB: n CLB = 1 472 szt. Jeden CLB składa się z czterech SLICE-ów: Liczba SLICE: n SLICE = n CLB 4 = 5 888 szt. XC3S700AN Jeden SLICE składa się z dwóch komórek logicznych LC: Liczba LC: n LC = n SLICE 2 = 11 776 szt. Równoważna komórka logiczna ELC jest obliczana ze współczynnikiem 1,125: Liczba ELC: n ELC = 1,125 n LC = 13 248 szt. Liczba bramek systemowych wynika ze skomplikowanych przeliczeń poszczególnych elementów układu na dwuwejściowe bramki NAND i ma charakter raczej marketingowy. Spartan-3AN System Gates Equivalent Logic Cells CLBs Slices Maksymalna liczba linii I/O XC3S700AN 700k 13248 1472 5888 372 AGH, WFiIS, IS, st.i, HDL 23

Licznik - FPGA Model licznika modulo 10 napisany w języku Verilog `timescale 1ns / 1ps ///////////// module cnt_modulo10 (input clk, rst, en, output reg [3:0] dig_out); always @(posedge clk, posedge rst) if(rst) dig_out <= 4'b0000; else if(en) if(dig_out == 4'b1001) dig_out <= 4'b0000; else dig_out <= dig_out + 4'b0001; endmodule 24

Model RTL w HDL Synteza logiczna Przebieg konfiguracji Mapowanie technologii Klastrowanie Rozmieszczanie Wyznaczania tras połączeń Generacja strumienia bitowego strumień bitowy 25

Automatyczna synteza licznika BCD Narzędzie: Synplify 26