Hive 142

Erlebnisse und Schilderungen über die Arbeiten an eurem HIVE.
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: Hive 142

Beitrag von kuroneko »

PIC18F2550 hat geschrieben:128Mhz/(4*4Takte)=8 Mhz
128Mhz(3*4Takte)=10,6666...Mhz

Übertakten reicht auch nicht
Warum so fixiert auf code generierten Takt? Davon mal abgesehen, der Takt ist am Pin, den kannst du nicht (mehr) mit s/w beeinflussen (ausser abschalten).

Code: Alles auswählen

movs    ctra, #pin
movi    ctra, #%0_00100_000   ' NCO
movi    frqa, #%01_0000000    ' clkfreq/4

' ab hier kannst Du dann machen was Du willst
Ich spendier eher 'nen Counter als das ich 'nen ganzen cog dafuer abstelle. Und wie schon gesagt, code generierter Takt hoert bei clkfreq/8 auf.
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Hive 142

Beitrag von PIC18F2550 »

Für eine Frequenz ist das schon klar.

Aber Ihn geht es um Steuersignale mit unterschiedlichen Breiten auf mehreren I/O's das läst sich mit den counter in diesem Frequenzbereich nicht machen.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: Hive 142

Beitrag von kuroneko »

PIC18F2550 hat geschrieben:Aber Ihn geht es um Steuersignale mit unterschiedlichen Breiten auf mehreren I/O's das läst sich mit den counter in diesem Frequenzbereich nicht machen.
Hast Du mal ein Beispiel fuer eine Steuersignalsequenz? Da wir ueber 20MHz reden kann ein Zyklus ja nur 4 Takte sein, also nicht dermassen kompliziert ...

Schlimmstenfalls kannst Du immer noch die video h/w strapazieren :)

Update: Davon mal abgesehen, wenn ich das hier richtig mitbekommen habe ist 20MB/s fuer externe Speicherung sowieso nicht drin mit dem RAM im HIVE. Was nicht heisst, das es nicht geht ([HX512] hub DMA, The wrath of Phil ...).
Zuletzt geändert von kuroneko am Di 8. Nov 2011, 06:38, insgesamt 2-mal geändert.
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: Hive 142

Beitrag von kuroneko »

apx12 hat geschrieben:... welche Freq. schafft er [prop] denn nun?
Wenn der Datenbus an P[7..0] haengt kannst Du ein Byte alle 4 Takte direkt in den hub RAM schreiben (@80MHz sind das 20MB/s, 32K -> 1.6ms, 4 cogs). 40MB/s sind theoretisch moeglich geht dann aber zu Kosten von Sampledauer (cog RAM only) oder cogs (8 cogs mit 2 Takt interleave, hub RAM).

20MB/s mit 4 cogs scheint ein guter Kompromiss zu sein. Was nuetzt die Geschwindigkeit wenn man die Daten nicht wegschaffen kann. Da wir noch 4 cogs frei haben koennte man 3 davon noch als cog storage benutzen (der andere fungiert als master). Gibt nochmal etwa 5K8 Speicher (5952 bytes) in denen man dann einen Teil der hub Daten auslagern kann.

Es gibt noch andere - spezielle - Loesungen, haengt aber alles davon ab was genau Du willst :)
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Hive 142

Beitrag von PIC18F2550 »

kuroneko hat geschrieben:Update: Davon mal abgesehen, wenn ich das hier richtig mitbekommen habe ist 20MB/s fuer externe Speicherung sowieso nicht drin mit dem RAM im HIVE. Was nicht heisst, das es nicht geht ([HX512] hub DMA, The wrath of Phil ...).
Richtig mit dem HIVH erreichst du wen in dem Externen Ram ausgelagert wird höchstens 1Mbit wenn Aufgrund der Komplexen Steuerung überhaubt möglich ist.

P0-P7 vom Bus belegt
Latch mus gesteuert werden
CS, OE und WR müssen generiert werden
Adressen müssen gezählt und Ausgegeben werden.

Das zeitliche raster der Abtastung des A/D-Wandlers muß konstant sein.

Das alles beeinflusst die Übertragungsgeschwindigkeit und kostet Zeit.
Die in dem Grenzbereich nicht zur verfügung steht.

Daher auch mein Vorschlag mit der programmierbaren Logik. Die die Steueraufgaben wesendlich besser erledigt.

