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
Also mal ehrlich, das ist doch wohl ein ziemlich bescheuerte Idee, einen 32 Bit Prozessor mit einem 8 Bit Prozessor steuern zu wollen.
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.
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
Interessante Lösung, vor allem, wo kriegt man sonst so einfach ein VGA interface her. Gibt es irgendwo mehr Details?
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.
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.
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.
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
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.
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
>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.
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.
>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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.