8 bit Datenbus einlesen

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren