PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neuer µC von Parallax mit 8 32Bit Cores



NaYthan
22.08.2006, 18:59
Hi Leute...
Ich dachte ich mach das Roboternetz mal auf einen neuen µC von Parallax aufmerksam.
Den Propeller...
Ähnlich wie der Cell Prozessor von IBM (verbaut in der PS3) besitzt dieser µC 8 prallel arbeitende 32Bit Cores (ok, natürlich nciht zu vergleichen mit der Leistung der Cells).
Diese Cores Teilen sich einen 64kByte großen Speicherraum (32k RAM und 32k ROM) und arbeiten parallel mit großer Leistung.
Auf dem Demo Board sind bereits Anschlüsse für VGA, TV, 2x PS2(maus, Tastatur), EEPROM, Stereo Sound output, und ein 8 Bit Port zur freien Verfügung verbaut.
Hier ist der Link zu Parallax, wo man den Prozessor und das ganze Zubehör bekommt: http://www.parallax.com/propeller/index.asp

Und hier ein (englischer) Artikel zu diesem Prozessor: http://www.elecdesign.com/Articles/Print.cfm?AD=1&ArticleID=13329


Ich denke dieser Prozessor könnte für Roboter Anwendungen recht interessant sein, dadurch, dass er viel Rechenleistung (bei einem Takt von 80MHz) und die parallele Verarbeitung unterstützt.

robocat
22.08.2006, 19:07
klingt ja ganz gut (ausser dass der kerl 20 euro kostet,..)
wie programmiert man so ein teil? pony prog kennt es bisher nicht.

NaYthan
22.08.2006, 19:16
Ich habe das Teil selbst noch nicht ausprobiert, ich habe es eben erst entdeckt.

Aber soweit wie ich das in dem Artikel lesen konnte, den ich überflogen habe, gibt es eine kostenlose IDE (Integrated Development Environement) und der Code wird via serielle Schnittstelle hochgeladen(zumindest bei dem Demo-Board Kit).
Hinzu kommt, die Propeller µCs haben einen Interpreter für eine eigene Hochsprache (genanng Spin) eingebaut, ausserdem gibt es eine Assemblersprache namens Cog. Beide Sprachen können ebenfalls parallel eingesetzt werden.

Und 20 Euro für einen Prozessor, der ziemlich viel Leistung zu haben scheint, ist ein angemessener Preis. Man muss sich ja nur mal bei den ARM Prozessoren umgucken, viel Leistung bei ebenfalls diesem Preis.
Hinzu kommt die Chance eine einzigartige Architektur zu erlernen, was eventuell einmal den Umstieg auf die Architektur des Cell Prozessors erleichtern könnte (Dieser hat ja 8 Rechen Cores und eine Haupt core), wenn dieser einmal weitgehend verfügbar wird.

skywatcher
25.08.2006, 02:24
Ich habe das Teil seit ein paar Tagen... einfach genial. :D

Man hat damit echte Parallelverarbeitung, ohne sich mit Betriebssystemen, Interrupts, und ähnlichen Dingen herumärgern zu müssen. Alle Schnittstellen (seriell, I2C, und andere) gibt es nicht als Hardware, sondern sie werden per Software realisiert (dafür gibt es schon fertige Objekte, die man auch nach Belieben ändern kann). Über eine ziemlich ausgefuchste PLL kann der Controller auch Frequenzen bis 128 MHz erzeugen, mit hoher Auflösung, die man sogar noch per Software modulieren kann... man kann damit sogar Video-Signale bis SVGA-Auflösung erzeugen und die auf einem Monitor oder Fernseher anzeigen.

Das Starter-Kit ist ganz nett, aber um den Propeller zu programmieren braucht man es eigentlich nicht. Das geht per serielle Schnittstelle und mit ein paar Leitungen (habe ich allerdings bisher noch nicht probiert). Das Programm befindet sich auch nicht im Propeller selbst, sondern in einem externen seriellen EEPROM, das beim Start ausgelesen wird. Das Programm wird immer aus dem RAM ausgeführt.

