PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Notfallkonsole" mit MSP430



LesMou
02.10.2004, 11:41
Hi!
Ich bin Schüler der 13. Klasse und hatte mir für das Fach Informatik ein Projekt mit Mikrocontrollern überlegt. Jetzt wollte ich fragen, ob ihr das ganze für (mich als Mikrcontroller-Newbie) machbar haltet:
Die Idee ist es, den Mikrocontroller per serieller Schnittstelle (MAX232 & Co) an einen PC (Linux-Server-System), sowie LCD-Display und PS/2-Tastatur anzuschliessen. Fällt dann das Netzwerk aus, oder die Grafikkarte ist kaputt, oder ..., kann man einfach mit einer batteriebetriebenen Notfallterminal an den Server gehen und retten was zu retten ist.
Der MSP430 müsste eigentlich nur die Daten vom Keyboard einlesen, an den PC schicken, sowie einkommende Daten auf dem Display ausgeben.
Wie schätzt ihr da den benötigten Zeitraum ein? Vieles müsste halt selbst gecodet werden. (PS/2-Standard, ASCII nach LCD-Display, Low-Level Betriebssytem für "Multitasking", ...)

ciao
LesMou

EDIT: Natürlich meine ich den MSP430 von Texas Instruements ;)
Man. Ihr Mikrocontrollerfreaks seid in euren kryptischen Bezeichnungen noch schlimmer als die PCler ^^

Thorsten
02.10.2004, 12:58
Hi

Ich meine das man einfach ne login Konsole auf /dev/ttyS0 legen kann.
Dann kann man einfach mit einem Nulmodemkabel und
Hyperterminal ( oder einen Linuxpendant) sich einloggen.

Das bedeutet eigentlich das der Controller nur die Daten empfangen und
auf dem Display darstellen muss, und die Daten von der Tastatur über
rs232 and den PC Senden muss.
Code um ne PS/2 Tastatur auszulesen hab ich schon mal irgendwo gefunden.

Kommt jetzt darauf an, wie du dich mit Mikroprozessorprogrammierung
und c / basom basic auskennst.
Ein wirkliches Multitasking system brauchst du eigentlich nicht.
Zeichen von UART lesen --> bissel bearbeiten --> Display
Zeichen von PS2 lesen --> über rs232 ausgeben.

Ist zwar kein Einsteigerprojekt aber auch nicht zuviel, und auch ziemlich
interessant ( Bei meinen Server ist heute die Graka kaputtgegangen, und
warumauchimmer war sshd aus *ggg*)


mfg
Thorsten

02.10.2004, 13:21
Ich meine das man einfach ne login Konsole auf /dev/ttyS0 legen kann.
Dann kann man einfach mit einem Nulmodemkabel und
Hyperterminal ( oder einen Linuxpendant) sich einloggen.

Das bedeutet eigentlich das der Controller nur die Daten empfangen und
auf dem Display darstellen muss, und die Daten von der Tastatur über
rs232 and den PC Senden muss.
Meine Rede. So hatte ich mir das vorgestellt.

Kommt jetzt darauf an, wie du dich mit Mikroprozessorprogrammierung
und c / basom basic auskennst.
In C/C++ bin ich ganz gut. Und für den SMP430 gibts zum Glück genügend weiterführende Tutorials

Ein wirkliches Multitasking system brauchst du eigentlich nicht.
Zeichen von UART lesen --> bissel bearbeiten --> Display
Zeichen von PS2 lesen --> über rs232 ausgeben.
Mehrere Tasks nebeinander sollten schon sein. Sonst kann ich ja nicht "gleichzeitig" einlesen, darstellen und abschicken.
Oder reicht das, wenn ich mit ner Endlosschleife nacheinander die Funktionen Read323(), ReadPs2(), Sent323() und writeDisplay() (mal angenommen die hiessen so) aufrufe. Angenommen, das Signal von der Tastatur ist nur x Millisekunden lang, so sollte ich es schon so einstellen können, das ich die Anzahl der Ticks vor dem Wechsel zur nächsten Funktion passend habe.

Bei meinen Server ist heute die Graka kaputtgegangen, und
warumauchimmer war sshd aus *ggg*
Jetzt stell dir mal ein ServerRack _ohne_ Graka vor, bei dem das Netzwerk ausfällt. ;) In dem Fall könnte die Option mit der seriellen Schnittstelle Gold wert sein.

Ich werd die ganze Sache jetzt anleiern. Ich schreib euch dann, wie es aussieht. Vielleicht mach ich auch die Software/Layout/... frei verfügbar.
Drückt mir die Daumen! :)

Thorsten
02.10.2004, 13:31
Hi,



Mehrere Tasks nebeinander sollten schon sein. Sonst kann ich ja nicht "gleichzeitig" einlesen, darstellen und abschicken.
Oder reicht das, wenn ich mit ner Endlosschleife nacheinander die Funktionen Read323(), ReadPs2(), Sent323() und writeDisplay() (mal angenommen die hiessen so) aufrufe. Angenommen, das Signal von der Tastatur ist nur x Millisekunden lang, so sollte ich es schon so einstellen können, das ich die Anzahl der Ticks vor dem Wechsel zur nächsten Funktion passend habe.

