Pirkanmaan Mikrotietokonekerho jäsenlehti 1/ 2016

Samankaltaiset tiedostot
MUISTIPIIRIT H. Honkanen

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

GSRELE ohjeet. Yleistä

Työasema- ja palvelinarkkitehtuurit (IC130301) Apumuistit. Kiintolevyt. 5 opintopistettä. Petri Nuutinen

Muistipiirit. Digitaalitekniikka (piirit) Luku 20 Sivu 1 (24)

Mikrokontrollerit. Mikrokontrolleri

Digikamera. Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle

Linuxissa uusi elämä 1

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

Tietokoneen toiminta. Virtuaalilaboratoriotyö

Tietokone. Tietokone ja ylläpito. Tietokone. Tietokone. Tietokone. Tietokone

Tietokoneenrakenneharjoitus

Raspberry Pi. Yhden piirilevyn tietokone. Tässä dokumentissa kerrotaan yleistä tietoa Rasberry Pi- tietokoneesta ja. sen toiminnoista.

ELEC-C3240 Elektroniikka 2

smartallinone Sarjaliikenteellä toimiva releohjain

Alatunniste

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

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

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

T Tietotekniikan peruskurssi

AS Automaatio- ja systeemitekniikan projektityöt

Mikro-ohjain µc harjoitukset - yleisohje

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Sähköautoasiaa. Ajonhallintalaite ehdotus #1

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

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

Ohjeistus Auditorion laitteiden käyttämiseksi.

Sääasema Probyte JUNIOR

OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO

LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla

I J. D: Luku/kirjoitus-merkkivalo E: Aukko: SMC, SM-RAM F: Aukko: CF I, CF II, MD G: Aukko: SD, Mini SD, MMC, RS-MMC

CLPD ja FPGA piirien arkkitehtuuri ja ominaisuudet

G H J. C A: Kortin asetussymbolit B: Kumijalat C: Tarranauha D: Toimintavalo E: Virtavalo. CR in-1 USB2 CARD READER Tuotetiedot

AXCARD AXCARD PR JOHDANTO 2. LUKIJAN KÄYNNISTYS

Näppäimistö CT Käyttäjäopas. Global Safety & Security Solutions Oy info@globalsafety.fi. CT1000v.5

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.

1 Muutokset piirilevylle

Sääasema Probyte 2003

TKT224 KOODIN KOON OPTIMOINTI

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

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

Ohjelmoitava päävahvistin WWK-951LTE

Muistimoduulit. Oppaan osanumero: Tässä oppaassa kerrotaan tietokoneen muistin vaihtamisesta ja laajentamisesta.

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Virtuoosi POS-järjestelmien joukossa

File: C:\tmp\tmp\mch.txt , 9:37:46. JUKKA LAAKKONEN, OH1NPK ORIKEDONKATU 16 FIN TURKU May 18, 1995

Siemens Webserver OZW672

Muistimoduulit. Oppaan osanumero: Tässä oppaassa kerrotaan tietokoneen muistin vaihtamisesta ja laajentamisesta.

PC-LAITTEEN TESTAAMINEN

Arduino. Kimmo Silvonen (X)

1. TEKNISET TIEDOT 2. LED-TOIMINNOT JA SÄÄDÖT

PROBYTE GSM ALARM #6d

Sulautetut järjestelmät

Väylään liitettävä laite: Pheonix Contact ILB PB DI8 DIO8

Elotec Ajax. Aloitus

AS Automaatio- ja systeemitekniikan projektityöt

ELEKTRONISET TOIMINNOT

Kytkentäkentän teknologia

Kameravalvonta WEB kameroilla

Adafruit Circuit Playground Express

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

Tiedon tarkistus (4)

Maha Eurosystem jarrulaskentaohjelman asennusohje versio

K8048 PIC PROGRAMMER BOARD

Ulkoiset mediakortit Käyttöopas

Pikaohje Aplisens APIS type 1X0 ja 2XO

2 Konekieli, aliohjelmat, keskeytykset

Ohjelmoitava päävahvistin WWK-951. Anvia TV Oy Rengastie Seinäjoki

PC-LAITTEEN TESTAAMINEN

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

IoT ja 3D-tulostus. Riku Immonen

CUDA. Moniydinohjelmointi Mikko Honkonen

Ääniohjattu vilkkuvalo ledeillä toteutettuna

SISÄLLYSLUETTELO RC-436

VIM RM1 VAL / SKC VIBRATION MONITOR RMS-MITTAUSJÄRJESTELMÄLLE KÄSIKIRJA. VIM-RM1 FI.docx / BL 1(5)

