Gast
#2695000
Hallo, ich möchte eine größere Datenmenge per USB über den CP2102 zu meinem XMega128 schicken. Den CP2102 habe ich zum USBxpress Device konfiguriert und mir eine kleine C# Anwendung geschrieben welche die Baudrate wie folgt festlegt: SI_SetBaudRate(def_handle, 576000); Laut der Baudratendefinition von SiLabs ist das mit eine 576000er UART Baudrate möglich. http://www.silabs.com/Support%20Documents/TechnicalDocs/an205.pdf für einen ersten Test habe ich mich mit dem AVR1307 Using UART tutorial und interruptgesteuerter Übertragung versucht. In der dort beiliegenden Excel-Datei wird mir ein BSCALE Wert von -7(0b1001) und ein BSEL Wert von: 761 -> -0,01% Error mit CLK2X 316 -> -0,10% Error ohne CLK2X Beide Einstellungen führen merkwürdigerweise zu keiner Übertragung. Im Netz habe ich folgenden Calculator gefunden: http://prototalk.net/forums/showthread.php?t=188 dieser hat mir BSCALE Wert von -6 und BSEL 158 errechnet mit dem es mir gelungen ist, 524288 Bytes fehlerfrei in 9,9018803(ca. 53kb/s) sec vom XMega zum PC zu übertragen. Nun mehrere Fragen. 1.) Macht es einen Unterschied ob ich Interruptgesteuert oder Polled vorgehe um hohe datenübertragungsraten zu erreichen? 2.) Welche Datenübertragungen sind realistisch/überhaupt machbar? Excel-Tabelle hat eine Spalte für 921600. 3.) Und noch wichtiger. Was hat es mit dem CLK2X(Double Speed) auf sich. Ich finde in der beiliegenden PDF und in dem Beispiel-Code keine nützlichen Informationen wie ich diesen Modus nutzen kann. 4.) Aus welchem Grund funktioniert der Calculator und die Excel-Tabelle von Atmel nicht? Gruß Max