Ich kenn das jetzt nur von den avrs, da würd ich die rs232 mit Interrupts realisieren, ev. könnte man auch die Tastatur an einen externen Int hängen. Dadurch bräuchte man kein Multitasking, sondern die Interruptroutinen schreiben alles in einen Buffer und das Hauptprogramm kümmert sich um formatierung und weiterleitung (und dann kann es noch alle Passwörter an meine E-Mail Adresse weiterleiten *g*).
Allerdings hab ich noch nie mit SMP430 gearbeitet ist der ähnlich (zumindest der Name :-) dem MSP430 ?

Ich halte das Projekt aber für realisierbar, grade wenn du schon c kannst.


viel Erfolg
Thorsten

LesMou
02.10.2004, 14:06
Ups.
Ich meine natürlich den MSP430 von TI.

LesMou
02.10.2004, 14:06
sorry, Doppelpost.
Irgendwie ist die Boardsoftware komisch.

Thorsten
02.10.2004, 14:16
Hat mich schon gewundert google hat zu smp430 nicht viel ausgespukt.
Mit dem MSP430 sollte es auf jedem Fall gehen.


viel Erfolg
Thorsten

nestler
04.10.2004, 14:59
hi!

zum thema multithreading: die c-control 2 hat das schon in ihrem
betriebssystem integriert. falls du also nicht das rad neu erfinden
willst, ist das vielleicht eine alternative...

ist mit der programmiersprache c2 zu programmieren, die eine
mischung aus basic und c darstellt. (eigne assembler-routinen
können selbstverständlich auch verwendet werden...)

gibt dazu auch ein applikationboard mit folientastatur (12 tasten)
und lcd-display. eine ansteuerung einer ps2-tastatur ist aber auch
kein problem!

ciao,
simon

mcs
04.10.2004, 19:13
Da gibt es allerdings einige nachteile:
- CC2 ist riesig
- Das display dürfte man nur schlecht verwenden können, da nur 2x8 zeichen
- CC2 ist schweineteuer
- multithreading bringts hier wohl net so, interrups sind besser

CKroll
17.10.2004, 17:00
@LesMou

Warum hast du dich gerade für den MSP430 entschieden? Wenn du noch nie eine MCU programmiert hast, dann würde ich dir nicht empfehlen mit dem MSP430 anzufangen. Denn diese MCU lässt dir in der Programmierung bzw. Adressierung sehr viele Freiheiten, was für einen Anfänger sehr schnell zum Verhängnis werden kann. Außerdem, hast du dir mal Gedanken über die Packages gemacht, in denen der MSP430 ausgeliefert wird? Es gibt keine DIP bzw. DIL Version dieser MCU, sie wird als reines SMD Bauteil ausgeliefert.

roboguy
26.10.2004, 22:51
Kurz zum Thema "Bauform":
Es ist richtig, dass der Baustein nur in der SMD-Ausführung von TI geliefert wird, man bekommt allerdings von OLIMEX (z.B. über www.elektronikladen.de) so genannte "Header boards", das sind kleine Platinchen, auf denen der Chip vormontiert ist und rundherum Stiftleisten angebracht sind, so dass das Ganze relativ einfach (und sicher) in einen Breadboardaufbau gebracht werden kann. Auf dem Header Board ist auch der Programmieranschluss (JTAG) angebracht.
Gruß
Volkhard

CKroll
27.10.2004, 14:58
Da kann ich noch einen Link nachtragen: www.softbaugh.com. SoftBaugh hat sich auf MSP430-Applikationen spezialisiert und dort sind auch sehr gute Boards erhältlich.

roboguy
27.10.2004, 22:47
@LesMou:
Vielleicht hast du diesen Link schon selbst entdeckt, aber lieber einmal zuviel als zu wenig informiert.
Ich bin heute über diese Seite gestolpert:
http://www.mathar.com/msp430.html
Der Betreiber scheint sich recht gut mit den MSP430´ern auszukennen und hat vielleicht noch den einen anderen Tip für dich....
Gruß
Volkhard

Smou
09.11.2004, 15:33
Hallo Roboternetzler
Alles bestens!
Ich hab das Headerboard mit dem MSP430F149 von Olimex + den zugehörigen JTAG-Adapter.
Kann das Ding sehr empfehlen. Sehr einfach in der Handhabung und Programmierung in C .... ein Traum.

Ich verwende den MSPGCC-Compiler. Es braucht schon ein paar grundlegende Kenntnisse, zum erstellen der Toolchain&Co. Aber jetzt läuft alles und ich bin sehr zufrieden mit allem :)

@Roboguy
Jop. Die Seite kenn ich. War mit einer der Gründe, den MSP herzutun.