mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 115200baud mit 19.6608Mhz


Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ist es möglich, mit einem 19.6608Mhz Quarz eine UART Baudrate von 115200 
zu erreichen?

Bei den Fehler Berechnungen komme ich auf einen Fehler von 1.49%

Doch es ist doch ein Baudratenquarz also sollte es doch möglich sein 
oder?

Danke schonmal

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:

> Doch es ist doch ein Baudratenquarz also sollte es doch möglich sein
> oder?

Der Quarz ist zwar ein Baudratenquarz, aber 115200bd passt nicht in die 
klassische Verdopplung 75-150-300...9600-19200-38400-76800-... sondern 
ist ein Artefakt der in PCs verwendeten Baudratenerzeugung. Der Quarz 
lässt ab 75bd nur Zweierpotenzen als Teiler zu und in 115200 steckt ein 
zusätzlicher Faktor 3.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke...

Was ist somit die höchst mögliche Baudrate welche auch vom PC 
"empfangen" werden kann?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Doch es ist doch ein Baudratenquarz
Wie kommst du darauf?
19660800 / 115200 = 170,666
Die Nachkommastellen sagen:
das kann kein Baudratenquarz für 115200 sein...
http://www.hanneslux.de/avr/tipps/baudratenquarz.html

Ein anderes Beispiel:
11059200 / 115200 = 96,000 das geht gut.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Wie kommst du darauf?
> Schau mal hier
Trau, schau wem ;-)

>> Was ist somit die höchst mögliche Baudrate welche auch vom PC
>> "empfangen" werden kann?
Das kommt auf den PC, den darin verbauten UART und die verwendete 
Software an. Es muß ja "nur" das Reload-Register des UARTs im PC 
entsprechend eingestellt werden (können)...

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
> Das kommt auf den PC, den darin verbauten UART und die verwendete
> Software an. Es muß ja "nur" das Reload-Register des UARTs im PC
> entsprechend eingestellt werden (können)...

Ich dachte da an einen Standard.
Als Software hTerm

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es kommt auf den Prozessor an.

Wenn Du einen LPC2xxx oder STM32 nutzt, dann kann anhand der Mul/Div 
Register nahezu jede Baudrate aus nahezu jedem Quarz gemacht werden.

z.B. aus 8MHz sind 115KBaud mit 0,16% Fehler möglich.

Schreibe mal was Du nutzt.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:

> Als Software hTerm

Dann schau nach, was sich da einstellen lässt.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Dann schau nach, was sich da einstellen lässt.

Dort kann ich manuell die baudrate eintippen

Somit alles...


Die frage ist, was ist das höchst mögliche mit dem AVR

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:
> A. K. schrieb:
>> Dann schau nach, was sich da einstellen lässt.
>
> Dort kann ich manuell die baudrate eintippen
>
> Somit alles...
>
>
> Die frage ist, was ist das höchst mögliche mit dem AVR

Du drehst dich im Kreis :-)
Die höchst mögliche auf dem AVR ergibt sich aus der maximalen 
Taktfrequenz, dir der AVR noch mitmacht und dem kleinstmöglichen Wert 
(also 1) den man noch in die UBRR Register laden kann.

Wenn deine Gegenstelle diesen, wahrscheinlichen krummen, Wert einstellen 
kann, hast du die höchstmögliche Baudrate.


Du siehst schon, wenn du so fragst, drehst du dich im Kreis.
Du musst dich fragen: Auf welcher Seite habe ich das Problem, dass ich 
nur aus einem Vorrat vorgefertigter Baudraten auswählen kann? Welches 
ist dort die höchste Baudrate, die ich auch auf dem AVR ohne allzuviel 
Fehler noch produzieren kann.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus Müller schrieb:
> Schreibe mal was Du nutzt.

Ich nutze einen Attiny2313-20PU

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Offiziell kann der Win32-API die Parameter
CBR_110   CBR_19200
CBR_300   CBR_38400
CBR_600   CBR_56000
CBR_1200  CBR_57600
CBR_2400  CBR_115200
CBR_4800  CBR_128000
CBR_9600  CBR_256000
CBR_14400

