MINIATURNI KRMILNIK MPU
Podrobna
fotografija kartice (10x16cm)
Miniaturni krmilnik
MPU je kompakten mikroprocesorski sistem (blokovna
shema), namenjen za cenene izvedbe industrijskih aplikacij kot
tudi učni pripomoček. Izveden je na dvoslojni tiskani kartici velikosti
10x16cm ("Evropa" format). Primeren je za uporabo v mnogih aplikacijah
regulacije, krmiljenja, vodenja, nadzora, zajemanja podatkov, idr... Na
razpolago je veliko število vhodno/izhodnih vmesnikov, od katerih je večina
vkjučena v funkcijah mikrokrmilnika H8/532, preostale pa so izvedene z
minimalnim številom dodatnih integriranih vezij, kar predstavlja visoko
stopnjo zanesljivosti pri uporabi v industrijskih aplikacijah.
TTL vhodne/izhodne signale je mogoče z dograditvijo galvanskih ločilnikov
prilagoditi na 24V industrijsko standardne logične nivoje, analogne vhodne
signale je mogoče razširiti na bipolarni obseg (10V ali 5V), PWM izhodne
signale pa je mogoče z uporabo RC ali drugih filterskih vezij koristiti
kot analogne izhode z območjem 0 do +5V.
Mikroprocesor
Hitachi-jev Mikrokrmilnik H8/532
(16-bitna arhitektura, takt 10 ali 12Mhz, 200ns za izvedbo osnovnih ukazov),
načrtovan za krmilne in regulacijske funkcije, vsebuje 16-bitni RAM in
ROM pomnilnik, zelo primeren za programiranje v C-jeziku.
Vhodno/izhodni
vmesniki (dostopni na 64-polnem DIN konektorju (a,b)
*):
- 8 analognih vhodov (10 bitov, 0-5V, 13,8s/kanal)
- 8 binarnih TTL vhodov
- 8 binarnih TTL izhodov
- 8 binarnih O.C. izhodov (24V/150mA)
- 3 PWM izhodi (8 bitov, 20kHz, RC filtri)
- 3 časovniki (16 bitov, po 3 vh./izh. signali na kanal)
- 8-bitni splošno uporaben časovnik/števec
- 4 programsko izbirljivi TTL vhodi/izhodi
* vsi vhodno/izhodni signali mikrokrmilnika so vodeni preko
TTL ločilnih elementov (buffer) z izjemo analognega vhodnega vmesnika,
pri katerem so vhodni signali zaščiteni z diodnim parom.
RS-232 vmesnik
Asinhroni serijski vmesnik s programsko nastavljivimi standardnimi hitrostmi
za povezavo z osebnim računalnikom ali delovno postajo, ki omogoča nalaganje
programov v RAM pomnilnik MPU modula in/ali terminalsko emulacijo za sprotni
prikaz rezultatov oziroma vnos parametrov v aplikativnih programih.
Vmesnik za priključitev rotacijskega ali linearnega inkrementalnega
dajalnika s pravokotnimi impulzi (24-bitni gor/dol števec, možnost brisanja
z referenčnim pulzom in/ali programsko vpisovanje referenčne vrednosti).
- 32kB ROM (OTP, 16-bit) pomnilnika, vsebovan v H8
- 1kB RAM (16-bit) pomnilnika, vsebovan v H8
- 32kB RAM (8-bit) pomnilnika, od tega je uporabnikom na razpolago približno
30kB
Časovni stražnik je namenski časovnik, ki omogoča, da v aplikativne
programe vgradimo časovno varovalo, ki se aktivira ob nepredvidenih programskih
in aparaturnih napakah.
Napajanje
Kompakten linearni napajalnik: +5V/0,5A, +12V/0,1A, -12V/0,1A
(dobra polovica moči je na razpolago tudi morebitnim uporabnikovim dograditvam).
Programska oprema
Na razpolago je večje število programskih orodij in pripomočkov, ki
tečejo na mikrokrmilniku H8/532 oziroma gostiteljskem razvojnem računalnikom
(PC 386 ali novejši, okolje DOS ali MS Windows).
- Monitorski program Monitor
H8/500 (integriran v OTP ROM pomnilniku) omogoča nalaganje ("download")
strojnega programa iz razvojnega sistema v RAM pomnilnik (v Motorola "S"
formatu s hitrostjo 9600bit/s oziroma v binarnem formatu s hitrostjo 38400bit/s)
ter množico debagerskih funkcij (razhroščanje) kot so: spremljanje in modifikacija
registrov, pomnilniških lokacij, start programa, izvajanje po korakih,
nastavitev prekinitvenih točk (Breakpoint), inverzni zbirnik, ...
- Terminalski program TMTE
(izvaja se na gostitelju PC386 ali novejši) omogoča emulacijo terminalskih
funkcij (vnos ukazov in informacij preko tipkovnice, prikaz rezultatov
na zaslonu) in prenos (download) vsebine datoteke na ciljni sistem, kjer
se izvaja monitorski program. Pri tem sta razvojni sistem (PC) in ciljni
sistem (MPU) povezana s trižilnim vodom (RS 232C) preko serijskih vrat
(COM1 ali COM2).
- Mini prosto programirni sistem MPPS
je kompletna aplikacija, ki je sestavljena iz interpreterja binarnih
logičnih in drugih operacij (izvaja se v mikrokrmilniku) in prevajalnika
(izvaja se na PC). Slednji omogoča prevajanje tehnološkega programa iz
mnemonične oblike v "vmesno kodo", ki se simulacijsko (testno)
izvaja na PC, oziroma po naložitvi v ciljni sistem se izvaja v realnem
času z uporabljenimi vh./izh. vmesniki. Implementirana je verzija (okrog
100 različnih ukazov), ki podpira osnovne binarne logične operacije z vhodi,
izhodi, števci, časovniki, merkerji ter besedne operacije z analognimi
vhodi in PWM (analognimi) izhodi. Sintaksa jezika je narejena po vzoru
Simatic STEP5 mnemoničnega jezika za prosto programirljive sisteme. MPPS
program, ki je integriran v ROM pomnilniku, je realiziran kot interpreter,
pri čemer je čas izvajanja tako osnovnih ukazov kot kompleksnejših ukazov
približno enak (okrog 30s).
- Dataview program, ki teče na osebnem računalniku, omogoča grafični
prikaz veličin (zajetih preko A/D pretvornika oz. drugih vhodnih vmesnikov
in notranjih spremenljivk v algoritmih), izbiro prikazane veličine, skaliranje,
izpis, idr...
- C-programska orodja (proizvajelec IAR
Systems) je skupina križnih programskih orodij, ki tečejo na osebnem
računalniku, sestavlja pa jih: C prevajalnik icch8500, zbirnik ah8500,
povezovalnik xlink in debager/simulator C-Spy.
- C knjižnica uporabniških funkcij iompu.h je nabor najpomembnejših
funkcij, ki zajemajo specifičnosti vhodno/izhodnih vmesnikov mikrokrmilnika
H8/532 oziroma dograjenih vmesnikov na MPU modulu. Knjižnica je tako zasnovana,
da je mogoče posamezne funkcije klicati bodisi iz C-jezika, bodisi iz zbirnega
jezika. Seznam nekaterih tipičnih funkcij:
- void init_serial(baud,n_bits) /*inicializacija serijskega komunikacijskega
vmesnika */
- void delay(int time); /* zakasnitev v intervalih */
- int get_ad(char chan); /* izvede A/D pretvorbo */
- char get_digi(char pin); /* stanje digitalnih vhodov */
- int init_ad(char chan,char mode); /* inicializacija A/D pretvornika
*/
- int pulse_count(char chan); /* stetje impulzov */
- void init_count(char chan,int FRC); /* inicializacija stevca
16-bit. časovnika*/
- void init_pulse(char chan, char clk_div); /* inicializacija
takta 16-bit. časovnika */
- int pulse_enable(char enable); /* omogocitev generiranja impulzov
*/
- void set_pulse(char chan, int period, int duty,int delay); /*
vpis vrednost dolžine pulza */
- void init_timer(char chan, char clk_div, char level); /* inicializacija
16-bit. časovnika */
- int get_period(char chan, char level); /* merjenje periode */
- int get_pulse(char chan); /* merjenje širine pulzov */
- char pwm(char chan, char duty); /* nastavitev PWM izhoda */
- void init_pwm(char chan, char duty); /* inicijalizacija PWM
števca*/
- set_digi(char port, char pin); /* nastavitev digitalnih izhodov
*/
- void set_port6(direction, data); /* nastavitev 6. porta */
- char get_port6(); /* stanje 6. porta */
- long get_id(); /* stanje 24-bit. števca ID */
- void set_id(long data); /* nastavitev števca ID */
Navedena programska orodja in pripomočki so bili razviti na Inštitutu
za robotiko, izjema so le C-programska orodja, ki so komercialni produkt
firme IAR Systems.
Izvedba MPU sistema
MPU sistem, ki obsega MPU modul in napajalnik s priključnim kablom,
je lahko izveden kot industrijski krmilnik (možna vgradnja v 19" ohišje
ali ustrezno kompaktno ohišje), oziroma kot učilo
(vgrajeno v PVC ohišje s priključki najnujnejših vhodno/izhodnih signalov
na čelni plošči). V obeh primerih so vsi razpoložljivi signali speljani
na 64-polni DIN konektor, preostali signali pa so speljani na 9-polni D-konektor
(inkrementalni dajalnik) in 5-polni mikro konektor (RS 232C).
Razporeditev
signalov na DIN 64-polnem (a,b) konektorju
Razporeditev
9-polnega konektorja za ID
Izgled čelne
plošče MPU v funkciji učila
Na čelni plošči so puše, stikala in LED indikatorji, kamor so speljani le
najnujnejši signali vhodno/izhodnih vmesnikov (samo po ena skupina iz vsake
od enot) MPU modula. Vsi vhodni in izhodni signali s čelne plošče so dodatno
zaščiteni proti prenapetosti (do 12V).
MPU sistem v funkciji mikroprocesorskega učila je načrtovan tako, da
lahko služi kot pripomoček pri poučevanju različnih predmetov tako na srednješolski
kot tudi na visokošolski ravni. Navedimo nekatere predmete oz. predmetne
skupine:
- mikroračunalniški sistemi (delovanje mikroprocesorjev, povezava
s pomnilnikom in vhodno/izhodnimi vmesniki, strojni ukazi, programiranje
v zbirnem in/ali C-jeziku, preizkušanje programov);
- digitalni sistemi (gradnja mikroprocesorskih sistemov, vodila,
komunikacijski vmesniki, A/D in D/A pretvorniki, PWM modulatorji, časovnoki,
števci, dograjevanje vhodno/izhodnih vmesnikov);
- krmilna in regulacijska tehnika (krmilni sistemi z binarnimi
logičnimi vhodi in izhodi, PI, PID, dvo-točkovni, tro-točkovni diskretni
regulatorji),
- praktični pouk oz. seminarji v višjih letnikih (priključevanje
perifernih enot na računalnik, gradnja modulov z mikrokrmilniki, programiranje
EPROM-ov);
- meritve in merilni sistemi (digitalno zajemanje, obdelava
in prikaz merjenih veličin, zaokroževanje, skaliranje, pogreški.
Nazaj na projekte ;
Nazaj na domačo stran Inštituta
Nazadnje izboljšano 13. 7. 2000
janez.pogorelc@uni-mb.si