TIES530 TIES530. A/D-muuntimet. Mikrokontrollerit - arkkitehtuuri. Mikrokontrollerit - arkkitehtuuri. A/D- ja D/A-muuntimet



Samankaltaiset tiedostot
Piirien väliset ohjaus- ja tiedonsiirtoväylät H. Honkanen

6. Analogisen signaalin liittäminen mikroprosessoriin Näytteenotto analogisesta signaalista DA-muuntimet 4

Kontrollerin tehonsäätö

Signaalien datamuunnokset. Näytteenotto ja pito -piirit

Successive approximation AD-muunnin

ELEC-A4010 Sähköpaja Arduinon väylät tutuiksi

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

7.3. Oheisrautaa. DS

Signaalien datamuunnokset

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

ELEC-C5070 Elektroniikkapaja (5 op)

A/D-muuntimia. Flash ADC

A / D - MUUNTIMET. 2 Bittimäärä 1. tai. A / D muunnin, A/D converter, ADC, ( Analog to Digital Converter )

MUISTIPIIRIT H. Honkanen

Tehtävä 2: Tietoliikenneprotokolla

Flash AD-muunnin. suurin kaistanleveys muista muuntimista (gigahertsejä) pieni resoluutio (max 8) kalliita

Projektityöt. Sami Alaiso, Jyri Lujanen 30. marraskuuta 2009

Flash AD-muunnin. Ominaisuudet. +nopea -> voidaan käyttää korkeataajuuksisen signaalin muuntamiseen (GHz) +yksinkertainen

Arduino. Kimmo Silvonen (X)

Muuntavat analogisen signaalin digitaaliseksi Vertaa sisääntulevaa signaalia referenssijännitteeseen Sarja- tai rinnakkaismuotoinen Tyypilliset

Mikrokontrollerit. Mikrokontrolleri

CLPD ja FPGA piirien arkkitehtuuri ja ominaisuudet

SPI-VÄYLÄN TOTEUTUS FPGA-PIIRILLE

A15 - Inertial Measurement Unit

LABORATORIOTYÖ 2 A/D-MUUNNOS

S Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010

LABORATORIOTYÖ 2 A/D-MUUNNOS

BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut

6.2. AVR_rauta. Analogia-komparaattori-ohjelmointia , pva

ELEC-C5070 Elektroniikkapaja (5 op)

Kuva maailmasta Pakettiverkot (Luento 1)

AS automaatio- ja systeemitekniikan projektityöt

6.1. AVR_rauta. ADC-ohjelmointi pva, kuvat jma

HARJOITUSTYÖ: LabVIEW, Liiketunnistin

KÄYTTÖOHJE. M2M Point - to - Point

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Anturit ja Arduino. ELEC-A4010 Sähköpaja Tomi Pulli Signaalinkäsittelyn ja akustiikan laitos Mittaustekniikka

KÄYTTÖOHJE TEHR LU / TEHR-M

Ohjelmistoradio. Mikä se on:

S Elektroniikan häiriökysymykset. Laboratoriotyö 1

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

Arduino. Kimmo Silvonen (X)

Tekniikka ja liikenne (5) Tietoliikennetekniikan laboratorio

Opinnäytetyö. Äänisignaalin ohjausjärjestelmä. Sampsa Salo

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

Tämä on PicoLog Windows ohjelman suomenkielinen pikaohje.

Avoimen luukun varoitussanomat. Toiminto

Esimerkkitentin ratkaisut ja arvostelu

ELEC-C5070 Elektroniikkapaja (5 op)

P I C A X E O H J E L M O I N T I

Uuden kulunvalvonnan tuotteet

11. kierros. 1. Lähipäivä

DC-moottorin pyörimisnopeuden mittaaminen back-emf-menetelmällä

I 2 C-VÄYLÄ: OMINAISUUDET JA MITTAUKSET

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Jatkuva kierrosluvun rajoitus

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS

YLEISTÄ ALOITUS. Laitteen kuvaus. Näytön kuvaus. Laitteen käynnistäminen ja sammuttaminen UP = YLÖS DOWN = ALAS BACK = TAKAISIN

Nokeval No Käyttöohje. Tekstinäyttö 580-ALF

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin

Vapaa-asennon automaattikytkentä

PM10OUT2A-kortti. Ohje

TIES530 - Sulautettujen järjestelmien arkkitehtuurit. Jukka Ihalainen, Tietoliikennelaboratorio,

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Sulautetut järjestelmät