Die Daten werden in einem extra Ram (zwei Wege RAM abgelegt und können dann vom Prop ausgelesen werden.

Dabei kann bis zur maximalen sampling Frequenz ausgenutzt werden.

Prop Steuert nur Start un Stop.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
apx12
Beiträge: 15
Registriert: Mo 4. Okt 2010, 16:18

Re: Hive 142

Beitrag von apx12 »

Hallo,

mit der Basic.mod hat es funktioniert. Auch das Umschalten zu regime ging, einmal.. Nach dem 1. Neustart nicht mehr. Bei jeder weiteren Versuch bleibt der Cog hängen, nix geht mehr. Irgendwas passt da noch nicht, eine Idee?

Ich behaupte jetzt einfach mal das es einfacher wird eine ordentliche Abtastgeschwindigkeit hin zu bekommen, wenn man dem Propeller Arbeit abnimmt. Wie viel hängt dann auch damit zusammen, was man erreichen will.

Wenn ich ein Oszi baue um was zu lernen genügen mir vielleicht 0,2 MHz. Ob ich dafür bereit wäre mehr als 20€ zu investieren weiß ich nicht, einfach mal um eine Zahl zu nennen. Bisher hat sich der Wandler bei mir als Problem herausgestellt, da nicht so schön Lötbar wäre eine professionelle Platine wünschenswert. Den Adapter den ich mir dafür besorgt hatte passt nicht so recht, war wohl ein Fehlkauf und darum ist es bei mir auch etwas eingeschlafen (wollte es auch dann ehr mit einem Atmel auf Lochraster oder vielleicht mit einem Arduino Bord versuchen). Von daher freut es mich auch hier so viel Interesse zu sehen. Scheinbar ist ein Oszi immer noch das wichtigste Messinstrument der Elektronik.

Für mich selbst steht eigentlich fest, ich will ein Oszi das so funktioniert, dass man es auch gerne benutzt. 20 MHz Abtastrate sollte es schon haben, eine fester Aufbau auf einer Platine ist dann wohl zwingend. Wahl der Eingangsempfindlichkeit sollte es auch geben, was so ein Gerät eben hat. Das darf dann auch was Kosten. (nicht so viel das ich ein fertiges dafür bekommen würde ;))

Verfolgt man die Idee mit externen Speicher geht es dann schon los, bei Reichelt hab ich nix schnelleres als 40ns gefunden. Also die Bausteine sollten auch beschaffbar sein. Wenn der nächste Schritt beim Speicher SD-Ram sein muss wird es auch nicht einfacher.

Wenn ich voraussetze, das Interesse dafür sowas wirklich zu realisieren besteht, könnte man sich denn auf bestimmte Rahmenbedingungen einigen und von diesem Punkt aus weiter denken?
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Hive 142

Beitrag von PIC18F2550 »

Hallo,

20Mhz = 50ns
10Mhz = 100ns

eine weitere Idee wäre den Datenbus mit hilfe eines Latche's auf 16 bit zu verbreitern.

damit währen auch die 70ns typen ausreichend.

Aber mit der steuerung würde ich mich nach sowas umsehen
http://www.reichelt.de/GALs-PALs/XC-951 ... 29a1c1b87b

Ist einfach schneller da kein code ausgeführt wird sondern die funktion mit Logikzellen.

100Mhz = 10 ns als zeitraster zur Signalerzeugung.

reintheoretisch könnte mann so bis 25Mhz fahren (8Bit) oder 40Mhz(16bit)
Der Adressmultiplexer die Zähler und die Steuerlogik die Datenpuffer währen da alles mit drinn.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Hive 142

Beitrag von drohne235 »

mit der Basic.mod hat es funktioniert. Auch das Umschalten zu regime ging, einmal.. Nach dem 1. Neustart nicht mehr. Bei jeder weiteren Versuch bleibt der Cog hängen, nix geht mehr. Irgendwas passt da noch nicht, eine Idee?
Keine Ahnung was da schief läuft. Flasht du mit dem Quelltext oder die fertige BIN-Datei unter bin\flash\regnatix? Wenn letztere Variante, dann mal aus der Quelle mit F11 flashen. Versuch doch als Test mal ohne Forth zu installieren, also in system\regnatix\regflash.spin forth auskommentieren und regime aktivieren:

Code: Alles auswählen

CON ' KONFIGURATION
{
    Achtung: Nur eine Konfiguration wählen!
}

'#define forth         ' forth + spin-loader
#define regime       ' spin-loader OHNE FORTH, reg.sys wird sofort automatisch gestartet
Ich mache morgen mal einen Installationstest mit der aktuellen Version.
"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
apx12
Beiträge: 15
Registriert: Mo 4. Okt 2010, 16:18

Re: Hive 142

Beitrag von apx12 »

Hallo,

hab nicht das fertige File genutzt sondern selbst mit BST auf Ubuntu-Rechner kompiliert.
Wenn ich forth raus und regime rein nehme, bekomme ich den Fehler (165,9) Error: Unresolved Symbol -idvarVAL. Also so will es nicht.

Achönen Abend!
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Hive 142

Beitrag von drohne235 »

Error: Unresolved Symbol -idvarVAL
Hab es grad korrigiert, bitte mal neue Version testen:

http://code.google.com/p/hive-trios/downloads/list

Regime ist jetzt die Standardkonfiguration, ich denke das ist eh besser als Einstieg.
"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
Antworten