Wobei deine 1,5% Abweichung noch im Rahmen dessen sind, was die 
Schnittstelle notfalls abkann.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aeh ... 19660800 / 115200 = 170,666 .. sind nur 0.2% Fehler wenn man 171 
als Teiler einstellt.

Autor: Alter Hase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage welche Baudrate maximal möglich ist kannst Du Dir
leicht ausrechnen. Du mußt in der Zeit die ein Zeichen zur Übertragung 
benötigt das zuvor empfangene Zeichen aus dem Uart auslesen und z.B. 
Anspeichern. Ggf. muß Du noch Zeit für die Weiterverarbeitung der Daten 
berücksichtigen. Ein Zeichen besteht z.B. aus 10 Bit:
 Das Zeichen selber 8 Bit plus Start und Stopp-Bit-
 ggf. kommen noch ein Parity-Bit und ein weiteres Stopp-Bit hinzu.

Mit diesen Angaben sollte es doch möglich sein das zu berechen.....

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke...

Bei 128000 Baud komme ich auf einen Fehler von 0.943% Das ist meiner 
Meinung nach Ideal

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey noch Was schrieb:

> Aeh ... 19660800 / 115200 = 170,666 .. sind nur 0.2% Fehler wenn man 171
> als Teiler einstellt.

Dummerweise hast du den Faktor 8 vergessen, den dir die UART mindesten 
einbringt.

Auch die 1,5% sind allerdings noch drin.

Claudio: Die 128000 stehen da zwar drin, aber wie die intern zustande 
kommen weiss ich auch nicht. Ich hatte grad nachgesehen und CBR_128000 
hat den Wert 128000, der Parameter wird also uncodiert direkt 
durchgereicht und diese CBR_ Werte sind Augenwischerei. Daher macht das 
hTerm auch nicht anders und reicht den Wert auf Gedeih und Verderb 
durch.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Claudio Hediger (hedie)

>Ist es möglich, mit einem 19.6608Mhz Quarz eine UART Baudrate von 115200
>zu erreichen?

Nein.

>Bei den Fehler Berechnungen komme ich auf einen Fehler von 1.49%

Ich komme auf 3,1%, wenn man mit der klassichen /16 Teielung im UART 
arbeitet. Bei /8, wie sie die AVRs und andere beherrschen, komt man auf 
1,56%. Das ist zwar etwas viel, geht auber noch, wenn die Gegenstelle 
(meist PC) mit 0% Fehler arbeitet.

MFG
Falk

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Daher macht das
> hTerm auch nicht anders und reicht den Wert auf Gedeih und Verderb
> durch.

Das bedeutet man hat kein garant das der Uart diese baud auch erzeugen 
kann?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aeh ... 19660800 / 115200 = 170,666 .. sind nur 0.2% Fehler wenn man 171
> als Teiler einstellt.
Das greift deutlich zu kurz. Aus diesem Ergebnis kann man nur ableiten, 
dass der angegebene Quarz garantiert keine ideale Lösung erlauben 
wird. Was letzlich dabei herauskommt, hängt noch von den internen 
Zählerregistern des uCs ab. Denn es sollte ja auch das Oversampling von 
8 berücksichtigt werden...

Edit:
ich komme auch auf den Wert, den Falk angegeben hat: 0,195% * 8 = 1,56%

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
> ich komme auch auf den Wert, den Falk angegeben hat: 0,195% * 8 = 1,56%

Somit kann ich 115200baud verwenden?

Die gegenseite ist ein PC

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

Siehe

http://pdfserv.maxim-ic.com/en/an/AN2141.pdf

im Artikel Baudratenquarz. 3% sind theoretisch tolerierbar.

MFG
Falk

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:

> wenn die Gegenstelle (meist PC) mit 0% Fehler arbeitet.

Denkste!

Neugierig geworden habe ich grad mal ins Datasheet des erstbesten 
LPC-SuperIO Bausteins reingesehen, so ein Ding mit dem PCs den ollen 
Kleinkram wie PS/2, UART, Floppy usw. abwickeln.

Der Baustein hat genau 3 Taktanschlüsse:
32768Hz
14,xMHz ISA-Bus Takt
PCI Bustakt.

Einen Baudratenquarz sucht man vergeblich. Tatsächlich leitet die UART 
die Baudrate aus intern per PLL hochgehetzten 96MHz/24MHz ab, mit 
wählbaren Vorteilern 6.5, 13 und 12 (wg. MIDI). Die Tabelle gibt daher 
bereits für 38400 einen Fehler von 0,03% an, bei den darüber liegenden 
PC-typischen Raten 0,16%. Das ist nicht dramatisch, aber von wirklich 
quarzgenauen Raten sollte man bei hohen Baudraten nicht unbedingt 
ausgehen.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Einen Baudratenquarz sucht man vergeblich. Tatsächlich leitet die UART
> die Baudrate aus intern per PLL hochgehetzten 96MHz/24MHz ab, mit
> wählbaren Vorteilern 6.5, 13 und 12. Die Tabelle gibt daher bereits für
> 38400 einen Fehler von 0,03% an, bei den darüber liegenden PC-typischen
> Raten 0,16%. Das ist nicht dramatisch, aber von wirklich quarzgenauen
> Raten sollte man bei hohen Baudraten nicht unbedingt ausgehen.

Sehr spannend...

Danke für deine Hilfe...

Ich denke am besten isses, wenn ich einfach mal 115200 oder 128000 
ausprobiere und berichte wies herausgekommen ist.

Das ganze ist für einen Simplen LogicAnalyzer...

Attiny2313 liest den PORTX komplett ein und sendet diesen an den PC zur 
visualisierung.

Ich weiss das dieses vorgehen relativ langsam ist.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den USB/Serial-Bausteinen dürfte das ähnlich aussehen wie bei den 
PC-SuperIOs. Überall findet man 24MHz/13 oder Varianten davon als 
Basistakt der UART-Raten wieder, bei USB sowieso naheliegend. Das ist 
eben jene 0,16% von der exakten Baudrate entfernt.

Autor: Kevin K. (nemon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Claudio Hediger schrieb:
>> Die frage ist, was ist das höchst mögliche mit dem AVR
>
> Du drehst dich im Kreis :-)
> Die höchst mögliche auf dem AVR ergibt sich aus der maximalen
> Taktfrequenz, dir der AVR noch mitmacht und dem kleinstmöglichen Wert
> (also 1) den man noch in die UBRR Register laden kann.
>
In UBRR kann auch eine 0 geschrieben werden. Außerdem kann noch ein Bit 
zur Verdopplung der Datenrate gesetzt werden. Mit 18,432MHz sind so 
maximal 2,304MBaud möglich.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:

> Das ganze ist für einen Simplen LogicAnalyzer...

Dann hau dem einen FTDI an Stelle des Mäxchens rein und du bist das 
Problem los und kannst in die Vollen gehen.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Dann hau dem einen FTDI an Stelle des Mäxchens rein und du bist das
> Problem los und kannst in die Vollen gehen.

Ich verwende auch einen FT232RL :)

Für diesen benötige ich doch aber noch einen 12MHz Quarz richtig?

Um die Baudrate beim FT232RL einzustellen muss ich diese einfach zb mit 
hTerm einstellen und der FTDI Treiber regelt den rest oder?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau ins Datasheet vom FT232RL rein, da steht wie der die Baudrate 
berechnet. Wobei ein Baudratenquarz am AVR dabei nicht optimal ist. Wenn 
das kein Serienprodukt wird, dann kannst du evtl. mal ausprobieren, ob 
der AVR am 24MHz Ausgang des FT232R noch funktioniert.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Wenn
> das kein Serienprodukt wird, dann kannst du evtl. mal ausprobieren, ob
> der AVR am 24MHz Ausgang des FT232R noch funktioniert.

