Mikrokontrollerkort med Motorola 68HC11Sindre Helvik For å gi våre dataingeniørstudenter en bedre grunnleggende opplæring i faget «Datamaskinens oppbygning og virkemåte» bestemte avdelingen seg for at hver enkelt student skulle få kjøpe et mikrokontrollerkort med kontrolleren MC68HC11A1 ( Motorola ). Det er meningen at kortet også skal brukes senere i studiet. Det er flere årsaker til at HC11 ble valgt. Den regnes som en relativt enkel kontroller og brukes mye i undervisning verden over. En tid tilbake utviklet Fred Martin ved MIT et kort han kalte «The Miniboard». Vi vurderte dette kortet, men siden det hadde så lite minne ( 2k bytes EEPROM ) bestemte vi oss for å utvikle vårt eget. Vi ønsket å legge vekt på at kortet skulle være mest mulig fleksibelt og ikke koste mer enn ca kr 500,- for studentene. I tillegg ønsket vi at kortet skulle kunne programmeres i både assembler og C. Ved at studentene eier sitt eget kort regner vi med at de vil få en «tettere» og mer praktisk kontakt med utstyret. De vil også være friere til å eksperimentere med forskjellige software og hardwareløsninger både på skolen og hjemme. Vi krever imidlertid at hver student holder kortet sitt i orden slik at det er tilgjengelig for de labøvingene som er obligatoriske. Når så mange har sitt eget mikrokontrollerkort håper vi at kreativiteten vil blomstre. Kortet har stor fleksibilitet og vil kunne tilpasses til en rekke oppgaver.
Utvikling og produksjonJobben med design av HC11 kortet ble påbegynt høsten 1995. I november var tegningene av elektronikken ferdig. Jeg laget en skisse over hvordan vi ønsket kretskortet utlagt og så ble tegningene sendt til firmaet Symetrics Elektronikk A/S, som gjorde arbeidet med utlegg av kortet. En liten prototypserie på 5 kretskort ble bestilt. Vi mottok disse i januar. Symetrics stilte komponentbehandligsutstyr og loddebad til disposisjon slik at jeg fikk montert prototypene. Så kom jobben med uttesting og spenningen var stor for å se om det første kortet virket. Det viste seg at alt fungerte som det skulle.
Det har vist seg at Motorola har leveringsproblemer når det gjelder HC11. Etterspørselen er større enn det som produseres. For Motorola må dette være en drømmesituasjon. De selger brikkene så fort de er ferdig produsert og kan holde prisene oppe på grunn av etterspørselen. For oss som handler i små antall kan dette være en plage. På grunn av dette har vi valgt den HC11 versjonen (A1) som er enklest å få tak i.
ProgrammeringDet finnes flere alternativer for nedlasting og debugging av programmer på HC11 kortet. En god del software er tilgjengelig via Internet. Ønsker en å eksperimentere med HC11 i «single chip» modus kan man bruke assembleren AS11 og monitorprogrammet Pcbug11. Trenger en mer plass enn det som er tilgjengelig i «single chip» modus kan man bestykke HC11 kortet med 30 kbyte RAM og en ROM-monitor.Vi har kjøpt inn en C-compiler for 68HC11. Her følger det også med en ROM-monitor. Vi har fått en avtale hvor vi fritt kan kopiere C-compileren «Another C» til undervisningsbruk. Softwareleverandøren har vist oss svært stor tillit da han solgte oss sitt produkt uten kopibeskyttelse. Av den grunn krever vi at hver student som kjøper et kort skriver under på at hun/han forplikter seg til å respektere de lovene som gjelder for copyright og opphavsrett for software, hardware og dokumentasjon.
HardwareHC11 er egentlig betegnelsen på en hel serie med 8 bits mikrokontrollere som produseres av Motorola. Forløperen til HC11 var 6800 og 6801 og instruksjonssettet er videreutviklet i forhold til disse to.HC11 kan kjøre i forskjellige modus avhengig av hvilken hardwareløsning en ønsker. Normalt vil HC11 ved reset hente en reset vektor fra adresse $FFFE, FFFF. I «special bootstrap» og «special test» modus oppfører HC11 seg annerledes. Ved reset vil nå et spesielt program startes. Dette programmet initierer serieporten og vil lese inn 256 bytes fra serieporten og inn i RAM hukommelsen. Når alle dataene er mottatt startes det programmet som ble overført automatisk. Ved hjelp av en PC kan små programmer overføres til RAM og testes ut på en meget enkel hardware løsning. Programmet kan også overføres til den interne EEPROM hukommelsen og HC11 kan kobles slik at dette programmet startes så fort kretsen får strøm. «Navlestrengen» til PC'n kan så tas bort slik at HC11 kan stå å pusle med sine egne ting. Kortet har en fleksibel strømforsyning. Det kan forsynes med enten likespenning eller vekselspenning. Kortet sørger selv for å ta hensyn til den polaritet som tilkobles. Blir spenningen for lav vil HC11 gå i RESET. Kortets strømforbruk er meget lavt. Det er målt til ca 45 mA ved 9 V forsyningsspenning. HC11 har også metoder for ytterligere effektsparing. Kortet har en RJ12 modulærkontakt som er beregnet for RS-232 tilkobling. Både plugger med 4 og 6 pinner passer i denne kontakten. RX og TX signalene er lagt ut på lysdioder. Lysdiodene vil blinke under dataoverføring og indikerer om det er feil på RS-232 forbindelsen. TX lampen fungerer også som «power on» indikator. På kortet er det lagt ut 8 digitale utganger og 8 digitale innganger. HC11A1 har en 8 bits A/D. Denne A/D'n kan igjen avlese 8 forskjellige inngangskanaler. HC11 har 16 bits adressebuss og har dermed mulighet til å adressere et område på 64 k byte. I dette området er det mappet inn både minne og I/O. HC11 kan kjøres i forskjellige modus avhengig av om man ønsker å bruke eksternt minne eller om man klarer seg med internt minne. HC11A1 prosessoren har innebygget 256 bytes RAM og 512 bytes med EEPROM. Kortet er utstyrt med en 32 k byte RAM krets og med 32 k byte EPROM. EPROM minnet er beregnet å brukes til ROM-monitoren DDT eller til brukerprogrammer.
Et av argumentene vi hadde for å velge HC11 kontrolleren var at mye informasjon var tilgjengelig på Internett. For meg var dette til hjelp under utviklingen av HC11 kortet, men studentene har i svært liten grad benyttet seg av den informasjonen som er tilgjengelig.
OppsummeringVi var spente på hvordan studentene ville reagere på konseptet med at de alle hadde sitt eget HC11 kort. Via kursevalueringen svarte de fleste studentene at de syntes kortet var verd pengene de måtte betale og at konseptet hadde en positiv effekt på læreprosessen. Studentene syntes det ble vel mye assemblerprogrammering, spesiellt var laboppgavene noe tunge på slutten av kurset. De mente derfor at det bør legges mer vekt på C-programmering i laboppgavene. Når en klasse på 40 studenter skulle kjøre lab individuelt ble det problemer med at det var for få PC'r tilgjengelig, men vi håper å løse dette til høsten da vi skal gå til anskaffelse av flere maskiner.Et par andre skoler har vist interesse for HC11 kortet, men det virker som om man har helt spesielle behov for hardware som ikke vårt kort oppfyller. Derimot har vi nylig inngått en avtale med elektro/IR-avdelingen om at deres studenter skal få kjøpt kort. Vi håper på et fruktbart og godt sammarbeid for alle parter.
Copyright: 1996, Høgskolen i Østfold. Last Update: 28.06.97, Thomas Malt. |