Ich denke, man kann mit dem Propeller viele Sachen lösen die seither schwierig zu lösen waren, da es hier echte Parallelverarbeitung gibt. Dadurch relativiert sich auch der auf den ersten Blick hohe Preis. Solange man keine Gross-Serien machen will, ist es eigentlich auch egal ob der Controller nun 3 oder 30 Euro kostet, wenn man sich dadurch ein paar Wochen Entwicklungsaufwand bei einem Projekt spart, lohnt sich das. :)

Die Entwicklungsumgebung und die Beschreibung kann man sich bei Parallax ja kostenlos runterladen.

MrQu
12.10.2006, 10:54
Ein Hallo an Euch,

habe mir das "Ding" auch gerade angesehen.
Ist echt irrrrreee was der so kann.

super finde ich das du an keine Pinbelegung gebunden bist. Da du alles per Software machst, kannst du dir die Belegungen frei heraussuchen.

Ich glaube ich bestelle mir gleich so einen.


Gruß MrQu

AVRboy
04.11.2006, 20:56
hi,
eine frage mal wegen dem programmspeicher eeprom kann man da auch einen grösseren nehmen und dann mehr programcode schreiben oder ist der begrentzt.

mfg

spansammler
21.11.2006, 19:22
Hallo,

leider nein max 32k EEPROM wird z.Zt. unterstützt.
Der inhalt vom EEPROM wird beim Starten kpl. in das interne RAM kopiert und das hat ebenfalls 32k.

Übrigens ist es mal ein ganz neuer Ansatz der mich herausfordert umzudenken und ganz neue Wege zu gehen. Der Propeller ist die Waffe!

Dank Ebay ist ein schneller und günstiger Einstieg möglich.

http://search.ebay.de/_W0QQfgtpZ1QQfrppZ50QQsassZultrasparcQ5fdeQQssPage NameZDBQ3aOtherItems

Beste Grüße
Uwe

eminence
31.12.2006, 11:28
Es ist jetzt auch ein deutsches Forum zum Parallax Propeller eröffnet worden.
www.propellerforum.de.vu

robby-fant
02.01.2007, 14:33
Jetzt werden die User wieder durcheinander gebracht mit einer neuen Entwicklung. Man muss bedenken, dieses ist ein Hobbyforum ist und wer sich hier die Sachen für den AVR beschafft und ausgebaut hat, der ist einiges an Geld los geworden.

Ich sage : Schuster bleib bei deinen Leisten und laßt euch nicht verrückt machen.

Es ist kein Wunderchip, er ist nur zu teuer, das ist der Unterschied zum AVR.

PS: Video kann der AVR auch.



MFG



eine frage mal wegen dem programmspeicher eeprom kann man da auch einen grösseren nehmen und dann mehr programcode schreiben oder ist der begrentzt.


Natürlich kannst du den EEprom mit 64kbyte Speicher nehmen.
Den restlichen Speicher kann der User benutzen.

JensB
29.04.2007, 23:33
Sehe ich nicht so, denn hier wurde von Parallax gewaltige Vorarbeit geleistet, Videoausgabe ist sehr schnell und einfach möglich, dazu auch noch in mehreren Standards. Gewaltige Leistung, die man übrigens meiner Meinung nach bei Uwe günstig erstehen kann.

Gruß

Jens

MrQu
01.05.2007, 20:24
Also ich habe mir jetzt auch den Propeller zugelegt.

Bin gerade dabei mir ein Test-Board aufzubauen.
Schön finde ich, man braucht bien ISP oder so etwas.
Ab an den COM-Port und los.

Prima finde ich auch, das Dip40 Gehäuse und trotzdem die 32 Bit.
Viele die etwas mehr Leistung beim Atmel haben vollen, aber nicht die
großen "Löter" sind haben mit dem Mega128 ja schon Probleme.

darwin.nuernberg
02.05.2007, 00:00
Nur weil es einen neuen leistungsfähigen Chip gibt hat der AVR noch lange nicht ausgedient.
Warum gibt es den die Tiny's und Megas? wei je nach Anwendung eine Maßgeschleiderte Lösung ageboten werden kann.

Wozu einen Mega128 wenn man schon mit einem 2313 ein gutes ergebniss erzielen kann?

Ich finde das was ich hier gelesen habe durchaus interresant.

Neue Möglichkeiten werden scheinbar eröffnet, welche mit einem AVR nuch mit erheblichen Mehrauswand gelöst werden können, nur tot ist der AVR noch lange nicht.

(Scheinbar ist dieser Propeller der TransWarp Antrieb für Hobby-Elektroniker)

Mal sehen was sich da so ergibt.

Auf jeden Fall scheint dieser Propeller (blöder Name) ein eigenes Forum (hier im RN) verdient zu haben.

Ich bin sehr an Euren erfahrungen interresiert.


So jetzt hab ich auch meinen Senf dazu gegeben.

MrQu
02.05.2007, 09:39
Morgen @Darwin,

wieso soll der AVR ausgedient haben?

Für viele Aufgaben langt ein 8-Biter voll auf!
Und auch Atmel bringt jetzt einen 32-Biter auf den Markt, kukst Du Internet.

Die 32 Bit sind auch nur für rechenintensiefe Dinge interessant, kein Mensch vir mit dieser Leistung nur ein paar Ausgänge abfragen.
Oder z.b. nur ein Codeschloß bauen.

darwin.nuernberg
02.05.2007, 19:34
@MrQu: Lese es nochmal langsam:


hat der AVR noch lange nicht ausgedient.
hat der AVR noch lange nicht ausgedient.


nur tot ist der AVR noch lange nicht.
nur tot ist der AVR noch lange nicht.

Ich habe mich genau wie Du für den AVR ausgesprochen NICHT dagegen!!!


Guckst Du.
Siehst Du?
Liest Du.
Checkst Du.


PS: Was will ich mit einem Ferrari in der Zone 30?

nomad
03.05.2007, 12:36
hi leute,
was man damit alles machen kann:
zum beispiel
bis zu 96 servos fast gleichzeitig controllieren, oder
32 servos + noch einige andere sachen gleichzeitig machen.
8 gleichzeitige threads mit lock und unlock......

fuer testzwecke benutz ich ein propeller-demoBoard.
Anschluesse: VGA-out, tv-out, ps/2 keyboard und mouse,
- ozi-anschluss, usb etc. dafuer nur 8 digitale I/O
fuer meine richtigen entwicklungen nehm ich dann einen PropStickUSB,
ohne obigen schnick-schnack dafuer 32 I/O pin.

oder man faengt an mit dem prop mathe zu betreiben
ss. spinnenbein-threads (ohne looktables)
Float32Full (mit allen moeglichkeiten die ansi-c unter linux (mathe.h)
bietet.
unten ein kleines beispiel.
ich finde, wenn man diese leistung zu einem einigermassen bezahlbaren
preis bekommt, soll man ihn auch nutzen.
gruss
nomad

Nachtrag: ich waer auch dafuer hier einen eigenen Thread fuer
die propellerchen einzurichten.
nomad
-------------------------------------------------------------------------------------

{
propNN2.spin
begin : Wed. 02.May 11.30:00 GMT 2007
for : Test-spin-program for equations (exp) on a propChips
- with the Demo-Board
--------------------------------------------------------------------------

Reference:
Original equations:

1
output: ________________ = 0.603
-0.42
1+e

with taschenrechner:
output := (1.0 / (1.0 + e(-0.42))) = 0.6034832499

with prop
output: 0.6034832

vorgehen:

test with PUB Exp(a) from Float32-lib

1) x1 := f.FMul(-1.0,inH1) ' positive Value convert to negative Value
2) x2 := f.Exp(x1) ' e(-0.42)
3) x3 := f.FAdd(1.0,x1) ' (1.0 + x2)
4) x4 := f.FDiv(1.0,x3) ' (1.0 / x3)
5) outH1 := x4

************************************************** *************************
}

CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_800
xxx = pi
exp = 2.718281828


OBJ

text : "vga_text" ' pc-monitor-output
f : "Float32Full" ' mathe
fp : "FloatString" ' convertieren float to string

VAR
long testerror
long vlong
word vword
byte vbyte

long inH1 ' this is the input-value for the equations
' static = inH1 = 0.42