Nein wird kein serien produkt...

Ja das klingt interessant...


Was meintest du genau mit in die Vollen gehen?

Du dachtest schon auch das ich die daten vom attiny2313 per RS232 an den 
FT232TL sende oder?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:

> Was meintest du genau mit in die Vollen gehen?

Mit einem 24MHz Takt am AVR kannst dort mit 3Mbps rausblasen. Der FTDI 
kann das ebenfalls.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Mit einem 24MHz Takt am AVR kannst dort mit 3Mbps rausblasen. Der FTDI
> kann das ebenfalls.

Sehr gut... wird ausprobiert...

Danke!

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und die 24MHz holt sich der AVR aus einem entsprechend konfigurierten 
Ausgang vom FT232. Ein Quarz weniger. Kann sein, dass der AVR das nicht 
packt, aber das wirst du sehen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: Eine andere Frage ist, ob hTerm damit zu Rande kommt. Das 
Bray-Terminal macht jedenfalls schon bei 38400 manchmal schlapp und 
verliert Daten. :-(

Kann auch sein, dass du Raten wie 3Mbps nur mittels der FTDI Library 
gebacken kriegst, nicht mit hTerm. Aber so schnell kannst du ohnehin 
nicht gucken und wenn's ein LA wird, dann wirst du wohl letzlich ein 
PC-Programm im Sinn haben.

Autor: Ohforf Sake (ohforf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RS232 ist nicht unbedingt die beste Lösung.
Mit RS485 (bis 10Mbit) hast du störsichere Übertragung... dagegen ist 
RS232 lächerlich.
Treiber-ICs brauchst du sowieso, also was soll der Geiz ?
USB und Ethernet wären auch vielverspechend, aber für Microcontroller 
ist das Protokoll zu aufwändig, so dass die Übertragung enttäuschend 
langsam wird.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohforf Sake schrieb:

> RS232 ist nicht unbedingt die beste Lösung.
> Mit RS485 (bis 10Mbit) hast du störsichere Übertragung... dagegen ist
> RS232 lächerlich.

Noch nicht gemerkt, dass hier nirgends RS232 übertragen wird, sondern in 
Wahrheit USB über die Strippe geht? Und für die paar Zentimeter zwischen 
AVR und FT232R tut's auch CMOS/TTL-Pegel.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Kann auch sein, dass du Raten wie 3Mbps nur mittels der FTDI Library
> gebacken kriegst, nicht mit hTerm. Aber so schnell kannst du ohnehin
> nicht gucken und wenn's ein LA wird, dann wirst du wohl letzlich ein
> PC-Programm im Sinn haben.

Jahp habe ein Programm im Sinn...

Visualisierung hab ich auch bereits implementiert... es fehlen lediglich 
die Daten.

Ich programmiere in Delphi... Also meinst du mit FTDI Library den 
zugriff auf eine DLL?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:

> Ich programmiere in Delphi... Also meinst du mit FTDI Library den
> zugriff auf eine DLL?

Exakt. Gibt's bei FTDI zum Download.

Autor: Ohforf Sake (ohforf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Noch nicht gemerkt, dass hier nirgends RS232 übertragen wird, sondern in
> Wahrheit USB über die Strippe geht? Und für die paar Zentimeter zwischen
> AVR und FT232R tut's auch CMOS/TTL-Pegel.

OK. Bin mal gespannt, wie schnell das in der Praxis ist.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Exakt. Gibt's bei FTDI zum Download.

Hast du damit bereits gearbeitet?

Kann ich da Zeichen um Zeichen empfangen?
oder ists es aufwändiger?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:

> Hast du damit bereits gearbeitet?

Ja, allerdings beim FT2232 und dessen erweiterten 
Schnittstellenmöglichkeiten (SPI/I2C/Bus).

> Kann ich da Zeichen um Zeichen empfangen?

Ja, wenn dir danach der Sinn steht. Spezialfall mit Pufferlänge 1. Ist 
bei einer Datenrate von 3Mpbs aber nicht unbedingt zu empfehlen. Da wird 
es sinnvoller, wenn du einen eigenen Puffer zwischenschaltest.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Ja, wenn dir danach der Sinn steht.

Was würdest du empfehlen?

Wie meinst du einen eigenen Puffer Zwischenschalten?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
100 Bytes anfordern, 80 Bytes kriegen und die 80 Bytes auf Anfrage 
nacheinander abliefern. Erspart einen Rattenschwanz an unsichtbarem 
Aufwand in den Ebenen zwischen deinem Programm und dem USB-Treiber.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> 100 Bytes anfordern, 80 Bytes kriegen und die 80 Bytes auf Anfrage
> nacheinander abliefern.

Könntest du mir das ein bisschen genauer erklären?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber jetzt landen wir in einem Bereich, der mir zu sehr nach 
"Händchen halten und jeden einzelnen Schritt vormachen" riecht. Bischen 
Grundkenntnisse in Programmierung setze ich als gegeben voraus.

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok...

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:
> A. K. schrieb:

> Das ganze ist für einen Simplen LogicAnalyzer...
>
> Attiny2313 liest den PORTX komplett ein und sendet diesen an den PC zur
> visualisierung.
>
> Ich weiss das dieses vorgehen relativ langsam ist.

Für die maximale Geschwindigkeit solltest Du auf den Flaschenhals 
Seriell verzichten und einen FTDI245 und einen etwas größeren AVR 
wählen. Der FTDI245 stellt dem PC eine virtuelle serielle Schnittstelle 
über USB zur Verfügung, hat aber tatsächlich eine 8 Bit parallele. Damit 
kannst Du auf dem PC einstellen, was Du willst, es ist einfach egal. Die 
Übertragungsgeschwindigkeit wird nur durchs USB begrenzt - und Deinen 
AVR.

fchk

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du an einen Tiny2313 (hierfür ohnehin etwas auf der krassen Seite) 
einen FT245 anschliesst, dann sind praktisch alle Pins weg.

Autor: Kevin K. (nemon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> PS: Eine andere Frage ist, ob hTerm damit zu Rande kommt. Das
> Bray-Terminal macht jedenfalls schon bei 38400 manchmal schlapp und
> verliert Daten. :-(
460800Baud sind kein Problem mit meinem RS232->USB-Wandler von Reichelt. 
Habe einige tausend mal die Ziffernfolge 0..255 übertragen und bislang 
hat kein Byte gefehlt.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 460800Baud sind kein Problem mit meinem RS232->USB-Wandler von Reichelt.
> Habe einige tausend mal die Ziffernfolge 0..255 übertragen und bislang
> hat kein Byte gefehlt.
Mit 460800Bit/s / 10Bit = 46kByte/s
und 1000 * 256Byte = 256kByte
gibt das 256k / 46k/s = 5,5s pro Durchlauf.

Du hast also einige 5,5 Sekunden lang Daten übertragen...
Das ist m.E. noch nicht so richtig viel  ;-)

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Welt stellt von Parallel auf Seriell um (PCI->PCI Express) und ihr 
von Seriell auf Parallel (FT232->FT245) ;-)

Wie schon gesagt, die paar Zentimeter serielle Schnittstelle ist doch 
nicht tragisch auf einer Platine.

Autor: Claudio Hediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ich hab nochmal ne Frage

Wie viele baud sind 3Mbit / sekunde?

3MBaud?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. Bei RS232 Ist ein Bit genau ein Symbol. (Du kannst mal den Wiki 
Artikel zu "Baud" durchlesen). Ein RS232 "Paket" hat aber min. 10 Bit 
(10 Symbole) die für ein Byte übertragen werden müssen.

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Wenn du an einen Tiny2313 (hierfür ohnehin etwas auf der krassen Seite)
> einen FT245 anschliesst, dann sind praktisch alle Pins weg.

Wer sagt denn, dass die Datenbits DURCH den Prozessor müssen. Der FT245 
hat doch einen 8 Bit Port. Und er will 8 Bit übertragen. Dann langt es 
doch, wenn der AtTiny nur das Timing an den Handshake-Leitungen vorgibt 
und sich der FT245 die Daten direkt abgreift.

Dann wirds richtig schnell, und das ganze Gehampel mit Baudraten kann 
man dann vergessen.

fchk

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yep, das könnte man auch machen. Die Datenleitungen braucht er natürlich 
immer noch, aber nur zur Steuerung, nicht mehr für die eigentlichen 
Daten.

Autor: Claudio Hediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Yep, das könnte man auch machen. Die Datenleitungen braucht er natürlich
> immer noch, aber nur zur Steuerung, nicht mehr für die eigentlichen
> Daten.

An das habe ich auch bereits gedacht...

Für etwas gibt es ja Version 2.0 :)

Autor: Kevin K. (nemon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
>> 460800Baud sind kein Problem mit meinem RS232->USB-Wandler von Reichelt.
>> Habe einige tausend mal die Ziffernfolge 0..255 übertragen und bislang
>> hat kein Byte gefehlt.
> Mit 460800Bit/s / 10Bit = 46kByte/s
> und 1000 * 256Byte = 256kByte
> gibt das 256k / 46k/s = 5,5s pro Durchlauf.
>
> Du hast also einige 5,5 Sekunden lang Daten übertragen...
> Das ist m.E. noch nicht so richtig viel  ;-)

immerhin mehrere Minuten mit Vollgas. Bei >1Mio Zeichen und nicht einem 
fehlerhaften Byte schonmal nicht schlecht. Klar, irgendwann fängt man 
sich mal nen Bitfehler ein. Kommt dann auf die Anwendung drauf an, ob 
das kritisch ist, oder drüber hinweg gesehen werden kann.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso sollte man sich mal einen Bitfehler einfangen? Doch nicht, wenn 
alles in Ordnung ist...

Autor: Claudio H. (hedie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab nun also Neuigkeiten

Nach vielen Stunden intensiver arbeit... klappt nun alles...

Acuh das PC Programm läuft...



Maximale Geschwindigkeit liegt bei 233kSamples / Sekunde

Was sagt ihr zu diesem Wert?

Autor: Gebhard Raich (geb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wieso sollte man sich mal einen Bitfehler einfangen? Doch nicht, wenn
>alles in Ordnung ist...

Stimmt, Bitfehler hab ich noch nie beobachtet. Wohl aber das 
"Verschlucken" von Bytes durch den FTDI Treiber. War bei 460800 Baud 
aber auch vom PC abhängig. Bei meinem ists passiert(2-3X/Tag bei kont. 
Senden), bei dem vom Kunden gottseidank nicht. Trotzdem irgendwie eine 
schwindlige Geschichte mit dem FTDI. Wenn der nur nicht soo praktisch 
und einfach zu verwenden wäre.

Grüße

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Wieso sollte man sich mal einen Bitfehler einfangen? Doch nicht, wenn
> alles in Ordnung ist...

Es gibt keine absolut fehlerfreie Übertragung. Die Bitfehlerrate hängt 
von der Signal-to-Noise-Ratio (SNR) ab, je niedriger die SNR, desto 
höher wird die Fehlerrate. Da die SNR realer Systeme nicht unendlich 
werden kann, kann die Fehlerrate auch nicht 0 werden.

Beispiel Gigabit-Ethernet, das darf nach Spec eine Fehlerrate von max. 
10^-12 haben, also eines von 10^12 Bits darf fehlerhaft übertragen 
werden. 10^12 klingt erstmal nach viel, aber 10^12 Bits zu senden dauert 
bei 1,25Gbps (Roh-Datenrate von 1000baseT) gerade mal ca. 13 Minuten, 
statistisch gesehen darf also alle 13 Minuten ein Übertragungsfehler 
auftreten.

Andreas

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.