Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
   
  •  
    Biologie
    Themen der Chemie
    Deutsch online artikel
    Englisch / Englische
    Franzosisch
    Geographie
    Geschichte
    Informatik
    Kunst
    Mathematik / Studium
    Musik
    Philosophie
    Physik
    Recht
    Sport
    Wirtschaft & Technik



    Biographie

    Impressum

informatik artikel (Interpretation und charakterisierung)

Banking

Die arbeitsweise eines controllers


1. Java
2. Viren



2.1 Zugriff auf die Speicher 2.1.1 Zugriff auf den internen SRAM

Damit man Daten aus dem SRAM lesen kann, wird zunächst die Adresse des gewünschten Datenbereichs auf den Adressbus gelegt. Die Anzahl der Adressbits richtet sich nach dem Speicherausbau des jeweiligen Controllers. Danach wird die Read-Leitung des Steuerbusses aktiviert (log. 0), und auf dem internen Datenbus ist der Inhalt der adressierten SRAM-Zelle. Mit einer steigenden Flanke des Read-Signals ( /RD-Signal) werden die Daten in ein Arbeitsregister übernommen.

Soll in einen SRAM Daten eines Arbeitsregisters geschrieben werden, so werden die Daten auf den Datenbus, und die gewünschte Adresse auf den Adressbus gelegt. Es wird die Write-Leitung des Steuerbusses auf log. 0 gesetzt und wieder auf log. 1. Mit der steigenden Flanke des Write-Signals wird der Inhalt des Arbeitsregisters in den SRAM eingeschrieben.


2.1.2 Zugriff auf den nichtflüchtigen Speicher (EEPROM)

Für den Schreib-/Lesezugriff auf den nichtflüchtigen Speicher sind drei I/O-Register des SRAMs relevant. Diese sind:
EEPROM Adress-Register

EEPROM Daten-Register
EEPROM Control-Register

Bit7 Bit6 Bit5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Adresse

$1C ($3C) - - - - - EEMWE EEWE EERE
Tab. 1: EEPROM-Control-Register

Beim Lesen wird die zu lesende EEPROM-Adresse in das EEPROM-Adress-Register (EEAR), das sich auf dem I/O-Speicherplatz $1E (RAM: $3E) befindet, eingeschrieben. Dann wird in das EEPROM-Daten-Register (EEDR), auf dem I/O-Speicherplatz $1D (RAM: $3D), der zu speichernde Inhalt abgelegt. Erst durch das Setzten des Read-Enable-Control-Bits (EERE) im



EEPROM-Control-Register (EECR), das sich auf dem I/O-Speicherplatz $1C (RAM: $3C) befindet, können die Daten gelesen werden.
Der Schreibzugriff auf das EEPROM erfolgt in ähnlicher Weise. Jedoch muss das EEWE-Bit (EEPROM-Write-Enable-Bit) gesetzt sein. In dem EEAR muss die Adresse, und im EEDR das zu speichernde Datenbyte vorhanden sein. Um ein unbeabsichtigtes Schreiben auf das EEPROM zu verhindern muss zusätzlich das EEMWE-Bit im Controll-Register gesetzt sein. Zum Programmieren sind folgenden Schritte notwendig.
1. Warten, falls ein Programmiervorgang läuft, bis dieser beendet ist.
2. Die EEPROM-Adresse in das EEAR einschreiben.
3. Das zu speichernde Datenbyte in das EEDR einschreiben.

4. Das EEMWEBit auf log. 1 setzten.
5. Das EEWE-Bit auf log. 1 setzten und ca. 2,5 - 4 ms ( 4 Perioden des Systemtaktes) warten.

Das EEWE-Bit wird nach dem Programmiervorgang automatisch auf log. 0 zurückgesetzt. Bevor also das nächste Byte programmiert werden darf, ist es notwendig dieses Bit abzufragen und zu warten bis es den Wert log. O erreicht hat.



2.1.3 Zugriff auf den Programmspeicher

Der Lesevorgang auf den Programmspeicher wird von der CPU gesteuert. Der Programmierer muss nicht extra ein Programm dafür schreiben. Der Ablauf des Lesevorganges der Gleiche, wie bei dem SRAM-Lesevorgang.
Der Schreibvorgang auf den Programmspeicher wird nur einmal für eine Anwendungsaufgabe durchgeführt. Dies kann mit einem PC, mit entsprechender Software, erfolgen. Der Programmiervorgang des Flash-EPROMs kann eingeschränkt seriell (in der Schaltung), oder parallel erfolgen. Für den parallelen Programmiermodus muss der Mikrocontroller aus der Schaltung genommen werden.



2.2 Programmbearbeitung

Die jeweiligen Arbeitsanweisungen für den Controller stehen im Programm, das sich im Programmspeicher befindet. Jeder Befehl hat eine bestimmte Adresse. Nach einem Neustart des Controllers ruft die CPU die erste Adresse ($0000) auf. Der Inhalt geht über den Datenbus


