Forum: Mikrocontroller und Digitale Elektronik FT232BM => 9. Bit?


von see4far (Gast)


Lesenswert?

Hallo!

Weiß jemand, ob ich beim FT232BM auch das 9. Bit verwenden kann?


mfg
see4far

von Daniel B. (khani)


Lesenswert?

Hallo,

warum bist Du so faul, nicht ins Datenblatt zu schauen ?!
Bei google kann man FT232BM datasheet eingeben und auf den allerersten
Link klicken, dann steht gleich auf der allerersten Seite (Features) :

UART I/F supports blablabla.....

Was da steht findest Du jetzt bitte selber raus, damit Du mal lernst,
wie man ein Datenblatt bedient.

MfG, Daniel

von see4far (Gast)


Lesenswert?

jau, sorry, mir is gerad auch in den sinn gekommen, dass ich vielleicht
mal hätte suchen sollen, bevor ich hier angepatzt werde. aber danke für
den hinweis! war noch etwas schläfrig :)

von see4far (Gast)


Lesenswert?

Gibt es denn einen USB-Chip ähnlich dem FT232BM bei dem man auch das 9.
Bit setzen kann? Oder sollte ich vielleicht wieder lieber erst selbst
suchen?

von Benedikt (Gast)


Lesenswert?

>Oder sollte ich vielleicht wieder lieber erst selbst suchen?

Bingo...

PS: Es gibt hier auch noch andere Foren als µC & Elektronik, in denen
könnte vielleicht auch was zu dem Thema stehen (ich weiß das deshalb,
weil ich genau dieselbe Frage auch schon gestellt habe.)

von see4far (Gast)


Lesenswert?

Ok, bei Kommandos sicherlich eine gute Alternative. Ich möchte aber
lediglich das StartByte eines Datenrahmens kennzeichnen
(RS485-Bus-Protokol). Dabei fände ich das 9. Bit wesentlich
komfortabler. Also nochmal die Frage: Gibt es einen USB-Chip, der das
9. Bit beherrscht?

thx
see4far

von see4far (Gast)


Lesenswert?

Hallo nochmal!

Hab mich nochmal etwas informiert. Bei den AVRs ist es ja so, dass das
9. Bit das Parity-Bit ist und manuell gesetzt werden kann/muss. Im
Datasheet des FT232BM steht ja nun auch: "UART I/F Supports 7 / 8 Bit
Data, 1 / 2 Stop Bits and Odd/Even/Mark/Space/No Parity".

Der FT232BM kann also auf jeden Fall auch das Parity-Bit handlen. Muss
ich das jetzt so verstehen, dass ich über USB gar keinen Zugriff darauf
habe und der Chip das selbst berechnet (nach Einstellung)? Würde für
mich nur irgendwie nicht soo viel Sinn machen, weil es ja nicht soo der
Aufwand sein kann, dass auch über USB manuell setzen zu können! Wie ist
das eigentlich bei "normalen" RS232-Schnittstellen? Habe ich da auch
überhaupt keinen Zugriff auf das Parity-Bit? Bei HTerm z.B. kann man ja
auch nur bis zu 8 Datenbits auswählen. Das Parity-Bit, so nehme ich an,
wird dann Hardwareseitig generiert. Warum aber? Wenn ich bei Parity-Bit
"none" einstelle, dürfte es doch nicht so schwer sein, dass auch
einzeln setzen zu können...


Vielleicht kann mir da ja nochmal jemand weiterhelfen... wäre toll!


Gruß,
see4far

von Marcus (Gast)


Lesenswert?

Einfach mal überlegen:

Nahezu alle I/O Chips verwenden 8 Bit Register.
Wie also bei jedem übertragenen Byte ein 9. Bit setzen ????

Ist natürlich möglich (Einige Atmels z.B. können das) aber mit
erheblichem Design Aufwand verbunden. - Also doch viel schwieriger
als mal eben die Parity einzustellen).

Gruß, Marcus

von Benedikt (Gast)


Lesenswert?

Mit dem FT232 kann man 9 bit übertragen, aber das ist ziemlich tricky:

Vor dem Senden muss man Mark/Space (=9. Datenbit umschalten).
Allerdings kann man nie so genau sagen, wann es jetzt wirklich
umgeschaltet ist, daher sollte man nach dem Umschalten einige 100ms
warten.
Wenn du 100Byte/s Datendurchsatz damit erreichst, kannst du Glücklich
sein.

von see4far (Gast)


Lesenswert?

Für die Parity muss aber doch trotzdem ein Bit in einem Register
reserviert sein? Würd ja dann doch auch Sinn machen, das getrennt
setzen zu können... Na gut, dass mit dem Mark/Space werde ich mir mal
anschauen, aber 100Byte/s wäre dann schon etwas wenig.

mfg
see4far

von Benedikt (Gast)


Lesenswert?

Parity wird automatisch berechnet (steht irgendwo im Datenblatt des
FT232).
Das 9. Bit geziehlt setzen/löschen geht nur über mark/space

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Auch auf der PC-Seite würde die Verbindung durch das ständige Parity
umschalten sehr, sehr langsam werden. Auch dort müsste dann ja der
Sende-Puffer auf 1 Byte beschränkt sein. Kurzum: Auf 2 Byte verteilen
ist in jedem Fall um längen einfacher und schneller

von Thomas S. (tstuetz)


Lesenswert?

@Tobi
Wie soll das den gehen ?
UART auf 7 bit ohne Parität und dann im zweiten zeichen d0=1/0 ?
was machst du dann mit dem Stop/Startbit das wird immer ausgegeben ?

Gruss

von Benedikt (Gast)


Lesenswert?

@TStuetz

Man macht sowas mit Escape Zeichen. Kommt ein Escape zeichen wird das
darauffolgende irgendwie besonders behandelt (als Befehl, als
Starterkennung usw.

von Thomas S. (tstuetz)


Lesenswert?

@Benedikt

Du hast schon Recht das ist eine einfache Lösung,
jedoch will er grad das nicht:

>Ich möchte aber lediglich das StartByte eines Datenrahmens
>kennzeichnen (RS485-Bus-Protokol).
>Dabei fände ich das 9. Bit wesentlich komfortabler.

nicht bös verstehen, ja :-)

Gruss

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.