Jakso 7 Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti. Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa

Tiedon tarkistus (4)

Muistimoduulit. Asiakirjan osanumero: Tässä oppaassa kerrotaan tietokoneen muistin vaihtamisesta ja laajentamisesta.

Tiedon tarkistus (4) Esimerkki ohjelmistotason tarkistusmerkistä (2) Tiedon muuttumattomuus (2)

MDR150:n JA LCD-NÄYTÖN KYTKENTÄ

LAITTEISTOKOKOONPANON SELVITTÄMINEN JA AJURIEN ASENTAMINEN

Yleinen arkkitehtuuri

Megatunen käyttö. Asenna megatune koneelle MsExtra-sivuilta:

Muistimoduulit. Asiakirjan osanumero: Tässä oppaassa kerrotaan tietokoneen muistin vaihtamisesta ja laajentamisesta.

Yleistä. Digitaalinen termostaatti PIC-Thermo PROBYTE OY

Sähköautoprojekti Pienoissähköauto Elektroniikan kokoonpano Moottoriohjain.

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

ONE 118 OHJELMOITAVA PÄÄVAHVISTIN

PC vai Yoshbox? Moottorinohjauksen lyhyt teoria ja vertailu Mustavalkoisesti kirjoitettuna innostamaan tiedon ja mielipiteiden jakamiseen by PetriK

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

Dell Inspiron 560/570: Tekniset tiedot

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

Ulkoiset mediakortit Käyttöopas

FTR960 RADIODATATOISTIN

PROBYTE CONTROL GSM. GSM/SMS-hälytys- ja ohjauslaite. GSM Control 7/11/01 sivu 1/5

Moottorin lämpötilan mittauksen kytkeminen taajuusmuuttajaan

A11-02 Infrapunasuodinautomatiikka kameralle

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

Kombinatorisen logiikan laitteet

Transkriptio:

Pirkanmaan Mikrotietokonekerho jäsenlehti 1/ 2016

Pirkanmaan Mikrotietokonekerho on laite riippumaton yleiskerho, jonka tarkoituksena on edistää tietojenkäsittelyn ja mikrotietokoneiden käytön osaamista. Kokoontumis paikka on Sampolan kirjaston neuvotteluhuone, jonne kulku on kirjaston pääovesta sisään aulan takaoikelta alakertaan. Kerhon hallitus: Puheenjohtaja: Markku Sohkanen Puh. 0400 265 556 e mail: msohkanen@gmail.com Kerhoilta MAANANTAISIN kello 18.00 20.00 oheisen ohjelman mukaan. Varapuheenjohtaja: Rauno Mäntysilta Puh: 040 778 5648 e mail: raunoman@gmail.com Sihteeri: Pekka Paldanius Puh. 044 357 1129 e mail: pekkajuhani.paldanius@gmail.com Rahastonhoitaja: Risto Korkee Puh: 0400 775 635 e mail: rkorkee@gmail.com Jäsen: Timo T. Laine Puh: 03 377 0324 e mail: ttlaine@netti.fi Jäsen: Jussi Sulin Puh: e mail: jussi.sulin@gmail.com 2 Syyskauden 2016 ohjema : ma 12.09. (huom.aika 17.00 18.00) Mikrofan internetissä: Sähköposti: mifapostit@gmail.com Kotisivut: http://sites.google.com/site/mikrofan/ Kotisivujen ylläpitäjä: Hannu Haapasaari e mail: hh@haapasaari.org Mikrofan julkaisee jäsenlehteä neljä kertaa vuodessa. Lehti julkaistaan verkossa. Kerhoiltoja pidetään kevät ja syyskaudella säännöllisesti joka toinen viikko torstaisin. Jäsenlehden toimittaja: Markku Sohkanen ma 26.09. Kansikuva: Risto Leppänen esitteli tasapaino robottiprojektiaan 18.02.2016 Reino Rehnin luona. syyskauden avaus suunnittelua: IoT, Arduino, Rasperry projekteja kesäprojektien esittely la 15. 16.10. syysleiri Kukkian Keidas 24.10. Informaatio, mitä se on? Nettipalvelin Rasbperry Pi:hin 07.11. syyskokous ja kysymystenilta 21.11. linux (aihe avoinna) 28.11. IoT projektit 19.12. pikkujoulukahveet ja piparit

