Paralleles Interface zum Datentransport

Gast #1342732
Hallo,
ich will in eine Richtung besonders schnell Daten verschicken. Dabei 
handelt es sich um bytes die verschickt werden (wie UART). Parallel, 
weil genug Pins vorhanden, einfach.

Allerdings habe ich sowas noch nie gemacht. Mein Konzept sieht so aus:
Das Interface ist nur unidirektional!

Mega32:
Enable Pin High
PORTA = aktuelles Zeichen
Enable Pin Low

Parallax Propeller:
Wenn Enable High
Byte lesen

Macht das Sinn oder wird das nicht funktionieren? Danke.
Gast #1342814
>ungünstigstenfalls ist der Impuls einen AVR-Takt lang. Ob das Deiner
>Parallax-Software reicht, muß Du wissen. Sonst eben entsprechend lang
>warten.

Oder noch einen Pin für ein Handshake spendieren.
Gast #1345556
so ich hab das ganze mal aufgebaut und siehe da es funktioniert schon 
halbwegs. Ich hab es erst ohne delay ausprobiert und es funktionierte 
überhaupt nicht. ein delay von ca. 200µs zwischen EN und ~EN hilft. 
Allerdings schleichen sich fehler ein. Ist eben nicht ganz synchron. Wie 
finde ich die korrekte Delay zeit bzw. geht das mit dem handshake?
#1345575
Hallo,

naja, "Bescheid" sagen halt. ;-)

AVR legt Daten auf den Port und setzt dann Strobe aktiv.
Der Parallax setzt Busy aktiv, wenn er den Strobe erkannt hat, der AVR 
nimmt Strobe zurück. Der Parallax nimmt Busy zurück, wenn er fertig ist 
und neue Daten annehmen kann.

Die zeitlich günstigste Version hängt vom Verhalten des Parallax ab.
Wenn der auf Strobe aktiv annehmbar schnell reagiert, ist es vermutlich 
am einfachsten, wenn der AVR auf Busy aktiv wartet und dann Strobe 
zurücknimmt.
Vor dem anlegen des nächsten Bytes muß eben Busy auf inaktiv getestet 
werden und notfalls gewartet.

Da das ganze ja offenbar schnell sein soll: wenn die Daten Blockweise 
anfallen einfach als Schleife mit Warten auf die Reaktion abarbeiten.

Zeitkritische Sachen kann der AVR ja im Interrupt abarbeiten, das 
verzögert dann höchstens die Übertragung, stört sie aber nicht, die 
warten ja aufeinander. Muß batürlich auf der Parallax-Seite auch 
entsprechend den Gegebeheiten geregelt werden.

Gruß aus Berlin
Michael

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.