Presentation is loading. Please wait.

Presentation is loading. Please wait.

MIKROPROCESORSKI SISTEMI

Similar presentations


Presentation on theme: "MIKROPROCESORSKI SISTEMI"— Presentation transcript:

1 MIKROPROCESORSKI SISTEMI
WATCHDOG PROCESOR Studenti: Vukašin Spasić 10354 Velimir Ilić 11056

2 Watchdog procesor Služi da spreči blokiranje računarskih sistema svih vrsta Daje mogućnost sistemima da budu nezavisni od operatera Automatski otkriva softverske anomalije i resetuje sistem ako se neka pojavi Uopšteno, zasnovan je na brojaču koji broji od postavljene vrednosti do nule ili obratno Kada brojač dođe do nule ili postavljene vrednosti, predpostavlja se da softver neispravno funkcioniše i formira signal

3 Watchdog procesor Taj signal će resetovati procesor i softver koji se do tada izvršavao ili izazvati prekid, a u okviru prekidne rutine program se upućuje na neki bezbedan deo Često se ove dve aktivnosti kombinuju tako što se u okviru prekidne rutine: A : Izvršavanje programa uputi na neki bezbedan deo B : Testira se deo po deo sistema da bi se otkrila greška koja se memoriše C : Zatim se resetuje ceo sistem

4 Watchdog procesor Može biti eksterni čip u odnosu na procesor ili u sklopu procesora Izlaz watchdog procesora direktno povezan sa signalom reseta procesora

5 Šutiranje psa Proces resetovanja watchdog-a se zove šutiranje psa (kicking the dog) Da čovek ne bi bio ujeden mora da šutira psa, tako i procesor mora da reinicijalizuje watchdog da sam ne bi bio resetovan

6 Softverske anomalije Reinicijalizacija watchdog-a mora da se uzme u obzir prilikom projektovanja softvera da bi watchdog bio efektivan Postoje tri najčešće softverske anomalije: logička greška koja rezultuje izvršavanjem beskonačne petlje je najjednostavnija neuobičajen broj interrupt-a stigne za vreme jednog prolaska kroz petlju i sprečava izvršavanje glavne petlje kod multitasking kernel-a grupa programa može da se zaglavi čekajući jedan drugog i neki spoljašnji signal koji je potreban jednom od njih, ostavljajući čitavu grupu programa da čeka do beskonačnosti

7 Hardverski aspekti U slučaju neispravnog hardvera može doći do stalnog resetovanja sistema tako da je dobra ideja brojati resete koje je izazvao watchdog i prestati sa pokušajima nakon određenog broja reseta Watchdog-u mora da se dozvoli rad za vreme inicijalizacije hardvera Hardver je obično projektovan tako da nije moguće zabraniti rad watchdog-u kada mu se jednom dozvoli

8 Pregled specifikacije AMBA magistrale
AMBA specifikacija definiše on-chip komunikacioni standard koji se odnosi na projektovanje visokoperformansnih embedded mikrokontrolera Definisani tipovi magistrala su: -Advanced High-Performance Bus (AHB) -Advanced System Bus (ASB) -Advanced Peripheral Bus (APB)

9 AMBA AHB Predviđena za rad na visokim frekvencijama
Ponaša se kao kičma magistrala Podržava efikasnu procesorsku spregu Podržava rad sa on-chip memorijama i off-chip eksternim memorijskim interfejsima koji se odlikuju malom potrošnjom Osnovna svojstva: - Visokoperformansna magistrala - Protočni rad - Magistrala sa većim brojem master-a - Paketni prenos podataka - Razbijene transakcije

10 AMBA ASB Prva verzija AMBA AHB magistrale, koristi se kao njena alternativa Predviđena za povezivanje sistemskih modula Podržava rad sa većim brojem procesora Podržava rad sa on-chip memorijama i off-chip eksterrnim memorijskim interfejsima koji se odlikuju malom potrošnjom Osnovna svojstva: - Visokoperformansna magistrala - Protočni rad - Magistrala sa većim brojem mastera