TASAPAINOTTELUA Lueskelin internetissä monien tekemistä tasapainoroboteista ja heräsi kiinnostus sellaisen teke miseen itsekin. Latailin monia valmiita muiden tekemiä ohjelmia ja yritin tutustua niiden logiikkaan. Hommahan pelaa Arduino mikrokontrollereilla pääasiassa. On joku tehnyt sellaisen RaspBerryPi:lläkin. Aikani ohjelmia tutkittuani suunnittelin robotin mekaaniset osat ja tulostelin ne 3D tulostimella. Tilasin kiinasta vaihteistomoottorit sopivilla välityksillä luullakseni. Robotin pyörät suunnittelin 90 mm:n halkaisijalle ja O renkaiden urilla varustettuna, ne ostin Tampereen Laakerikeskuksesta. Sitten kokoilin robotin ja liitin siihen jo aiemmin kasailemani moottoriohjaimen. Se oli kahdella H bridgellä varustettu jopa 4 ampeerin virtakestolla varustettu. Ostin myös 12 V lyijyakun virtalähteeksi, ett ei heti nyykähdä sähkön puutteeseen. Ostin myös tärkeimmän, eli kiihtyvyys/gyro anturin mittaamaan kallistuskulmia. Kaikissa netistä löytämissäni kytkentäohjeissa anturi MPU6050 oli kytketty suoraan Arduinoon. Kerhon kevätretkellä Tom kuitenkin neuvoi varomaan sellaista, ett ei anturi tuhoudu ylijännitteestä, se kun käy 3,3 voltilla. Sitten piti tilata taas kiinan pojilta jännitetason muunninkortti 3,3 > 5 > 3,3V kaksisuun taisesti. Löysin sitten sattumalta netistä kytkennän, jossa oli kyseinen muunnin Arduinon ja MPU:n välissä. Tämäpä helpotti ratkaisevasti kytkentöjä. Nyt jäi huoli pois MPU:n tuhoutumisesta. Tosin aiheuttihan se lisätöitä, mutta mitäs siitä. Virittelin sitten osat paikoilleen, kun tulivat n. 1 kk:n päästä. Ja ei kun taas kokeilemaan latailemillani eri ohjelmilla. Huomasin sitten erään ilmiön: tuntui kuin kallistelut pyörien kulkusuuntaan ei olisi toiminut oikein. No, käänsin kortit 90 astetta ja a vot, nyt toimi oikein. MPU:n liikesuunnat eivät olleet oikein päin siis. 3

Nyt sitten alkoi taas tutkinta ohjelmissa. Kokeilujen tuloksena huomasin, että täytyisi saada varmuus, kuinka ne bitit oikein tulevat moottoriohjaimen tuloliittimille. Siihen täytyi sitten tehdä logiikkatesteri, jolla pääsisin näkemään bittien tilan, 0 vai 1. Olihan ohjaimessa kyllä LED it tilaa ilmaisemassa, mutta kun moottorien käyttäytyminen ei tuntunut olevan ihan loogista. Toimihan testeri, mutta en silti vielä löytänyt syytä siihen, miksi moottorit käynnistyivät hitaasti, kun bittien tila vaihtui. Ohjelmien viilailustakaan ei tuntunut olevan apua. Erästä ohjelmaa syynätessäni huomasin siinä olevan PID asetuksia. Siitä en tiennyt yhtään mitään. Sitten taas hakemaan tietoja PID säädöistä internetistä. Lopulta löysin yhden järkevän, ts. itselleni ymmärrettävän ohjeen asiasta. Monet muut olivat taas kerran sellaisia yli hilseen meneviä, että en ymmärtänyt niissä olevaa matematiikan paljoutta. No, sitten piti rustailla PID säädin. Yksinkertaisimm allaan se on kolme trimmeripotikka a, jotka juottelin reikälevylle. Laitoin kiinni ylimmän levyn päälle mutterien alle levyn ja kytkin potikoiden laidat + ja liittimiin Arduinossa ja luistin A0, A1 ja A2 liittimiin, mistä ohjelma luki ne. 4

S itten alkoi säätely mitään en tiennyt PID s äätimien a setusasrvoista, mutta a loitin P säädöstä vi rittelyn. Jokaisen muutoksen jälkeen k okeilin laittaa virrat p äälle ja tarkkailla t ulosta siitä pikkuhiljaa myös I ja D säätöjä asetellen ja välillä kokeillen löytyikin sitten tilanne, jossa oltiin jo hyvin lähellä toivottua tulosta. Kun vielä sopivasti onnistuin viilailemaan ohjelmaa, niin päätinkin kokeilla, joko robo pysyisi pystyssä: arvaatte varmaan, että oli mahtavaa, kun robotti pyöriskeli lattialla hienosti tasapainossa pysyen!! Koska Tom kehotti laittamaan videota, kun saan sen toimimaan, niin kuvasin pätkän ja laitoin sitten kerhon FB sivulle katseltavaksi. Että tämmöinen tarina tällä kertaa. Laitan vielä kuvia tähän loppuun kytkennöistä, joista botti muodostuu. 26.4.2016 Risto Leppänen 5

