Forum: Mikrocontroller und Digitale Elektronik Suche µController mit min 115,2kbs baud (RS-232)


von Phi (Gast)


Lesenswert?

Servus allerseits!

Habe mir vor kurzem eine CMUcam3 gekauft, und dabei dummerweise nicht 
beachtet, dass diese (scheinbar) nur eine Baudrate von 115,2kbs 
unterstützt. Die maximale Baud bei meinem µController (Basic Atom 28Pin) 
liegt jedoch bei 57,6kbs. Jetzt bin ich auf der Suche nach einem der 
folgenden Auswege:

- Gibt es zufällig eine Möglichkeit die CMUcam3 über eine geringere Baud 
anzusprechen?

- Gibt es ein Modul das die Baudraten entsprechend anpassen kann? 
(Möchte wenn möglich Nichts löten oder so --> fertiges Modul mit Pins)

- Oder kann mir jemand ein möglichst günstiges µControllermodul 
empfehlen das beide Baudraten unterstützt? (Habe schon in verschiedenen 
Shops gesucht, aber es stehen nie Infos über die unterstützten Baudraten 
dabei oder ich bin zu blöd sie zu finden)

Danke schonmal im Voraus!

von Obelix (Gast)


Lesenswert?

Alle (oder fast alle) µCs von Renesas.

von Joerg K. (sirfrancisdrake)


Lesenswert?

Falls Du Deinen Controller weiter verwenden möchtest, so könntest Du 
sicherlich auf einen MAX3100 zurückgreifen. Der macht SPI<->UART. Ist 
ganz einfach und praktisch... Allerdings: ganz ohne Löten kommst Du dann 
nicht zum Ziel...

von Christian U. (z0m3ie)


Lesenswert?

Geht auch mit allen AVR´s mit USART mit nem Baudraten Quarz z.b. 7,3728 
Mhz geht sogar bis 460800 Baud mit nem 14,~ Quarz kommst sicher noch 
wesentlich höher.

von Peter D. (peda)


Lesenswert?

Es gibt keinen µController, der Basic Atom 28Pin heißt.

Ich vermute mal, das ist ne Platine mit nem MC drauf und nem 
Basic-Interpreter reinprogrammiert. Und dieser Basic-Interpreter 
unterstützt nur nicht die 115,2kbaud. Der MC selber kann es aber.

Oder auf dem Board ist so eine blöde Quarzfrequenz draufgesetzt, daß die 
115.2kBaud nicht gehen.

Es ist also keine Frage des MC-Typs, sondern der Software bzw. 
Schaltung.


Peter

von Elektrikser (Gast)


Lesenswert?

Wenn ich das richtig sehe, dann ist da ein Renesas H8/3664 verbaut. Der 
sollte aber so hoch gehen können.
http://www.nodna.com/xtc/product_info.php?info=p309_BASIC-Atom-Pro-28-Pin.html
http://pond.ie/techinfo/uCore/uc3664/H83664.html

Gruß Elektrikser

von Peter D. (peda)


Lesenswert?

Elektrikser wrote:
> Wenn ich das richtig sehe, dann ist da ein Renesas H8/3664 verbaut.

Ne, ein PIC:

http://www.basicmicro.com/downloads/docs/atom28.pdf

Für das bischen Platine einen so horrenden Aufpreis zu verlangen, finde 
ich unverschämt. Dafür kriegt man ja 20 MCs.


Peter

von Obelix (Gast)


Lesenswert?

>Für das bischen Platine einen so horrenden Aufpreis zu verlangen,
>finde ich unverschämt. Dafür kriegt man ja 20 MCs.

Die Software will auch bezahlt werden.

von Jörg B. (manos)


Lesenswert?

Wenn ich das Datenblatt richtig verstehe kann der Atom28 aber 115k 
Serial...

von Peter D. (peda)


Lesenswert?

Obelix wrote:

> Die Software will auch bezahlt werden.

Naja, für 85,-Ocken krieg ich aber auch ne Vollversion Bascom-AVR (78,-) 
und ne Handvoll ATMega8 (1,70).

Wenn man pro Chip die Software immer wieder neu bezahlt, geht das ganz 
schön ins Geld.


Peter

P.S.:
Oder WINAVR (0,-) + 50 ATmega8.

von Phi (Gast)


Lesenswert?

Erstmal danke an alle für die schnelle Hilfe!

Der Atom28 kann tatsächlich 115kbs (sogar bis 1250kbs), geht allerdings 
nur zum Programmieren. Für die Befehle serin und serout ist die maximale 
Baud aber leider 57,6kbs (siehe Syntax Manual S.105 und S.108). Es gibt 
zwar noch die Befehle hserin und hserout die auch die hohen Baudraten 
unterstützen, jedoch bekomme ich damit nicht mal ne Verbindung zu einem 
Terminal am PC hin.

