DIGITAALIeLekTronIIkkA

Timo Haiko • Keijo salonen • toni harju
DIGITAALIelektroniikka
Peruspiireistä sulautettuihin järjestelmiin
Sanoma Pro Oy
Helsinki
s1-7.indd 1
20.4.2012 14.34
Tiedustelut
Sanoma Pro Oy, Helsinki
puh. 020 391 000
sähköposti: asiakaspalvelu@sanomapro.fi
www.sanomapro.fi
Kustantaja: Sanoma Pro Oy
1. painos 2012
ISBN 978-952-63-0272-0
Toimitus: Suvi Hanste
Ulkoasu ja kansi: Veera Alanko
Taitto: Heli Haiko, Sirpa Hämäläinen
Kuvat: Kuvaluettelo sivulla 7
© Timo Haiko, Toni Harju, Keijo Salonen ja Sanoma Pro Oy
Teos on suojattu tekijänoikeuslailla (1961/404). Kopiointi,
tallentaminen, jakelu, muu jatkokäyttö sekä edelleenluovutus
sallittu vain tekijän ja kustantajan etukäteen antamalla luvalla.
Kopiointiluvasta vastaa aina käyttäjä. Varmista sopimuksesi
voimassaolo: www.kopiosto.fi.
s1-7.indd 2
20.4.2012 14.34
Esipuhe
Elektroniikka on tekniikan ala, jota sovelletaan nykyään lähes kaikkialla. Aluksi elektroniikka oli analogista ja sittemmin se täydentyi digitaalielektroniikalla. Tämä kirja
kertoo digitaalielektroniikan perusteista alkaen yksinkertaisista porttipiireistä aina
mikroprosessoreihin.
Elektroniikan oppiminen edellyttää moninaisia tietoja ja taitoja niin käytännön kuin
teorian alueilta. Elektroniikan rakentaminen esimerkiksi rakennussarjoista tai vastaavista ohjeista on vaativa mutta palkitseva oppimistapa. Myös oman virtuaalisen
elektroniikkalaboratorion perustaminen on suositeltavaa. Internetissä onkin tarjolla
useita kohtuuhintaisia, jopa ilmaisia, simulaatio-ohjelmia, jotka soveltuvat niin analogisen kuin digitaalielektroniikan tutkimiseen. Myös protopiirilevyjen suunnitteluun
löytyy varsin kohtuuhintainen ohjelma. Piirilevyjen suunnitteluun on olemassa useita
ohjelmia, joilla voidaan tulostaa fotolakatun piirilevyn valotuksessa tarvittava työfilmi ja/tai tallentaa ohjaustiedosto piirilevyn jyrsintää varten. Kirjan sivuilla ja netistä
ladattavalla oheismateriaalilla on eräitä tuotoksia, kuten piirikaavioita, simulaatioita
sekä jyrsimen ohjaustiedostoja, joiden teossa on käytetty mainittuja työkaluohjelmia.
Ohjelmien nimet on esitetty asiayhteydessä.
Kirjan sisältö koostuu opetustekstin lisäksi tehtävistä, esimerkeistä ja projekteista,
sekä runsaasta kuvituksesta, joiden avulla opiskelijalla on entistä paremmat mahdollisuudet oppia digitaalielektroniikan keskeiset asiat.
Kirjan tekstissä on suomenkielisten termien lisäksi usein myös englanninkielinen
vastine ja/tai sen lyhenne. Tarkoituksena on auttaa lukijaa löytämään lisätietoja internetin avulla. Oman ammattialan vieraskielinen sanasto on arvokasta pääomaa.
Monet kirjan piirikaaviokuvista voidaan avata myös tietokoneella niiden lähempää ja
laajempaa tarkastelua varten. Tällöin on mahdollista testata kytkentää omassa virtuaalilaboratoriossa itselle parhaimmin sopivana aikana.
Simulaatio-ohjelma ja kirjassa mainitut simulaatiotiedostot sekä muu sähköinen materiaali on ladattavissa: www.timohaiko.fi.
Otamme kiitollisina vastaan palautetta, jotta voimme edelleen parantaa kirjan käytettävyyttä.
Maaliskuussa 2012
Tekijät
3
s1-7.indd 3
20.4.2012 14.34
Sisällys
Esipuhe.......................................................................3
1
4
Portit ja puskurit..................................................40
Digitaalitekniikka.....................................8
NOT-puskuri............................................................41
Puskuripiiri eli bufferi............................................45
Portit........................................................................48
AND-portti..........................................................49
Totuustaulun laatiminen
loogiselle piirille.................................................52
OR-portti..............................................................54
NAND-portti.......................................................56
NOR-portti...........................................................60
XOR-portti...........................................................63
XNOR-portti........................................................65
Yleistä .........................................................................8
Elektroniikan historiaa............................................8
Analogisen elektroniikan ja digitaali­elektroniikan välinen ero....................................... 9
Siniaaltosignaalin ja suorakaideaalto­signaalin yhteys.................................................... 10
Käytännön digitaalisignaali ............................... 11
Digitaalisista peruspiireistä sulautettuihin
järjestelmiin........................................................... 12
2
Digitaalitekniikan mittalaitteet
ja työkalut........................................................16
Oskilloskooppi.......................................................16
Oskilloskoopin mittapää.......................................21
Mittauksia oskilloskoopilla..................................22
Sähkölaitteiden luokitusjärjestelmät.............................................................25
IP-luokitus...............................................................25
CAT-merkintä..........................................................26
Komponenttien ladontakone.........................26
ESD-suojaus..........................................................28
ESD-varusteita.......................................................28
teht ä v i ä . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0
3
Lukujärjestelmät.....................................32
Kymmenjärjestelmä...........................................32
Binäärijärjestemä...............................................33
Heksadesimaalijärjestelmä...........................34
Lukujärjestelmien
muunnokset............................................................35
Koodeja...................................................................38
Kombinaatiopiirit....................................40
Kytkentäalgebraa..................................... 72
5
Sekvenssipiirit...........................................76
Kellopulssioskillaattorit...................................76
Käytännön kellopulssioskillaattori......................76
Reaaliaikakellopiirit ..........................................78
Astabiili värähtelijä ...........................................79
Astabiilin värähtelijän toteuttaminen
­transistoreilla......................................................... 79
Astabiilin värähtelijän toteuttaminen
NAND-porttipiirillä................................................ 81
Astabiilin värähtelijän toteuttaminen ­
inverttereillä........................................................... 82
Astabiilin värähtelijän toteuttaminen
555-ajastinpiirillä................................................... 82
555-ajastinpiirin toiminnan
havainnollistaminen.......................................... 84
Astabiili värähtelijä ­pulssinleveys­modulaattorina....................................................... 86
Kideoskillaattori ..................................................87
Ohjaimet...................................................................88
Ledien ohjaukset ..................................................88
Lediohjain 1............................................................90
Lediohjain 2............................................................91
4
s1-7.indd 4
20.4.2012 14.34
Lediohjain 3............................................................93
7-segmenttien (ledi) ohjaukset ...........................93
7-segmenttien (LCD) ohjaukset ........................102
6
Piiriperheet...........................................................144
TTL-piirit................................................................144
CMOS-piirit...........................................................145
HCMOS-piirit........................................................146
Piirien käyttöjännitteet.......................................146
Käyttöjännitteet ja häiriöiden vaimennus........147
Komponenttien kotelointi...................................147
Lähdön kytkennät................................................147
Avokollektorilähtö............................................147
Toteemipaalukytkentä.....................................148
Kolmitilalähtö...................................................149
Puskurilähtö.....................................................149
Datalehdet............................................................150
Kiikut ja salvat.....................................................103
Transistoreilla toteutettu kiikku.........................104
Mikropiirillä toteutettu kiikku.............................105
RS-kiikku...............................................................107
Veräjöity RS-kiikku..........................................108
D-kiikku ................................................................113
Veräjöity D-kiikku.............................................114
D-salpa .................................................................115
Käytännön esimerkki latch-piiristä...............115
JK-kiikku...............................................................116
T-kiikku .................................................................118
Pulssin jakaminen luvulla n...........................124
Jakaminen luvulla n........................................124
Monostabiili kiikku..............................................127
LM555-ajastinpiiri monostabiilina
kiikkuna.............................................................127
Peruspiirit monostabiilina
kiikkuna ............................................................128
7
Analyysilajit..........................................................154
Simulaatiotiedoston käyttö................................154
Simulaation kuvaajat..........................................156
D(1)-digitaalisignaali kytkentäpisteestä
numero yksi maatasoon.................................156
Stimulusgeneraattorit.........................................160
1-bittinen stimulusgeneraattori.....................160
4-bittinen stimulusgeneraattori.....................163
8-bittinen stimulusgeneraattori.....................166
Siirtorekisterit ....................................................130
SISO-rekisteri.......................................................130
SIPO-rekisteri.......................................................131
PISO-rekisteri.......................................................133
PIPO-rekisteri.......................................................134
DA- ja AD-muuntimet ....................................135
Muistit.....................................................................138
8
Tietokone komponenttina.........168
Schmitt-liipaisin ................................................139
Tietokoneen toiminta­periaate....................168
Komparaattori ....................................................141
teht ä v i ä . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 3
IO-laitteet .............................................................169
Mikroprosessori..................................................170
Arkkitehtuuri.........................................................174
Väylät.....................................................................176
Muistit...................................................................178
Käyttömuisti..........................................................179
DIGITAALIelektroniikka
s1-7.indd 5
Digitaalikytkentöjen
simulointi........................................................152
Ohjelman rakenne............................................152
Ylös/alas-laskuri ...............................................128
DA-muunnin.........................................................135
AD-muunnin ........................................................137
Multiplekserit.......................................................138
Käytännön mikropiirit.....................144
5
20.4.2012 14.34
Ohjelmamuisti..................................................179
Datamuisti.........................................................179
Rekisterit...............................................................179
ALU........................................................................181
Ohjelmointi............................................................181
Vuokaaviot ja sanalliset algoritmit....................187
teht ä v i ä . . . . . . . . . . . . . . . . . . . . . . . . . 1 8 9
9
Mikro-ohjaimet.......................................190
Yleistä......................................................................190
Mikro-ohjainten käyttökohteet..........................192
Mikro-ohjaimen rakenne ja
toiminta...................................................................195
Mikro-ohjainten muistit......................................198
Ohjelmamuisti..................................................198
Käyttömuisti......................................................199
Datamuisti.........................................................199
Digitaaliset tulo- ja lähtöportit...........................200
JTAG, ohjelmointi- ja testiliityntä......................202
Ajastimet...............................................................203
Komparaattori......................................................206
AD-muunnin.........................................................207
PWM ja digitaalinen tehonsäätö......................209
Sarjaportti.............................................................212
Sarjamuotoiset oheislaiteliitynnät....................214
SPI......................................................................214
I2C......................................................................215
1-Wire................................................................215
Sarjamuotoisten oheislaiteliityntöjen
ominaisuuksia..................................................216
AVR-mikro-ohjaimet............................................219
AVR-mikro-ohjainten luokittelu.....................220
AVR-piirien sisäinen toiminta........................221
Kirjassa käytettyjä C-kielen
ohjelmakäskyjä....................................................235
6
s1-7.indd 6
20.4.2012 14.34
Kuvalähteet
Timo Haiko: 10, 11, 17, 18, 19, 22, 23, 24, 27, 28, 29, 41, 42, 43, 44, 45 vas. yläk. ja alak., 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 76, 77 alak., 78 yläk.,
79, 80, 81, 82, 83, 84, 86, 87, 89, 90 vas., 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102 yläk., 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, 122 alak., 123, 124, 125,
126, 127, 128, 129, 130, 131, 132, 133, 134, 136, 137 alak., 138, 140, 141, 142, 147, 148 vas. yläk., 149,
154, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168 vas. yläk., 168 toinen oik., 170 vas.,182 vas.
Toni Harju: 13, 72, 73, 74, 139, 178, 181, 183, 188, 190, 191, 193, 194, 195, 196, 198, 200, 201, 202,
206, 207, 208, 210, 211, 212, 215, 216, 217, 219, 226, 229, 230, 232, 233.
Eila Sinivuori: 9, 12, 45 yläk. vas., 77 yläk. ja kesk., 78 alak., 90 oik. alak., 91, 92 oik. yläk., 93 vas.
yläk.,102 alak., 111 oik. yläk., 113 vas., 115, 116 kesk., 122 yläk., 137 yläk., 148, 152, 153, 168 alak.,
169, 170 oik., 171 yläk., 172, 173, 174, 175, 176, 177, 180, 182 oik., 184, 185, 187, 192, 204, 220, 223,
225, 228, 231.
Colourbox: 168 toinen vas. ja oik. yläk.
DIGITAALIelektroniikka
s1-7.indd 7
7
20.4.2012 14.34
2
Digitaalitekniikan
mittalaitteet ja työkalut
Digitaalitekniikassa käytetään osin erilaisia mittalaitteita ja työkaluja kuin tavallisessa analogiatekniikassa.
Mittalaitteiden osalta nämä syyt ovat mitattavien signaalien yksinkertaisuus ja moninaisuus: mittaamiseen tarvitaan muun muassa monikanavaisia oskilloskooppeja ja analysaattoreita.
Työkalujen ja koneiden osalta erityisiä vaatimuksia
tuovat suojaukset staattiselta sähköltä, pintaliitostekniikan käyttö ja automaattinen komponenttilevyjen ladonta.
Tarvitaan muun muassa ESD-työkaluja ja kalusteita, ESDsuojavaatetusta ja massatuotantoon soveltuvia koneita, kuten automaattisia ladontakoneita.
Oskilloskooppi
Sanastoa
16
oskilloskooppi
bench scope,
scope
kannettava
portable
nelikanavainen
four channel
mittapää
probe
pihtivirtamuuntaja
current clamp
vaimennin
attenuator
Tavallisesti oskilloskoopissa on kaksi tulokanavaa, jotka riittävät kahden signaalin samanaikaiseen tarkkailuun. Seuraavassa esitellään nelikanavainen oskilloskooppi, Fluke ScopeMeter
190 II. Se on enemmän kuin tavanomainen nelikanavainen oskilloskooppi, koska siinä on tarvittaessa 1–4 toisistaan erotettua mittaria tasa- ja vaihtojännitteen, tasa- ja vaihtovirran, taajuuden ja lämpötilan mittaamiseen. Se soveltuu rakenteensa ja
korkeimman turvaluokituksensa (CAT 4) ansiosta käytettäväksi paitsi tavanomaisissa elektroniikan laboratorioissa myös vaativissa tehoelektroniikan sovelluksissa.
DIGITAALITEKNIIKAN MITTALAITTEET JA TYÖKALUT
DE Luku 2 JN.indd 16
20.4.2012 14.03
mittajohdot (4 kanavaa)
Nelikanavainen akkukäyttöinen oskilloskooppi ja yleismittari
S a na s toa
Yleisiä ominaisuuksia:
■■ Kaistanleveys:
– Fluke 190-204: 200 MHz
– Fluke 190-104: 100 MHz
■■ Suurin reaaliaikainen näytteenottonopeus:
– Fluke 190-204: 2,5 GS/s
– Fluke 190-104: 1,25 GS/s
■■ Neljä sähköisesti erotettua tuloa
■■ Erilliset, kelluvat eristetyt tulot: 1 000 V:iin asti tulojen, referenssien ja maan välillä
■■ Aikakanta-alue/jakoväli: 5 ns-2 min/div
■■ Tulon herkkyys/jakoväli: 2 mV-100 V/div
■■ Liipaisutyypit: Connect-and-View™, Free Run, yksittäis-,
reuna-, video-, valinnainen pulssinleveys- ja ulkoinen liipaisu,
kaksoisliipaisu ja halutun jakson liipaisu (n-jakso)
■■ Häiriöpiikit: 8 ns
■■ Scope-mittaukset:
– Kursori: 7
– Automaattinen: 30
DIGITAALIELEKTROniikka
DE Luku 2 JN.indd 17
banaaniliitin
banana probe
tekniset tiedot
specifications
kaistanleveys
bandwidth
reaaliaikainen
real-time
näytteenottotaajuus
sample rate
giganäytettä
sekunnissa
giga samples/s,
GS/s
kelluva
floating
eristetty
isolated
tulo
input
aika-akseli
time base
jakoväli
division, div
alue
range
17
20.4.2012 14.03
■■
Sanastoa
herkkyys
sensitivity
liipaisin
trigger
vapaasti
värähtelevä
free run
■■
yksittäislaukaisu
single shot
■■
viive
delay
pulssin leveys
valittavissa
selectable pulse
width
ulkoinen
external
häiriöpiikki
glitch
sieppaus
capture
mittaus
measurement
kursori
cursor
automaattinen
automatic
enimmäis-
maximum
tallennuspituus
record length
kohinan rajoitus
noise reject
suurtaajuus
high frequency,
HF
yksittäispyyhkäisy
single shot
Oskilloskooppina
■■
■■
■■
■■
■■
■■
■■
■■
Suurin muistin koko (ScopeRecord-toiminto): 27 500 tai
10 000 min/max näytettä kanavaa kohden
Muisti: näyttöruudut + Asetukset 15, replay + Asetukset 2
Pölyltä ja tippuvalta vedeltä suojaava IP-51-luokitus takaa, että
laite soveltuu vaativiinkin teollisuusympäristöihin
Näyttö: 153 mm:n täysväri-nestekidenäyttö, jossa on nopea
näytön päivitys
Jälkihehku: analogisen oskilloskoopin kaltainen aaltomuodon
vaimeneminen (käyttäjän valittavissa)
Aaltomuotovertailu: aaltomuotoreferenssi ja automaattinen
Pass/Fail-testaus
Sähköturvallisuus: 1 000 V CAT III/600 V CAT IV
Paristojen käyttöikä: jopa 7 tuntia (Li-Ion)
USB-liitäntä: muistille ja PC:n liitäntään
Takuu: 3 vuotta osille ja työlle (1 vuosi lisävarusteille)
Mitat ja paino: 270 mm × 190 mm × 70 mm, 2,2 kg
Mukana toimitettavat varusteet:
■■ BC190-verkkolaite/-akkulaturi kaikille 190-sarjan mittauslaitteille
■■ VPS410-mittajohtosarjat, jännitesuhde 10:1
■■ Rannehihna ja ripustin
■■ Käyttöopas (CD-ROM)
■■ BP291-Li-ion-akku
■■ FlukeView-esittelypaketti
■■ USB-liitäntäkaapeli tietokoneliitäntää varten
Oskilloskooppina Fluke 190 näyttää samanaikaisesti neljän, toisistaan täysin erotetun, mittauskohteen signaalit. Myös tietokone liitetään tähän mittalaitteeseen liitosjohdoissa olevien optisten erottimien avulla.
vaihesiirto, (tässä A- ja Bkanavien signaaleilla 45°)
pulssin pituus, (tässä 10 μs)
verkko-/akkukäyttö
Kuvaruudulta on luettavissa signaalin
muodon lisäksi jännite- ja aikaskaalaukset, pulssin kestoaika, pulssien
välinen vaihesiirto ja tahdistustapa
sekä -kohde.
18
tahdistusmuoto ja
-kohde (tässä nousevalla pulssinreunalla
A-kanavaan)
tulokanavien A, B, C ja D
jänniteskaalaukset, mV/jakoväli
aika-akselin skaalaus,
μs/jakoväli
DIGITAALITEKNIIKAN MITTALAITTEET JA TYÖKALUT
DE Luku 2 JN.indd 18
20.4.2012 14.03
Signaalin tahdistus voidaan määrittää pulssin reunan lisäksi
myös erityisesti PAL-, NTSC- ja SECAM-videosignaaleille. Kohinan ja suurtaajuuksien vaimennus on myös mahdollista. Kertailmiöiden tutkiminen on mahdollista yksittäispyyhkäisytoiminnon avulla.
Yleismittarina Fluke 190 voi toimia samanaikaisesti esimerkiksi jännite-, taajuus- ja lämpötilamittarina.
verkko-/akkukäyttö
mittapäiden vaimennukset
Videosignaali-standardeja:
Phase alternate line, PAL
(esim. Suomessa)
National television system committee, NTSC (esim. USA:ssa)
Séquentiel couteur à mémoire,
SECAM (esim. Ranskassa ja Venäjällä)
Yleismittarina
sekajännitemittari
taajuusmittari
vaihtojännitemittari
tasajännitemittari
mittareiden valinta
vertailujännite
(tässä poiskytketty)
Jännitetason suuruus voidaan ilmaista myös desibeleinä. Tällöin mittaustuloksen yksikkönä on desibelivoltti, dBV, eli mitattavan jännitteen arvoa verrataan 1 V:n vertailutasoon, osamäärästä otetaan 10-kantainen logaritmi ja tulos kerrotaan 20:llä.
Vertaa jännitetaso (dBV) ja jännitevahvistus (dB):