Pehmeää dataa Tila varattu Intentionally left blank 6

Tietokoneen muistit Pekka Ritamäki Nykyaikaisen PC tietokoneen muistipiirit Muistit ovat aina olleet jokaisen tietokoneen pullonkaula. Jos prosessori on Intelin 8051, niin siinä ovat ruhtinaalliset 128 tavua staattista muistia. Tällä määrällä sitten tehdään käyttäjäliityntä, näyttö ja näppäimistö rutiini ja varsinainen sovellus. PC tietokoneiden käyttäjät vaativat aina lisää muistia. 33MHz 486 PC:hen voi yksinkertaisesti lisätä muistia 32MB saakka. Nykyisiin tietokoneisiin voi laittaa 2TGB RAM muistia. Tosin käytännössä käytetään 2GB tai 4GB muisteja. Tietokoneiden RAM muistina käytetyt muistipiirit ovat dynaamisia RAM piirejä eli DRAM:ja.. 7

Staattiset muistit Kahden kilotavun staattinen muisti ulkoa päin nähtynä Staattisen muistin yksi bitti sisältä päin nähtynä RAM muistien toinen pääluokka on staattiset muistipiirit. Staattinen muisti koostuu kahden fet transistorin muodostamasta flip flop piiristä. Jos toinen FET ohjataan johtavaksi ulkoisella jännitteellä, toinen FET menee silloin johtamattomaan tilaan. Kahdeksan näitä pieniä alkioita muodostaa yhden tavun. Käyttämällä osoitekoodausta voidaan monia tavuja lukea ja kirjoittaa vuorotellen. Muistipiirin koon lisäksi sen tärkein ominaisuus on kirjoitus ja lukuviive. Oikea data haetaan esiin muistipiirin osoitelinjojen avulla. Osoitekoodauksen jälkeen kuitenkin pitää odottaa kunnes oikeat muistielementit ovat valittu ja niiden datat ovat näkyvissä muistipiirin datanastoissa. Tätä sanotaan muistin nopeudeksi. Staattiset muistit ovat nopeudeltaan noin 100ns. 8

Osoitedekoodauksen avulla voidaan pienimmistä muisteista tehdä isompia PC:ssä on pieni staattinen cache eli kätkömuisti, jonka hakuaika nopeimmillaan 25 ns. Tämä muisti nopeuttaa pienten tietomäärien ja prosessorin välistä liikennettä. Tämä kätkömuisti on prosessorin sisällä. Staattinen eli pysyvä muisti ei kuitenkaan nimestään huolimatta ole pysyvää kuten ROM tai EPROM. Ensinnäkin sen tietoa voi muuttaa ja toiseksi kaikki tieto häviää käyttöjännitteen poistuessa. Staattista muistia käytetään vain väliaikaisen tiedon hakemiseen ja käsittelyyn. Microchip prosessori on melkein samanlainen kuin 20 vuotta sitten. Näissä on tullut erilaisia toimintoja lisää, Wifi, Ethernet. CAN, USB, radio, Flash, RAM jne. Staattinen RAM vie suhteellisen paljon tilaa mikropiirin pohjapinta alasta. Pohjapinta ala tarkoittaa kalliimpia muistipiirejä bittiä kohden kuin pienempi yhden transistorin muistipiirialkio. Staattiset muistit ovat miltei hävinneet paitsi mikroprosessoreissa, joissa ne ovat suoraan prosessorin sisällä, kuten Flash ja eeprom muistitkin. 9

Dynaaminen muisti Jo mikroprosessorin alkuajoista (Z80 mikroprosessori) lähtien dynaaminen muisti on ollut ainoa suurten muistien käyttökelpoinen menetelmä. Dynaaminen muisti muodostuu vain yhdestä FET transistorista ja kondensaattorista Siinä muistipaikkaan ohjataan käyttöjännite tai 0V. Koska kondensaattori pysyy vain vähän aikaa samassa tilassa kuin alkuperin, sitä pitää päivittää jatkuvasti. Tyypillinen aika on muutamia kymmeniä millisekunteja. Siis jokaista muistipaikkaa pitää päivittää jatkuvasti, jotta tieto pysyisi paikoillaan. Eikö tällainen päivittäminen vie hirveästi energiaa hukkaan? Näin olikin alkuaikojen prosessoreissa. Suurin osa käytti staattista muistia, mutta kun PC:t tulivat markkinoille, kaikilla oli automaattiset päivitysjärjestelmät käytössä. Tämä päivittäminen 10