Syntax Manual: http://www.basicmicro.com/downloads/docs/atom3_2.pdf

Gruß Phi

von Peter D. (peda)


Lesenswert?

Phi wrote:
> Es gibt
> zwar noch die Befehle hserin und hserout die auch die hohen Baudraten
> unterstützen, jedoch bekomme ich damit nicht mal ne Verbindung zu einem
> Terminal am PC hin.

Vermutlich brauchst Du dann nen MAX232.


Peter

von Phi (Gast)


Lesenswert?

Weiß zwar net genau, was der MAX232 so tut, aber meine irgendwo mal 
aufgeschnappt zu haben, dass das ein Pegelwandler ist. Sollte das so 
sein, dann bringt mich der glaub au net weiter, ein Pegelwandler ist 
bereits im Modul integriert.

(Hab hoffentlich grad keinen Müll geschrieben, bin nicht so sattelfest 
bei dem Thema)

Gruß Phi

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Die CMUcam3 ist ja echt eine interessante Sache (bis auf den Preis von 
ca. 150€): http://www.cmucam.org/wiki

Ich würde versuchen die Open Source Firmware davon auf eine niedrigere 
Baudrate abzuändern. Im Prinzip ist es IMHO nur ein Parameter bei der 
Initialisierung der geändert werden muss...
1
  // configure uarts
2
  cc3_uart_init (0, CC3_UART_RATE_115200, CC3_UART_MODE_8N1,
3
                 CC3_UART_BINMODE_TEXT);

Kann natürlich sein, dass die Kamera dann zu schnell Daten produziert 
und nicht schnell genug an den PC bzw. dein Atom28 los wird.

Eventuell gibt die CMUcam3 Community oder die Entwickler Hilfe, wie das 
Programm für den ARM7 LPC2106 aussehen muss oder jemand übersetzt eine 
neue Firmware für dich. Der µC auf dem CMUcam3 hat ja einen seriellen 
Bootloader, so dass ein Update rel. einfach ist.

von Phi (Gast)


Lesenswert?

Is ja sehr interessant! Wenn dass so einfach is...sollte mich glaub mal 
mehr mit C beschäftigen! Thanxx a lot!

Gruß Phi

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ähm soweit ich in deinem Atom-Manual sehe, kannst du doch eine höhere 
Baudrate benutzen. Du musst allerdings vor den HSERIN/HSEROUT Befehlen 
noch die Baudrate etc. mit SETHSERIAL setzen (S. 115)

Aber lösgelöst davon... was machst du mit dem kitzekleinen (384 Bytes of 
RAM and 8K of FLASH) Atom, was der fette ARM7TDMI auf dem CMUcam3 nicht 
nebenbei mit Links miterledigen könnte? Du ziehst deinen Ferrari mit dem 
Mofa zum Bäcker ;-)

von Phi (Gast)


Lesenswert?

Den sethserial Befehl hab ich natürlich vorher genutzt, um die Baudrate 
zu setzen, aber am Terminal kommt einfach nix an...weiß au net was ich 
falsch mach.

Habe alle 16 digitalen (davon 2 I2C Stänge mit je 6 Geräten) und dazu 
noch 3 analoge Pins an meinem Atom mit Sensoren, Motortreiber und 
Servocontroller besetzt, dass kann die CMUcam3 leider nicht...außerdem 
erledigt die Hauptrechenarbeit der PC der über Funk mit dem ganzen 
verbunden ist, der Microcontroller dient eigentlich nur zum Werte 
sammeln und Servos/Motoren steuern. Darüber hinaus können sich der Atom 
und die CMUcam3 ja die Arbeit teilen. Mag sein, dass das eine etwas 
umständliche Lösung ist, aber mir erschien das recht sinnvoll, zumal ein 
Anwendungsgebiet (neben dem autonomen Handeln) die Fernsteuerung vom PC 
aus sein soll.

Gruß Phi

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Mach mal eine Skizze/Foto davon, was du wie verbunden hast. Und wenn du 
ein selbstgeschriebenes Programm laufen lässt, zeige bitte den 
Sourcecode davon.

Wenn du HSERIN/HSEROUT Befehle zur Kommunikation mit dem PC (oder der 
Cam) benutzen willst, brauchst du glaube ich einen 
TTL/RS232-Pegelwandler (hat schon Peter geschrieben) zum Invertieren des 
TTL-Pegels.
http://forums.basicmicro.net/ShowPost.aspx?PostID=19328

