www.mikrocontroller.net

Forum: PC-Programmierung FTDI über createfile mit 1mbit zum AVR?


Autor: Philipp Co (ba4_philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

warscheinlich eine blöde Frage, aber ich suche für mein CAN Interface 
eine Möglichkeit schneller mit dem AVR zu kommunizieren als 115k2. Ich 
habe nun gelesen, dass mit diesen FTDI ICs über USB bis zu 1MBit/s 
möglich ist.
Meine Frage ist nun ob ich dann einfach im AVR auf 1MBit stellen kann 
und wie gewohnt in C unter Windows die Schnittstelle per createfile 
öffnen kann und als Baudrate 1000000 Baud angeben kann? Oder ist es über 
die normale Windows API nicht möglich mehr als 115k2 auszuwählen?

Vielen Dank
Gruß Philipp

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mal behaupten das geht, da sämtliche Terminalprogramme meinen 
Noname-USB-RS232 Wandler mit biszu 1MBit unterstützen.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das klappt, man übergibt der DCB dann einfach seine gewünschte 
Baudrate. 921.600Baud ist z.B. kein Problem.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Meine Frage ist nun ob ich dann einfach im AVR auf 1MBit stellen kann

Wenn dein AVR dann noch genug Zeit hat, seine Aufgabe zu erledigen.

Autor: Philipp Co (ba4_philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus wrote:
>> Meine Frage ist nun ob ich dann einfach im AVR auf 1MBit stellen kann
>
> Wenn dein AVR dann noch genug Zeit hat, seine Aufgabe zu erledigen.

Hmm, bei 10MHz hätte er noch rund 108 Takte zwischen 2 Bytes. Das ja 
echt nicht viel. Er macht aber im Prinzip eh nix weiter als das 
Übertragen vom CAN auf die serielle und der CAN läuft nur mit 125kbit/s. 
Es muss ja auch nicht gleich 1Mbit sein. Nur mehr als 2x die 125kbit/s 
(für ne ASCII Übertragung).

Vielen Dank
Gruß Philipp

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf jeden Fall Hardware-Handshake benutzen. Dann gehts eben erst weiter, 
wenn der ATMega die Daten verarbeitet hat.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert relativ problemlos (Abweichung der Baudraten FTDI <-> AVR 
beachten)
Wenn man keinen Zugriff auf die PC-Applikation hat, kann man dem Treiber 
zur Not sagen, dass er z.B. wenn die Applikation 115200 Baud haben will, 
trotzdem mit z.B. 500000 Baud übertragen soll.
http://www.ftdichip.com/Documents/AppNotes/AN232B-...

Autor: Philipp Co (ba4_philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir geht es nur darum nix zu verlieren, wenn auf dem CAN mal richtig was 
los ist und ich zum PC nur mit ca. 60kbit/s senden kann. Zur Zeit sende 
ich binär um möglichst die 115k2 voll auszuschöpfen, ich würde mich aber 
gerne an dieses Lawicel Protokoll halten und in ASCII senden.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp Co wrote:
> Mir geht es nur darum nix zu verlieren, wenn auf dem CAN mal richtig was
> los ist und ich zum PC nur mit ca. 60kbit/s senden kann. Zur Zeit sende
> ich binär um möglichst die 115k2 voll auszuschöpfen, ich würde mich aber
> gerne an dieses Lawicel Protokoll halten und in ASCII senden.

Die FTDI-Bauteile unterstützen bis zu 3 MBit/s (wenn's der AVR schafft).
Oder man nimmt, wenn es von der Hardware möglich ist, den FT245R und 
schaufelt so bis zu 600-700 oder mehr kByte/s zum PC/AVR.

Add: Bei 10 MHz kann der AVR entweder 625000 Bit/s oder 1250000 Bit/s.
Der FTDI kennt als Teiler für die Baudrate:
n + 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875.
D.h. der Fehler bei den Baudraten liegt bei ca. 1%.

Optimaler wäre, wenn der AVR mit 8/16 MHz läuft oder eben ein FT245R.

Autor: Philipp Co (ba4_philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
500kBaud sind mehr als ausreichend. Es geht nur um meinen CAN Bus hier 
und um nix universelles. Mehr als 125kbit/s muss ich nicht zum PC 
bekommen (bissel mehr als 250kbit/s reichen also selbst wenn man es als 
ASCII Hes String übertgrägt)

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.