Electronisen nopeus ja matkamittarin kalibrointi laite huippunopeus muistilla.

Korotettu joutokäynti

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

SUPIKOIRA-projekti. Tommi Berg Eero Alkkiomäki. (Tero Huttunen, Sami Kiiskilä, Ossi Mäkinen, Ilpo Suominen, Mikko Suominen, Asser Vuola)

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

Käyttäjän käsikirja WTN radiomajakka. Version: FIN180427

Nopea tiedonkeruulaitteisto radiokanavamittauksiin

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

Arduino. Kimmo Silvonen (X)

LANGATTOMAN LIIKEMITTAUKSEN KEHITTÄMINEN

GSM OHJAIN FF KÄYTTÖOHJE PLC MAX S03

PAVIRO End Of Line Slave Module

Jännitelähteet ja regulaattorit

Digitaalitekniikka (piirit) Luku 15 Sivu 1 (17) Salvat ja kiikut 1D C1 C1 1T 1J C1 1K S R

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

ETT harjoitustyö: Sovitin 1-Wire-väylään

P89LPC935-MIKROKONTROLLERIN OMINAISUUDET JA KÄYTTÖ

9.6 Kannettava testilaite

Sekvenssipiirin tilat

Käyttäjän opas Kaukosäädin Invest Living ROOM 5

Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä

Ulkoiset laitteet. Käyttöopas

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

Työasema- ja palvelinarkkitehtuurit IC Tallennusjärjestelmät. Tallennusjärjestelmät. 5 opintopistettä.

Pulssilaskuri ja I/O-konvertteri. Käyttöohje Versio 1.2

Arto Salminen,

Tiedonkeruu ja analysointi

Toimintaperiaate: 2. Kytke virta vastaanottimeen käyttämällä virtalaitetta, jossa on merkintä "horsealarm receiver only".

Nokeval Oy. Käyttöohje 7181

NiMH Laturi. Suunnittelu Olli Haikarainen

Ulkoiset laitteet Käyttöopas

Virheen kasautumislaki

KÄYTTÖOHJE PEL 1000 / PEL 1000-M

Ulkoiset laitteet. Asiakirjan osanumero: Tässä oppaassa kerrotaan lisävarusteina saatavien ulkoisten laitteiden käytöstä.

Transkriptio:

A/D-muuntimet A/D- ja D/A-muuntimet Mikäli mikroprosessorissa halutaan käyttää analogista jännitetietoa, signaali on vietävä ensin A/D-muuntimelle, joka muuttaa sen digitaaliseen muotoon. D/Amuuntimella tehdään sama käänteisessä järjestyksessä. A/D-muuntimen käyttö on tarpeen liitettäessä esimerkiksi analogisia antureita järjestelmään ja aina käsiteltäessä analogisia signaaleja DSP-prosessorilla. A/D-muunnin löytyy nykyisin monista mikrokontrollereista valmiiksi piiriin integroituna. Vaikkakaan se ei kuulu perus-8051:een, niin esimerkiksi AVRperheen piireistä se monesti löytyy. Piirin sisään integroiduissa A/D-muuntimissa on eroja ja valintakriteereinä ovat ainakin Kanavien lukumäärä A/D-muunnoksen nopeus Monellako bitillä muunnos tehdään (resoluutio)

A/D- ja D/A-muuntimet Kanavien lukumäärä Vaikka piirissä olisi vain yksi A/D-muunnin, muunnos voidaan tehdä kuitenkin usealle kanavalle (tulolle) käyttämällä multipleksointia. Siinä A/D-muuntimelle kytketään yksi kanava kerrallaan ja analoginen signaali tallennetaan pitopiiriin (sample and hold). A/D- ja D/A-muuntimet A/D-muunnoksen nopeus Muunnos vie aina aikaa. Tyypillisesti aika lasketaan mikrosekunneissa. (Esim. ATMega128: 13-260 µs ) Resoluutio Mitä useammalla bitillä mittauksen tulos voidaan ilmoittaa, sitä tarkempi tieto signaalista on käytettävissä. Esimerkiksi 10-bittinen muunnin jakaa signaalin 1024 eri tasoon. Verrattuna esim. 8-bittiseen muunnokseen päästään nelinkertaiseen tarkkuuteen. Kohinaisissa mittauksissa virheitä keskiarvoistus. A/D- ja D/A-muunnoksessa on aina kyse suhteellisesta arvosta. V V in fullscale X 2 1 = n