11 AMBA APB -Lečovane adrese i upravljački signali
Predviđena za spregu sa periferijama koje karakterišu mikropotrošnja i relativno mala brzina rada Koristi se u slučajevima kada se ne zahteva protočni princip rada Može se koristiti sa obe verzije magistrale: AHB i ASB Osnovna svojstva: -Lečovane adrese i upravljački signali -Jednostavan interfejs -Pogodna za rad sa većim brojem periferija

12 Detaljniji opis zadnje verzije AMBA APB magistrale
U zadnjoj verziji sve promene signala se ostvaruju usponskom ivicom taktnog impulsa,a pozitivne posledice ovoga su: -poboljšan je rad pri visokim frekvencijama -poboljšanje je nezavisno od faktora popune taktne pobude -statička vremenska analiza je pojednostavljena -ne postoje posebni zahtevi za automatsko ubacivanje testnih sekvenci -bolja usklađenost kod primene ASIC kola -jednostavna integracija sa simulatorima koji rade ciklus po ciklus

13 Tipična struktura mikrokontrolera zasnovanog na AMBA magistrali
Na sistemsku magistralu pored procesora povezani su visoko-propusna on-chip RAM memorija, DMA kontroler magistrale, most za spregu sa APB i visokopropusni memorijski interfejs za spregu sa spoljnom magistralom

14 Opis AMBA specifikacije
Dijagram stanja Operacija upisa Operacija čitanja

15 Dijagram stanja IDLE - Inicijalno stanje periferijske magistrale.
SETUP - Kada je potrebno da se ostvari prenos magistrala prelazi u SETUP stanje pri čemu se aktivira odgovarajući selekcioni signal PSELx. Magistrala ostaje u ovom stanju samo za jedan taktni interval i uvek prelazi u stanje ENABLE sa narednom usponskom ivicom taktnog impulsa. ENABLE – U toku ovog stanja aktivira se signal PENABLE. Adresni i upravljački signali za upis i selekciju ostaju nepro- menjeni u toku prelaza iz SETUP u ENABLE stanje. ENABLE stanje takođe traje jedan taktni interval i nakon ovog stanja magistrala se vraća u stanje IDLE za slučaj da se ne zahteva novi prenos. Alternativno, ako postoji zahtev za novim preno- som, magistrala prelazi u stanje SETUP. Karakteristično je da se na izlazima signala za adresu, upis i selekciju pojavljuju kratkotrajne smetnje (glitch) u trenutku prelaza iz stanja ENABLE u SETUP.

16 Operacija upisa i njen talasni dijagram
SETUP- prvi taktni interval, počinje sa usponskom ivi- com takta i signalom PSEL postavljanjem podataka, upravljačkih i adresnih signala ENABLE-počinje sa narednom ivicom takta i signalom PENABLE, ostali signali ostaju nepromenjeni, prenos se završava, na kraju ovog ciklusa sa signalima PSEL i PENABLE Adresni i signal za upis ostaju ne promenjene sa ciljem redukcije potrošnje

17 Operacija čitanja i njen talasni dijagram
Vremenski redosled signala za adrese, čitanje, selekciju i strobovanje je isti kao kod operacije upisa U slučaju čitanja slave mora da generiše podatke u toku ciklusa ENABLE Podaci se uzorkuju sa usponskom ivicom taktnog impulsa na kraju ciklusa

18 Kratak opis, funkcije i simbolički prikaz APB mosta
Master APB magistrale, a slave za AHB magistralu Konvertuje prenose sa sistemske na prenose APB magistrale Lečuje adrese i zadržava ih u toku celokupnog prenosa Dekodira adrese i generiše peri ferijski selekcioni signal PSELx pri čemu je samo jedan selekcioni signal aktivan u toku jednog prenosa Aktivira linije za podatke na APB magistrali u toku operacije upisa Aktivira linije za podatke na sistemskoj magistrali kod operacije čitanja Generiše PENABLE signal

19 APB slave Veoma jednostavni, ali fleksibilni interfejsi
Egzaktna implementacija interfejsa zavisi od stila projektovanja i velikog broja različitih opcija koje stoje na raspolaganju Kod operacije upisa podaci se mogu lečovati u sledećim trenucima: - U toku usponske ivice PCLK-a, kada je PSEL visoko - U toku usponske ivice PENABLE kada je PSEL visoko Kod operacije čitanja podaci se generišu na magistrali za podatke kada je PWRITE nisko i oba PSELx i PENABLE visoko Vrednost na linijama na PADDR se koristi da odredi adresu registra koji se čita

