SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

ELEKTRONIK

Parallele Schnittstellen

Beim Informationsaustausch des Controllers mit der "Außenwelt" müssen spezielle Eigenschaften der Peripheriegeräte berücksichtigt werden. Insbesondere sind die Peripherieeinheiten gegenüber der Prozessorgeschwindigkeitrecht langsam Die Schnittstellen müssen die ein- oder ausgehenden Daten zwischenspeichern. Zum anderen laufen CPU und Peripherie oft zeitlich asynchron. Eine weitere Aufgabe von Schnittstellen ist auch die Parallel-seriell-Wandlung (siehe auf Seite 26.html). Allgemein gilt für alle Schnittstellen:
  • der Datenverkehr zwischen CPU und Schnittstelle läuft meist programmgesteuert (per Polling oder per Interrupt)
  • die "Datenbreite" ist durch den internen Datenbus vorgegeben (8 Bit)
  • die Eigenschaften der Schnittstellen lassen sich per Programm einstellen Schnittstelle programmierbar Initialisierung notwendig
  • jeder Schnittstelle sind einige der oben aufgeführten Register zugeordnet. Dabei handelt es sich um
    • Register zur Einstellung der Eigenschaften
    • Register zur Ein- und Ausgabe

Der 68HC11 besitzt fünf parallele Schnittstellen, die Ports A bis E, welche mit unterschiedlichen Hardware-Eigenschaften ausgestattet sind. Im "expanded Mode" stehen die Ports B und C nicht zur Verfügung, weil sie für Adreß- und Datenleitungen verwendet werden. Durch einen Port-Expander-Baustein lassen sie sich aber wieder ergänzen.

Eine kurze Übersicht der Ports:

  • Port A: besitzt drei Eingänge vier Ausgänge und eine bidirektionale Leitung. Zusätzlich verarbeitet er die Signale des Timer-Systems und des Pulse-Akkumulators.
Die Ports B und C werden zusammen mit den Handshakeleitungen STRA und STRB als Einheit betrachtet.
  • Port B: besitzt acht Ausgangsleitungen. Lesen auf Port B liefert die letzten hineingeschriebenen Daten.
  • Port C:hat acht bidirektionale Leitungen. Über ein Datenrichtungsregister kann für jede Leitung festgelegt werden, ob sie Eingang oder Ausgang sein soll. Ein zusätzliche Latch speichert den Eingangszustand von Port C bei jeder aktiven Signalflanke auf dem Anschluß STRA.
  • Port D:besitzt sechs bidirektionale Leitungen, die wie bei Port C per Datenrichtungsregister eingestellt werden können. Die Bits 0 und 1 von Port D werden auch von der seriellen Schnittstelle verwendet.
  • Port E: besitzt acht Eingangsleitungen, die alternativ als analoge Eingänge des A/D-Wandler-Systems verwendet werden. Beim DIL-Ghäuse stehen sogar nur vier Leitungen zur Verfügung.
Den fünf Ports sind insgesamt 16 Register zugeordnet (Einstellung und E/A). Die jeweiligen Register werden bei der Besprechung der einzelnen Ports behandelt.

Port A

Ein- und Ausgabeport mit fester und für ein Bit variabler Datenrichtung.

Der Port kann auf zwei verschiedene Betriebsarten gesetzt werden:

  • Steuerbit PEAN = 0: "normale" parallele E/A (Betriebsart 1).

  • Steuerbit PEAN = 1: Impuls-Akkumulator (Betriebsart 2). Hier lassen sich entweder Impulse zählen (PMOD = 0) oder Impulsdauern messen (PMOD = 1).

                                       PAIF    set by active edge on PAI, reset by writing a corresponding one to TFLG2
                                       PAOVF   set by roll over of PACNT, reset by writing a corresponding one to TFLG2
                                       PAII    set and reset by software, generate interrupt, if PAIF is set
                                       PAOVI   set and reset by software, generate interrupt, if PAOVF is set
                                       

Port B und STRB

Ausgabeport mit fester Datenrichtung

Der Port kann auf zwei verschiedene Betriebsarten gesetzt werden:

  • Steuerbit HNDS = 0: "normale" parallele Ausgabe

  • Steuerbit HNDS = 1: full handshake mode
    Wird im Rahmen dieser Vorlesung nicht besprochen!

Port C und STRA

Ein/Ausgabeport mit bitweise wählbarer Datenrichtung.

Der Port kann auf zwei verschiedene Betriebsarten gesetzt werden:

  • Steuerbit HNDS = 0: "normale" parallele Ein- oder Ausgabe

  • Steuerbit HNDS = 1: full handshake mode
    Wird im Rahmen dieser Vorlesung nicht besprochen!

Port D

Ein/Ausgabeport mit bitweise wählbarer Datenrichtung.

