Forum: Mikrocontroller und Digitale Elektronik propellurino, parallax propeller mit atmega168 steuern


von befro (Gast)


Lesenswert?

Hallo Zusammen,

seit kurzem spiele ich mit dem Parallax Propeller Prozessor ( 8 Core x 3 
Bit, 160 Mips ).
Der Prozessor hat einige nette Features wie VGA Ansteuerung. Leider ist 
er für C eher nicht so geeignet, deshalb hier meiner Lösung:

http://www.hobby-roboter.de/forum/viewtopic.php?f=5&t=72

Ein Aufsatz für ein Atmega168 Arduino Board. Der Atmega168 steuert den 
Propeller quasi als Coprozessor.

Wie findet Ihr's

zefro

von Stefan Berger (Gast)


Lesenswert?

Also mal ehrlich, das ist doch wohl ein ziemlich bescheuerte Idee, einen 
32 Bit Prozessor mit einem 8 Bit Prozessor steuern zu wollen.

von (prx) A. K. (prx)


Lesenswert?

Der Propeller hat ein paar nette und ein paar weniger nette 
Eigenschaften. Zu den weniger netten gehört eine Architektur, die sich 
effizienter C-Programmierung beharrlich widersetzt.

Ein Lösung, die den Propeller nur für Spezialaufgaben einsetzt, ist da 
keineswegs abwegig. Zumal der offiziell vorgesehene Weg der 
Propeller-Programmierung den weniger zeitkritischen Teil in einem nicht 
grad schnellen Spin-Interpreter abwickelt. Und der ist dann auch nicht 
schneller als der AVR.

von spess53 (Gast)


Lesenswert?

Hi

>Zu den weniger netten gehört eine Architektur, die sich effizienter 
C->Programmierung beharrlich widersetzt.

Macht ihn eigentlich sympatisch. Wäre aber auch mal ein Grund 
eingefahrene Gleise zu verlassen.

MfG Spess

von vinculum (Gast)


Lesenswert?

Interessante Lösung, vor allem, wo kriegt man sonst so einfach ein VGA 
interface her. Gibt es irgendwo mehr Details?

von (prx) A. K. (prx)


Lesenswert?

Siehe www.parallax.com.

Das "VGA-Interface" im Propeller besteht aus wenig mehr als einem 
einfachen Schieberegister. Den Rest machen Software und extern aus ein 
paar Widerständen aufgebaute D/A-Wandler.

von befro (Gast)


Lesenswert?

Hier gibt's ein schönes Demo:
http://www.youtube.com/watch?v=uYxv7pge12k

von (prx) A. K. (prx)


Lesenswert?

spess53 wrote:

> Macht ihn eigentlich sympatisch.

Freu dich nicht zu früh. Die vorgesehene Programmierung vom Propeller 
ist ein Mix aus Assembler und einem Interpreter für die sehr simpel 
gestrickte eher archaisch wirkende Sprache "Spin". Modern ist da nur die 
Hardware.

Und jede Alternative hat das gleiche Problem: Der dezentrale Speicher 
für Code und Register (ja, dar Code steht gewissermassen in den 
Registern) ist für grössere Programme zu klein und der zentrale grössere 
Speicher ist ein langsamer reiner Datenspeicher. Ausführung von 
grösseren Stücken Code ist also nur über eine mindestens minimale Art 
Interpreter möglich. Man programmiert unvermeidlich auf 2 Ebenen.

von befro (Gast)


Lesenswert?

Beim Propellurinoprojekt möchte ich den Propeller eigentlich nur als 
Co-Prozessor verwenden. Es gibt mittlerweile einige ( bei Spin sog. 
Objekte--> Programmteile ) die frei verfügbar sind und einfach 
zusammkopiert werden können. Da sind z.B. VGA-Treiber, serielle 
Schnittstellen, Maus/Tastatur Treiber. Ausserdem gibt es einige 
Musiksynthesizer, sowie ein 4 Kanal Raumklangmodul, was mit bei der 
Verwendung des Arduinos sehr entgegen kommt.
Ich würde gerne ein paar PCBs machen lassen, falls es hier jemanden 
gibt, der gerne eines hätte.

von spess53 (Gast)


Lesenswert?

Hi

>Freu dich nicht zu früh. Die vorgesehene Programmierung vom Propeller

Als notorischer Assemblerprogrammierer war meine Aussage bewusst 
provokativ gemeint. Ich kann schon verstehen, das es frustrierend ist, 
wenn anscheinend bewährte Konzepte plötzlich nicht mehr so richtig 
greifen. Allerdings kommt mir diese Lösung, um einen Vergleich zu 
bemühen, so vor, als wenn jemand zu doof ist einen Mercedes zu fahren, 
und um aber dessen Annehmlichkeiten trotzdem zu geniessen, sich von 
einem 2er Golf schleppen lässt.