20 Watchdog procesor struktura i osobine
Osnovne karakteristike: Sadrži 16-bitni brojač na dole Programibilni time-out period Dva operaciona moda Mikroprocesorski interfejs kompatibilan sa AMBA APB interfejsom

21 Simbolički prikaz

22 Opis pinova Ime Tip Polaritet/Veličina bus-a Opis preset_n I
Logička nula Reset: Signal reseta APB magistrale pclk Usponski Sistemski takt: APB takt se koristi da taktuje sve prenose psel Logička jedinica Selekcija: Signal iz adresnog dekodera. Ovaj signal ukazuje da je slave uređaj selektovao APB most i da se zahteva prenos podataka penable Strobovanje: APB signal dozvole je u stanju jedinice tokom jednog ciklusa pclk-a da bi dozvolio prenos magistralom pwrite Smer prenosa: Signal smera APB prenosa. Kada je jedinica, označava upis, kada je nula označava čitanje

23 Opis pinova paddr I 16 Adresna magistrala: APB adresna magistrala
pwdata Magistrala upisa podataka: APB magistrala upisa podataka prdata O Magistrala čitanja podataka: APB magistrala čitanja podataka int_n Logička jedinica Interrupt: Ovaj signal je jedinica kada watchdog procesor odbroji do nule rst_n Reset: Ovaj signal je jedinica kada vrednost watchdog procesora dostigne nulu clk Usponski Takt procesora: Svaka rastuća ivica ovog signala umanjuje vrednost brojača

24 Opis funkcionisanja Watchdog procesor mora da se isprogramira pre nego što može da se koristi Programira se upisom početne vrednosti u Load registar i upisom kontrolne reči u Config registar Mod se bira programiranjem Config registra

25 Operacioni modovi Dostupna su dva moda funkcionisanja: MOD 1:
Kada brojač dostigne vrednost nula, biće generisan signal interrupt-a Posle dostizanja nule procesor će ponovo upisati vrednost iz Load registra i nastaviti da odbrojava Upisom u Interrupt registar je moguće isključiti interrupt signal Ako se interrupt signal ne isključi, sledeće dostizanje nule će generisati signal reseta

26 Operacioni modovi MOD 2:
Ovaj mod je isti kao mod 1 sa jednom razlikom – interrupt je isključen Posle prvog dostizanja vrednosti nula watchdog procesor će odmah generisati signal reseta

27 Izlazni signal interrupt
Watchdog može da se programira da generiše interrupt kada odbroji do nule, odnosno kada istekne timeout period Ako se watchdog procesor restartuje u isto vreme kada watchdog dostigne nulu, interrupt se ne generiše Interrupt se isključuje upisom u Interrupt registar Interrupt se takođe može isključiti upisom u Clear registar

28 Generisanje i isključivanje interrupt-a

29 Izlazni signal reset u modu 1 posle generisanja interrupt signala, generiše se signal reseta, ako brojač odbroji dva puta do nule u modu 2 nakon prvog odbrojavanja brojača do nule generiše se signal reseta Ako se watchdog procesor restartuje u isto vreme kada brojač stigne do nule, sistemski reset se ne generiše Reset se takođe može isključiti upisom u Clear registar

30 Restartovanje brojača i generisanje reseta

31 Interrupt i reset kontroleri
Generisani interrupt signal se vodi na interrupt kontroler Generisani reset signal se vodi na reset kontroler, koji zauzvrat generiše reset za komponente u sistemu Watchdog može da se resetuje nezavisno od drugih komponenti

32 Veza watchdog procesora sa interrupt i reset kontrolerom

33 Blokovi watchdog procesora Blok dijagram

34 Blokovi watchdog procesora
Watchdog procesor sadrži tri bloka: 1. APB interfejs 2. Brojač 3. Kontrolna logika

35 APB Interfejs