long outH1 ' solutations

'intermediate results
long x1, x2, x3, x4, x5, x6

PUB Main

' start Float32Full"
f.start

'start vga-term
text.start(16)
'print a string
text.str(string("PropNeuralNet Version 0.2.",13,13))

neuralNet



PUB neuralNet

inH1 := 0.42

x1 := f.FMul(-1.0,inH1) ' positive Value convert to negative Value

x2 := f.Exp(x1) ' e(-0.42)

x3 := f.FAdd(1.0,x2) ' (1.0 + x2)
x4 := f.FDiv(1.0,x3) ' (1.0 / x3)
outH1 := x4

text.out($0D) ' newline
text.str(fp.FloatToString(outH1))
-------------------------------------------------------------------------

nomad
03.05.2007, 12:41
entschuldigt
aber das mit edit hat bei mir nicht geklappt
also
Nachtrag: waere auch dafuer einen eigenen Thread fuer die propellerchen
einzurichten.
nomad

Hanni
03.05.2007, 14:23
bis zu 96 servos fast gleichzeitig controllieren, oder
32 servos + noch einige andere sachen gleichzeitig machen.

Naja, wenn man mal davon absieht, das die Propeller üblicherweise mit max 32 IO Pins angeboten werden glaub ich dir schon, das so etwas mit 80 MHz ohne Probleme machbar ist.
32 Servos kann ich auch problemlos mit einem ATMega ansteuern. Die Kunst besteht also nicht darin, das etwas machbar ist, sondern darin welche Mittel man benutzt um etwas zu realisieren ...

Aber lassen wir das.

Ich stimme dir zu, das man mit einem Propeller in diversen Anwendungsfällen durchaus punkten kann. Vor allem dürfe das das von dir Angesprochene Gebiet der Parallelität und in Bereichen der Mathematik liegen.

Grüße,
Hanni

nomad
03.05.2007, 18:17
hi,

das mit 32 IO pins stimmt ja, wenn du den propstickusb nimmst
sind die pins 28-32 intern schon belegt, hat mir jedenfalls mein
haendler beim kauf erklaert. 28 pins sind ja auch ganz schoen
fuer ein 40DIL-gehaeuse incl. usb.
das demoboard hat wirklich nur 8 pins, hat dafuer eben den schnick-schnack.
zum einfachen testen von teilen (einzelne servoBeine,memsic2125 2D x,y-achse etc) ist der ganz gut zugebrauchen.
und im neuen katalog von parallax sind noch mehrere andere varianten
vorhanden.

zitat:
<
Die Kunst besteht also nicht darin, das etwas machbar ist, sondern darin welche Mittel man benutzt um etwas zu realisieren ...
>
fein gesprochen....
nun denn, in meinen fall, falls ich ein WalkNet -> (google) mit dem demoboard als master fuer ein 4-beiniges (3DOF) spinnentier hinkriege,
erspart mir das den einsatz eines linux-laptops.

grüsse,
nomad

Hanni
03.05.2007, 20:37
nun denn, in meinen fall, falls ich ein WalkNet -> (google) mit dem demoboard als master fuer ein 4-beiniges (3DOF) spinnentier hinkriege

Hui, das nenne ich mal ein nettes Projekt. Die Frage ist nur, ob dazu der RAM des Käfers ausreicht ...

Grüße,
Hanni

nomad
04.05.2007, 09:29
hi hanni,
naja, man tut was man kann....;-)

das ist hier die frage.
hab noch keine ahnung, muss das walknet erstmal unter Linux und "C"
hinkriegen.
falls dass dann funzzt,

falls dann der speicher eng wird koennte ich ja
a) ev. ein groesser eeprom (?) dazu bauen oder

(edit) vermutlich eher -> RAM
oder bis ich soweit bin, hat parallax ein groesseres model vielleicht
entwickelt????? ss. postings bei parallax (more cogs more RAM)


b) einen dritten propeller-chip via IC-2 (wird ja software-maessig ange-
steuert) mit dem 2. chip verbinden.
der 1. propeller waer dann fuer sensoren und die 12-servos zustaendig.

mal gucken....

gruss
nomad