MfG Spess

von (prx) A. K. (prx)


Lesenswert?

spess53 wrote:

> Als notorischer Assemblerprogrammierer war meine Aussage bewusst
> provokativ gemeint.

Die Provokation ist mir nicht entgangen. Wie ich deutlich machte stossen 
nicht nur C-Programmierer da an Grenzen.

Auch als Assembler-Spezi wirst du damit keine rechte Freude haben. Denn 
meines Wissens kannst du den auch nicht vollständig in Assembler 
programmieren, denn das Hauptprogramm steht nun einmal als Bytecode 
(oder sowas ähnlichem) im nicht ausführbaren Datenspeicher. Und die in 
Assembler formulierbaren Prozesse dürfen jeweils nicht grösser sein als 
400-500 Befehle.

von spess53 (Gast)


Lesenswert?

Hi

>Auch als Assembler-Spezi wirst du damit keine rechte Freude haben.

Ich habe mich schon vor einiger Zeit mal mit dem Teil beschäftigt und 
finde es ganz interessant. Die etwas ulkige Programmierung ist mir 
durchaus nicht entgangen. Bisher hatte allerdings noch keinen 
Anwendungsbedarf.

MfG Spess

von befro (Gast)


Lesenswert?

>Allerdings kommt mir diese Lösung, um einen Vergleich zu
>bemühen, so vor, als wenn jemand zu doof ist einen Mercedes zu fahren,
>und um aber dessen Annehmlichkeiten trotzdem zu geniessen, sich von
>einem 2er Golf schleppen lässt.
Da fällt mir ein schöner Spruch eines bekannten ein, der zu Deiner 
Aussage gut passen könnte: Dumm sein darfst Du, aber nicht blööd;-)

Dem ein oder anderen, der sich mit aktuellen Techniktrends 
auseinandersetzt, mag aufgefallen sein, dass die Wertschöpfung in den 
heutigen Produkten vorwiegend von der Software bestimmt ist und weniger 
von der Hardware. Also präzisser: In die Software wird heutzutage 
deutlich mehr Aufwand ( Entwicklungskosten ) investiert als in die 
Hardware. Und unter diesem Gesichtspunkt macht es also durchaus einen 
Sinn, die große Codebasis der Arduino Umgebung, bzw. der AVR-Prozessoren 
mit der Leistungsfähigkeit eines Propellers zu verbinden.

Bester Gruß,
befro.

von Nico E. (masta79)


Lesenswert?

befro wrote:
> Hier gibt's ein schönes Demo:
> http://www.youtube.com/watch?v=uYxv7pge12k

Ja, da hat LFT was wirklich nettes zusammengebaut, das wurde auf der BP 
auch schon gespannt erwartet. Ich hätte nicht gedacht das man aus dem 
Propeller solche Effekte rauskriegt. Die Halle hat auch gut getobt als 
das lief. ;)

[EDIT]
Ein deutlich besseres Video gibt es übrigens hier: 
http://breakpoint.untergrund.net/download.php?dir=2009/console_real_wild/Videos/&file=014_247_Turbulence_by_lft_DV_720x576.mp4

Das ist direkt ein Capture vom VGA-Port, statt eine Cam Aufnahme.

von befro (Gast)


Lesenswert?

>Ich hätte nicht gedacht das man aus dem
>Propeller solche Effekte rauskriegt. Die Halle hat auch gut getobt als
>das lief. ;)
Ja, der Linus ist schon phänomenal. Allerdings fand ich sein letztes 
Demo, bei dem auf dem Atmega88 Sound und Video lief, noch viel 
beeindruckender. Im Gegensatz zum Propeller ist der Atmega88 ja 
überhaupt nicht für eine VGA Ausgabe vorgesehen.

>Ein deutlich besseres Video gibt es übrigens hier:
>http://breakpoint.untergrund.net/download.php?dir=...
Nicht schlecht. Glücklicherweise lief der Code schon gleich auf Anhieb 
auf meinem "Propellurino" und ich konnte es mir direkt auf dem Monitor 
anschauen.

von Miauie (Gast)


Lesenswert?

Zitat: "Also mal ehrlich, das ist doch wohl ein ziemlich bescheuerte 
Idee, einen 32 Bit Prozessor mit einem 8 Bit Prozessor steuern zu 
wollen.".

Diese Aussage ist nur ein Zeichen für die Intoleranz des Lesers 
gegenüber den Ideen anderer. Scheuklappenmentalität.

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.