www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Spannung und Handshakes für FT232R


Autor: Jj Jj (jidan1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Ich habe ein Atmega128 und möchte das mit FT232R zusammen verbinden
damit ich das ATmega128 durch USB programmieren kann.

Ich habe Zwei fragen:
1)Was ist besser? Soll die Spannung versorgung für den FT232R von USB
Bus kommen oder von der µC interne 5V spannungversorgung. Ich denke die
interne quelle ist besser, weil man hat da weniger EMV, mehr stablilier
spannung, und der strom ist ja eher wenig.

2)Brauch ich die handshake signale? Falls ja, wie soll ich das am
besten machen? da der atmega128 nur TxD und Rxd signale hat.

Danke im Voraus.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>Brauch ich die handshake signale? Falls ja, wie soll ich das am
>besten machen? da der atmega128 nur TxD und Rxd signale hat

Man kann notfalls auf Handshake-Leitungen verzichten, kommt aber auf
den spezifischen Anwendungsfall an. Manche Endgräte arbeiten nur
damit.

Wenn Handshake realisiert werden muss, dann kann man einen normalen
µC-PIN für diesen Fall verwenden.


Bernhard

Autor: Jj Jj (jidan1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Man kann notfalls auf Handshake-Leitungen verzichten

Was heisst hier "notfall" ??
Ich möchte mit der USB nur den µC programmieren.

Autor: Th. B. (pomdas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der "Notfall" hat etwas damit zu tun, wie die Kommunikation seitens
des PCs abgewickelt wird. Die RS232-Schnittstelle (serielle
Schnittstelle) verursacht einen Interrupt, sobald Daten gesendet wurden
oder im Puffer liegen. Bei USB jedoch wird dies durch eine Taskliste
signalisiert. Diese wird nach dem FIFO-Prinzip bearbeitet. Je nachdem,
wieviele Tasks gerade anstehen kann es folglich dazu kommen, dass der
Puffer noch nicht geleert ist, wenn bereits neue Daten eintreffen, weil
der PC noch gar keine Kenntnis von dem Ereignis erlangt hat. Zur
Absicherung hat der FT232 einen weiteren Puffer, der versucht, dieses
Problem abzufangen. Aber auch dieses ist irgendwann mal voll... Aus
diesem Grund sollte man, wenn man einen USB/RS232-Wandler benutzt,
moeglichst nicht auf Handshaking verzichten. Dies muss nicht unbedingt
das Hardwarehandshaking oder das Softwarehandshaking mittels XON/XOFF
sein. Es kann auch ein anderes Protokoll, mittels welchem die
Teilnehmer erkennen koennen, ob der Partner die Daten evtl. nicht
bekommen haben koennte, benutzt weden. Ich habe leider keine Kenntnis
ueber das zur Programmierung des ATMega benutzten Protokolls. Jedoch
ist bei meinen Versuchen mit dem FT232 noch kein Paket verloren
gegangen, auch wenn der PC gerade viel zu tun hatte. Die Datenraten
waren hierbei in der Regel beim maximal moeglichen. Da diese zur
Programmierung nicht benutzt werden, sinkt die Wahrscheinlichkeit fuer
einen Fehler durch Nichtverarbeitung nochmals.

Gruss
Thomas

Autor: Jj Jj (jidan1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha...danke für die ausführliche erklärung. Ich habe gehofft ich könnte
ohne handshakes auskommen, genauso wie ich das mit der RS232
schnittstelle gemacht habe, aber wie du es bereits gesagt hast, hier
werden interrupts nicht benutzt.

Also, ich werde die signale RTS/CTS von der RS232-USB umwandler auf
irgend ein IO pins von der µC verbinden, und sie für den handshakes
benutzten. Kann ich dann die anderen pins DTR/DSR/DCD von dieser
umwandler einfach zusammen verbinden?

MfG.

Autor: Th. B. (pomdas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wuerde die freien Signale auf jeden Fall irgednwie herausfuehren, so
dass Du sie bei Bedarf (z.B. mittels Steckerleiste) an den uC
anschliessen kannst.

Ich persoenlich wuerde es zuerst einmal ohne Handshake-Leitungen
versuchen. Bei den niedrigen Datenraten, welche Du zur Programmierung
benoetigst (9600 Baud?) duerftest Du eigentlich keine Probleme
bekommen. Wie gesagt, ich habe meine Versuche mit den vollen 1 MBit
ohne Handshake ausprobiert und keinerlei Probleme gehabt. Als PC kam
ein recht betagtes Modell zum Einsatz, welcher nebenher noch einige
Berechnungen und andere Jobs zu erledigen hatte.

Thomas

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.