36 APB Interfejs APB interfejs omogućava upravljanje i programiranje watchdog procesora sprežući ga sa APB magistralom Adresni PADDR, signali za čitanje PRDATA i upis PWDATA su 16-bitni U adresnom signalu četiri bita najmanje težine adresiraju watchdog procesor dok ostali bitovi adresiraju registre u samom watchdog procesoru. APB interfejs vrši registarsku kontrolu, odnosno upis i čitanje registara, koji se nalaze u ovom bloku Povezan je sa brojačem i kontrolnom logikom

37 APB Interfejs Opis registara
Load registar: Load registar sadrži početnu vrednost procesora. Registar se koristi kao vrednost za ponovni upis. Ovo je registar za upis i čitanje Interrupt registar: Upisivanje u Interrupt registar isključuje interrupt koji je generisao procesor i ponovo puni brojač i restartuje odbrojavanje. Ovo je registar za upis Clear registar: Upisivanje u Clear register ponovo puni brojač i restartuje odbrojavanje i isključuje interrupt i reset signal koji je generisao procesor. Ovo je registar upisa Config registar: Config registar daje mod operacije watchdog-a. Ovo je registar za upis i čitanje Izbor modova: mod 1 - nulta vrednost , mod 2 – jedinična vrednost Status registar: U Statusni registar se upisuje trenutno stanje u kome se nalazi brojač. Čitanjem iz Statusnog registra softver može da odredi dokle je odbrojao brojač i po potrebi odrediti novu početnu vrednost za watchdog procesor

38 Brojač

39 Brojač Brojač broji od početne (timeout) vrednosti naniže do nule
Da bi brojač mogao da broji, na clk ulazu watchdog procesora mora da postoji taktna pobuda koja može biti eksterna ili se može koristiti takt APB magistrale Kada brojač dostigne nulu, u zavisnosti od izabranog moda, generišu se ili interrupt ili reset signal U tom trenutku, brojač se ponovo puni izabranom timeout vrednošću i brojač nastavlja da odbrojava Korisnik može da restartuje brojač na početnu vrednost upisom u Load registar u bilo kom trenutku

40 Brojač Vrednosti timeout perioda
Watchdog procesor može da se proizvoljno programira po pitanju početne vrednosti odnosno timeout perioda Vrednosti koje mogu da se izaberu su ograničene širinom brojača koja iznosi 16 bita što znači da je najveća moguća vrednost koja se može postaviti 65535 Vrednost je ograničena u vreme konfigurisanja, i vrednosti veće od širine brojača se ne prihvataju

41 Upravljačka logika

42 Upravljačka logika U ovom bloku vrši se generisanje izlaznih signala watchdog procesora u zavisnosti od stanja u kome se nalazi brojač i moda u kome watchdog procesor operiše Ako je watchdog procesor postavljen u mod 1 prilikom prvog dostizanja vrednosti nula brojača generiše se interrupt signal, a nakon drugog dostizanja vrednosti nula signal reseta U modu 2 se nakon prvog dostizanja vrednosti nula brojača generiše signal reseta Takođe, upisom u Clear i Interrupt registar mogu se isključiti generisani interrupt i reset signali

43 Predlog realizacije watchdog procesora u VHDL-u
Watchdog procesor je opisan u programskom jeziku VHDL jedan od najkorišćenijih softverskih aplikacija za hardversko projektovanje Za razvoj i testiranje koda korišćen je programski paket Activ-HDL U strukturi postoje tri entiteta: entitet „mem“ entitet „brojac_16“ entitet „logika“

44 Kompletna šema watchdog procesora

45 Entitet mem Svih pet navedenih registara nalaze se u ovom entitetu
Obezbedjuje komunikaciju watchdog procesora sa APB magistralom Preko jednog od svojih izlaza povezan je sa brojačem tako da ga restartuje i zadaje mu početnu vrednost brojanja Takodje, povezan je sa logikom i daje joj informacije vezane za mod rada i stanja u registrima interrupt i clear

46 Entitet brojač_16 Predstavlja šesnaeatobitni brojač naniže
koji se taktuje usponskom ivicom takta Brojač se postavlja na početnu vrednost koju dobija iz load registra za vreme dok je signal restart na logičkoj jedinici

