mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8 bit Datenbus einlesen


Autor: Rene Zimmermann (renezimmermann)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wie auf dem Bild zu sehen habe ich einen 8 bit Datenbus (leider nur 
D0-D4 aufgezeichnet da nur 8 Kanäle vorhanden). Nachdem /CS auf Low 
gegangen ist werden mit der steigenden Flanke von WR die Daten 
eingelesen. Solange die Daten dann verarbeitet werden bleibt Busy auf 
High. Erst wenn Busy wieder auf Low geht wird das nächste Byte 
übertragen.

Ich dachte WR auf einen ext. Interrupt des Atmega zu legen und in der 
ISR die Daten einzulesen wenn /CS Low ist. Meine Fragen wären:
1. Ist das zeitlich mit einem Atmega @ 16 Mhz zu machen wenn mit GCC 
programmiert?
2. Wenn nicht, wie speichere ich die Daten in einem Latch zwischen?

Gruß Rene

Autor: Frickelfritze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann mich nicht mit dem Gedanken anfreunden mit einen
Signal das WR (vermutlich Write) heisst Daten von einem
Bus zu lesen.

Autor: Hosenmatz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frickelfritze schrieb:
> Ich kann mich nicht mit dem Gedanken anfreunden mit einen
> Signal das WR (vermutlich Write) heisst Daten von einem
> Bus zu lesen.

Das ist angewandte Dialektik, mein Lieber: Wo ein Schreiber ist muss 
auch ein Leser sein. Jedenfalls in diesem Metier.

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es kommt ja drauf an wie die Freq. des Signals ist?! Wo liegt das 
Problem?

Autor: Frickelfritze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hosenmatz schrieb:
> Das ist angewandte Dialektik, mein Lieber

Ich nenne das dann mal lieber babylonische Geistesverwirrung.

Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rene Z. schrieb:
> 1. Ist das zeitlich mit einem Atmega @ 16 Mhz zu machen wenn mit GCC
> programmiert?

 a) Fallende Flanke feuert ISR, in der ISR sofort Daten einlesen->
 Kein Problem.

 b) Fallende Flanke feuert ISR, in der ISR auf steigende Flanke warten->
 Kein Problem aber ISR kann Programablauf blockieren.

 c) Steigende Flanke feuert ISR, in der ISR sofort Daten einlesen->
 Wenn die ISR möglichst kurz gehalten wird um unnötiges pushen der
 Register zu vermeiden, dauert es zwischen 8 und max. 20 Takte bis
 zum einlesen der Daten, das sind 0,5us bis 1,3us.
 Das ist dann die min. Hold Time für Daten (tHOLD after WRhi).

: Bearbeitet durch User
Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rene Z. schrieb:
> wie auf dem Bild zu sehen habe ich einen 8 bit Datenbus

Und was ist die Quelle? Ist das irgendein Prozessorsystem, das darüber 
irgendwelche existierende Peripherie ansteuert, die Du nachbilden 
willst?

Autor: Rene Zimmermann (renezimmermann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frickelfritze schrieb:
> Ich kann mich nicht mit dem Gedanken anfreunden mit einen
> Signal das WR (vermutlich Write) heisst Daten von einem
> Bus zu lesen.

Nenne es wie du willst, im Datenblatt des angeschlossenen VFD Displays 
steht Write und ich habe das mal so übernommen.

Die Frequenz ist ungefähr 2 kHz, steht ja auch oben. Oh man jetzt 
dämmerts mir. Kleiner Denkfehler meinerseits.

Gruß Rene

Autor: Rene Zimmermann (renezimmermann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Und was ist die Quelle? Ist das irgendein Prozessorsystem, das darüber
> irgendwelche existierende Peripherie ansteuert, die Du nachbilden
> willst?

Richtig, ein 8032 System steuert ein VFD Display an. Dieses möchte ich 
durch ein HD44780 kompatibles Lcd ersetzen.

Autor: Draco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rene Z. schrieb:
> Die Frequenz ist ungefähr 2 kHz, steht ja auch oben. Oh man jetzt
> dämmerts mir. Kleiner Denkfehler meinerseits.
>
> Gruß Rene

Das stand bis jetzt nirgends um welche Freq es sich handelt, auch nicht 
das es sich um Display handelt. Bis jetzt stand nur 8 Bit, dein 
einzelnes Byte im Diagramm und das wars ;-)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah. Die genannte "Frequenz" von 2 kHz bezieht sich auf das /WR-Signal?

Dann dürfte das ganze problemlos umsetzbar sein.

Viel Erfolg & Spaß dabei.

Autor: Hosenmatz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frickelfritze schrieb:
> Hosenmatz schrieb:
>> Das ist angewandte Dialektik, mein Lieber
>
> Ich nenne das dann mal lieber babylonische Geistesverwirrung.

Schon klar. Ich lese Dich hier schon länger.

Aber es geht darum, von welchem Standpunkt aus man eine Bezeichnung für 
einen Vorgang wählt. Von dem aus, der den Vorgang auslöst, oder dem, der 
Subjekt des Vorganges ist.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frickelfritze schrieb:
> Ich nenne das dann mal lieber babylonische Geistesverwirrung

Ein RAM bekommt seine Daten ja auch mit einem /WR-Impuls - was ist daran 
so schwer zu verstehen? Noch nie einen Bus gesehen? Ist ja bloss gut, 
dass das RAM oder der Peripheriebaustein nicht so verwirrt sind wie du.

Georg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.