zu der CPU. Jeder Befehl besteht aus mehreren Bytes. Das erste Byte enthält immer den Operationscode, der dem Rechenwerk sagt, welche Operation auszuführen ist. Weiterhin gibt das erste Byte über die Länge des Befehls Auskunft. Erst wenn der gesamte Befehl gelesen ist, führt der Controller ihn aus. Dies kann unter anderem Lesen / Schreiben in Speicher oder Ausführen von Rechenoperationen sein. In den folgenden Byte/s stehen die Adressen oder die Register, die angesprochen werden sollen. Nach der Ausführung des Befehls holt die Ablaufsteuerung den nächsten Befehl aus dem Programmspeicher. Ist der letzte Befehl im Programmspeicher bearbeitet beginnt die CPU wieder bei der ersten Adresse ($0000), soweit keine anderen Sprünge oder Schleifen programmiert sind.



2.3 Die Ein- / Ausgabeports (I/O-Ports)

Alle Ports der AVR-RISC Controller verfügen über 8 Bit breite, bi-direktionale I/O-Ports. Bei dem AT90S1200 sowie dem AT90S2313 ist der Port D jedoch nur mit 7 Bit breit, da das Gehäuse nur 20 Anschlüsse hat. Bidirektional bedeutet, dass jeder Pin eines Ports als Ein- sowohl auch als Ausgang verwendet werden kann. In der Funktion als Eingang kann ihm nach Bedarf auch ein Pull-Up-Widerstand zugeschaltet werden kann. Jeder einzelne Port des Controllers wird über drei I/O-Bereiche des SRAMs angesprochen. Die Tabelle (siehe Anlage) zeigt welche Register erforderlich sind, sowie deren Adresse. Initial zeigt den Wert des Registers nach einem Reset an.

Jeder I/O-Pin ist nach dem gleichen Prinzip aufgebaut













Bild 5: Prinzipschaltung eines I/O-Pins






2.3.1 Das Datenrichtungsregister

Im Datenrichtungsregister (DDX) wird festgelegt, ob die einzelnen Pins eines Ports als Ein- oder Ausgang arbeiten sollen. Steht in einem Bit (n) im Datenrichtungsregister eine "0" so ist der Pin
als Eingang konfiguriert. Bei einem Eingang ist der Schalter S3 geöffnet und trennt den Pin von seinem dazugehörigem Port. Der Schalter S1 (Öffner) ist geschlossen, dadurch wird der Pull-Up-Widerstand an den Pin geschalten, falls der Schalter S2 durch ein High am Ausgang von seinem Port geschlossen ist.
Wird in ein Datenrichtungsregister-Bit eine "1" eingeschrieben, so wird der entsprechende Pin als Ausgang festgelegt. S3 ist dann geschlossen und verbindet den jeweiligen Port mit seinem dazugehörigen Pin. Der Öffner S1 ist offen und trennt den Pull-Up-Widerstand vom Pin, unabhängig vom Schalter S2.


2.3.2 Das Portregister

In das eigentliche Port-Register (PortX) wird bei einer Ausgangskonfiguration der auszugebende Wert eingeschrieben. Ist der Pin als Eingang konfiguriert, besteht die Möglichkeit den internen Pull-Up-Widerstand einzuschalten. Der Schalter S2 ist dann geschlossen.



2.3.3 Das Eingangs-Pin-Register

Mit Hilfe dieses Registers kann man die logischen Pegel eines Pins (PinX) einlesen. Um die Inhalte auszulesen, aktiviert die Steuerlogik die Signale RD (Read Direction), RL (Read Latch) bzw. RP (Read Pin), die den jeweiligen Wert über den entsprechenden Treiber TD, TL bzw. TP auf den internen Datenbus schalten.

 
 




Datenschutz

Top Themen / Analyse
Das uncommited dependency Problem
Anwendungsbereiche von Computern
MAGNETO-OPTISCHE UND FLOPTICAL-LAUFWERKE:
Windows NT
Internet --- -
Das Internet - Geschichte, technische und wirtschaftliche Funktionen
Welche Schritte müssen zur Erstellung des ER-Diagrammes vorgenommen werden und erstellen sie ein ER-Diagramm zu einer Arztordination
Kontinuierliche Informationsquellen und Kanäle
Laser
Die Chiffrierscheibe als Grundlage





Datenschutz

Zum selben thema
Netzwerk
Software
Entwicklung
Windows
Programm
Unix
Games
Sicherheit
Disk
Technologie
Bildung
Mp3
Cd
Suche
Grafik
Zahlung
Html
Internet
Hardware
Cpu
Firewall
Speicher
Mail
Banking
Video
Hacker
Design
Sprache
Dvd
Drucker
Elektronisches
Geschichte
Fehler
Website
Linux
Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.