MIkrokontrollerin valinta

Pitäisi valita mikrokontrolleri. Eri tarpeisiin on erilaisia mikrokontrollereita, mutta mikähän täyttäisi kaikki seuraavat vaatimukset samassa mikrokontrollerissa ?

1. Mahdollisuus ohjelmoida sekä Pascalilla että assemblerilla. Jos voi ohjelmoida edellisten *lisäksi* myös C -kielellä, tästä lisäplussaa, mutta ainkain Pascal- ja assemblerohjelmointi tulee olla mahdollista.

2. Kotelointityyppi: joko DIL -kotelo (tyypillisesti 28 tai 40 -nastainen) tai pintaliitosmalli kelpaa, JOS on olemassa piirikanta, joka juotetaan perinteisesti 2.54mm rasterilla oleviin reikiin piirilevylle ja johon pintaliitosmalli sitten vain painetaan kiinni, mahdollisesti ZIF -tyyppinen kanta (kuten PC:n prosessoreissa). Jos tällaista piirikantaa ei ole olemassa, miksei ? - luulisi, että tulisi merkittäviä säästöjä piirivalmistajille, kun erillistä DIL -koteloitua mallia ei tarvitsisi tehdä, koska sopiva piirikanta mahdollistaisi pintaliitosmikropiirin käytön myös perinteisillä läpivienteihin perustuvalla piirilevyllä !

3. Hyvä saatavuus. Pitäisi siis löytyä joko Bebekistä tai Partcosta, ehkä YE:stä tai YE:n kautta RS Componentsista tilaamalla.

Hyvin toteutettu ulkomainen webbikauppa voisi ehkä tulla kyseeseen, jos voi tilata ja maksaa vaikkapa Visa Debitillä ja/tai Verified By Visa -palvelulla.

4. Assemblerohjelmoinnista: Z80 -tyylisestä ohjelmoinnista iso plussa, 8051 -tyylisestä taas miinus. Ai miksikö? Koska Z80:ssa on laaja ja selkeä käskykanta ja paljon rekistereitä sekä 8- bittisyydestä huolimatta mahdollisuus käyttää 16 -bittisiä rekistereitä (IX ja IY) tai -pareja (BC, DE, HL). 8051:ssähän on 1 ainoa 16 -bittinen datarekisteri ja esim. lohkon kopiointi edellyttää siksi tuon ainoan 16-bit osoiterekisterin jatkuvaa uudelleenasetusta lähde- ja kohdeosoitteiden välillä!

5. RAM -muistia riittävästi. ehdoton minimi 1024 tavua !

6. Helppo ohjelmointi myös ilman erillistä ohjelmointilaitetta. Eli joko ns. In-Circuit programming tai sitten valmistajan esiohjelmoima buuttilataaja, joka käynnistyy heti kun virta kytketään (mahd. esim. DIP -kytkimellä valittavissa, käynnistyykö buuttilataaja vai käyttäjän aiemmin piirille ohjelmoima koodi) niin että buuttilataaja ottaa vastaan sarjaportista tai USB -kaapelilla tulevan ohjelmakoodin ja sen voi samantien käynnistää. Toki siis sitten kun systeemi on valmis, sen tulee pystyä toimimaan ilman PC.tä

7. PC -ohjelmointi mieluiten USB -kaapelilla, mutta myös RS-232 sarjaohjelmointi mahdollinen.

Pascal -kääntäjäksi olen ajatellut tätä:

http://users.iafrica.com/r/ra/rainier/

Versiot siis saatavilla näihin:

Z80/Z180 and compatible

8051/8052 and compatible

ATMEL AVR

Z380/Z382 ( Beta )

Jos homma kaikesta huolimatta (=hankala assemblerohjelmointi) päätyy 8051 -pohjaisiin, niin mahdollisesti Pascal -ohjelmointiin voisi tulla kyseeseen myös tämä:

http://turbo51.com/
3364
Äänestä

Muut lukivat myös

Vastaukset 3

Vanhimmat

Tuohon Pascal-ohjelmointiin on ilmeisestikin hyvin perusteltu syy. Sitä en epäile. Omissa kokemuksissa on kokeilu jossa laiskuuttani kopioin pascalilla kirjoitetun pätkän copy/paste systeemillä ConTEXT-editoriin ja jossa winavr teki siitä "selvää jälkeä". Kun en tunne Pascal-kieltä riittävän hyvin joten en uskaltanut muutella muuta kuin vakioitten arvoja tapaukseen sopiviksi. Assemblerohjelmoinnista luovuin suosiolla juuri tuon rekisterirumban pienentämiseksi. Tottakai C:llä ja Pascalilla käsitellään myös rekistereitä, mutta jätetään ne koneen tehtäväksi ja keskitytään ohjelmointiin.
Saatavuus monella piirillä on suhteellisen lyhytjänteistä. Nyt uusin on "muutaman" vuoden kuluttua katseltava siihen korvaavaa tyyppiä josta mahdollisesti vielä tulee pieniä muutoksia alkuperäiseen ohjelmaan. Itse ohjelmoin piirit paikallaan sovellutuksessa jolloin kotelotyypillä ei ole mitään väliä. DIL-koteloiset puuttu toistaiseksi.
Läppärissä on USB-sovitteinen ja pöytäkoneeseen RS232 sekä LPT sovitteiset ohjelmointi kaapelit. Kaikki ovat "kotikutoisia". Valmiit kaapelit ovat suhteellisen edullisia ettei itse tehtynä saavuteta suuriakaan säästöjä ellei sitten puhuta jostain JTAC-kaapelista joitten hinta saattaa olla suolainen.

Äänestä
  • Minulla on tuossa jäänyt itse tehty mikron rakennussarja. Siinä on piirilevy, useita mikroja ja kirja C and 8051 DC-levy. Jos kiinostaa, niin osoitteen saat blogistani
    elektroniikkaabytane.blogspot.com.

    Äänestä

Kommentoi aloitusta


Rakentelija_2009 kirjoitti:

Pitäisi valita mikrokontrolleri. Eri tarpeisiin on erilaisia mikrokontrollereita, mutta mikähän täyttäisi kaikki seuraavat vaatimukset samassa mikrokontrollerissa ?

1. Mahdollisuus ohjelmoida sekä Pascalilla että assemblerilla. Jos voi ohjelmoida edellisten *lisäksi* myös C -kielellä, tästä lisäplussaa, mutta ainkain Pascal- ja assemblerohjelmointi tulee olla mahdollista.

2. Kotelointityyppi: joko DIL -kotelo (tyypillisesti 28 tai 40 -nastainen) tai pintaliitosmalli kelpaa, JOS on olemassa piirikanta, joka juotetaan perinteisesti 2.54mm rasterilla oleviin reikiin piirilevylle ja johon pintaliitosmalli sitten vain painetaan kiinni, mahdollisesti ZIF -tyyppinen kanta (kuten PC:n prosessoreissa). Jos tällaista piirikantaa ei ole olemassa, miksei ? - luulisi, että tulisi merkittäviä säästöjä piirivalmistajille, kun erillistä DIL -koteloitua mallia ei tarvitsisi tehdä, koska sopiva piirikanta mahdollistaisi pintaliitosmikropiirin käytön myös perinteisillä läpivienteihin perustuvalla piirilevyllä !

3. Hyvä saatavuus. Pitäisi siis löytyä joko Bebekistä tai Partcosta, ehkä YE:stä tai YE:n kautta RS Componentsista tilaamalla.

Hyvin toteutettu ulkomainen webbikauppa voisi ehkä tulla kyseeseen, jos voi tilata ja maksaa vaikkapa Visa Debitillä ja/tai Verified By Visa -palvelulla.

4. Assemblerohjelmoinnista: Z80 -tyylisestä ohjelmoinnista iso plussa, 8051 -tyylisestä taas miinus. Ai miksikö? Koska Z80:ssa on laaja ja selkeä käskykanta ja paljon rekistereitä sekä 8- bittisyydestä huolimatta mahdollisuus käyttää 16 -bittisiä rekistereitä (IX ja IY) tai -pareja (BC, DE, HL). 8051:ssähän on 1 ainoa 16 -bittinen datarekisteri ja esim. lohkon kopiointi edellyttää siksi tuon ainoan 16-bit osoiterekisterin jatkuvaa uudelleenasetusta lähde- ja kohdeosoitteiden välillä!

5. RAM -muistia riittävästi. ehdoton minimi 1024 tavua !

6. Helppo ohjelmointi myös ilman erillistä ohjelmointilaitetta. Eli joko ns. In-Circuit programming tai sitten valmistajan esiohjelmoima buuttilataaja, joka käynnistyy heti kun virta kytketään (mahd. esim. DIP -kytkimellä valittavissa, käynnistyykö buuttilataaja vai käyttäjän aiemmin piirille ohjelmoima koodi) niin että buuttilataaja ottaa vastaan sarjaportista tai USB -kaapelilla tulevan ohjelmakoodin ja sen voi samantien käynnistää. Toki siis sitten kun systeemi on valmis, sen tulee pystyä toimimaan ilman PC.tä

7. PC -ohjelmointi mieluiten USB -kaapelilla, mutta myös RS-232 sarjaohjelmointi mahdollinen.

Pascal -kääntäjäksi olen ajatellut tätä:

http://users.iafrica.com/r/ra/rainier/

Versiot siis saatavilla näihin:

Z80/Z180 and compatible

8051/8052 and compatible

ATMEL AVR

Z380/Z382 ( Beta )

Jos homma kaikesta huolimatta (=hankala assemblerohjelmointi) päätyy 8051 -pohjaisiin, niin mahdollisesti Pascal -ohjelmointiin voisi tulla kyseeseen myös tämä:

http://turbo51.com/

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu