Signaalinkäsittelytekniikan laboratorio
Digitaalitekniikan perusteet - luento 1



Tieto ja sen esitystavat

Tieto on yleensä tietoliikenne- tai laitteistotekniikasta puhuttaessa dataa. Tiedolla on esitysmuoto, sitä voidaan tallettaa, toistaa, siirtää ja muokata. Perinteisiä tiedon lajeja ovat esimerkiksi teksti, ääni, kuva, liikkuva kuva, numeerinen data tai multimedia (yhdistelmä, joka sisältää monta edelläkuvattua mediatyyppiä.)

Tietoon liittyvän tekniikan - tietotekniikan - kehitys on räjähdysmäistä. Puhumme informaatioyhteiskunnasta ja tiedon merkityksen kasvamisesta. Tiedon ilmaisemiseen käytetään kahta esitystapaa: analogista ja digitaalista.

Peruskäsitteitä:

Analoginen data
Data on analogista, jos sen arvo voi vaihdella portaattomasti tietyllä välillä. Analoginen data on olemassa kaikkina ajanhetkinä ja se voi saada minkä tahansa arvon vaihteluvälillään. Esimerkkejä ovat vaikkapa, ääni tai lämpötila. Puhutaan analogisista lämpömittareista. (esim. nestelämpömittari)

Analogiselle datalle vastakohtana voidaan pitää diskreettiä dataa, joka voi saada vain tiettyjä, toisistaan erillisiä arvoja. Näitä arvoja on aina äärellinen määrä. Analogisesta datasta saadaan diskreettiä näytteistämällä. Diskreetti data voidaan koodata edelleen numeeriseksi eli digitaaliseksi dataksi.

Digitaalinen (eli numeerinen) data
Digitaalinen data muodostuu joukosta lukuja. Jokainen luku on matemaattisen lukuavaruuden piste, joka kuvaa olemassa olevan datan tiettyä arvoa. Digitaalista dataa voidaan siirtää lukujärjestelmästä toiseen. Yleensä digitaalilaitteissa käytetään ns. binääri- eli kaksikantajärjestelmää. Ihmiselle havainnollisempi on tavallinen kymmenkantajärjestelmä, jollaista näkee esimerkiksi digitaalisissa lämpömittareissa, kelloissa, jne..

Digitaalinen data eroaa analogisesta siinä, että sillä pystytään ilmaisemaan lukuarvoja vain äärellisellä tarkkuudella. Esimerkiksi digitaalinen lämpömittari voi ilmaista lämpötilan vaikkapa 0,1 ° C tarkkuudella, jolloin tätä pienemmät erot jäävät havaitsematta.



Tiedon tallennus ja siirto

Jotta tiedolla olisi käyttöä, täytyy sitä voida tarvittaessa tallentaa, toistaa tai siirtää. Dataa voidaan tallentaa, toistaa ja siirtää niin analogisena kuin digitaalisena. Yleensä dataa täytyy muokata tai muuntaa sopivampaan muotoon ennen muita toimenpiteitä.

Tieto vääristyy ja kadottaa pienen osan informaatiostaan aina, kun sitä muokataan. Erilaisia vääristymiä ovat esimerkiksi särö, kohina ja impulssihäiriöt. Tällöin tiedon tarkkuus huononee ja voi syntyä virheinformaatiota.

Tallennus

Tieto saadaan tietolähteestä, jonka jälkeen se muutetaan sopivaksi signaaliksi tallennusta varten. Talletettaessa tietoa tietovälineelle sitä vielä muokataan sopivampaan muotoon. Toistettaessa tieto puretaan tietovälineeltä, minkä jälkeen se muokataan ja muunnetaan takaisin käyttäjälle sopivaan muotoon.

Esimerkki tiedon tallennus- ja toistojärjestelmästä

Tallennetaan puhetta tavalliselle c-kasetille. Tämä siksi, että näin saamme esimerkin vanhantyyppisestä analogisesta tiedon tallennuksesta:
Tietolähde on siis ihminen, ja puhe on talletettava tieto. Puhe on akustinen signaali (ilman pitkittäistä aaltoliikettä). Se on myös hyvä esimerkki analogisesta signaalista.

