Signaalinkäsittelytekniikan laboratorio
Digitaalitekniikan perusteet - luento 9
Synkronisella piirillä on joukko eri tiloja. Nämä tilat muodostavat takaisinkytkentöjä ja sijoittuvat piiri-/lohkokaaviossa seuraavasti:
'uusi tila' on se tilasignaalien joukko, joka menee tilarekisterin kiikkuihin sisään. 'Nykytila'
on se tilasignaalien joukko, joka saadaan kiikuista ulos. Synkroniset sekvenssipiirithän koostuivat
tilarekisteristä (= joukko kiikkuja) sekä kombinaatiopiiriosasta. Synkroninen sekvenssipiiri on siis tilakone.
Tila kuvaa aikariippuvuutta ja sillä on erilaisia ominaisuuksia joita ovat mm. tilakoodi sekä tilaan liittyvät annot. Tilakoodi
vastaa suoraan niitä nollia ja ykkösiä, joita saadaan kiikuista piiriin, kun ollaan kyseisessä tilassa.
(Esim. 4 kiikkua, tilakoodi 0110. Kyseisessä tilassa kiikkujen annot ovat 0, 1, 1, ja 0.) Jos tilaan liittyy anto, joka
on riippuvainen vain tilasta (ei lainkaan ottosignaaleista, esim. Mooren koneessa on vain tilaan liittyviä antoja), kirjoitetaan
anto kauttaviivan toiselle puolelle muodossa: tilakoodi / tilaan suoraan liittyvä anto. (Ks. myös graafinen esimerkki alempaa)
Tilasta voidaan liikkua toiseen tilaan tai pysyä samassa tilassa. Tilasta toiseen liiikkuminen tapahtuu tiettyjen tilaehtojen
avulla. Käytännössä uusi tila saavutetaan aina seuraavan kellojakson alussa. (Synkronisen sekvenssipiirin ominaisuuksiinhan
kuuluu, että piiri vaihtaa tilaansa vain kellopulssin tahdissa.) Tilasiirtymä kuvataan tilakaaviossa nuolella. Nuolen
yläpuolelle kirjoitetaan sen ottosignaalin kyseinen arvo, joka mahdollistaa siirtymän tilasta toiseen. Jos lähtötilaan liittyy ottosignaalista riippuvia
antoja, ilmoitetaan annot kauttaviivan toisella puolella muodossa: ottosignaali / signaalista riippuva anto.
Tilakaaviossa jokaista piirin tilaa kuvaa soikio. Soikion sisällä on kyseisen tilan tilakoodi (Esim. tässä tapauksessa piiri on tilassa 00) |
|
Jos tilaan liittyy anto, joka riippuu vain tilasta, ilmaistaan se tilan yhteydessä kauttaviivan toisella puolella seuraavasti: (esim. tässä tapauksessa kun piiri on tilassa 00, on piirin antosignaali 1) |
|
Tilasiirtymät tilasta toiseen tilaan esitetään nuolilla. Nuolen yläpuolelle merkitään sen ottosignaalin kyseinen arvo, joka mahdollistaa tilasiirtymän (esim. tässä tapauksessa ottosignaalin tulee olla 0): |
|
Jos lähtötilassa on ottosignaalista riippuva anto, merkataan kyseinen anto ottosignaalin seuraksi tilasiirtymään kauttaviivan toiselle puolelle (esim. tässä tapauksessa mikäli ottosignaali saa arvon 0 ja suoritetaan tilasiirtymä, antaa piiri antosignaalin arvoksi 1:n) |
|
Yksinkertainen tilakaavio voisi näyttää vaikka tältä: (Esimerkki olisi tosielämässä hyvin kömpelö. Siihen on lähinnä pyritty mahdutettamaan kaikki pääasiat tilakaaviosta.) |
|
Tätä ylläolevaa tilakaaviota voidaan tulkita seuraavalla tavalla:
ASM -kaavio on perinteisen tilakaavion graafisesti havainnollisempi muoto. ASM -kaavio ei ole
yhtä yleismaailmallinen kuin perinteinen tilakaavio, mutta se on toisaalta huomattavasti
selkeämpi ja siten takaisinpäin synkronisten sekvenssipiirien suunnittelussa.
ASM kaavio piirretään ASM:n toiminnallisen määrittelyn ja lohkokaavion perusteella. Se kuvaa
yksikäsitteisesti synkronisen sekvenssipiirin toiminnan ja sisältää kaiken piirin toteuttamisen
kannalta tarpeellisen informaation. ASM -kaaviossa on symboleja (tila, anto, päätöslohko sekä ehdollinen anto)
ja niihin liittyviä merkintöjä. Symbolit kuvaavat siis ASM:n tiloja, tilasiirtymiä ja niihin liittyviä
ehtoja. Merkinnät antavat lisätietoja.
Myöhemmissä esimerkeissä (luennot 9 ja 10) esitellään ASM-kaavion käyttöä osana synkronisen sekvenssipiirin suunnittelua. Tässä käydään kuitenkin lyhyesti yhteenvetona läpi tärkeimät ASM -kaavion merkinnät:
Tila ja siihen liittyvät symbolit: |
|
|
Esimerkin tulkinta:
Päätöslohko - huomattavaa: ottosignaalin vaikutus kuvataan päätöslohkolla. Jokaista tilanmuutokseen vaikuttavaa ottosignaalia varten on oma päätöslohko. Lohkot ovat peräkkäin, eivät rinnakkain. |
|
|
Ehdollinen anto: anto, joka riippuu suoraan jostain ottosignaalista |
|
|
Suunnitellaan valomainos, jossa teksti vilkkuu oheisen kaavion mukaan. Valopaneeli
on ensiksi tyhjä, sitten paneeliin ilmestyy yksi kerrallaan sanat HERKUTTELE, JASKAN ja KUPPILASSA. Tämän jälkeen näyttö tyhjenee jälleen.
Jokainen erilainen valonäyttö on yksi tila. Sanat ovat laitteen antosignaaleja. Kellojakso on 2 sekuntia:
|
Lohkokaavio määrittelee piirin toiminnalliset osat. Laatiminen ei ole välttämätöntä, mutta voi selkeyttää
suunnittelua isompien piirien ollessa kyseessä. Tässä esimerkissä rakennetaan neljätilainen sekvenssipiiri.
Tilat toistuvat peräkkäin aina samanlaisina ja samassa järjestyksessä (piiri on siis teoreettisesti laskuri, joka laskee 0 --> 3), joten ottosignaaleja
ei kellon lisäksi ole:
|
Jokaiselle tilalle täytyy määritellä tilalohko, nimi ja tilakoodi. |
Jos kaivataan täsmällisempää lohkokaaviota, voidaan se tehdä esim. ASM-kaavion perusteella:
D-kiikkujen määrä (2 kpl) saadaan suoraan tilakoodin suuruudesta (4 tilaa = 2 numeroa). Se, että kiikut ovat juuri D-kiikkuja on vedetty hatusta ja kiikkujen tyyppi otetaan huomioon kunnolla vasta kombinaatiopiiriä suunnitellessa.
Tässä kuvassa Q0 ja Q1 (sekä niiden komplementit) ovat nykytilan signaaleja ja D0 sekä D1 ovat uuden tilan signaaleja. Kombinaatiopiiri on esitetty vasta lohkokaaviotasolla.
Seuraavalla sivulla käydään läpi kombinaatiopiirin muodostaminen.
ASM -kaaviosta saadaan tilataulukko: |
Tilataulu (joka siis muistuttaa totuustaulua) muodostetaan seuravasti:
Tilataulukon perusteella saadaan lausekkeet tilakiikkujen D-otoille.
Koska tilasiirtymään vaikuttaa vain edellinen tila, tutkitaan vain taulun osia
nykytila ja uusi tila.
Tässä kohtaa tulee vaikuttamaan se, että on valittu D-kiikku toteutus. Toteutus on nyt helppo ja menee seuraavalla tavalla:
Tehdään taulukko, joka kertoo meille D-kiikkujen ottosignaalit.
Nyt tuijotetaan ensin tilataulukon sarakkeita Q1 ja D1. Tämä kertoo meille miten kiikku nro1 muuttaa tilaansa. Siis
kysymys kuuluu: Mikä on D-kiikun oton (eli D:n) arvo kun tila muuttuu
Q1 | --> | D1 | 0 | --> | 0 | 0 | --> | 1 | 1 | --> | 1 | 1 | --> | 0 |
Ja tästä saadaan siis D-kiikku nro1:en D-oton arvoiksi: | Ja tästä saadaan siis D-kiikku nro0:n D-oton arvoiksi: | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
: D1 = Q0Q1' + Q0'Q1 | : D0 = Q0' |
Seuraavaksi määritellään lausekkeet annoille (sijoitellaan 1:set Karnaugh'n kartalle):
: HERK = Q0 + Q1 | : JASK = Q1 | : KUPP = Q0Q1 |
Tämän jälkeen toteutetaan lausekkeet porttipiireillä (ja muistetaan, että kiikuista lähtee ulos nykytila):
|
Monimutkaistetaan edellistä mainosta hieman. Lisätään siihen kytkin, joka pitää piirin joko vakiotilassa,
jolloin koko teksti on näkyvissä tai sitten aiheuttaa normaalin tilakierron. Piiri toimii siis oheisen
kaavion mukaan:
|
Määrittelyn mukaan piirin toimintaan vaikuttaa yksi ottosignaali: "AINA". Tämän vaikutus täytyy näkyä lohkokaaviossa.
Muuten lohkokaavio pysyy edellisen esimerkin mukaisena.
|
Ottosignaalin vaikutus näkyy ASM -kaaviossa päätöslohkona (salmiakki): jos AINA = 1, palataan aina takaisin HJK -tilaan, jossa
kaikki sanat siis palavat yhtäaikaa. Jos AINA = 0, kierretään tavallista tilaketjua. ASM kaavio voitaisiin myös piirtää
siten, että ottosignaali AINA tarkistettaisiin jokaisessa tilassa. (Nythän, jos AINA muuttuu ykköseksi jossain tiloista EI,
H, HJ, huomataan muutos vasta tilassa HJK.) Jos tilanmuutosta tarkkailtaisiin useammin, toimisi laite tarkemmin speksien
mukaan. Valomainoksen tapauksessa asia ei kuitenkaan ole oleellinen.
|
ASM -kaaviosta saadaan tilataulukko: |
Tilataulukon perusteella saadaan lausekkeet tilakiikkujen D-otoille.
Kiikkuja on edelleen kaksi, mutta niihin vaikuttaa yhteensä kolme signaalia: molemmat nykytilat sekä otto AINA.
Tässäkin tapauksessa molempien kiikkujen D-otot vastaavat suoraan D1 ja D0 sarakkeita
Karnaugh'n avulla saadaan lausekkeet kiikkujen otoille:
: D1 = Q0Q1' + Q0'Q1 + Q1AINA | : D0 = Q0' + Q1AINA |
Seuraavaksi märitellään lausekkeet annoille. Kannattaa huomata, että annot ovat riippuvaisia vain tiloista, ei ottosignaalista:
: HERK = Q0 + Q1 | : JASK = Q1 | : KUPP = Q0Q1 |
Tämän jälkeen toteutetaan lausekkeet porttipiireillä:
|
Tämän sivun sisällöstä vastaa
aura@wooster.hut.fi URL: http://signal.hut.fi/digis/printtaa/luento/ Sivua on viimeksi päivitetty 15.08.2003. |