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
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.
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...
ä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?
Für solche Geschwindigkeiten ist dann eher der parallel arbeitende FT245 das richtige. Gruß, Mattthias
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
>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
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
hat sich gerade geklärt... Der FT232R unterstützt den SPI Mode nicht. heul Also reden wir nochmal über die anderen Varianten :-(
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.