Puhe muunnetaan ensin mikrofonilla sähköiseen muotoon. Sen jälkeen mikrofonista saatavaa sähköistä signaalia muokataan tallennukseen sopivaan muotoon. Muokkauksen jälkeen se tallennetaan kasetille. (Sanotaan, että puhetta nauhoitetaan.)

Tiedon uudelleenkäyttö on toistoa. Toistossa tietoa muokataan uudestaan, ensin kaiuttimille sopivaan sähköiseen muotoon. Sitten kaiutin muokkaa saamansa sähköisen signaalin akustiseksi, jollaisena tiedon käyttäjä ottaa sen vastaan. (Eli kuuntelee kasettia.)

Vastaavassa digitaalisessa tallennuksessa muunnettaisiin signaali ensin digitaaliseksi ja tallennettaisiin bitteinä tietovälineelle (esim. CD- tai audioCD-levy, DAT-nauha) Virheenkorjaavaa koodausta käyttäen saadaan alkuperäinen signaali lähes vääristymättömänä talteen. Digitaalisen tallennuksen etu on, että ajan kuluminen tai toisto ei yleensä aiheuta lisävääristymää tietoon.

Siirto

Tiedon siirto on pitkälti vastaava sen tallennuksen kanssa:
Tieto saadaan tietolähteeltä, muutetaan sopivaksi signaaliksi, muokataan ja lähetetään siirtotielle. Siirtotien varrella signaalia tarvittaessa vahvistetaan ja toistetaan. Siirtotien toisessa päässä signaali muokataan ja muunnetaan takaisin alkuperäiseen muotoonsa.

Esimerkki tiedonsiirtojärjestelmästä

Esimerkkinä siirretään puhetta puhelinverkossa:
Puhe muunnetaan ensin luurin mikrofonilla sähköiseen muotoon. Mikrofonista saatavaa signaalia muokataan edelleen siirtoon soveltuvaan muotoon ja lähetetään siirtotielle. Siirtotie voi sisältää käytännössä esimerkiksi puhelinkaapelia, puhelinkeskuksia, mahdollisesti optista kuitua.

Siirtotien toisessa päässä signaalia muokataan uudelleen luurin kuulokkeelle sopivaan muotoon. Kuuloke taas muuttaa sähköisen signaalin akustiseksi vastaanottajaa varten.

Signaali voidaan siirtää analogisessa, digitaalisessa tai osittain kummassakin muodossa. Analogia-digitaali- (AD-) ja digitaali-analogia- (DA-) muunnos on päivän sana.

Signaalin käsite

Signaali on datan fysikaalinen (käytännössä usein sähköinen) olomuoto, jonka avulla dataa siirretään paikasta toiseen.



Analoginen vs. digitaalinen tiedonsiirto

Analogisessa siirrossa signaali vastaa arvoiltaan suoraan dataa, joka siirretään. Digitaalisessa siirrossa tehdään ensin analogia-digitaali (eli AD) -muunnos (käsitellään seuraavalla sivulla tarkemmin) ja varsinainen signaali koostuu dataa kuvaavista numeerisista arvoista. Tällä menettelyllä mahdollistetaan pienempi häiriötodennäköisyys (virhe signaalissa ei automaattisesti merkitse virhettä signaalin tietosisällössä) ja parempi virheenkorjaus.

Analogisen tiedonsiirron ominaisuuksia

Digitaalisen tiedonsiirron ominaisuuksia

Yleisesti ottaen digitaalinen tiedonsiirto ja -tallennus vaativat analogista monimutkaisemman laitteiston, mikä viivytti aikoinaan niiden käyttöönottoa. Nykyinen elektroniikan ja mikropiirien kehittyneisyys kuitenkin takaavat digitaalisen siirron kannattavuuden.

Muunnettaessa dataa analogisesta digitaaliseksi (analogia-digitaali eli AD -muunnos) hukataan tietoisesti dataa. Tämä kannattaa, kun mitoitetaan virhe tarvittavan tarkkuustason ulkopuolelle. (Esimerkiksi sopivalla näytteenottotaajuuden ja kvantisointitasojen lukumäärän valinnalla.) Tällöin päästään analogista siirtoa huomattavasti parempaan virheensietokykyyn varsinaisessa siirrossa.



Analogia-digitaalimuunnos

Analoginen signaali ( analoginen signaali ) muunnetaan digitaaliseksi (koodiksi, joka voidaan esittää esim. kahden jännitetason muutoksina.
Vaikkapa: 1011001 ~ digitaalinen signaali ).

AD-muunnos sisältää neljä vaihetta:

  1. Suodatus: Analogisesta signaalista suodatetaan pois suurtaajuiset häiriöt, jotka kuvassa näkyvät piikkeinä. (Suodatuksesta ja suodattimista puhutaan enemmän kursseissa Ele 2, signaalit ja järjestelmät jne..)
  2. Näytteistys: signaalista otetaan määrävälein näytteitä. Esim 1 ms välein, jolloin katsotaan mikä arvo signaalilla juuri silloin on.
  3. Kvantisointi: näytteet kvantisoidaan eli pyöristetään vastaamaan lähintä taulukoitua arvoa. Esim 2,7 V --> 3 V
  4. Koodaus: saadut näytearvot koodataan tallennusta tai siirtoa varten sopivaan muotoon. Esim arvoa 3 V vastaa koodi 011 (tässä esimerkissä)

AD-muunnos

AD-muunnoksen epäideaalisuuksia


AD-muunnoksessa menetetään aina osa informaatiosta. Osa häviöistä on toivottua kuten suodatuksessa poistuvat ylimääräiset häiriöt. Näytteenotossa ja kvantisoinnissa voidaan vahingossa hukata ns. tarpeellista informaatiota. Pääsääntö on tarkistaa kaksi perusasiaa:

Näytevälin sijasta puhutaan yleensä näytetaajuudesta, joka on näytevälin pituuden käänteisarvo.



Digitaalianalogiamuunnos

Siirron (tai talletuksen) jälkeen koodattu tieto muunnetaan yleensä taas analogiseksi. Tähän tarkoitukseen käytetään digitaalianalogiamuunninta (eli D/A-muunninta). D/A-muunnoksen vaiheet ovat seuraavat:

  1. koodattu tieto dekoodataan digitaalisiksi arvoiksi (luvuiksi)
  2. muodostetaan lukuja vastaavat analogiset signaaliarvot (esim. jännitteet)
  3. sijoitetaan analogiset signaaliarvot peräkkäin s.e. niiden aikaväli on yhtä pitkä kuin aikaisemmin A/D-muunnoksessa käytetty näytteenottoväli
  4. venytetään signaaliarvoa pitopiirillä täyttämään väli seuraavaan arvoon asti
  5. poistetaan saadun signaalin kulmikkuus suodattamalla

D/A-muunnoksen vaiheet, esimerkkikuva

D/A-muunnos

Huom: Tässä kuvassa D/A-muunnos on esitetty hyvin eri tyyppisesti kuin A/D-muunnos aiemmilla sivuilla. (Näin teoreettisella tasolla esitysmahdollisuuksia on useita.)

Esimerkkikuvassa käytetyt koodit ovat:
+01 = +1,
+10 = +2,
+11 = +3




Digitaalisysteemi

Kurssilla pyritään antamaan valmiudet yksinkertaisten digitaalilaitteiden ymmärtämiseen ja suunnitteluun. Suuremman mittakaavan digitaalisuunnittelun tuotteita ovat esimerkiksi tietokoneet ja niihin liitettävät lisäkortit, 'hardware'. Arkielämän tuotteista digitaalipiirejä voi löytää lähes kaikkialta: kännyköistä, videoista, pesukoneista, CD / minidisc soittimista, autoista, lentokoneista jne.. Lista on loppumaton.

Perinteisen jaon mukaan digitaalisysteemejä on kahdenlaisia:

  • koneiden toimintaa ohjaavia (automaatiota)
  • laskusuorituksia suorittavia

Digitaalisysteemille ominaista on, että se toimii binäärilogiikalla. Binäärilogiikka tarkoittaa logiikan muotoa, jossa kaikki laskutoimitukset suoritetaan 2-kantajärjestelmässä. Tällöin pienin käytetty tiedon yksikkö on bitti. Yhdellä bitillä on kaksi mahdollista tilaa, 0 (epätosi) ja 1 (tosi). Nämä tilat esitetän usein jännitteinä. Bitin arvo 1 voi vastataa esimerkiksi jännitettä 5 volttia ja tila 0 jännitettä 0 volttia. Jännitteitä kutsutaan loogisiksi signaaleiksi.

