mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FT232R Bitbang mode?


Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: MNR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für solche Geschwindigkeiten ist dann eher der parallel arbeitende FT245
das richtige.

Gruß,
Mattthias

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Kleinwort (_sk_)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Torsten (Gast)
Datum:

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

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

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.