Wobei dann aber stets der hoeherfrequente Quarz schwingen muss und das kostet viele Mikroampere.
Andere Idee, falls die 328PB Version benutzt werden kann, jedoch nie probiert:
Koennte es funktionieren, wenn man vor dem Datenauslesen den internen leider recht ungenauen 128kHz Oszillator aktiviert, Clock Failure Detect (CFD) einschaltet, dann per Open Dain Port Pin oder so den 32kHz Uhrenquarz abwuergt und die danach anspringende CFD auf einen hoeherfrequenteren Takt schalten laesst? Wenn die Daten rueber sind, alles wieder zurueck. Kapitel 13.3 hier:
In andere Konstellation wo die 9600 Baud UART meines Controllers zu langsam ist viele Daten in den PC zu bekommen werde ich eine externe MAX3100 SPI-UART verwenden. Gibts in China in DIL ( teuer ) und "TSSOP" ( billig ). Die hat eigenen 3,68MHz Quarz und macht 115kBit/sec. In Anwendungen wo man praktisch nur sendet ist SPI gangbar.
Auch wenn ich vieles bastel so sei doch erwaehnt das es derzeit fuer
16Euro einen sehr billigen Datenlogger gibt der genau das machen kann. (such mal nach Elitech RC-5) Da lohnt sich IMHO selber basteln nicht. Ausserdem laesst sich das Teil auch einfach unter Linux auslesen. (ich schreib mir da gerade eine Software fuer)
Das haengt von deinem Microcontroller ab. Es gibt welche die haben PLL und fraktionale Teiler und schaffen vermutlich alles auch mit 32Khz. Es gibt auch sehr eigenwillige Loesungen (Gecko) da ist der Baudratengenerator teil eines Fraktionalen Teilers. Der schafft dann mit 32khz auch 9600B, allerdings sind nicht alle Bits gleich lang. (sieht auf dem Oszi echt gewoehnungsbeduerftig aus)
Es gibt natuerlich auch welche die sind so doof das die damit garnicht koennen. Allerdings gilt es allgemein als Vorteil den Controller so schnell wie moeglich laufen zu lassen und dann wieder schnell in den Sleepmode zu gehen. So macht es der oben erwaehnte RC5 auch. Und es ist sicher auch kein Problem aus einem Baudratenquarz irgendwie auf
1Hz zu kommen. Und selbst wenn es nicht perfekt ist, wenn die Zeit ein paar Sekunden am Tag falsch geht so ist das sicher auch nicht schlimm.
Standard-PC-Hardware kann nur Standardbaudraten! Es gibt aber USB-RS232 Wandler (FTDI) die koennen jede beliebige Baudrate. (also z.B auch 125000B)
Unter Windows kannst du die dann einfach so einstellen wenn das Programm es dir erlaubt. Ein Beispiel dafuer ist Hterm.
Unter Linux geht das mit solchen Wandlern auch, allerdings ist das einstellen der Baudrate dann etwas eigenartig geloest. Hab ich aber auch schon gemacht. Ich hab z.B mal minicom auf 250000B gepatcht.
"Marte Schwarz" schrieb im Newsbeitrag news:o8fbvt$qmi$ snipped-for-privacy@news2.open-news-network.org...
Ein UART braucht die (im Vergleich zur Baudrate hohe)
von 16 auf 8 runterschalten Double Speed Operation (U2X)
Empfang (Acknowledge, Sendeanforderung) mit geringerer
bist du vermutlich mit einem Software-UART schneller,
LD r4,X+ ; Daten holen SER r1 ; Startbit OUT PORTB,r1 NOP OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 SHR r4 OUT PORTB,r4 CLR r4 OUT PORTB,r4 ; Stoppbit NOP
Macht dann bei 32768 Hz eben 16384 Baud, auch komisch aber vielleicht handelbar, die Optionen sind nicht besser
10922, 8192, 6553...
--
MaWin, Manfred Winterhoff, mawin at gmx dot net
Homepage http://www.oocities.org/mwinterhoff/
Nicht unbedingt. Der MSP430 kann schon mit einem 32768kHz Quarz 9600Baud. Die Jungs aus Freising hatten sich dazu ein paar Tricks einfallen lassen. Auch kann er innerhalb von 6us auf den 8MHz-RC-Takt hochschalten - schnell was
bei solchen Stromspardingen um Welten durchdachter als die AT-Megas (oder andere uC's).
nicht mit Arduinos machen werden. Selbst mit den Arduino Micro ist
auch ein MSP430 drin, wurde aber explizit ausgeschlagen :-( Der Kunde
Der RC-5 sieht interessant aus, mal schauen, ob man den mit mechanischem Downsizing anpassen kann. Display brauch ich nicht, den USB-Stecker an sich auch nicht... die 15 Euro sind das probieren wert, mal sehen,wie
Ich leg mir den jetzt mal privat zu, weil bis der ankommt, sollte das andere Teil schon fertig sein.
Tester gern dabei ;-)
Der UART beim ATMEL ist eine Katastrophe. der kann eigentlich gar
Das geht bei einem MSP430 auch recht gut, bei Atmels eher weniger.
USB-UART dran. Da ging eigentlich fast alles bis kurz unterhalb von 1 Mbaud.
(z.B. 8 MHz) fahren - und per DMA z.B. den 512bytes Sektor der SD-Karte direkt ins RAM legen. Die SD-Karte lief auf dem MSP430 wesentlich schneller, als auf dem Philips LPC2100 vorher (beide hatten Zugriff per SPI auf die SD). Es gibt da ja nun auch die ARM Cortex M4F Nachfolger MSP432 - die haben zumindest schon mal die stromsparende und flexiblen Peripheriebausteine geerbt, hab die bloss noch nicht am Wickel gehabt, bisher ist auch nur ein Typ da:
formatting link
Der MSP432 hat auch ordentliche Ressource z.B. an Timern 4x16bit, 2x32bit,
Entwicklungssystem und Support. Was den Hobby-Bereich betrifft, da findet man zu praktisch jedem interessanten externen Baustein oder Modul Arduino-Bibliotheken und Beispielprogramme. Kommerziell will sich eine
die billigste Alternative verlangt... :-(
Taktfrequenz erfordert. Teilt man nur durch 8, was beim ATmega auch implementiert ist, gehen immerhin 2MBaud.
328p gemacht. Den Uhrenquarz habe ich aber nur benutzt, um einen Timer
Programm schaut nach, ob etwas zu tun ist, macht gegebenenfalls eine Messung, legt diese in einem I2C-EEPROM ab, und legt den Controller wieder schlafen.
damit lassen sich ja ganz normale Baudraten einstellen. In der hier beschriebenen Anwendung 115200 Baud, bei entsprechender Anpassung (=Halbierung) des Baudratenvorteilers.
Aufgeweckt wurde der Controller entweder durch den oben beschriebenen
Details zur Programmierung habe ich nicht mehr im Kopf, aber prinzipiell
formatting link
Lagertemperaturmessung in der Welle eines 90kW-Drehstrommotors, bei etwa
4000U/min. Bei der Suche nach einer EMV-Schirmung stellte sich heraus,
Das ist auch meine Vorgehensweise in solchen Faellen. Bis MSP430 habe ich einen weiteren Kunden fast schon.
Manche verharren bei bestimmten Prozessoren, weil sie die gut kennen und Code Libraries aufgebaut haben, was man ja auch verstehen kann. Sie sehen jedoch oft nicht, wieviele Ingenieurstunden dadurch unnoetig verheizt werden.
Der Witz ist ja im Prinzip das man funktionierenden Hardware, und wenn man mit dem traurigen Schicksal geschlagen ist ein Windowsuser zu sein, auch funktionierende Software uebernehmen kann.
BTW: Der integrierte NTC laesst sich natuerlich abloeten und dann kann man damit beliebiges Messen. Allerdings muss man die NTC Kennlinie raus rechnen.
Legt man nun einen Spannungsteiler 56k und 10k an den Eingang so kann man so Spannungen messen:
Umrechnung angezeigte Celsius in gemessene Spannung am Spannungsteiler. (2 bis 20Volt) y = -0.000000065427*x^4 + 0.000026059*x^3 - 0.0013085*x^2 - 0.19043*x+ 15.069
Ach was. Wo ist denn der Spass im Leben wenn man nichts selber macht? :-)
Mach mal ein Terminal mit 115200B 8N1 zum Stick auf und schicke ihm das hier:
Naja, man kann es ja auch verstehen. Warum sollte alle Welt ploetzlich vollkommen unterschiedliche Microcontroller verwenden wollen die bloss einen gleichen Kern haben und dann glauben nun waere alles gut weil austauschbar? Ich meine man kann doch nicht automatisch annehmen das alle Kunden bloed sind. :)
Das hatten wir alles schon und haben es noch. Ich kann gar nicht mehr zaehlen, mit wie vielen Controllern der 8051 Familie ich zu tun hatte (gerade in diesem Moment schon wieder einer). Dafuer findet man fast an jeder Ecke der Welt jemanden, der den programmieren kann. Fuer viele uC-Anwendungen waere ein ARM Controller aehnlich, als ob man morgens die Broetchen mit einem Fuenftonner abholt.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.