mikrocontroller.net

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


Autor: befro (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Berger (Gast)
Datum:

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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: vinculum (Gast)
Datum:

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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: befro (Gast)
Datum:

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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: befro (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: befro (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Nico Erfurth (masta79)
Datum:

Bewertung
0 lesenswert
nicht 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=...

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

Autor: befro (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Miauie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.