Liczniki z zastosowaniemskoczen/ead/pdf2/liczniki.pdfTable) i przerzutnika (Flip-Flop). Sieć...
Transcript of Liczniki z zastosowaniemskoczen/ead/pdf2/liczniki.pdfTable) i przerzutnika (Flip-Flop). Sieć...
Licznikiz zastosowaniem
FPGA i µCFizyka Medyczna, studia II stopnia,
Dozymetria i elektronika w medycynie
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
12019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
2
Źródło impulsów
Licznik Wyświetlacz
Układ czasowy
Kondycjonowanie
Zliczanie impulsów
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
3
Liczniki
Rodzaje implementacji:
Układy średniej skali integracji MSI
Mikrokontroler
Układ FPGA
2019-05-28
Przerzutnik D
CLK D Qn Qn+1
0 x 0 kasowanie
1 x 1 ustawianie
n+1 oznacza nstępny stan wyjścia Q tzn. po narastającym zboczu zegara
Qn+1 = D
4Elektroniczna Aparatura Dozymetryczna,
WFiIS, AGH2019-05-28
Przerzutnik J-KCLK J K Qn Qn+1
0 0 x Qn trzymanie
0 1 x 0 kasowanie
1 0 x 1 ustawianie
1 1 x Q’n zamiana
x x x Qn
Qn+1 = JQ’n + K’Qn
JKQ 0 1
00 0 1
01 0 0
11 1 0
10 1 1
5Elektroniczna Aparatura Dozymetryczna,
WFiIS, AGH2019-05-28
Przerzutnik T
TCLK T Qn Qn+1
0 x Qn trzymanie
1 x Q’n zamiana
x x Qn
Qn+1 = QnT’ + Q’nT = QnT
TQ 0 1
0 0 1
1 1 0
Alternatywa wykluczająca
6Elektroniczna Aparatura Dozymetryczna,
WFiIS, AGH2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
7
T1
clk
T1 Tclk
1D1
D1
D2
Licznik asynchroniczny
LSB MSB
D1
D2
clk
00 01 10 11 00
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
8
Licznik asynchroniczny
T T T T
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
9
T1
clk
T1 Tclk
D1
D1
D2
Licznik synchroniczny
D1
D2
clk
00 01 10 11 00
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
10
Licznik synchroniczny
T T T T
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
11
74x163
Binary -> BCD
74x47BCD -> 7seg
bcdefg
a
b
ce
fg
Polaryzacja diod
d
Licznik - MSI
QA QB QC QD
QA QB QC QDQA QB QC QD
74x47BCD -> 7seg
bcdefg
a
b
ce
fg
Polaryzacja diod
d
a a
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
Podłącz wyjście przetwornika do wejścia wychwytującego CAP2.1 układu czasowegoLPC_TIM2
U/fNXP
LPC 1768(ARM Cortex M3)
Wyświetlacz graficzny
3 P0.5
+3.3V
12
Licznik w µC
Land Tiger
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
13
MikrokontrolerMikrokontroler LPC 1768
RdzeńARM Cortex M3
ADC
DAC
UART
SPI
I2C
GP
IO
USB
I2S PWM
TIMER RTC
WDT
CAN Ethernet DMA
Wyś
wie
tlac
z gr
afic
zny
Impulsy wejściowe
DAC Digital Analog Converter
ADC Analog Digital Converter
UART Universal Asynchronous Receiver-Transmitter
CAN Controller Area Network
SPI Serial Peripheral Interface
I2C Inter-Integrated Circuit
RTC Real Time Clock
GPIO General-Purpose Input/Output
DMA Direct Memory Access
PWM Pulse Width Modulation
WDT WatchDog Timer
USB Universal Serial Bus
I2S Inter-IC Sound
Ethernet
2019-05-28
Impulsy wejściowe
Przerwanie
CAP2.1
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
14
Układ czasowy TIMERCztery identyczne układy czasowe Timer/Counters. Każdy posiada dwa wejścia wychwytujące Capture oraz dwa wyjścia sygnalizacji zgodności Match.
Liczniki 32-bitowe z programowalnym 32-bitowym układem wstępnego skalowania (prescaler).
Dwa tryby pracy: licznik Counter lub układ czasowy Timer.
Dwa kanały wychwytujące na każdy układ czasowy , tak aby możliwe było pobranie bieżącej wartości układ czasowego kiedy na wejściu wychwytującym zachodzi zmiana stanu.
Cztery 32-bitowe rejestry porównujące (match registers), które umożliwiają: Ciągłą pracę układ czasowy z generacją przerwania w chwili osiągnięcia zgodności (match) zawartości układu z
rejestrem porównującym, Zatrzymanie (Stop) układu czasowego w chwili osiągnięcia zgodności z(bez) generacją(i) przerwania Kasowanie (Reset) układu czasowego w chwili osiągnięcia zgodności z(bez) generacją(i) przerwania
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 Nie zmieniaj stanu.
TIMER0
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
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
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
15
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; //take current value
//clear display
for (k=0; k < 7; k++) printf("%c",del);
//set white colour and posinion for first digit
colour = LCDWhite;
posx = 76;
//display current value
printf("%d", val);
LPC_TIM2->TCR = 0x0002; //reset counter
LPC_TIM2->TCR = 0x0001; //start counter
LPC_TIM0->TCR = 0x0001; //start timer
//set black colour and position for first digit
posx = 76;
colour = LCDBlack;
return;
}
Licznik w µCTIMER0 – pracuje w trybie układu czasowego wyznaczającego czas otwarcia bramkiTIMER2 – 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)
{ }
}
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
16
GNDimpulsyLPC 1768
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
Licznik - FPGAPodłącz wyjście przetwornika do wejścia licznika BCD z wyświetlaczem LCDprzygotowanym na płycie FPGA.
U/f FPGA
LCD3 V14
+3.3V
17
Implementacja licznika
Spartan 3AN starter kit
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
18
DB[7:0]
E
RW
RS
Rejestr Komendy
Rejestr Danych
Licznik Adresu
DD RAM
CG RAM
BF
Wyświetlacz LCD
Matrycowy moduł LCD
typ HD44780
BF – Busy Flag –znacznik zajętości magistrali
2019-05-28
Licznik BCD
Sterowanie LCD
4444
clk
rst
in
DB [7:0]RSRWEFPGA
Detektor zbocza
narastającego
Licznik
Modulo 10
Licznik
Modulo 10
Licznik
Modulo 10
Licznik
Modulo 10
Licznik - FPGA
Pionowy kanał łączeniowy
(Vertical Routing Channel)
Element kluczujący(Switch Box - SB)
Element łączący(Connection Box - CB)
Poziomy kanał łączeniowy
(Horizontal Routing Channel)
Konfigurowalny blok logiczny
(Configurable Logic Block – CLB)
Blok wejściowo-wyjściowy
(I/O Block – IOB)
20Elektroniczna Aparatura Dozymetryczna,
WFiIS, AGH
Siatkowe FPGA składa się z matrycy konfigurowalnych bloków logiki (Configurable Logic Blocks - CLBs), zktórych każdy składa się z klastra podstawowych elementów logicznych (Basic Logic Elements -BLEs)., któreskładają się z pamięci podręcznej (Look-Up Table) i przerzutnika (Flip-Flop).
2019-05-28
Elementy kluczujące (Switch boxes - SB) łączą poziome i pionoweścieżki sieci połączeniowej.
Elementy łączące (Connection Boxes – CB) łączą bloki logiczne CLBi bloki wejścia-wyjścia IOB z sąsiadującymi ścieżkami siecipołączeniowej.
Siatkowe FPGA składa się z matrycy konfigurowalnych blokówlogiki (Configurable Logic Blocks - CLBs), z których każdy składasię z klastra podstawowych elementów logicznych (Basic LogicElements -BLEs), które składają się z pamięci podręcznej (Look-UpTable) i przerzutnika (Flip-Flop).
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.
Architektura FPGA
21Elektroniczna Aparatura Dozymetryczna,
WFiIS, AGH2019-05-28
Zasoby połączeniowe wokół jednego bloku CLB z segmentami śćieżek długości 1
22Elektroniczna Aparatura Dozymetryczna,
WFiIS, AGH
Connection Box
Switch Box
Switch Box
Switch Box
Switch Box
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
23
Spartan-3AN System Gates
Equivalent Logic Cells
CLBs SlicesMaksymalnaliczba linii I/O
XC3S700AN 700k 13248 1472 5888 372
V14
GND
Źródło impulsów
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
24
XC3S700ANLiczba CLB: nCLB = 1 472 szt.
Jeden CLB składa się z czterech SLICE-ów:Liczba SLICE: nSLICE = nCLB ∙4 = 5 888 szt.
Jeden SLICE składa się z dwóch komórek logicznych LC:Liczba LC: nLC = nSLICE ∙2 = 11 776 szt.
Równoważna komórka logiczna ELC jest obliczana ze współczynnikiem 1,125:Liczba ELC: nELC = 1,125∙ nLC = 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
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
25
`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
Model licznika modulo 10 napisany w języku Verilog
Licznik - FPGA
2019-05-28
Synteza logiczna
Mapowanie technologii
Klastrowanie
Rozmieszczanie
Wyznaczania tras połączeń
Generacja strumienia bitowego
strumień bitowy
Model RTL w HDLPrzebieg
konfiguracji
26Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
2019-05-28
Elektroniczna Aparatura Dozymetryczna, WFiIS, AGH
27
Automatyczna synteza licznika BCDNarzędzie: Synplify
2019-05-28