Die HSERIN/HSEROUT Befehle empfangen/senden auch nicht an den Pins 
SIN/SOUT so wie das Programmierkabel, sondern an P14 (Empfangen mit 
HSERIN) und P15 (Senden mit HSEROUT).
http://forums.basicmicro.net/ShowPost.aspx?PostID=19521

Der vorhandene TTL/RS232-Pegelwandler sitzt für diese Aufgabe an den 
"falschen" Pins.

von Phi (Gast)


Lesenswert?

Ahh, sehr gut...wo steht das? Die CMUcam3 hat ja auch eine TTL Pegel 
Schnittstelle, kann ich dann von da aus auf P14/P15 gehen, oder brauch 
ich auch da einen Inverter?

Das ganze Projekt ist noch im Entwicklungsstadium: Hat noch keinen Kopf, 
da die CMUcam erst am Freitag ankam und ich die ja in den Kopf einbauen 
will (momentan in Arbeit); Akkus hab ich noch keine und leider auch 
keine Netzteile die genug Saft liefern würden um alles auf einmal zu 
betreiben --> habe momentan immer nur die Teile angeschlossen an denen 
ich gerade rumprogrammiere (bis jetzt funktioniert nur die Sprachausgabe 
und die Distanzmessung nach vorne und hinten, quasi wie ne Einparkhilfe 
am Auto. Funkverbindung steht auch schon.)

Kann dir aber mal ne Skizze der Verkabelung und ein Foto vom aktuellen 
Stand machen. Liefere das dann gleich nach...

Gruß Phi

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Mit TTL-TTL müsstest du direkt Cam und Atom28 verbinden können. Die 
Strecke dazwischen darf aber nicht zu lang (nicht Meterbereich!) sein, 
weil du sonst viele Übertragungsfehler bekommst.

Auf Dauer würde ich die 3,95 € in einen Pegelwandler inkl. Kondensatoren 
schon investieren bzw. selberbauen ;-)
http://www.pollin.de/shop/detail.php?pg=NQ==&a=MzY5OTgxOTk=

Die Doku zum Atom und dem Basic-Dialekt ist etwas dünn, aber ich habe 
auch immer nur quergelesen, seit ich eben in diesen Thread reingerutscht 
bin. Wertvolle Infos scheint es im Forum des Herstellers zu geben (s. 
Links in meiner letzten Antwort).

von Phi (Gast)


Angehängte Dateien:

Lesenswert?

Das Verbindungskabel von CMUcam3 zum ATOM wäre ca. 40cm lang, müsste 
dann schon gehen. Danke für die Hilfe.

Eine Skizze der Verkabelung war mir etwas zu umständlich, müsste aber 
auch so verständlich sein:

Pin  Gerät

A0  GP2Y0A02YK (am Kopf)
A1  GP2D120 (auf Grundplatte nach vorne gerichtet)
A2  GP2D120 (auf Grundplatte nach hinten gerichtet)
A3  --
00  I2C Bus1 SDA
01  I2C Bus1 SCL
02  I2C Bus2 SDA
03  I2C Bus2 SCL
04  TxD serieller Funktransceiver
05  RxD serieller Funktransceiver
06  TXD CMUcam3 (am Kopf)
07  RxD CMUcam3 (amKopf)
08  IRPD1 LED1 (auf Grundplatte nach vorne gerichtet)
09  IRPD1 LED2 (auf Grundplatte nach vorne gerichtet)
10  IRPD1 In (auf Grundplatte nach vorne gerichtet)
11  SSC-32 (Servocontroller)
12  IRPD2 LED1 (auf Grundplatte nach hinten gerichtet)
13  IRPD2 LED2 (auf Grundplatte nach hinten gerichtet)
14  IRPD2 In (auf Grundplatte nach hinten gerichtet)
15  Relais für Scheinwerfer (2 am Kopf, 1 am Schwanz)

I2C Bus1: SP03 (Sprachausgabe), CMPS03 (Kompass), 2*TPA81 
(Temperatursensorzeile am Kopf), MD22 (Motorcontroller)

I2C Bus2: 6*SRF08 (US-Distanzsensor; 4 auf Grundplatte, 2 am Kopf)

Außerdem befinden sich am Kopf wie auch am Schwanz noch kleine 
Funkkameras, die Bild und Ton direkt zum PC senden.

Wie gesagt, es ist noch nicht alles montiert, also nicht wundern!
Das Ende vom Schwanz ist ein Greifer mit 3 Fingern (schwer zu erkennen). 
Den Körper montiere ich auf die kleine drehbare vorne.

Gruß Phi

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.