A/D- ja D/A-muuntimet Referenssijännite Referenssijännite (vertailujännite) on maksimiarvo, jonne A/D-muunnos ulottuu. Esim. 10-bittisellä muuntimella referenssijännite 3.6V tuottaa jokaisen askeleen suuruudeksi Vertailujännite 3.6V = = 3.52mV 2 10 1024 A/D-muuntimen tarkkuus ei voi suurempi kuin referenssijännitteen tarkkuus. Esimerkiksi zenerillä vakioidun referenssijännitteen tarkkuus = zener-diodin toleranssi. Monesti kontrollerissa voidaan valita käytetäänkö vertailujännitteenä käyttöjännitettä vai piirin ulkopuolista vertailujännitettä. A/D- ja D/A-muuntimet Esimerkki 10-bittisellä A/D-muuntimella referenssijännitteenä käytetään 5V:n käyttöjännitettä. Muuntimelle tuotu 3V:n jännitetaso muunnetaan digitaaliseksi lukuarvoksi Tulojännite Vertailujännite 3V * 2 10 = *1024 614 D = 266 5V H Käyttöjännitteen tarkkuus vaikuttaa tässäkin laskettuun muunnosarvoon. A/D-muunnin ei ole ideaalinen vaan muunnoksessa yleensä mukana lineaarisuusvirhettä.

Esimerkkinä ATMega128:n A/Dmuunnin 10-bittinen muunnin 15 000 näytettä sekunnissa 8 analogista kanavaa Muunnosnopeus säädettävissä esijakajalla. Karkeampi muunnos nopeammin. Esimerkkinä ATMega128:n A/D-muunnin ADC Control and Status Register ADCSR ADC Multiplexer Select Register ADMUX ADC Data Register ADCL and ADCH

Esimerkkinä ATMega128:n A/D-muunnin Esimerkkinä 8051-piirimuunnos AT89C51SND1C / A/D-muunnin MP3-soittimiin tarkoitettu suoritin, johon integroituna mm. 10-bittinen A/Dmuunnin. Piiri on Atmelin valmistama AT89C51SND1C.

PWM Pulse Width Modulation PWM Pulssinleveysmodulaatiossa informaatio on koodattu pulssin leveyteen, joka voi olla 0 100 % jakson ajasta (pulssisuhde). Mikrokontrollerilla ohjattuja pulssisuhdevaihtoehtoja on rajallinen määrä. Mahdollisten pulssisuhteiden lukumäärä = resoluutio. Pulssinleveysmodulaatiolla voidaan tuottaa myös edullinen D/A-muunnos, kun kovin suuri tarkkuus ei ole tärkeää. Pulssia voidaan esim. suodattaa hitaalla RCpiirillä ja käyttää esim. valojen himmentimissä. Pulssinleveysmodulaatiolla voidaan myös ohjata esim. tasavirtamoottoria, joka hitautensa vuoksi ei pysty reagoimaan pulsseihin nopeasti. Kuvissa on esimerkki 30% ja 90% pulssisuhteista moduloidussa signaalissa.

PWM Esimerkkinä Atmelin AtMega128:n PWM PWM Esimerkkinä H8S/2600-sarjan PWM: lohkokaavio

PWM Esimerkkinä H8S/2600-sarjan PWM: pulssikaaviot Watchdog

Watchdog Watchdog on yleinen kontrollereihin valmiiksi integroitu piiri, jolla voidaan varmistaa se, ettei ohjelman suoritus jää jumiin. Sulautettujen järjestelmien ohjelmisto on tyypillisesti jokin sekvenssi, jota ajetaan ikuisessa silmukassa. Käytettäessä watchdog:ia silmukassa käydään normaalisti päivittämässä watchdog:in rekisteriä. Jos ohjelma kuitenkin jostain syystä juuttuu jonnekin eikä watchdog tule päivitettyä, se hoitaa automaattisesti ohjelman resetoinnin ja ohjelman suoritus alkaa alusta. Watchdog muodostuu esim. kellopulsseja laskevasta laskurista. Mikäli laskuri pyörähtää ympäri, suoritetaan piirin resetointi. Yleensä laskurin laskentanopeutta voidaan säädellä konfiguroimalla watchdogin rekistereitä (esijakaja), jolloin päästään haluttuihin viiveisiin. Yleensä kuitenkaan ei voida käyttää monen sekunnin viiveitä, vaan tyypillisesti Watchdogin toimintaaika on maksimissaan joitakin satoja millisekunteja. Watchdog on erityisen tärkeää niissä soveluksissa, joissa laitteen toiminta on pystyttävä takaamaan aina luotettavasti. Samoin jos laite altistuu sähköhäiriöille, tai käyttäjä ei voi huolehtia laitteen toimintakunnosta. Esimerkkinä CC2430:n watchdog Pseudokoodi: select watchdog mode enable watchdog timer (= set WDCTL.EN) while (1) //clear watchdog timer write 0xA0 into WDCTL register write 0x50 into WDCTL register end

