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


von Jj J. (jidan1)


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.

von Bernhard S. (bernhard)


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

von Jj J. (jidan1)


Lesenswert?

>Man kann notfalls auf Handshake-Leitungen verzichten

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

von Th. B. (pomdas)


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

von Jj J. (jidan1)


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.

von Th. B. (pomdas)


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

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.