tehdään erikoisilla sisäisillä laskureilla, joka lukevat DRAMin vahvistimilla ja päivittävät ne heti uudestaan. Ne ovat näkymättömiä tavalliselle PC:n ohjelmoijille. Tässä on tyypillinen DDR muisti PC:lle. Koska PC:t tarvitsevat enemmän ja enemmän muistia joka vuosi, niiden muisti on vaihdettavaa mallia. Tosin niidenkin koot vaihtuvat jatkuvasti aina suurempaan ja suurempaan päin mennään. Kannettavissa tietokoneissa on niiden koko pysynyt melko pitkään samanlaisena. Muistin hinta/bitti on laskenut melkein joka vuosi, paitsi silloin kun Japanissa paloi eräs suuri muistitehdas. Koska käytetään dynaamista RAMia ja koska staattista RAMia? Edelleen kun tehdään mikroprosessoreita, joissa on sisäinen muisti, se tehdään staattisesta RAMista.. Esim. Microchipin prosessoreissa on vain muutama kilobitti muistia, kun taas PC:ssä on gigatavuja muistia. Mikä on eeprom? Tässä on AT24C02 eeprom piiri Eepromissa säilytetään laitteen asetustietoja, jotta käyttäjällä oli helpompaa. Samoin siinä voidaan säilyttää salasanoja, käyttökertalaskuria tai puhelinnumeroita. Eprom ei ole kiintolevy eikä RAM vaan pienikokoinen ilman sähköä tietoja tallentava muisti. Eeprom voi olla oma piirinsä tai prosessorin sisällä oleva laite. Se ei ole sama kuin prosessorin flash muisti. Flashin tyhjentäminen on hankalampaa ja se kestää vähemmän kirjoituskertoja kuin EEPROM. Flash on edullisempi isoissa muisteissa. 11

Montako kertaa voidaan lukea eeprommista? Montko kertaa voidaan kirjoittaa eeprommiin? Eepromiin voidaan kirjoittaa 8 bitin tavuja hyvin monta kertaa. Käytännössä ihmisen tekemät talletusmäärät eivät lopu. Esimerkiksi Microchipin piireihin voi kirjoittaa 10 miljoonaa kertaa. Tietokoneella saadaan kuitenkin tämä määrä täyteen. Mitä tapahtuu kun määrä on täysi? En tiedä, koska neljään kymmeneen vuoteen ei ole sellaista minulle tapahtunut. Tieto ei varmaankaan enää mene piirin muistiin oikein ja käynnistyksessä käyttäjä saa vialliset arvot laitteeseensa. Lukemiseen ei ole rajoituksia. Epromin nimessä on yleensä koko kilobitteinä. 25LC01 on 1 kilobitin eprom piiri. Se on pienin eeprom piireistä. Laiteen hinta ei kuitenkaan ole suoraan verrannollinen kokoon vaan valmistus ja myyntimääriin. Onko eeprom suojattu? Eeprom piirit eivät ole suojattuja, vaan kuka tahansa voi lukea niitä. Lukeminen tapahtuu erillisellä ohjelmointilaitteella tai prosessorilla. Useimmat piirit voidaan kuitenkin suojata tahalliselta kirjoittamiselta suojausnastan toiminnan avulla. Kuka keksi eprommin? Intelin varajohtaja Dov Frohman keksi eprom piirin Israelissa Eeprom on kohtuullisen uusi piiri. Intel keksi rinnakkaisen EEPROMin vasta 1983 (2816). Dov Frohman keksi EPROMin Intelin Israelin toimistossa 1972. Atmelin AT28C256 (DIP28) on samantapainen rinnakkainen piiri, jota on edelleenkin saatavilla. Se toimii melkein kuin tavallinen EPROM, mutta ohjelmointi ei vaadi suurta jännitettä, 5V riittää. Ohjelmointi on hitaampaa kuin lukeminen. Se toimii luettaessa kuten stattinen RAM. Paristolla varustetut staattiset RAM piirit toimivat hieman samaan tapaan kuin eepromit, mutta niiden kirjoittaminen on paljon nopeampaa. Ne ovat kalliimpia kuin eprommit ja käyttöjännitteen loppuessa ne menettävät tietonsa. Paristolla (esim. CR2022) voi suojata RAMin tiedot. Vanhojen PC:n kello ja Bios piirien paristot ovat aina loppu. Kellopiiri pitää kuitenkin jollakin tavalla pitää käynnissä. Joissakin laitteissa on koko ohjelma RAMissa. Näiden laitteiden paristot voi vaihtaa vain kun laite on verkkosähkössä. 1980 luvun alussa tehtiin näin ja olen joutunut ohjelmoimaan tällaisia laitteita monta kertaa sähkökatkoksien jälkeen. 12