47 Entitet logika Ovaj entitet generiše signale interrupt
ili reset kada brojač odbroji do nule u zavisnosti od moda rada i toga da li je brojač prvi ili drugi put odbrojao do nule Takodje ukida ove signale u zavisnosti od stanja u interrupt i clear registrima

48 Mod 1 Po prvom dostizanju nule generiše se interrupt signal i brojač se puni istom početnom vrednošću. Nakon drugog dostizanja nule generiše se reset signal

49 Mod 2 Za razliku od moda 1, reset signal odmah nakon prvog dostizanja nule, a interrupt signal je isključen

50 Isključivanje interrupt signala
Isključivanje se vrši upisom u interrupt registar, nakon čega brojač uzima početnu vrednost i po dostizanju nule ponovo generiše interrupt

51 Čišćenje interrupt i reset signala
Upisom u clear registar isklučuju se interrupt i reset signali, nakon čega brojač ponovo broji od početne vrednosti

52 Čitanje trenutnog stanja brojača
Čitanje se vrši iz status registra. Watchdog procesor šalje stanje brojača na magistralu kada je signal penable na jedinici.

53 Sinteza i implementacija
Za sintezu i implementaciju kola korišćen je programski paket firme Xilinx ISE 6.3 Implementacija je izvršena na FPGA čipu serije SPARTAN2 XC2S30-VQ15 firme Xilinx Imlementirano kolo zauzelo je ekvivalentnih 1473 gejtova Maksimalna radna frekvencija je MHz

54 Šema sinteze

55 Izveštaj sinteze Design Information ------------------
Command Line : E:/Xilinx/bin/nt/map.exe -intstyle ise -p xc2s15-tq cm area -pr b -k 4 -c 100 -tx off -o watchdog1_map.ncd watchdog1.ngd watchdog1.pcf Target Device : x2s15 Target Package : tq144 Target Speed : -6 Mapper Version : spartan2 -- $Revision: $ Mapped Date : Tue Apr 04 14:35: Design Summary Number of errors: Number of warnings: 35 Logic Utilization: Total Number Slice Registers: out of % Number used as Flip Flops: Number used as Latches: Number of 4 input LUTs: out of % Logic Distribution: Number of occupied Slices: out of % Number of Slices containing only related logic: out of % Number of Slices containing unrelated logic: out of % *See NOTES below for an explanation of the effects of unrelated logic Total Number 4 input LUTs: out of % Number used as logic: Number used as a route-thru: Number of bonded IOBs: out of % IOB Flip Flops: IOB Latches: Number of GCLKs: out of % Number of GCLKIOBs: out of % Total equivalent gate count for design: 1,473 Additional JTAG gate count for IOBs: 2,688

56 Šema zauzeća čipa izvedena u Xilinx Floorplanner

57 Fizički raspored pinova

58 Laboratorijska vežba Zadatak:
Proveriti ispravnost rada watchdog procesora u oba moda Dvoklikom na ikonu Activ-HDL-a pokrenuti program Otvoriti dizajn Watchdog procesor

59 MOD 1 U okviru novo otvorenog radnog prostora izabrati Waveform editor mod 1 Proveriti da li su na listi signali: preset_n, psel, paddr_in, pwdata, clk, pclk, penable, pwrite, int_n, rst_n, prdata

60 MOD 1

61 MOD 1 Dvoklikom na polje signala pwdata u koloni Stimulator (2.) otvoriti prozor Stimulators Klikom na tip Formula (1.) u polje Enter Formula (2.) uneti formulu oblika: (16 nula) 0 ns, “početna vrednost” 50 ns

62 MOD 1

63 MOD 1 Pokrenuti simulaciju Posmatrati signale interrupt i reset

64 MOD 2 U okviru radnog prostora izabrati Waveform editor mod 2
Ponoviti postupak unosa formule Posmatrati signale interrupt i reset

65 Zaključak Ovom prezentacijom je opisana uloga, funkcija i struktura watchdog procesora koji omogućava efikasno i kontinualno funkcionisanje računarskih sistema koji ga koriste


Download ppt "MIKROPROCESORSKI SISTEMI"

Similar presentations


Ads by Google