Koska yleensä tarvitaan enemmän kuin kaksi vaihtoehtoa, yhdistetään monta bittiä peräkkäin ja annetaan näille jonona uusi merkitys. Sanotaan, että tieto esitetään koodattuna.

Signaaleja voidaan kuvata numeroarvoilla, jännitteillä sekä toisinaan myös kytkimillä. Näiden välinen analogia voi toimia esimerkiksi seuraavasti:
Looginen arvolooginen jännitekytkin
False (=epätosi) 00 Vauki
True(=tosi) 15 Vkiinni

Logiikan toteutus on aina sovittu - tapauskohtaisesti tai standardien mukaan. ( Se ei ole mikään fysikaalinen totuus.) Edelläkuvattu analogia pohjautuu positiiviseen logiikkaan. Vastaavasti negatiivisessa logiikassa korkeampi jännitetaso vastaisi loogista arvoa 0 (epätosi) ja matalampi jännitetaso loogista arvoa 1 (tosi).



Digitaalitekniikan historiaa (hyvin lyhyesti, yleissivistystä varten)

Mekaanisen laskentatekniikan kausi

  • Noin vuosituhannelta 3000 eaa aina nykypäiviin saakka käytössä on ollut helmitaulu (eli abacus).
  • 800-luvulla (jaa) Al-Khuwarizmi, bagdadilainen aikansa suurin matemaatikko, kehitti tunnetulle 9-alkioiselle lukujärjestelmälle yhteenlasku-, vähennys-, kerto- ja jakolaskuoperaatiot. (Huomattakoon, että samainen sivistys levisi Eurooppaan vasta 1200 -luvulla, kun Khuwarizmin kirjoituksia alettiin julkaista meillä päin.)
  • 1600 -luvulla kehiteltiin ensimmäisiä mekaanisen laskimen prototyyppejä, nämä jäivät kukin tosin vain tekijänsä käyttöön ja suhteellisen epälutoettavia. (mm. Pascal, Schickard, Leibniz)
  • 1800-luvulla saatiin markkinoille ensimmäiset kaupalliset mekaaniset laskukoneet
  • 1800-luvulla Charles Babbage kehitti tietokoneen esiäidin: koneen, joka osasi suorittaa lukuisia yksinkertaisia laskutoimituksia peräjälkeen virheettä.
Tietokoneiden aikakausi
  • Sähkömekaaniset eli reletietokoneet
    - Ensimmäinen Bellin laboratoriossa USA:ssa vuonna 1939, kiinteäohjelmainen relelaskukone. Hallitsi neljä aritmeettista operaatiota (+ - * : )
  • Puolijohdetietokoneet 1956-63
    - Transistori keksittiin jo vuonna 1948 (John Baden, Walter Brattain, William Shockley)
    - Ensimmäinen transistoritietokone Tx-0 vuonna 1956 (Massahusetts Institute of Technology)
    - Ensimmäinen sukupolvi ohjelmointikieliä, kääntäjiä jne..
  • Mikropiireihin (IC, integrated Circuit) perustuvat tietokoneet 1964-71
    - Mikropiiri keksittiin vuonna 1959 (Jack Kilby, Texas Instruments)
    - Teknologinen vallankumous mikropiirien ja printattavien piirilevyjen osalta
    - Kehittyneitä sovelluksia, monisuoritteisia (multitasking) operaatiosysteemejä, ohjelmakirjastoja
    - Intelin ensimmäinen mikroprosessori Intel 4004 markkinoille vuonna 71
  • Neljännen sukupolven tietokoneet 1971-
    - Integroidut piirit (IC: Integrated Circuits) laajenevat (LSI: Large Scale Integrated Circuits, VLSI: Very Large Scaled Integrated Circuits,). Nykyään yhdellä chipillä voi olla miljoonia komponentteja
    - Tietoliikennetekniikan kehitys mahdollistaa monelle koneelle hajautetut prosessit
  • Viides sukupolvi 1980-
    - Keinoälyn kehittäminen laitteistoon (puheen- ja hahmontunnistus jne..) - koneita myös kotikäyttöön
  • 2000- - Multimedian aikakautta, ohjelmoitavat piirielementit kasvaneet laskentatehoiltaan valtaviksi
    - CPLD (Complex Programmable Logic Device) ja FPGA (Field-Programmable Gate Array) johtavat ohjelmoitavat piirityypit digitaalitekniikassa.
    - Digitaaliteknisen suunnittelun pääalat: FPGA, ASIC (Application Specific Integrated Circuit)- ja SOC (System on Chip).