EPROMin datan luku Ohjelmoitaessa valitaan ensin luettava osoite, 1 tai 2 tavua ja sitten kirjoitetaan tai luetaan data. Piirien datalehdissä kerrotaan koska pitää kirjoittaa 1 tai 2 tavua. Yli 2k:n eeprommeilla pitää antaa kaksi tavua osoitteeksi. A0 A7 on alatavu ja A8 15 on ylätavu. 64 kohdalla taas osoitteet loppuvat, pitää käyttää kolmea osoitetavua. A16 >eteenpäin. Kirjoitettaessa ja luettaessa data on aina yksi tavu. Eepromeja on vain 1 MB saakka. Sen jälkeen pitää mennä Flash muisteihin. Ne vaativat kuitenkin 512k kirjoituksen kerralla. Mikroprosessoreissa ei yleensä ole näin paljon RAM muistia. Silloin pitää käyttää eeprommeja välimuisteina. EPROMin nopeus Piirin tyypin jäljessä on luku, joka ilmaisee kuinka nopeasti annon data on saatavilla kun oikeat osoitteet on laitettu piiriin ja anto on sallittu. Esim. luku 12 tyypissä 2716 12 tarkoittaa 120ns. Jos jossakin laitteessa on piiri 27C256 10 se ei tarkoita, että juuri tässä laitteessa eivät hitaimmat piirit toimi. Valmistaja on vain sattunut käyttämään näin nopeaa piiriä. Tietysti ei kannata ehdoin tähden mennä laittamaan hitaampaa piiriä. Koskaan ei minulle ole tullut tilannetta, että EPROM olisi liian hidas. "Standardi" 2716 piiri 2716 piiri on hyvin epästandardi. Alun perin TI teki TMS2716 jossa oli samoin kuin Intelin 2708:ssa kolme jännitettä (+5V, +12V, 5V). 2708 ja TMS2716 on sama ohjelmointijännite (25V). Jotkut valmistajat alkoivat kloonata TI:n suunnittelemaa piiriä. Kaikki piirit merkittiin samalla "2716" leimalla. Jotkut paransivat muistia ja poistivat +12V ja 5V jännitteet, mutta pitivät osoite ja datanastojen paikat samoina. TI teki myös parannetun painoksen piiristä vain yhdellä käyttöjännitteellä, mutta nimesi sen TMS2516. Muiden 2716 nimi oli sama kuin TI:n TMS2516. Tähän aikaan jokainen valmistaja saattoi käyttää omaa ohjelmointijännitettänsä. Jotta voisit polttaa 2716 piirin, sinun pitää tietää valmistajan käyttö ja ohjelmointijännitteet. Ne löytyvät kunkin valmistajan datalehdistä. Toinen asia on miten ohjelmointilaitteesi osaa valita oikeat jännitteet ko. piirille. No tämä ei oikeastaan ollut aikoinaan ongelma, sillä kaikki tekivät omat ohjelmointilaitteensa. Kyllä valmiitakin löytyi, mutta ne olivat aivan liian kalliita. Minäkin tein VIC20:lle, HP85:lle ja Commodore 64:lle (kuva alla) omat ohjelmointilaitteensa. PC aikana alkoi olla jo kohtuuhintaisia Taiwanilaisia ohjelmointilaitteita. Needham's Electronics hallitsi 20 vuotta kohtuuhintaisia ohjelmointilaitteita. Kunnes Needham s meni konkurssiin noin 2009. Siis sinun pitää ohjelmoida 2716 ja kohdelaitteessa on vain 5V muista, että et voi käyttää TMS2716 piiriä. Useimmat 2716 käyttävät 25V ohjelmointi jännitettä. Myöhemmin isoimmissa piireissä vakiintui 21V ja 12V käyttöjännite. Juuri hiljattain yritin ohjelmoida SGS:n ET2716Q piiriä. Tuota Q versiota ei löytänyt SGS:n valikoimasta. Kokeilin Intel 2716, Laite ei ohjelmoinut yhtään byteä. EEPROMin kirjoitus ja luku Kun piirin koko menee yli 256 kbitin, pitää käyttää useita laiteosoitteita. Esim. jos I2C tyyppisen 13

eepromin laiteosoite on A0, niin ylämuistin laiteosoite on A1. Tästä johtuu, että nykyään suositaan isommissa eepromissa vain I2C tyylisiä piirejä (sarjaflash piirit ovat eri asia, ne eivät ole eeprommeja). Microchipillä on myös yhden johdon Uni I/O sarja (esim. 11AA160 1 16kBit) eprompiirejä. EEPROM koot loppuvat yleensä 1 Mbittiin. Laittamalla näitä 8 kappaletta rinnakkain saadaan 8 MByteä EEPROM muistia. Tämä on jo kohtuullinen määrä tavallisiin tiedonkeruulaitteisiin. EEPROMien etuna on yksinkertainen ohjelmonti, hinta ja liitäntä prosessoreihin. Haittana on isompien muistien saatavuus. Muun tyyppiset muistit (USB, Flash kiintolevyt ja muistikortit) ovat edullisempia. On turha tuoda markkinoille isoja EEPROM piirejä. Flash piirit pitää tyhjentää kerralla (tai isoissa lohkoissa), EEPROM jokaiseen tavuun voi kirjoittaa erikseen. Tässä on ero Flash ja EEPROM piirien välillä. MMC 32MBitin MMC kortti MMC kortilla voi tehdä 256M muistin neljällä johdolla. Koska MMC muistille kirjoitetaan 512 k bittiä kerralla, tiedonkeruussa tarvitaan apuna 24LC515 eeprom piiri. Uudemmissa prosessoreissa on riittävästi vapaata RAM muistia. 1.8 3.3V käyttöjännitteellä toimiva MMC kortteja käytetään tiedonkeruussa sen helpon liitettävyyden vuoksi. Muistiin voidaan tallettaa dataa miljoona kertaa samaan paikkaan. Niitä käytetään myös mikroprosessorien ohjelmamuistina (Raspberry). MMC luokkia on monta: MMC RS MMC MMCplus SecureMMC SDIO SD minisd microsd Näissä on monia erilaisia piirejä, ja nastamääriä. Paras katsoa Wikipediasta tarkemmat tiedot. SPI tekniikka 14

SPI piiri SPI tekniikka tarkoittaa, sitä että siinä on neljä johtoa. Yksi johto on Enable signaali, se menee yleensä alaspäin (5V) ja siten siinä on kello, johon data tahdistetaan. Ensimmäinen data on DO signlaali (Data out), jonka avulla kirjoitetaan data piirille. Seuraava on lukudata eli SI (Signal in) Read. Lisäksi näissä on kirjoitussuoja jonka avulla piirin ohjelmointi voidaan estää. Tä ss ä on S PI tekniikalla toimiva lukujakso Tässä on 25LC1024 ohjelmointi periaate siitä miten piiriltä luetaan data. Eli aluksi CS maihin sen jälkeen annetaan ensimmäinen databitti ja sitten kellotetaan se positiivisella kello signaali 15

sisään. jne. Sarjamuotoiset SPI tyyppiset flashbiospiirit ovat korvanneet PLCC32 piirit PC:n emolevyiltä BIOS:na. Esim ST:n M25PE16 on 16MBittiä 50MHz nopeudella toimiva Flash piiri. Tässä on 4kB sektorit ja sektoreita on 32 yhdessä sivussa. Sivuja on 256 kappaletta. Yhden sektorin voi tyhjentää kerrallaan. Tätä piiriä käytettäessä tiedon talletukseen laitteessa pitää olla vielä 128k apueeprom piiri. SPI ohjelmointi vaatii 5 napaisen liittimen (käyttöjännite, maa, enable, Clock, data In ja data Out). Kotelo on S08W (W=wide), mitat 5*6mm Muistiin voi kirjoittaa 100000 kertaa, virrankulutus lepotilassa 1uA I2C muistin tekniikka Tässä on tyypillinen I2C eeprom piiri 16

Tässä on kahden I2C laitteen liikennöintikuva. Rp:t ovat ylösvetovastukset, jotka tarvitaan aina mikropiirin ulkopuolella. Jokaisella I2C piirillä on omanlaisensa tapa välittää tietoa. I2C on hieno järjestelmä, vain kahdella johdolla voidaan liittää 128 eri tuotetta yhteen. Kuitenkin kaikki lähtee siitä, että jokaisella I2C laitteella on oma osoitteensa, joka annetaan ensimmäisenä. Tähän osoitetavuun liitetään viimeiseen bittiin tieto, ollaanko kirjoittamassa vai lukemassa. Vastaanottaja kuittaa tämän osoitteen. Jos kuittausta ei tule, ei kannata lähettää lisää dataa. Sen jälkeen hoidetaan liikenne tavu kerrallaan. Yleensä muisteissa annetaan osoitetavu ja sen jälkeen luetaan muistista datatavu. EPROMyypit Tässä on tyypillinen eprom ja eprommin nastajärjestys. 17

27Cxxx on rinnakkaisliitäntäinen EPROM piiri, joka pitää tyhjentää UV valolla. Kotelotyypit ovat DIP24, DIP28, DIP32 ja PLCC32. Jos piirin nimessä on C se tarkoittaa CMOS mallia, jossa on pienempi virrankulutus kuin NMOS mallissa. Jos piirin lopussa numeroiden jälkeen on A, se tarkoittaa 12.5V ohjelmointijännitettä alkuperäisen 25V asemasta. Piirissä on osoitelinjoja (A0 Axx), datalinjoja (D0 D8), ohjauslinjoja (R/W, CE, OE, PGR) ja teholähdenastat (VCC, GND). Tunnettuja valmistajia on kymmenittäin. Esim. Intel. Atmel, Microchip, Hitachi. SST, SGS, jne. Nykyään ei eprom piirejä enää käytetä melkein missään. Epromin hinta on edullinen, mutta eprom vaatii paljon nastoja prosessorista. Intel 51 sarjassa on yhteiset datalinjat ja ala osoittet. Epromista data haettaessa valitaan eprom!ce ja!oe nastoilla. Piiriä ohjelmoitaessa PGR nastaan laitetaan 12.5/25V ohjelmointijännite. Yhden tavun kirjoittaminen kesti aikanaan 50ms, joka olisi pitkä aika nykyisillä 4 Mbyten muistityypeillä, 55 tuntia! EPROM alkaa olla hieman vanhanaikainen. Epromia ei voi suojata ohjelman kopioinnilta. Olen tehnyt ohjelmointilaiteita seuraaviin tietokoneisiin: HP85 tietokoneelle HP IP väylä VIC 20 User portti C64 User portti 18

C64 ohjelmointilaite, jonka olen tehty noin 1984. Kiertokytkimellä pystyi valitsemaan monta eri mallia. 19

Mikrofanin syysleiri 2016 Mikrofanin tämän vuotinen syysleiri pidettiin jo perinteiseksi muodostuneessa Kukkian Keitaassa Pälkäneen Kuohijoella. Lauantaina puolilta päivin saapuivat ensimmäiset leiriläiset. Päivän mittaan meitä oli koossa seitsemän ukon joukko. Koneet purettiin kuljetuslaatikoistaan ja saatettiin toimintakuntoon. Laitteita kertyi pöydille runsain määrin. Osalla oli mukanaan vain muutama kassi/laatikko tavaraa ja laitteita. Joku oli varautunut suurempaankin tarpeeseen. Talonmies Tomppa oli jälleen kokkina ja keitti isossa keittiön kattilassa meille maukkaan maustetun keiton. Kahvipannu oli kuumana koko päivän. Koodia alkoi syntyä mm. arduinolla, raspberry pi:lla, pythonilla. Joitain riemunkiljahduksiakin kuului, kun koodinvääntäjä sai bitit oikeaan asentoon. Illalla sauna lämpisi RistoK:n toimiessa saunamajurina. Puukiuas tarjosi hyvät pehmeät löylyt. Innokkain saunoja viihtyikin saunassa useamman tunnin. Tupa hiljeni muutamaksi tunniksi puolenyön aikaan. Innokkaimmat olivat jo kuuden aikaan aamulla kahvikupin ja tietokoneen ääressä. Joku oli niin lyhytuninen, että jo kahdelta yöllä käynnisti maccinsa. Aamu valkeni pilvisenä. Lämpöasteita oli muutama. Viimeiset koodit kirjailtiin aamupäivän aikana. Puolen päivän aikaan saatiin paikat siivottua. Kotiin lähdettiin hyvässä järjestykses sä autokunta kerrallaan. Ensi keväänä jälleen täällä? Leiriläisiä tuvan piiiitkän pöydän ääressä. 20