Der Port kann auf zwei verschiedene Betriebsarten gesetzt werden:

  • Steuerbits SPE = RE = TE = 0: "normale" parallele Ein- oder Ausgabe

  • 2. Betriebsart: SPI = serial peripheral interface (synchronous) wenn SPE=1 ist oder SCI = serial communications interface (asynchronous) wenn RE=1 und/oder TE=1 sind.
    Wird unter 26.html besprochen.

Port E

Eingabeport mit fester Datenrichtung

Der Port kann auf zwei verschiedene Betriebsarten gesetzt werden:

  • "normale" parallele Eingabe, kein Schreiben ins ADCTL-Register

  • A/D-Wandlung, Schreiben ins ADCTL-Register - siehe später.

Programmbeispiele

Beispiel 1

Lesen 4 Bit linksbündig von Port C
Ausgeben 4 Bit rechtsbündig auf Port C
Ausgeben 4 Bit rechtsbündig auf Port B mit STRB (high pulse)

Vereinbarungen:

                                       pcdr     equ  $1003
                                       pcdd     equ  $1007
                                       pbdr     equ  $1004
                                       pioc     equ  $1002
                                       

Initialisierung

                                       init     ldaa  #$0F
                                                staa  pcdd     pc(3:0) = output
                                                ldaa  #$01
                                                staa  pioc     STRB high active
                                                rts
                                       

Datenverkehr

                                       main     ldaa  pcdr
                                                lsra
                                                lsra
                                                lsra
                                                lsra
                                                staa  pcdr
                                                staa  pbdr
                                                bra   main
                                       

Beispiel 2

Warten auf steigende Flanke am Eingang STRA

Vereinbarungen:

                                       pioc     equ  $1002
                                       pcdl     equ  $1005
                                       

Initialisierung

                                       init     ldaa #$02
                                                staa pioc      STRA rising edge exspected
                                                rts
                                       

Daten-Abfrage

                                                .
                                                .
                                                .                          Alternative
                                       wait     ldaa  pioc
                                                anda  #$02                 bita  #$02
                                                beq   wait                 beq   wait
                                                ldaa  pcdl  clear STAF-flag
                                                .
                                                .
                                                .
                                       

Beispiel 3

Realisieren eines 8-Bit-Zählers auf Port B
(Port B ist zwar ein reiner Ausgabeport, aber mit dem Befehl "inc pcdr" wird Port B erst gelesen und somit der vorherige Ausgabewert geliefert, dann der Wert erhöht und zurückgeschrieben).

Vereinbarungen:

                                       pbdr     equ   $1004
                                       

Programm:

                                       init     clr   pbdr          Port B = 0
                                       main     inc   pbdr          Increment Port B
                                                ldx   #$4000        Warteschleife
                                       delay    dex                 X = X - 1
                                                bne   delay	     solange X > 0 durchlaufe Schleife
                                                bra   main
                                       

Beispiel 4

Vereinbarungen:

                                       portc    equ   $1003
                                       pcdd     equ   $1007
                                       

Programm:

                                       init     ldaa  #%11111111
                                                staa  pcdd           Port C auf Ausgabe setzen (0=in, 1=out)
                                                clra 
                                                staa  portc          Port C = 0
                                       main     inca
                                                staa  portc          hochzählen
                                                ldx   #$4000         Warteschleife
                                       delay    dex
                                                bne   delay
                                                bra   main
                                       

Beispiel 5

Lichtmuster ausgeben auf LEDs, die an Port C angeschlossen sind.

Vereinbarungen:

                                       portc    equ   $1003
                                       pcdd     equ   $1007
                                       

Programm:

                                       init     ldaa  #$FF
                                                staa  pcdd           Port C auf Ausgabe setzen (0=in, 1=out)
                                       top      ldx   #TABLE         X verweist nun auf die Daten in TABLE
                                       loop    ldaa  0,X            Tabellenelement lesen
                                                beq   top            ist das Elemnt 0 --> Tabellenende
                                       *                             wieder zum Tabellenanfang
                                                staa  portc          Tabellenelement ausgeben
                                                bsr   delay          Warteschleife aufrufen
                                                inx                  naechstes Tabellenelement
                                                bra   loop           usw.
                                       *
                                       delay    ldx   #$4000         Warteschleife, diesmal als Unterprogramm
                                       dela1    dex
                                                bne   dela1
                                                rts
                                       *
                                       TABLE    dc.b  $01, $02, $04, $08, $10, $20, $40, $80
                                                dc.b  $40, $20, $10, $08, $04, $02, $00
                                       

Beispiel 6

Lesen Port E, ausgeben auf Port B

Vereinbarungen:

                                       pbdr     equ   $1004
                                       pedr     equ   $100A
                                       

Programm:

                                       main    ldaa   pedr
                                               staa   pbdr
                                               bra    main
                                       

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere