Esitutkimusraportti
v1.0
27.10.95
Simulaattorin on tarkoitus auttaa autolle tehdyn ohjausohjelman testauksessa siten, että ohjelma voidaan ajaa läpi kerralla ja seurata auton liikettä radalla tai suorittaa ohjelma haluttuun pisteeseen ja seurata rekisterien arvoja ja muistin sisältöä, jotta saadaan selvitettyä ohjausohjelman algoritmiset tai koodausvirheet.
Ohjelman pitää simuloida todellisen fyysisen auton toimintaa eikä jotakin teoreettista esim. välittömästi ohjaussignaaleihin reagoivaa autoa.
Haluttu järjestelmä on mahdollista toteuttaa käytettävissä olevilla resursseilla, mutta mitään ylimääräisiä ominaisuuksia ei voida toteuttaa.
Mitään toteuttamiskelpoisia vaihtoehtoisia ratkaisumalleja ei ole löydetty, joten koko ET raporttimme on myös ratkaisuehdotus.
Arkkitehtuuri
Simulaattoriin tehdään samat osajärjestelmät kuin fyysisessä Tampereella
tehtävässä laitteessa on. Nämä osat ovat mikrokontrolleri, uBoard-piirikortti,
anturit, toimilaitteet, johdotus, auto ja rata. Lisäksi tehdään käyttöliittymä
mikrokontrollerin ohjaamista ja auton lliikkeen seuraamista varten.
Käyttöliittymään tulee useita ikkunoita, joissa näkyvät auton paikka radalla,
auton nopeus ym. tiedot, toimilaitteiden ja antureiden tilat ja prosessorin
tila. Käyttöliittymä huolehtii ohjelmiston eri osien koordinoinnista.
Aikatieto tulee mikrokontrollerilta.
Näytön ja fysiikkaosan toteuttamiseen ei ole tiedossa valmiina saatavia osia.
Prosessorin simulaattori on löydetty valmiina, mutta sen käytön soveltamisen
laajuus on vielä tutkimuksen alla.
Riippuvuudet osien välillä
Osien välisistä riippuvuuksista on suunniteltu malli
DFD-muodossa. Malli
tullaan syöttämään StP-ohjelmistoon, jos se tulee toimintaan.
Käyttöliittymä ohjaa kaikkia muita osia ja kontrollerilla on tieto
järjestelmän yhteisestä kellosta.
Käyttöliittymä välittää prosessorille suoritettavan binääritiedoston ja
fysiikkamallille ratatiedoston. Käyttöliittymässä on painike, jolla käyttäjä
voi pysäyttää simulaoinnin etenemisen milloin tahansa. Ohjelmaan toteutetaan
käyttäjän määriteltävissä oleva ohjelman hidastuskerroin, jos sellainen
todetaan tarpeelliseksi. Prosessorin ja auton välissä on
johdotuskortti, jonka tarkkaa mallia ei ole vielä saatu Tampereelta. Prosessori
lähettää toimilaitteille ohjaussignaaleja ja saa palautetta antureilta
uBoardin ja johdotuskortin kautta. Prosessorin
tilatiedot (rekisterit, muisti) saa näkyviin käyttöliittymästä. Myös auton
paikka radalla, sen tilatiedot (nopeus, kiihtyvyys ym.) ja antureiden
antamat signaalit saadaan käyttöliittymän ikkunoihin.
Käyttöliittymässä annetaan auton lähtöpiste.
Kriittiset osatehtävät järjestelmän onnistumiselle
- Prosessorin toiminta
- Autolle jonkinlainen malli, joka kykenee tuottamaan tiedon kaikille
antureille
- Antureiden ja toimilaitteiden riittävä malli.
- Ainakin merkkipohjainen käyttöliittymä.
Käyttäjän järjestelmälle asettamien vaatimusten priorisointi
- Simuloitavassa koodissa olevien virheiden löytäminen
- Algoritmeissa olevien virheiden löytäminen
- Nopeus
- Helppokäyttöisyys
Ongelmaa ja ratkaisuja rajoittavat tekijät
Auton fysiikkamallissa on aiheen kompleksisuuden vuoksi tehtävä
kompromisseja. Ohjelmiston nopeus tullee käytännössä riippumaan
nopeaa sykliä pyörivien mikrokontrolleriosan ja toimilaiteosan nopeudesta.
Osajärjestelmät
Mikrokontrollerin speksit
Käyttöliittymän speksit
Fysiikkamallin speksit
Toimilaiteosan speksit
uBoard
Kortilla olevaa EPROM:ia mallitetaan käyttäjän antamalla binääritiedostolla.
RAM:ia varten varataan taulukko ja tehdaan mahdollisesti tarvittavia
apufunktioita muistin käsittelyä varten. Kortilla olevia osoitelatchia ja
osoitekooderipiiriä ei tarvitse mallittaa.
Rata
Erillinen editoitava teksti tms. tiedosto, jonka voi antaa ohjelmalle
syöttötietona tai ladata ohjelmasta. Rata saa muodostua pelkista suorista
vektoreista.
Esitutkimuksen edistymisraportti