Reaaliaikakello Reaaliaikakello Monesti sulautetuissakin järjestelmissä tarvitaan jonkinlaista aikalaskuria. Kellon ja kalenterin voi toteuttaa ohjelmallisestikin, mikäli laite saa sähkökatkon jälkeen oikean kellonajan ulkopuolelta. Mikäli laite toimii yksinään, on reaaliaikakello toteutettava kovossa. Tämä edellyttää katkeamatonta virransyöttöä silloinkin, kun laite muutoin ehkä ei ole toiminnassa. Reaaliaikakellon jännitelähteenä on yleensä paristo tai akku. Jopa kondensaattoria voidaan käyttää, koska reaaliaikakello kuluttaa äärimmäisen vähän virtaa. Reaaliaikakello sisältää kideoskillaattorin ja useamman peräkkäisen laskurin, joilla ajan kulumista seurataan. Tyypillisiä käyttökohteita reaaliaikakellolle ovat erilaiset kulutuselektroniikan laitteet ja kiinteistön valvontaan liittyvät järjestelmät. Seuraavassa kuvassa on esitetty periaatteellinen rakenne. Ulkoiset liitännät ovat kiteelle ja jännitelähteelle ja sisäisiin rekistereihin päivitetään kellon ja päivyrin tietoja. Lisäksi käytettävissä voi olla oma pieni SRAM-muistialue kuvan mukaan.

Reaaliaikakello Kuva: Jari Koskinen, Mikrotietokonetekniikka Sulautetut Järjestelmät. Tiedonsiirtoväylistä

Tiedonsiirtoväylistä Kontrollerin sisällä tietoa siirretään yleensä rinnakkaismuodossa. Samoin, kun etäisyys liitäntäpiirille on hyvin lyhyt (esim. ulkoiset muistit). Usein mikrokontrolleriin liitetään kuitenkin oheispiirejä myös erilaisten sarjaliikenneprotokollien avulla. Jo käsitellyn UART:n lisäksi yleisimpiä menetelmiä ovat SPI, I2C, 1-wire,CAN. Sarjaliikennöinnin etuna on vähäisempi liitäntälinjojen määrä. Väyläratkaisut ovat talaudellisia, jos monen laitteen on kommunikoitava toistensa kanssa. I2C-väylä (Inter-Integrated Circuit bus) Melko yleinen liitäntä kontrollereissa. Philips Semiconductors kehitti I2C-väylän 1980-luvun alussa. I2C on tarkoitettu alun perin liittämään oheislaitteita mikro-ohjaimeen TVvastaanottimissa. Käytetään myös nimityksiä IIC ja I²C. Käytetään liittämään komponentteja, kuten näyttö, näppäimistö, muistit ym. kontrolleriin. I2C-väylällä voidaan helposti liittää erillisiä yksiköitä toisiinsa ja väylästä voidaan tarvittaessa myös poistaa yksiköitä. Järjestelmästä tulee helposti laajennettava ja kaksijohtimisena se on edullinen ja helppo väyläratkaisu. Liitettävät yksiköt eivät ole myöskään riippuvaisia kontrolleritoteutuksesta. Vianhakua ja testausta voidaan tehdä lohko kerrallaan. Esimerkkinä TV-vastaanottimen muutaman merkin näyttö ja näppäimistö voi olla I2C-väylän kautta kiinni kontrollerissa, joka sijaitsee eri piirilevyllä.

