Forum: Mikrocontroller und Digitale Elektronik FT232R Bitbang mode?


von Torsten (Gast)


Lesenswert?

Hallo, ich möchte gerne eine schnelle Datenübertragung vom M16C zum PC
realisieren (> 1MBit). Habe dafür den FT232R entdeckt. Der kann ja eine
Art synchronen parallelen Modus mit WR / RD Signalen.
Kann mir jemand sagen ob das genau so funktionieren würde wie mit
irgendeinem Baustein (ADC / RAM etc.) Und gibts da etwas zu beachten?
Wie würde das z.B. funktioneren wenn der PC etwas zum Controlelr
schreibt? Da nützen mir die Signale ja nichts da der Controller ja
eigentlich diese WR/RD erzeugen müsste???

Danke für jede Art von Hilfe!

Andere Idee: kann man über 1MBit auch seriell erreichen?

Gruss
Torsten

von Marko (Gast)


Lesenswert?

Also wenn ich das Datenblatt nicht ganz missverstanden
hab wär der Baustein geeignet um den M16 per
UART an USB zu koppeln und dafür wär er auch recht
einfach zu handeln.
Du müsstest dann die UART des M16 mit 1MBit betreiben
um dann über den FT232R über USB die Daten zu
übertragen.
Die UART des M16 wird das aber leider nicht bringen.
115KBit ist soweit ich informiert bin Ende der
Fahnenstange. Man kann da glaub ich über den
Prescaler noch mal was rauskitzeln, aber 1MBit
wird nicht hin kommen und der M16 wär dann auch
mit nichts anderem mehr zu beschäftigen
als mit Datenübertragung.
Im Übrigen kannste für solche Geschwindigkeiten
auch RS485 nutzen, aber auch da wird die UART
des M16 der Flaschenhals sein.
Du bräuchtest da nen Baustein der dir ein
paralleles Signal z.B. einen Port des M16, Port A0 bis A7
z.B., ind ein serielles umwandelt. Dann könntest Du
die Geschwindigkeit evtl. erreichen.

von Εrnst B. (ernst)


Lesenswert?

ATMega 16 @ 20Mhz hat eine max. UART Datenrate von 2.5MBit/sec. (UBRR=0,
U2X gesetzt)

Aber viel Zeit zum berechnen wird da nicht übbrigbleiben, wenn der mit
voller Geschwindigkeit empfangen soll...

von Marko (Gast)


Lesenswert?

ähm Atmega 20MHz ?

laut Datenblatt ist bei 16MHz schluss
oder hab ich da was missverstanden ...

ach so, 20 gehn solang man die eeprom in Ruhe lässt, richtig?

von MNR (Gast)


Lesenswert?

Für solche Geschwindigkeiten ist dann eher der parallel arbeitende FT245
das richtige.

Gruß,
Mattthias

von Torsten (Gast)


Lesenswert?

Hallo Leute,
danke erstmal für eure Antworten.

Ja die M16C UART geht nur (sinnvoll) bis 115 kBaud. Muss also parallel
gelöst werden.
Und da scheint es so, als könnte das der 232R im Bitbang mode. Mir
fehlt nur die Idee für die Steuersignale.

Gruss
Torsten

von Stefan K. (_sk_)


Lesenswert?

>Ja die M16C UART geht nur (sinnvoll) bis 115 kBaud.

??? Gibt es dafür irgendwelche Gründe? Schon den ATmega betreibe ich
mit bis zu 1Mbaud. Der M16C kann die UART fast ohne CPU-Belastung
handeln, wenn man die DMA dafür nutzt. Dagegen: DMA auf einem
(selbstgebastelten) Parallelport - vielleicht nicht ganz unmöglich,
aber sicher nicht einfach.

Gruß, Stefan

von Torsten (Gast)


Lesenswert?

Naja... :-) Ich habs noch nicht mit höheren Raten ausprobiert. (Der VCP
Treiber lässt nur bis 115Kbit zu). Bei 57600 steht der Baudratenteiler
des M16C auf 19. Da wäre schon noch Luft.

Aber... Ich hab gerade mal auf der FTDI Seite rumgestöbert. Da gibts
eine DLL für "SPI2USB" Das wäre natürlich auch eine feine Sache, da
ich SPI eh schon nutze. Die DLL scheint aber speziell für den FT2232C
gemacht zu sein. Ich probiere mal, ob sie mit dem 232R auf arbeitet.
Das wäre für mich hier die einfachste Lösung.

Gruss
Torsten

von Torsten (Gast)


Lesenswert?

hat sich gerade geklärt...
Der FT232R unterstützt den SPI Mode nicht. heul

Also reden wir nochmal über die anderen Varianten :-(

von Wolfram (Gast)


Lesenswert?

>Naja... :-) Ich habs noch nicht mit höheren Raten ausprobiert. (Der
VCP
>Treiber lässt nur bis 115Kbit zu). Bei 57600 steht der
Baudratenteiler
>des M16C auf 19. Da wäre schon noch Luft.

falsch bis 3Mbit ,schau ins Datenblatt (RS485/TTL 3Mbit)
wenn dein Terminalprogramm dich nicht andere Baudraten einstellen
laesst,wird es Zeit fuer ein neues.

Ich benutze derzeit den ftdi 232bm mit 500kBit, bei 1Mbit und einem AVR
8Mhz wurde es beim Empfangen etwas zu knapp. Das ist das eigentliche
Problem, bei diesen Geschwindigkeiten die Zeichen innerhalb des
Interrupts schnell genug in den Zwischenpuffer zu schaffen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.