Digitaalitekniikan käyttöalueita

Ensialkuun digitaalitekniikkaa käytettiin ensisijaisesti tieteen ja liike-elämän laskentatehtäviin sekä tietokoneisiin. Viimeisten parin vuosikymmenen aikana mikropiirien, puolijohdeteknologian ja elektroniikan yleinen kehitys ovat kuitenkin mahdollistanut digitaalitekniikan käyttöönoton hyvin monilla aloilla. Näitä ovat esimerkiksi:

  • tietoliikenne ja teleliikenne
  • automaatio, mittaus- ja säätölaitteet
  • viihde-elektroniikka, lelut, pelit
  • liikenne (esim. vaihtuvat nopeusrajoitukset, liikennevalojen ohjaus, autoissa paljon digitaalitekniikkaa)
  • joukkoviestintä (paljon keskustelua viime aikoina on herättänyt esim. digitaalinen televisio)
  • DVD:t, CD:t, audioCD:t,
  • monet multimedialaitteet
  • Tietotekniset lisälaitteet ja laajennukset: digitaalikamerat, kommunikaattorit, videoneuvotteluleitteistot, videotykit
  • Erilaiset puolustusteollisuuden systeemit

Digitaalitekniikka on siis osa jo lähes kaikkia elämänalueita. Ennustetaan lisäksi, että tulevaisuudessa digitaalitekniikan merkitys tulee entisestään kasvamaan. Esimerkiksi tietoliikenneala tulee tarvitsemaan huimasti lisää digitaalista laskentatehoa tulevaisuuden mediapuhelinten ja niiden tukiverkkojen muodossa. Toisaalta myös tietotekniikan jatkuva nopea kehitys vaatii koko ajan lisää digitaaliselta suunnittelulta. (Tämän hetken trendit näyttävät olevan multimediatekniikan ja erilaisien arkielämän eriytettyjen ratkaisujen kehittämisessä.)

Piirien koko ja monimutkaisuusaste kasvavat räjähdysmäisesti. Toisaalta uusia sovellusalueita löydetään yhä kiihtyvällä tahdilla. Myös monia, perinteisesti analogisia sovellutuksia suunnitellaan uudestaan digitaaliseen muotoon. Digitaalisuunnittelu -nimitys on melko yleistävä. Nykyään alalla työskentelevät ihmiset puhuvat suunnittelusta mieluummin piirin valmistustekniikoiden mukaisin nimityksin. (Esim FPGA-suunnittelusta.) Yksi tämän hetken suuntaus on SOC eli System on Chip suunnittelu. Tämän ideana on rakentaa yhdelle piirille monenlaista logiikkaa, esimerkiksi prosessori, kiinteätä logiikkaa ja muisteja, sekä koota näistä toimiva kokonaisuus.

Tästä kaikesta voidaan vetää johtopäätös, että työllisyys on ja tulee olemaan erittäin hyvä. Ihan peruskurssin tiedoilla ei digitaalilogiikkaa kaupallisessa mielessä lähdetä työstämään, mutta tämän kurssin perusteisiin kaikki yllämainittu pohjaa.

Tällä kurssilla käsitellään digitaalisuunnittelun perusasioita, jotka jokaisen suunnittelijan tulee hallita hyvin. Nykyään suunnittelu tapahtuu yleensä joko laitteistokuvauskielellä ohjelmoiden tai systeemitason kieltä käyttäen. Esimerkkejä laitteistokuvauskielistä ovat VHDL ja Verilog. Systeemitason kieli on esimerkiksi SystemC. Täytyy kuitenkin muistaa, että vaikka digitaalisuunnittelussa ohjelmoidaan, on ohjelmoinnin pohjana digitaalisuunnittelun säännöt. Näin ollen tavanomaisten ohjelmointikurssien opit eivät digitaalisuunnittelussa päde.


Paluu päävalikkoon

Tämän sivun sisällöstä vastaa aura@wooster.hut.fi
URL: http://signal.hut.fi/digis/printtaa/luento1/luento1.html
Sivua on viimeksi päivitetty 05.09.2008.