e-gradiva     Sistemi Motorola Omrežja      
  logotip  
SERŠ Maribor Iskanje Primeri

MOTOROLa 6803

motorola 6803 je mikrokrmilnik ki poleg mikroprocesorja vsebuje še glavni pomnilnik in periferne enote. MC6803 uporablja osnovni nabor ukazov M6800, kar pomeni da vsi ukazi ki smo jih napisali za M6800 delujejo na MC6803, obratno pa ne.

MC6803

slika Mikrokrmilnik MC 6803

mC6803 vsebuje naslednje enote:

MC6803 sodi v Motorolino družino mikrokrmilnikjev M6801. Deluje pri napajalni napetosti 5V, vsi njegovi signali, preko katerih komunicira z okolico, pa uporabljajo TTL-napetostne nivoje. MC6803 vsebuje dokaj zmogljive vhodno-izhodne enote in je uporaben v različnih aplikacijah. Ta mikrokrmilnik uporabljamo kot osnovo, ki ji dodamo še zunanji pomnilnik in nekatere zunanje vhodno-izhodne enote, kot jih narekuje dana aplikacija. Omogoča nam, da mikroračunalnik, ki je bil prej sestavljen iz mikroprocesorja in pripadajočih komponent, skrčimo na nekaj integriranih vezij (najmanj dve). Če želimo uporabljati mikrokrmilnik, ki deluje samostojno, pa se lahko odločimo za kakšnega drugega iz družine M6801, npr. MC68701. Ta vsebuje poleg vseh naštetih enot še 4 KB Eprom-pomnilnika, v katerega lahko sami vpišemo program (in po potrebi tudi zbrišemo).

Sedaj, ko že poznamo princip delovanja osnovnega računalniškega modela, si bomo realizacijo takšnega računalnika pogledali na konkretnem primeru MC6803. Na sliki 1.3. vidimo notranjo zgradbo MC6803, organizirano v skladu z omenjenim modelom. Zraven je prikazan tudi pomnilnik in vezje demultiplekserja naslovnih podatkovnih signalov.

CPE tega mikrokrmilnika vidi pomnilnik kot zaporedje 65.536 8-bitnih pomnilniških lokacij (64KB)¸. Za komunikacijo s pomnilnikom potrebuje zato 8 podatkovnih dvosmernih signalnih linij in 16 naslovnih enosmernih signalnih linij. V primeru multipleksiranega načina delovanja so podatkovni signali časovno multipleksirani s spodnjimi osmimi naslovnimi signali, kar pomeni, da potrebuje 16 signalov le 8 priključnih nožnic mikrokrmilnika, označenih z AD0 do AD7. To so tudi edini časovno multipleksirani signali, vsi drugi signali imajo vsak svojo priključno nožico. Signal AS (address strobe) je nadzorni signal multiplekserja, ki pove, kdajso na linijah AD0-AD7 naslovi in kdaj podatki. Zgornjih 8 naslovnih signalov je priključenih na nožice mikrokrmilnika, ki so označene z A8 do A15.

Zaenkrat bomo pozabili, da je 16 signalov pravzaprav multipleksiranih. Delovanje MC6803 bomo obravnavali, kot da ima na sponkah navzoče vse naslovne in podatkovne signale. CPE namreč tvori vseh 24 signalov (8 podatkovnih in 16 naslovnih); preko signalnih nožic gredo multipleksirano in se s tem zožijo na 16 nožic, v zunanjem demultiplekserju pa se razširijo nazaj na 24 signalov. S stališča delovanja je torej omenjena zožitev (multipleksiranje) nepomembna. Od tu naprej bomo govorili o naslovnih signalih od A0 do A15 in podatkovnih signalih od D0 do D7. Pri tem se moramo zavedati, da jih je 16 dejansko časovno multipleksiranih.

Slika Notranja zgradba MC6803, organizirana v skladu z osnovnim računalniškim modelom

Na sliki 1.3 vidimo, da je del pomnilnika že realiziran v notranjosti MC6803 in zaseda točno določene naslove. Notranjih 128 zlogov RAM-pomnilnika je na naslovih od $0080 do $00FF, pomnilniške naslove od $0000 do $001F (32 zlogov) pa zasedajo registri notranjih vhodno-izhodnih enot. Zunanjemu pomnilniku ne smejo biti dodeljeni isti naslovi, sicer lahko pride do "trčenja" podatkov (na enem naslovu se odzoveta dve fizični pomnilniški lokaciji). Zunanji pomnilnik ali pomnilniško preslikane V-I naprave lahko zasedajo le naslove od $0020 do $0100 do $FFFF.

CPE komunicira z notranjimi enotami na enak način in z uporabo istih signalov kot z zunanjimi enotami. Zato pri obravnavi povezave CPE - pomnilnik ne bomo ločili zunanjih priključitev od notranjih. Preko signala R/W CPE določi pomnilniku smer prenosa. Če je signal R/W v stanju logične 1, CPE bere podatke iz pomnilnika, v nasprotnem primeru pa vanj podatek vpisuje.

Pri MC6803, ki deluje v multipleksiranem načinu, tvori časovno sinhronizacijo pri komunikaciji s pomnilnikom signal E. Vsi prenosi med CPE in pomnilnikom se izvršijo, ko je ta signal v logičnem stanju 1. V bistvu je ta signal urin signal, ki uravnava celotno delovanje CPE, zaradi preprostosti MC6803 pa je porabljen tudi za to omenjeno sinhronizacijo.

CPE mikrokrmilnika MC6803 tvori vse potrebne signale za priključitev 64KB pomnilnika, ne more pa vedeti, na katerih naslovih so notranje enote, na katerih je navzoč zunanji pomnilnik in na katerih naslovih sploh ni fizičnih pomnilniških lokacij. še bolj preprosto povedano: CPE obravnava vse pomnilniške lokacije enako in zato vidi pomnilnik kot linearno zaporedje enakovrednih pomnilniških predalčkov. Vsakega od teh predalčkov lahko odpre in vanj shrani vsebino ali pa jo iz njega vzame, ne more pa vedeti, ali je določen predalček dejansko navzoč ali ne.

MC 6803 ima vhodno-izhodne enote pomnilniško preslikane. Vsa V-I enote, ki so realizirane v mikrokrmilnikju, zasedajo skupno 32 pomnilniških lokacij na spodnjih 32 naslovih (od $0000 do $0001F). Dostop do "zunanjega sveta", ki poteka preko V-I enot, je s stališča CPE videti kot komunikacija s pripadajočimi pomnilniškimi lokacijami. Če želimo npr. preko serijskega komunikacijskega adapterja poslati nek znak (8 bitni podatek), mora CPE ta znak vpisati v za to namenjeno pomnilniško lokacijo.

SERŠ Maribor, Strokovna gimnazija, leto: 2004, avtor: Primož Brezovnik