8 bit Datenbus einlesen

OP #4677172
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
Angehängte Dateien:
Gast #4677187
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.
(Firma: Vescomp) #4677209
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).
OP #4677211
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
Gast #4677219
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 ;-)
Gast #4677222
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.
Gast #4677232
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

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.