Busimplementation im µC

OP #648432
Lesenswert?

Hallo Zusammen,
ich habe eine etwas allgemeine Frage, aber ich hoffe das ich hier 
richtig bin. Ich habe als Platform einen ARM9 (STR912) und möchte mit 
diesem einen eigenen serielle Bus realisieren. Zum Anfang ist es kein 
Problem an einem GPIO-Port Pin Daten seriell auszugeben oder zu lesen, 
später soll das ganze aber eine gewisse Datenrate haben (bsp. 10Mbit/s). 
Wie setzt man sowas am besten um wenn die "normale" Ausgabe zu langsam 
wird? Externe Beschaltung oder kann man da was mit EMI/DMA machen? 
Jemand ein paar Tipps oder Links zu dem Thema?
Gast #648438
Lesenswert?

10MBit ? Synchron ? Schieberegister an ein Port. Asynchron ?  Wird 
schwierig. Die mir bekannte UART machen das nicht mehr. Allenfalls eine 
CPDL Nachbildung eines UART. Das Problem ist das Oversampling des 
Empfaengers. Bei 8 fachem oversampling muss der Empfaenger schon 80 MHz 
bringen. Auf alle faelle geht's  ohne externe chips nicht mehr, mal von 
SPI abgesehen.
#648443
Lesenswert?

@ Der Thomas (soundso)

>Wie setzt man sowas am besten um wenn die "normale" Ausgabe zu langsam
>wird?

I2C

UART, hat fast jeder uC, geht bis 1/16 bzw. 1/8 des 
Oszillatortaktes, bei 16 MHz sind immerhin 2 Mbit/s möglich.

SPI

Ethernet, dafür gibt es diverse Tranceiver (MACs), denen schickst du die 
Daten per SPI oder parallelem Bus, die Übertragug machen die dann 
selber.

MFG
Falk

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