I2C-väylä (Inter-Integrated Circuit bus) I2C-väylä soveltuu hyvin 8-bittisten mikro-ohjainten kommunikointiväyläksi, koska tieto väylällä siirtyy 8-bittisenä. Tiedonsiirtonopeus on 100 Kb/s (normaali moodi) tai 400 Kb/s (nopea moodi). Väylällä voi olla kahdenlaisia laitteita, master- ja slave-laitteita. Master voi aloittaa tiedonsiirron, slave ei. Molemmat voivat kuitenkin sekä lähettää että vastaanottaa dataa. Väylällä on törmäyksien tunnistus (collision detection), siltä varalta että useampi laite yrittää lähettää samanaikaisesti. Jokaisella I2C-väylään liittyvällä laitteella täytyy olla oma yksikäsitteinen osoitteensa. Osoiteavaruus on yleensä 7-bittinen (joskus 10-bittinen). Sähköisesti väylään liitettäville laitteille on määrätty suurin mahdollinen kuormituskapasitanssi 400 pf. Sinänsä liitettävien oheislaitteiden valmistustekniikkaa ei ole rajoitettu. I2C-väylä (Inter-Integrated Circuit bus)

I2C-väylä (Inter-Integrated Circuit bus) Piirien kytkeytyminen I2C-väylään: Sekä SDA- että SCL-linjat on kytketty positiiviseen jännitteeseen. Kun väylä on vapaa, linjat ovat ylätilassa, mutta jos jokin lähtö menee alatilaan, se vetää koko linjan alatilaan. I2C-väylä (Inter-Integrated Circuit bus) I2C Väyläprotokolla I2C on synkroninen kaksisuuntainen väylä, joka koostuu maatason lisäksi signaaleista SDA (Serial Data Line) kaksisuuntainen linja dataa varten SCL (Serial Clock Line) kaksisuuntainen linja tahdistusta varten Kaikilla väylään liitetyillä laitteilla on oma osoitteensa ja jokainen laitteista voi periaatteessa toimia lähettävänä ja vastaanottavana osapuolena. I2C-väylässä voi olla yhtä aikaa monta master-laitetta (multi-master bus) ja vain master-laitteet voivat aloittaa kommunikoinnin. Tiedonsiirto Tiedonsiirto aloitetaan niin, että Master-laite käynnistää lähetyksen STARTehdolla. Tämän jälkeen väylä on varattu aina siihen saakka kunnes Master-laite lähettää STOP-ehdon. START-ehdon jälkeen Master lähettää 7-bittisen Slave-osoitteen ja yhden tiedonsiirron suuntaa ilmoittavan bitin kuvan mukaan. Jos tiedonsuuntabitti on nolla, tieto Masterista Slave-laitteelle, ykkösbitillä Slave-laitteesta Masterille. Osoitettu Slave vastaa kuittauksella.

I2C-väylä (Inter-Integrated Circuit bus) START-ehto: SCL-linja ylätilassa ja SDA-linja alatilaan. STOP-ehto: SCL-linja ylätilassa ja SDA-linja ylätilaan. Vapauttaa aina väylän. SCL-linjalla tahdistetaan tiedonsiirto siten, että SDA-linjan tila voi vaihtua ainoastaan silloin, kun SCL alhaalla. I2C-väylä (Inter-Integrated Circuit bus) Tieto siirretään 8 bitin lohkoina MSB-bitti ensin. Datan vastaanottaja kuittaa jokaisen vastaanotetun paketin ja voi tarvittaessa pysäyttää tiedonsiirron hetkeksi vetämällä SCL-linjan alatilaan. Lähetettyään yhden datapaketin Master-laite vetään SDA-linjan ylös ja kuittaava laite vetää SDA-linjan alas. I2C-laitteiden 7-bittiset osoitteet ovat yleensä osittain käyttäjän määriteltävissä (alimmat bitit). Väylällä on mahdollista lähettää myös yleislähetyksiä (general).

I2C-väylä (Inter-Integrated Circuit bus) Kuittaus I2C-väylällä SPI (Serial peripheral interface) SPI on Motorolan kehittelemä nopea kaksisuuntainen synkroninen tiedonsiirtoväylä master ja slave-laitteen välillä. De facto standardi. Master-laite määrittelee tiedonsiirtoparametrit. Siinä ei eri oheislaitteita erotella osoitteen perusteella vaan käytetään slave select piirinvalintanastaa (chip select). Näitä linjoja tarvitaan mikrokontrollerilla yhtä paljon kuin on SPI:tä käyttäviä oheiskomponentteja. Koska osoitetietoja ei tarvitse siirtää, ei tiedonsiirtokapasiteettia kulu overheadiin. SPI-väylän nopeutta ja muita tiedonsiirtoparametreja voidaan yleensä konfiguroida kontrollerilla. Käytetään tyypillisesti oheispiirien liittämiseen kontrolleriin. Suoraan SPI-liitäntään sopivia I/O- ja muistipiirejä on saatavissa. Samoin useat A/D- ja D/A-muuntimet soveltuvat liitettäviksi siihen. Liitäntää voidaan käyttää myös normaalien siirtorekisterien kanssa I/O liitäntöjen laajentamiseen. Se soveltuu hyvin myös kontrollereiden väliseen liikennöintiin.

SPI (Serial peripheral interface) SPI-väylän tiedonsiirrosta huolehtii neljä signaalia. SCLK Serial Clock (output from master) MOSI Master Output, Slave Input (output from master) MISO Master Input, Slave Output (output from slave) SS Slave Select (aktiivinen alhaalla, output from master) SPI-väylällä on aina yksi master-laite ja vähintään yksi slave-laite. Tiedonsiirto oheislaitteen kanssa aloitetaan pakottamalla SS-linja alas. SPI (Serial peripheral interface) Parametreilla CPOL (clock polarity) ja CPHA (clock phase) määritellään tiedonsiirtoa tahdistavat pulssien reunat. Kommunikoinnissa täytyy huolehtia, että asetukset ovat masterilla ja slave-laitteella samat ja tarvittaessa muuttaa ne samoiksi. SPI Mode CPOL CPHA Shift SCK edge Capture SCK edge 0 0 0 Falling Rising 1 0 1 Rising Falling 2 1 0 Rising Falling 3 1 1 Falling Rising Table: SPI Mode configuration

SPI (Serial peripheral interface) Esimerkkinä ATMega128:n SPI Liikennöinti masterin ja slave-laitteen välillä SPI (Serial peripheral interface) Esimerkkinä ATMega128:n SPI SPI-tiedonsiirto koostuu kahdesta siirtorekisteristä ja masterin generoimasta kellosignaalista. Tiedonsiirto alkaa, kun master pakottaa valitun piirin Slave Select SS-linjan alas. Tietoa siirretään masterilta slave-laitteelle MOSI-linjalla ja slave-laitteelta masterille MISO-linjalla. Jokainen datapaketin siirto lopetetaan nostamalla SS-linja takaisin ylös. Ohjelmoijan on huolehdittava SS-linjan tilan muutoksista. Kun oheiskomponentti on valittu, tiedonsiirto aloitetaan kirjoittamalla data SPI:n data rekisteriin. Tällöin kellosignaali käynnistyy ja tieto siirretään slave-laitteen SPI-siirtorekisteriin. Kun tavu on siirretty, kellosignaali loppuu ja tieto tästä tulee lippurekisteriin ja haluttaessa tästä voidaan saada myös keskeytystieto. Riippuen konfiguroinnista tiedonsiirtoa voidaan nyt jatkaa tai se voidaan keskeyttää nostamalla SS-linja ylös. Slave-laitteen SPI-tiedonsiirto voi käynnistyä vasta, kun SS-nasta menee aktiiviseksi. Lippurekisteristä voidaan tutkia, milloin datan siirto on valmis.

SPI (Serial peripheral interface) Esimerkkinä ATMega128:n SPI Microwire National Semiconductorin kehittämä kolmijohtiminen tiedonsiirtoväylä. Muistuttaa SPI-väylää. Liikennöinti tapahtuu kolmea johdinta käyttäen: SI (Serial In) SO (Serial Out) SK (Serial Clock) Tietoa siirretään molempiin suuntiin kellopulssin nousevalla reunalla. Kuten SPI tarvitsee piirinvalintasignaalin (chip select). Microwire-väylään liitettävillä komponenteilla on jokaisella oma protokollansa. Siirrettävien bittien määrä ja merkitys vaihtelee.

