Hive taktraten

Alles zum Thema Hardware rund um die Propellerchips und den Hive.
Antworten
Infinity
Beiträge: 39
Registriert: Do 28. Mai 2009, 23:16

Hive taktraten

Beitrag von Infinity »

Hallo

Ich wollte mal fragen warum ihr euren Hive laut schaltplan nur mit 5mhz laufen lassten, den Leistungswunder ist der Proppeler chip trotz 8 Kernen keines. Da er bei 80mhz bei 8 kernen gerade einmal 160mips schaft.....wäre es grundlegend ein Problem euren Hive mit 40mhz (größter Quarz den ich so besitze) zu benutzen oder oder spielt da die Peripherie nicht mit bzw ist sowieso zu langsam?

Sonst muss ich sagen richtig cooles Projekt...

Lg Inf
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Hive taktraten

Beitrag von drohne235 »

Der Hive läuft schon mit 80 MHz! Der Propellerchip bietet die Möglichkeit diesen Takt zu vervielfachen, was mit einer PLL-Schleife realisiert wird. Wenn du in den Quelltexten schaust findest du am Anfang in einem Block meist folgendes:

Code: Alles auswählen

CON 
_CLKMODE = XTAL1 + PLL16X 
_XINFREQ = 5_000_000 

Hier wird festgelegt welche Frequenz der Quarz hat und wie er vervielfacht wird - in diesem Fall 5 x 16 was exakt 80 die 80 MHz ergibt. Der Grund ist wohl das Quarze nur bis zu einer bestimmten Frequenz einfach und genau herzustellen sind.

Interessant ist in diesem Zusammenhang auch die Möglichkeit zur Laufzeit diesen Teiler zu beeinflussen und den Chip damit in einen Modus mit sehr geringem Stromverbrauch zu bringen. Das geht aber nur für alle Cogs in einem Chip.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Infinity
Beiträge: 39
Registriert: Do 28. Mai 2009, 23:16

Re: Hive taktraten

Beitrag von Infinity »

Hallo

Frage was ist eine PLL-Schleife?

Und du glaubst wirklich das diese Taktraten Vervielfachung genauer ist wie ein Quarz der schon mit zb 40mhz rennt?


Kurze frage ich hab mich noch nicht mit dieser Programmiersprache für den Probeller beschäftigt aber habt ihr in eurer Software dieses PLL16X zufällig durch irgend eine Art von Defines gesetzt so das es leicht austauschbar wird ohne viel suchen?

PS: Würde irgendetwas dagegen sprechen die Probeller mit 40mhz Laufen zu lassen und zB.PLL2X zu verwenden?

lg Infinity
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Hive taktraten

Beitrag von drohne235 »

Die Verwendung von PLL ist eigentlich normaler Stand der Technik: Auf keinem normalen Motherboard findest du einen Quarz mit den hohen Frequenzen welche die CPU's benötigen. Das wird alles aus kleineren Quarzen per PLL gebildet und kann auch oft über den System Management Bus per Software beeinflusst werden.

Aber fragen wir mal ketzerisch: Wie genau brauchst du es denn? ;) Die Abweichung einer PLL bewegt sich im Herzbereich. Das Prinzip einer PLL (http://de.wikipedia.org/wiki/Phase-locked_loop) bringt es mit sich, dass die Genauigkeit und Stabilität des Referenzsignals (in unserem Fall 5MHz) auch für das Ausgangssignal gilt. Der gleiche ppm-Wert bei einem 5 und einem 40 MHz Quarz führt letztlich zu einer größeren Ungenauigkeit des 40 MHz Quarzes - die PLL-Schleife ist da nur sekundär einflussgebend. Wenn du Pech hast ist dein Takt also mit einem 40 MHz-Quarz ungenauer als mit einem 5 MHz. Nachteil ist natürlich ein kleines Einschwingverhalten bevor die Schleife "einrastet", aber das kann man eigentlich in unserem Fall vernachlässigen. Du kannst problemlos einen 40 MHz Quarz verwenden und in den Quelltexten obige Zeile ändern. Im CON-Block werden bei Spin die Konstanten definiert, und da steht auch die Definition für den Systemtakt. Wie schon geschrieben steht diese immer relativ weit am Anfang. Allerdings sehe ich dafür noch keinen Grund und letztlich den Nachteil das du jede Quelle anpassen musst und eventuell einen ungenaueren Takt hast wenn du die Sache nicht genau betrachtest.

Wenn du allerdings eine ganz genau laufende langzeitstabile Zeitbasis (wie bei einer Quarzuhr) brauchst wäre es sinnvoller dem 5 MHz Quarz noch einen einstellbaren Kondensator beizustellen und so die Genauigkeit des Quarzes ein wenig zu beeinflussen. So wird das auch bei ganz normalen Quarzuhren gemacht. Oder du setzt auf eine Erweiterungskarte noch einen kleinen RTC-Chip mit eigenem Quarz - da ist dann auch geich eine Batteriepufferung möglich.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Infinity
Beiträge: 39
Registriert: Do 28. Mai 2009, 23:16

Re: Hive taktraten

Beitrag von Infinity »

Gut danke du hast mich überzeugt :D

Lg Infinity
Antworten