AU(dBV)

U

= 20 ⋅ log 
1 V 
AU(dB)


U OUT
= 20 ⋅ log
 U IN 


Jännitteitä voidaan mitata tavanomaiseen tapaan absoluuttisina arvoina tai
niitä voidaan verrata mittalaitteeseen
ennalta asetettuun jännitearvoon, jolloin mittaustuloksena on jännite-ero.
Jännitetaso dBV ilmaisee, kuinka monta desibeliä jännite on
yhden voltin ylä- tai alapuolella.
1 V = 0 dBV
2 V = 6 dBV
4 V = 12 dBV
0,5 V = –6 dBV
0,25 V = –12 dBV
ESIMERKKI 1
Jännitearvo 1,58 V halutaan ilmaista dBV:ina.


1,58 V
= 3,97 dBV ≈ 4 dBV
AU(dBV) = 20 ⋅ log 
 1V 
Vastaus: 1,58 V:n jännite vastaa 4 dBV:n jännitetasoa.
Tämän voi helposti tarkistaa kytkemällä mittalaiteen osoittamaan dBVjännitetasoa ja mittaamalla esimerkiksi 1,5 V:n pariston jännitetason.
DIGITAALIELEKTROniikka
DE Luku 2 JN.indd 19
19
20.4.2012 14.03
Ohjaimet
Ledien ohjaukset
S ana stoa
päästösuunta
forward, F
estosuunta
reverse, R
pulssinleveysmodulaatio
pulse width
modulation, PWM
tuotettu teho
power generated,
PG
häviöteho
power dissipation,
PD
Ledi on diodi, joka muuttaa sähkövirran valoksi. Diodin tavoin
on huolehdittava siitä, ettei ledin läpi kulkevan virran suuruus
ylitä sille ilmoitettua virran enimmäisarvoa IF MAX.
Ledi on kytkettävä sähkölähteeseen siten, ettei sen napoihin pääse estosuuntaista (vastakkaista) jännitettä, sillä useille
ledeille ilmoitetaan estosuuntaiseksi jännitekestoksi IR MAX vain
5 V. On myös syytä havaita, että ledin hyötysuhde voi jäädä hyvin pieneksi, kun se liitetään esimerkiksi 12 V:n tasajännitelähteeseen, ellei sen ohjauksesta erityisesti huolehdita.
Merkkivaloledi kytketään jännitelähteeseen yleensä sarjavastuksen avulla.
ESIMERKKI 4
Ledin etuvastuksen mitoitus ja hyötysuhteen arviointi
Oletetaan ledin sähköisiksi arvoiksi
UF = 1,8 V @ 10 mA
IFmax = 20 mA.
Valitaan ledin virta-arvoksi 50 % enimmäisvirta-arvosta 10 mA.
Lasketaan etuvastuksen resistanssi 5 voltin käyttöjännitteelle ja valitaan sopiva käytännön
arvo E12-sarjasta.
RLED =
U − U LED
5 V − 1,8 V
3,2 V
3,2 ⋅ 103 V
=
=
=
⋅
= 320 Ω ⇒ 330 Ω
−
3
I LED
10 mA
10
A
10 ⋅ 10 A
Simulaatiokytkennästä ilmenee, että sähkölähteestä otettu teho PG on 49 mW ja
etuvastukseen lämmöksi muuttuva teho PD on 31,7 mW.
Lasketaan ledille tulevan tehon suhde kulutettuun kokonaistehoon eli hyötysuhde η:
η =
PLED
P ⋅ PR
49 mW − 31,7 mW
⋅ 100 % = G
⋅ 100 % =
⋅ 100% = 35 %
PG
PG
49 mW
Tulos: 35 %
Sähkönkäytön hyötysuhde ei ole kovin hyvä!
88
DE Luku 5.indd 88
Sekvenssipiirit
20.4.2012 14.46
Ledi ja sen etuvastus
#Led_driver.cir
ESIMERKKI 5
Ledin etuvastuksen mitoitus ja hyötysuhteen arviointi
Oletetaan ledin sähköisiksi arvoiksi
UF = 1,8 V @ 10 mA
IFmax = 20 mA.
Valitaan ledin virta-arvoksi 50 % enimmäisvirta-arvosta 10 mA.
Lasketaan etuvastuksen resistanssi 12 V:n käyttöjännitteelle ja valitaan sopiva käytännön arvo E12-sarjasta:
RLED =
U − U LED
12 V–1,8 V
10,2 V
10,2 ⋅ 103 V
=
=
=
⋅
= 1020 Ω ⇒ 1 kΩ
–3
I LED
10 mA
10
A
10 ⋅ 10 A
Tulos: Etuvastuksen resistanssi on 1 kW ja tehonkesto 0,25 W.
Simulaatiokytkennästä ilmenee, että sähkölähteestä otettu teho PG on 122,8 mW ja
etuvastukseen lämmöksi muuttuva teho PD 104,8 mW.
Lasketaan ledille tulevan tehon suhde kulutettuun kokonaistehoon eli hyötysuhde h:
η =
PLED
P ⋅ PR
122,8 mW ⋅ 104,8 mW
⋅ 100 % = G
⋅ 100 % =
⋅ 100 % ≈ 15%
PG
PG
122,8 mW
Tulos: 15 %
Sähkönkäytön hyötysuhde on heikko. Ledi kuluttaa (merkkivalona) vähän virtaa,
mutta se ei ole näin ohjattuna energiataloudellinen.
E12-sarja
10
12
15
18
22
27
33
39
47
56
68
82
Yllä olevan esimerkin ledi ja sen
etuvastus
#Led_driver.cir
DIGITAALIELEKTROniikka
DE Luku 5.indd 89
89
20.4.2012 14.46
Sanastoa
jännitettä
pienentävä
step down, buck
jännitettä
suurentava
step up, boost
himmennin
dimmer
Ledilampun kytkeminen jännitelähteeseen tehdään usein erityisen ohjauspiirin, mikropiirin, avulla. Suureen hyötysuhteeseen (jopa yli 90 %) yltävä kytkentä perustuu hakkuritoimintaan
(esim. 500 kHz - 1 MHz kytkentätaajuus). Kyseessä voi olla jännitettä pienentävä tai sitä suurentava kytkentä. Himmennyksen
toteuttamiseen käytetään pulssinleveysmodulaatiota, PWM:ää.
Tällöin ledilamppuun menevää jännitettä säädetään muuttamalla suorakaideaaltomuotoisen jännitteen pulssisuhdetta (ylhäälläoloajan suhdetta alhaallaoloaikaan).
Seuraavassa esitellään muutamia valaisinledien ohjainpiirejä. Kyseisen mikropiirin lisäksi tarvitaan vain muutamia komponentteja, kuten kela, nopeatoiminen diodi sekä kondensaattoreita ja vastuksia.
Lediohjain 1
Ledin ohjain, CAT4240
TSOT-23-kotelossa
Lediohjaimen CAT4240 ominaisuuksia:
toimintatapa: jännitettä suurentava hakkuri
■■ tulojännitealue: 8 V - 16 V (ledeille)
■■ tulojännite: 5 V (ohjainpiirille)
■■ lähtöjännitealue: 38 V
■■ kuormitusvirta: 31,5 mA
■■ hyötysuhde: 94 %
■■ himmennintoiminto kytkettävissä, PWM 100 Hz - 2 kHz
■■ hakkurin kytkentätaajuus: 1 MHz
■■
Jännitettä suurentavan hakkuriteholähteen periaatepiirros
Sähköenergia varautuu kelaan
Shottky-diodi
Sähköenergia purkautuu kelasta
Jännitettä suurentavan hakkuriteholähteen toimintaperiaate
VL
L1
8V to
16 V
47 µH
VIN
5V
C1
C3
1 µF
D1
90
DE Luku 5.indd 90
1 µF/50 V
SW
CAT4240
SHDN
FB
GDN
ON/OFF-kytkintoiminto
CAT4240-lediohjaimen piirikaavio
C2
4.7 µF/16 V
VIN
VOUT
300 mA
(300 mV) R2
1 kΩ
R1
1Ω
ledien virtarajoitus:
300 mA @ 1 Ω
20 mA @ 15 Ω
Sekvenssipiirit
20.4.2012 14.46
kela, L
kytkintransistori, SW
diodi, D
VIN
D1 VOUT
SW
C2
C1
1MHz
Oscillator
Ref
300 mV
–
+
VIN
SHDN
Thermal
Shutdown
& UVLO
LED
Current
PWM Driver
&
Logic
+
–
Current
Sense
Over Voltage
Protection
+
–
Rs
GND
FB
R1
kuormitusvastus, RL
Lisätietoja saa piirin valmistajan datalehdeltä internetistä.
Ohjaimen lohkokaaviokuvassa esitetään piirin sisäisen kytkennän toiminta.
CAT4240-lediohjaimen
lohkokaavio katkoviivoitetulla alueella
S a nas toa
ledin ohjain
led driver
virtavahti
current sense
Lediohjain 2
ylijännitesuojaus
over voltage
protection
Lediohjaimen CAT4201 ominaisuuksia:
■■ toimintatapa: jännitettä pienentävä hakkuri
■■ tulojännitealue: 6,5 - 36 V
■■ lähtöjännitealue: 32 V
■■ kuormitusvirta: 350 mA
■■ hyötysuhde: 94 %
■■ himmennintoiminto kytkettävissä, PWM 100 Hz - 2 kHz
■■ hakkurin kytkentätaajuus: 1 MHz
alijännitesuojaus
undervoltage
lockout, UVLO
vertailu, referenssi reference, Ref
lämpösuojaus
thermal shutdown
kytkin
switch, SW
Seuraavalla sivulla oleva sovelluskytkentä syöttää kuutta sarjaan
kytkettyä lediä mutta niiden lukumäärä voisi olla pienempikin,
jopa vain yksi, sillä ledeille syötetään vakiovirtaa.
DIGITAALIELEKTROniikka
DE Luku 5.indd 91
91
20.4.2012 14.46
VBAT
R3
36V
2Ω
Shottky-diodi
C1
4.7 µF
R1
10 kΩ
Eräs CAT4201-piirin sovelluskytkentä
sekä käytännön piiri
Yksinkertaistettu malli
VBAT
CAT4240
RSET
D1
C2
2.2 µF
L
CTRL
SW
GDN
47 µH
300 mA
R2
1 kΩ
Virtarajoitus asetetaan vastuksen R1 avulla. Kuvan mukainen resistanssiarvo (10 kW) vastaa 300 mA:n virtarajoitusta ja
33 kW­rajoittaa virran 100 mA:ksi.
Kytkemällä kolme yllä olevaa kytkentää rinnakkain voidaan
tarvittaessa ohjata yhtä 1 A:n lediä. Lisätietoja piirin toiminnasta ja mitoituksista saa valmistajan datalehdeltä internetistä esimerkiksi hakusanalla ”CAT4201 data”.
Ledivalaisimia ei aina ole helppo tunnistaa pelkän komponenttilevyn perusteella. Kuvassa on yllä esitetyn piirikaavion
mukainen ledivalaisimen koekytkentä. Sen piirilevy on valmistettu jyrsimällä. Piirikaaviokuvasta poiketen siinä on vain yksi
1 A:n ledi. Sen jännitelähteenä on käytetty 9 V:n paristoa. Saavutettu valoteho on ollut hyvin voimakas, joten silmien suojaus on syytä muistaa.
Sähköenergia varautuu kelaan
Sähköenergia purkautuu kelasta
Jännitettä pienentävän hakkuriteholähteen toimintaperiaate
92
DE Luku 5.indd 92
Kuvassa on edellä olevan piirikaavion mukainen protokytkentä, jossa
kuuden ledin ryhmä on korvattu yhdellä teholedillä.
Sekvenssipiirit
20.4.2012 14.46
Lediohjain 3
Lediohjaimen NCP5005SNT1G ominaisuuksia:
toimintatapa: jännitettä suurentava hakkuri
■■ tulojännitealue: 2,7 V - 5,5 V
■■ lähtöjännitealue: 24 V
■■ kuormitusvirta: 50 mA
■■ hyötysuhde: 90 %
■■ himmennintoiminto kytkettävissä (EN), PWM
■■ kaikki liitinnastat ESD-suojattu
S a na s toa
■■
sallinta
enable, EN
takaisinkytkentä feedback, FB
Seuraava sovelluskytkentä voi syöttää 2 - 5 sarjaan kytkettyä
lediä. Niiden virransyöttö tapahtuu vakiovirtaperiaatteella.
PWM-pulssin syötön
mahdollisuus
VBAT
GND
VBAT
U1
4 EN
2
3
C1
VBAT 5
4.7 µF
L1
22 µH
GND
D1
VOUT 1
FB
R1
15 Ω
D6
D5
Shottky-diodi,
0,5 A, 30 V
MBRO530
NCP5005
GND
GND
C2
1.0 µF
D4
D3
D2
LWT67C LWT67C LWT67C LWT67C LWT67C
GND
NCP5005SNTIG-piirin sovelluskytkentä ja käytännön piiri
7-segmenttien (ledi) ohjaukset
7-segmenttinäytössä on seitsemän lediä (kahdeksan, jos mukana on desimaalipilkku). Niiden ohjaamiseksi tarvitaan ohjauspiiri, joka saa 7-segmentin ledit palamaan siten, että niistä
muodostuu haluttu numero. Samalla ledien läpi kulkeva virta
täytyy rajoittaa sopivan suuruiseksi.
a
f
g
e
b
c
d
7-segmenttinäytön segmenttien
­merkitseminen
DIGITAALIELEKTROniikka
DE Luku 5.indd 93
93
20.4.2012 14.46
3,8
b
a
7
6
c
4
d
e
2
1
f
g DP
9
10
5
7-segmenttinäytön piirikaavio
7-segmenttinäytön ohjauksen periaate
#7-segment_driving.cir
Lyh e n t ei tä
binary coded
decimal
BCD
decimal point
DP
dual in line
DIL
buffered
B
Yllä esitetyn 7-segmentin ohjaimen laajuus ei näy kokonaan piirroksessa, sillä siinä esitetään vain numeroiden 1, 2, 3 ja 4 muodostuminen. Käytännön kytkennässä, mikropiirissä, tulojen määrä on
karsittu neljään. On edullisempaa käyttää nelilankaista BCD-muodossa olevaa ohjausta kuin kymmenlankaista suoraa ohjausta. Lisäksi näytettävä numero saadaan laskinketjulta (neljältä kiikulta)
suoraan BCD-muodossa.
23 = 8
CD4511B
DIL16-kotelossa
22 = 4
21 = 2
7-segmenttinäytön ohjaus binäärikoodilla
20 = 1
#7-segment_driver.cir
CD4511B on 16-jalkainen BCD to 7-segment latch decoder
driver -piiri, johon syötetty binäärikoodattu luku muuttuu desimaaliluvuksi ja ohjautuu 7-segmenttinäytölle. Piirin tuloihin
ABCD syötetyn binääriluvun painoarvot esitetään piirikaaviossa, jolloin kytkinten S1-S4 muodostama binäärikoodi 0101
antaa luvun 5, sillä 0×23+1×22+0×21+1×20 = 0 + 4 +0 + 1 = 5.
LT on normaalisti ykkösessä, ja sen muuttaminen nollaan saa
aikaan testin, jolloin kaikki segmentit palavat (= numero 8). LE taas
on normaalisti nollassa, mikä mahdollistaa salpapiirin toiminnan.
94
DE Luku 5.indd 94
Sekvenssipiirit
20.4.2012 14.46
P r o j ek t i 3
7-segmenttien ohjauksen rakentaminen
Rakennetaan koekytkentälevylle vaiheittain
a) 7-segmentin ohjauskytkentä
b) BCD-kooderi ja
c) binääri/dekadi-muotoinen ylös/alas-laskuri.
nelikulmainen
Tutustu ensin tämän projektin lopussa esitettävään valmiiseen
tuotokseen ja aloita sen jälkeen koekytkentälevyn kalustaminen
vaiheittain. Siirry seuraavaan vaiheeseen vasta sen jälkeen, kun
olet testannut kokoamasi vaiheen ja todennut sen toimivuuden.
Osa- ja tarvikeluettelo:
■■ pala koekytkentälevyä, jossa on johtimet vaakasuunnassa
■■ yksinapaisia liittimiä (pinnejä), 2 kpl
■■ mikropiirikanta, DIL16, 2 kpl
■■ mikropiiri CD4511B, DIL16-kotelo, 1 kpl
■■ mikropiiri CD4029B, DIL16-kotelo, 1 kpl
■■ vastus, R1-R12, 1 kW, 0,25 W, 12 kpl
■■ 7-segmentti, CC, SA56-11EWA, 1 kpl
■■ ledi, D1-D4, Ø 3,0 mm, punainen, 4 kpl
■■ ledi, D5, Ø 3,0 mm, vihreä, 1 kpl
■■ ledi, D6, Ø 3,0 mm, keltainen, 1 kpl
■■ muovieristeistä kytkentälankaa
■■ tekstitetyt teipit
Esimerkissä käytetään SA56-11EWA-tyypin 7-segmenttiä,
joka on tyypiltään yhteiskatodi (sen ledien katodit on liitetty
yhteen). Kyseisen näytön piirikaavio ja kantakytkentä on esitetty alla.
pyöreä
Pinni
S a na stoa
dekooderi
decoder
ohjain
driver
lampputesti
lamp test, LT
tyhjennys
blanking, BL
salvan sallinta
latch enable, LE
vilkutus
strobe
yhteiskatodi
common cathode,
CC
yhteisanodi
common anode, CA
päältä nähtynä
top view
a) 7-segmentin ohjauskytkentä
Tutkitaan aluksi 7-segmentin toimintaa yleismittarin, tasajännitelähteen ja etuvastuksen avulla.
yhteiskatodi, CC
erilliset anodit
10
6
1
5
7-segmenttinäytön piirikaavio,
­kantakytkentä ja pinnijärjestys
päältä nähtynä
DIGITAALIELEKTROniikka
Sekvenssipiirit
DE Luku 5.indd 95
95
20.4.2012 14.46
Muistisääntö
1 kW:n vastus rajoittaa virran
suuruuden suunnilleen käyttöjännitteen lukuarvon mukaisiksi milliampeereiksi.
I =
U
R
[mA ]
=
7-segmentti muodostuu ledeistä, joten sen jokaiselle ledille
(segmentille) on asetettava ledin virtaa rajoittava vastus. Nyt
sen segmenttien järjestys ja napaisuus (CC tai CA) voidaan
tutkia tasajännitelähteen (5 V - 15 V) avulla, jolloin 1 kW:n
vastus rajoittaa virran noin 5 mA - 15 mA:n suuruiseksi.
[V]
[1 k W]
anodille
katodille
7-segmenttinäytön kantakytkennän ja
napaisuuden selvittäminen
Edellä esitetty tutkimus voidaan tehdä ilman tasajännitelähdettä ja sarjavastuksia, kun tasajännitelähteenä (ja virranrajoitusvastuksena) käytetään yleismittaria.
anodille
katodille
Yleismittarin käyttäminen
jännitelähteenä
96
DE Luku 5.indd 96
Sekvenssipiirit
Ohjaimet
20.4.2012 14.46
Yleismittarissa voi olla sellainen ohmialue (esim. dioditestaus),
jonka mittausjännite on suurempi kuin mitattavan 7-segmenttinäytön ledin kynnysjännite (esim. 2 V), jolloin mittaus aiheuttaa yksittäisen segmentin palamisen. Analogista yleismittaria
käytettäessä on muistettava, että sen napaisuus ”jännitelähteenä” on mittariin merkittyyn nähden vastakkainen.
Kokoa 7-segmentti ja sen tarvitsemat vastukset koekytkentälevylle. Lisää levylle jännitesyöttöliittimet ja merkkivalo etuvastuksineen. Tee piirikaaviota apuna käyttäen tarvittavat johdinkatkokset ja hyppylankaliitännät.
7-segmenttinäyttö
ja sen etuvastukset
tilavaraus laskimelle
+12 V
merkkivalo ja
sen etuvastus
pinni
GND
LochMaster-ohjelma
7-segmenttinäytön, etuvastusten
ja merkkivalon kytkentä
koekytkentälevyllä
Testaa kokoamasi kytkennän toimivuus!
b) BCD-dekooderi
BCD-dekooderin tuloihin syötetään neljä binäärilukua, joista
piiri muodostaa desimaaliluvun ja syöttää sen 7-segmenttinäytön segmenteille. BCD-kooderina käytetään tässä CD4511Bpiiriä. Piirin kantakytkennästä selviävät a) jännitesyöttö, jossa
VDD tulee plus-napaan ja VSS miinus-napaan, b) 7-segmenttinäytön segmenteille tulevat liitännät (a, b, c, d, e, f ja g), BCDtuloliitännät (A, B, C ja D), 7-segmentin kaikkien segment­tien
testaus­tulo (lampputesti, LT), numeron vilkutus (BL) ja sal­
paus (LE).
DIGITAALIELEKTROniikka
Sekvenssipiirit
DE Luku 5.indd 97
S a na stoa
kooderi, koodain coder
dekooderi,
koodin purkain
decoder
97
20.4.2012 14.46
1
16
VDD
C
2
15
f
LT
3
14
g
BL
4
13
a
CD4511B
CD4511B-dekooderin kantakytkentä ja
käytännön piiri
B
12
b
6
11
c
A
7
10
d
VSS
8
9
e
LE
5
D
merkki
9
8
16
1
Liitä DIL16-mikropiirikanta, CD4511B-piiri, ledit ja niiden etuvastukset koekytkentälevylle. Tee piirikaaviota apuna käyttäen
koekytkentälevyyn tarvittavat johdinkatkokset ja hyppylankaliitännät.
7-segmenttinäytön ja sen ohjauspiirin
piirikaavio
#BCD-decoder.cir
dekooderi ja
sen kanta
BCD-tulot
D
C
B
loveus
A
tilavaraus laskimelle
8
7-segmenttinäyttö ja sen ohjauspiiri
98
DE Luku 5.indd 98
4
2
1
binäärilukujen painoarvot
Sekvenssipiirit
Ohjaimet
20.4.2012 14.46
Testaa kokoamasi kytkennän toimivuus kytkemällä tulot:
LE = 0, LT = 1 ja BL = 1 ja syöttämällä BCD-tuloihin
binäärilukuja totuustaulun mukaisesti.
LE
BL
LT
D C B A
a b c d e f g
Näyttö
x
x
0
x x x x
1 1 1 1 1 1 1
8
x
0
1
x x x x
0 0 0 0 0 0 0
Blank
0
1
1
0 0 0 0
1 1 1 1 1 1 0
0
0
1
1
0 0 0 1
0 1 1 0 0 0 0
1
0
1
1
0 0 1 0
1 1 0 1 1 0 1
2
0
1
1
0 0 1 1
1 1 1 1 0 0 1
3
0
1
1
0 1 0 0
0 1 1 0 0 1 1
4
0
1
1
0 1 0 1
1 0 1 1 0 1 1
5
0
1
1
0 1 1 0
0 0 1 1 1 1 1
6
0
1
1
0 1 1 1
1 1 1 0 0 0 0
7
0
1
1
1 0 0 0
1 1 1 1 1 1 1
8
0
1
1
1 0 0 1
1 1 1 0 0 1 1
9
c) Binääri/dekadi-muotoinen ylös/alas-laskuri.
Tämä laskinpiiri on toiminnoiltaan varsin monipuolinen. Periaatteessa sen rakenne on kuitenkin yksinkertainen: siinä on
vain neljä kiikkua. Peräkkäin kytkettyinä kiikut jakavat sisään
tulevan kellopulssin taajuuden kuudellatoista (24 = 16), jolloin
laskin toimii binäärilaskurina (00002-11112). Tämä toiminto on
luettavissa laskimen lähtöön tulevista neljästä ledistä. Ulkoisella ohjauksella (binary/decade) sisäistä kytkentää voidaan muuttaa siten, että laskin toimii dekadilaskimena (0-9), mikä näkyy
ledien lisäksi myös 7-segmenttinäytössä. Laskinpiirissä on up/
down-tulo, jolla sen toiminta voidaan muuttaa alhaalta ylöspäin
laskennan sijaan ylhäältä alaspäin laskentaan. Jam-tulojen (J1–
J4) avulla laskin voidaan asettaa nollan sijasta johonkin toiseen
haluttuun alkuarvoon.
DIGITAALIELEKTROniikka
Sekvenssipiirit
DE Luku 5.indd 99
Totuustaulusta esitetään tässä vain
alkuosa (DCBA) 0000BIN - 0101BIN sillä
näillä yhdistelmillä voidaan tuottaa
desimaaliluvut 0-9. Tulotilat 1010BIN1111BIN eivät tuota näyttöön mitään
(Blank).
S a na s toa
esiaseteltava
presettable
laskuri
counter
muistinumero
carry
alkuasetus
jam
99
20.4.2012 14.46
1
16
VDD
Q4
2
15
CLOCK
J4
3
14
Q3
J1
4
13
J3
CARRY IN
5
12
J2
Q1
6
11
Q2
CARRY OUT
7
10
UP/DOWN
VSS
8
9
BINARY/DECADE
CD4029B
CD4029B-laskinpiirin kantakytkentä ja
käytännön piiri
merkki
PRESET/ENABLE
9
8
16
1
Liitä vielä toinen DIL16-mikropiirikanta ja CD4029B-piiri koekytkentälevylle. Tee piirikaaviota apuna käyttäen koekytkentälevyyn tarvittavat johdinkatkokset ja hyppylankaliitännät.
Ylös/alas-laskurin piirikaavio
Ylös/alas-laskuri rakennettuna
koekytkentälevylle
100
Sekvenssipiirit
Ohjaimet
DE Luku 5.indd 100
20.4.2012 14.46
Oskilloskooppikuvista ilmenee, miten dekadilaskimeksi kytketyn
laskinpiirin signaalien aaltomuodot poikkeavat binäärilaskimeksi
kytketyn laskimen aaltomuodoista.
Nelikanavaisen oskilloskoopin signaalikuvat CD4029B-dekadilaskimen
pisteistä a) clk, b) Q2, c) Q3 ja d) Q4.
D-kanavalla mitatun laskimen Q4-lähtösignaali on epäsymmetrinen. Sen ylhäälläoloaika vastaa kahta A-kanavan kellopulssia ja alhaallaoloaika kahdeksaa kellopulssia. Koko pulssin pituuteen mahtuu 10 kellopulssia.
Nelikanavaisen oskilloskoopin
signaalikuvat CD4029Bbinäärilaskimen pisteistä
a) clk, b) Q2, c) Q3 ja d) Q4.
D-kanavalla mitatun laskimen Q4-lähtösignaali on symmetrinen.
Sen ylhäälläoloaika vastaa kahdeksaa A-kanavan kellopulssia ja
alhaallaoloaika myös kahdeksaa kellopulssia. Koko pulssin pituuteen
mahtuu 16 kellopulssia.
Testaa kokoamasi laskurin toimivuus:
1. Laskeeko laskuri kellopulsseja alhaalta ylöspäin?
2. Laskeeko laskuri kellopulsseja ylhäältä alaspäin?
3. Täsmäävätkö ledien binääriluku ja 7-segmentin desimaaliluku?
DIGITAALIELEKTROniikka
Sekvenssipiirit
DE Luku 5.indd 101
101
20.4.2012 14.47
tehtäviä
Mikro-ohjainten muistit s. 198
1
Mikro-ohjaimissa on kolmentyyppistä
muistia: ohjelma-, data- ja käyttömuistia.
Mitä muistitekniikoita näihin muisteihin
käytetään? Mainitse ainakin yksi etu ja
haitta kustakin muistitekniikasta.
Digitaaliset tulo-ja lähtöportit s. 200
2
AD-muunnin s. 207
6
Mitä eroa on tavallisella ja open-draintyyppisellä lähdöllä? Voiko tavallista
mikro-ohjaimen lähtöä käyttää kuten
open-drain-lähtöä?
JTAG-kappaleessa mainittiin lyhenteet
CPLD ja FPGA. Mistä nämä lyhenteet
tulevat ja miten JTAG liittyy niihin?
7
4
Kuvaile, miten mittaisit taajuutta ajastimen avulla?
Komparaattori s. 206
5
Kerro lyhyesti, mikä on komparaattori.
Anna esimerkki komparaattorin käyttökohteesta.
Monet mikro-ohjaimet pystyvät tuottamaan PWM-signaalia suoraan sisäisten
oheislaitelohkojensa avulla. Miksi
kuitenkin 20 MHz:n taajuudella toimivan
AVR-piirin PWM-signaalin taajuus jää alle
20 kHz:n, kun tuotetun signaalin resoluutio on kymmenen bittiä?
Sarjaportti s. 212
8
Ajastimet s. 203
AD-muuntimien datalehdissä on usein
mainittu termit INL ja DNL. Mitä nämä
termit tarkoittavat? Onko laadukkailla
AD-muuntimilla suuret vai pienet INL- /
DNL-arvot?
PWM s. 209
JTAG, ohjelmointi- ja testiliityntä s. 202
3
234
Aiemmin kirjassa esiteltiin esimerkki piirin
ATmega324p sarjaportin alustamiseksi
asetuksin 38400 bps, 8 databittiä, 1 stop
bitti, ei pariteettibittiä. Mitä esimerkissä
pitäisi muuttaa, jotta sarjaportti alustuisi
asetuksin 9600 bps, 7 databittiä, 1 stop
bitti, ”Even”-pariteetti?
Sarjamuotoiset oheislaiteliitynnät s. 214
9
Etsi internetistä viisi esimerkkiä SPI-, I2Ctai 1-Wire-väylää käyttävistä sarjamuotoisista oheislaitteista, joita ei ole esitelty
kirjassa.
MIKRO-OHJAIMET
DE Luku 9 JN.indd 234
19.4.2012 13.24
Kirjassa käytettyjä C-kielen ohjelmakäskyjä
unsigned
Muuttujatyypin eteen kirjattava lisämääre, jolla määritellään muuttuja etumerkittömäksi
(esim. unsigned char). Vastaavasti avainsanalla ”signed” muuttujatyyppi voidaan määritellä
etumerkilliseksi, jolloin se voi saada myös negatiivisia arvoja.
char
Muuttujatyyppi, jota käytetään merkkien, kuten ’s’, ’e’ tai ’A’, tallentamiseen. ”Char”-tyypin
muuttuja voidaan tulkita myös kokonaislukuna, jolloin sen arvoalue on 0..255 (etumerkitön)
tai –128..127 (etumerkillinen).
if, else if ja else
Näiden ohjelmakäskyjen avulla ohjelmaan saadaan muodostettua ehdollisia haarautumia,
joissa sama ohjelma saadaan suorittamaan eri toimintoja ehtolauseessa ilmaistun ehdon
mukaisesti. Esimerkiksi käsky ”if(i==3) a++;” kasvattaa muuttujan ”a” arvoa yhdellä vain, jos
muuttujan ”i” arvo on 3. Jos haaraumaan halutaan useampia komentoja, ne kaikki kirjoitetaan
{aaltosulkuparin} sisään.
while
Tämän ohjelmakäskyn avulla useita kertoja peräkkäin toistettava toiminnallisuus voidaan
esittää lyhyessä ja helposti luettavassa muodossa. Esimerkiksi käsky while(i<=5) toistaa
sen jälkeen {aaltosulkuihin} kirjoitettua ohjelmaa niin kauan, kunnes muuttujan i arvo on
suurempi kuin 5.
for
”For”-käsky on ”while”-käskyn tapaan silmukointikomento. Tässä käskyssä voidaan ehdon
lisäksi antaa myös toteutusosa, joka suoritetaan jokaisella toistokerralla, ja alustusosa, joka
suoritetaan vain kerran ennen ensimmäistä toistoa. Esimerkiksi lause for(i=0;i<=5;i++) alustaa
ensin muuttujan i arvoon 0, toistaa käskyn jälkeen {aaltosulkuihin} kirjattua ohjelmaa, kunnes
muuttujan i arvo on suurempi kuin 5 ja kasvattaa jokaisen toiston aikana muuttujan i arvoa
yhdellä.
_delay_ms(...)
Tämä on esimerkki funktiokutsusta, jolla kutsutaan joko käyttäjän määrittelemää tai
kirjastosta ladattavaa funktiota. Funktiolle annettavat argumentit kirjataan heti funktion
nimen perässä olevien sulkujen sisään.
main()
”Main()” on käyttäjän määrittelemä funktio. Muista funktioista poiketen sitä ei kuitenkaan
kutsuta mistään, vaan mikro-ohjaimen ohjelman suoritus lähtee tavallisesti ”main”funktiosta. Tyypillisesti mikro-ohjaimen ohjelman ”main”-funktiosta löytyy myös loputtomiin
suoritettava silmukka, jossa toteutetaan suurin osa ohjelman toiminnoista.
#include
Ohjelmoinnissa käytetään usein hyödyksi aiemmin ohjelmoituja valmiita funktioita, jotka
on tavallisesti sisällytetty erityisiin kirjastoihin. Näiden kirjastojen sisällyttäminen osaksi
ohjelmaa tapahtuu ”include”-käskyn avulla.
asm(...)
Toisinaan C-kielisestä ohjelmasta halutaan kutsua myös assembly-kielen käskyjä. Tämä
käytäntö vaihtelee hieman eri kääntäjien välillä. Tämän kirjan ohjelmaesimerkeissä käytetyssä
kääntäjässä (WinAVR) nämä kutsut tapahtuvat ”asm”-funktion avulla.
ISR(...)
Tämän kirjan ohjelmaesimerkeissä käytetty kääntäjä (WinAVR) käyttää tätä funktiota
keskeytysrutiinien määrittämiseen. Funktion argumentilla määritellään, mikä keskeytysrutiini
on kyseessä.
DIGITAALIELEKTRONIIKKA
DE Luku 9 JN.indd 235
235
19.4.2012 13.24