1-wire 1-Wire on Dallas Semiconductorin kehittämä hidas, kaksisuuntainen tiedonsiirtomenetelmä, jossa signaali ja käyttöjännite saadaan samasta linjasta. Muistuttaa hiukan I2C-väylää, mutta on hitaampi ja toteutukseltaan halvempi. Käytetään erityisesti antureissa, kuten digitaalisissa lämpötila-antureissa ja säätä mittaavissa antureissa. Edullinen, koska tarvitsee vain data- ja maajohtimen. Piirissä on 800pF:n kapasitanssi, josta käyttöjännite louhitaan. Väylää ohjaa mikrokontrolleri (master) ja väylään liitettävät laitteet ovat slavelaitteita. Vain isäntä voi käynnistää tiedonsiirron. Dataliitäntä on avokollektorityyppinen jokainen laite voi vetää datalinja alas. 1-wire 1-wire protokolla Lepotilassa väylä on ylhäällä ja voi olla alhaalla vain hyvin lyhyitä jaksoja käyttöjännite antureille. Väylän liikennöinti alkaa nolla-pulssilla (reset pulse). Isäntä vetää väylän alas 480 960 µs ajaksi. Isäntä siirtyy kuuntelemaan väylää ja mahdolliset orjat vastaavat vetämällä datalinjan alas 15 60 µs kuluttua 60 240 µs ajaksi.

1-wire 1-wire protokolla Ylemmässä kuvassa master kirjoittaa ensin nolla-pulssin, sitten ykkös-pulssin. Alemmassa kuvassa master lukee väylää. Lukeminen alkaa niin, että master vetää väylän 1µs alas ja päästää sitten väylän lepotilaan. Master lukee sen jälkeen väylän tilan. Jos slave-laite lähettää 0, väylä vedetään alas. Mikäli tieto on 1, slave ei vedä väylää alas. CAN-väylä CAN on alun perin autoteollisuuden tarpeisiin kehitetty tiedonsiirtomenetelmä. Se on ISO:n ja SAE:n määrittelemä. Se soveltuu hyvin reaaliaikaiseen kontrollereiden väliseen tiedonsiirtoon. Väyläratkaisulla haluttiin saada parempi häiriönsietokyky vaikeissa olasuhteissa (teollisuus, ajoneuvot, ) CAN-väylän ohjain löytyy monista mikrokontrollereista nykyään valmiiksi integroituna CAN tukee useiden isäntien kytkeytymistä samaan väylään. Laitteita teoriassa rajaton määrä (ei osoitteita) Nopea tiedonsiirto, jopa 1Mb/s. Pystyy havaitsemaan väylässä tapahtuvia virheitä. Väylän käyttö esim. autoteollisuudessa on perusteltua. Elektroniikkalaitteiden määrä ajoneuvoissa kasvaa (johdotuksen tila-, kustannus- ja asennusongelmat) Useille ohjausyksikölle on saatava tieto monilta antureilta nopeasti. Kaikki tiedot on saatavissa samalta väylältä. Rakenne modulaarinen voidaan lisätä laitteita helposti.

CAN-väylä CAN-väylän protokolla CAN-väylä on usean isännän väylä ja siinä liikennöinti perustuu broadcastlähetyksiin, jossa lähetetyt datapaketit ovat kaikkien kuultavissa. Sanomassa ei ole lähettäjän tai vastaanottajan osoitetietoja, vaan mittausdataa, komentoja ym. lähetetään väylälle vapaassa järjestyksessä. Kaikki moduulit, jotka tarvitsevat tietoa, voivat sitä käyttää. Sanomatyyppejä voi olla useita ja jokaisella sanomatyypillä on oma tunnisteensa, joka kertoo sisällön ja sanoman prioriteetin. Prioriteetilla on merkitystä, kun usea laite kilpailee saman väylän käytöstä. Yksi sanoma voi olla korkeintaan 8 tavua pitkä CAN-väylä Kehysrakenne SOF = kehyksen alku MESSAGE ID = 11 tai 29 bittiä moodista riippuen RTR = ilmoittaa onko tietokehys vai kyselykehys CONTROL = data payloadin pituus DATA = tietokenttä (0-8 tavua) CRC = tarkistussumma ACK = kuittauskenttä EOF = end of frame

CAN-väylä Lähteitä I. Scott MacKenzie, Raphael C.-W- Phan, The 8051 Microcontroller, Prentice Hall, 4th ed. Jari Koskinen, Mikrotietokonetekniikka Sulautetut järjestelmät, Otava Muhammad Ali Mazidi, Janice Gillispie Mazidi, Rolin D. McKinlay, The 8051 Microcontroller and Embedded Systems, Prentice Hall Piirivalmistajien sivustot: Hitachi, Motorola, Chipcon, Atmel, Dallas Semiconductor, National Semiconductor.