Hive 142

Erlebnisse und Schilderungen über die Arbeiten an eurem HIVE.
stephan
Beiträge: 83
Registriert: Di 28. Sep 2010, 11:38
Wohnort: München

Re: Hive 142

Beitrag von stephan »

... und bei der Platine würde ich mich dann gern wieder zur Verfügung stellen :-)
apx12
Beiträge: 15
Registriert: Mo 4. Okt 2010, 16:18

Re: Hive 142

Beitrag von apx12 »

Hallo,

hab ein wenig bei Reichelt gestöbert und bin über folgendes Bauteil gestolpert:

http://www.reichelt.de/?ACTION=3;GROUP= ... ICLE=39320

A/D-Wandler ADS830E, scheint eigentlich brauchbar und verhältnismäßig günstig zu sein. Die 60MHz sind natürlich eine Ansage, mit dem nackten Propeller wird man wohl nur mit Mühe überhaupt 20MHz Samplingfrequenz erreichen. Bedenkt man dann noch den kleinen internen Speicher denke ich nicht, dass ein direkter Anschluss dieses Wandlers an den Propeller wirklich sinnvoll ist. Man mag mich eines Besseren belehren ;).

Es geht also nur mit externem Speicher, den wir ja haben. Mit dem auf dem Hive verwendeten DRAM sollten die 20MHz erreichbar sein. Aber nicht wenn man das Latch zur Ansteuerung beibehält. Dann dürften es bestenfalls noch die Hälfte sein. Ich spreche hier übrigens nur vom Einlesen der Rohdaten vom A/D-Wandler in den Speicher, das ist zeitkritisch. Wie schnell man es nachher ausliest, das ist eine andere Geschichte.

Das würde also so laufen, der Wandler liefert Daten ins RAM, der Prozessor steuert irgendwie die Stelle wohin das geschrieben wird, nach der Messung wird der Wandler gestoppt und der Propeller liest den Speicher aus. Diese Idee ist nebenbei gesagt grundsätzlich auch nicht neu.

Man brauch ja einige Leitungen für die Ausgabe, das EEprom, Schaltausgänge für den Analogteil und die Bedienung.
Ich hab mal grob über den Daumen gepeilt und hätte noch 12 Leitungen am Propeller für die Adressierung frei, was 4096 Werten entsprechen würde. Wie gesagt, wenn man das Latch zugunsten der Geschwindigkeit einspart.

Also das ein paar Gedanken. Die Frage ist in welche Richtung soll das gehen. Man kann bestimmt die 60MHz des Wandlers erreichen, wenn man den Propeller nur für die Ansteuerung einer Schaltung für die Adressierung des Speichers mit entsprechender Geschwindigkeit nutzen würde. Dann käme man aber auch mit der Geschwindigkeit des Hive Speichers nicht mehr hin.

Um zu demonstrieren das es geht, würde vermutlich auch ein 1MHz A/D-Wandler genügen, aber will ich das? 60MHz sind sicherlich auch nicht notwendig für mich, aber etwas in die Richtung zu gehen würde mich schon interessieren. Dann wird es aber mehr oder weniger aufwändig.

Momentan bin ich unschlüssig und weiß auch nicht ob meine Annahmen korrekt sind. Was meint ihr denn dazu?
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Hive 142

Beitrag von drohne235 »

Sieht interessant aus: Man hängt den AD-Wandler direkt an den Bus und steuert die Ausgabe mit dem HBEAT von Regnatix. Das CLK-Signal könnte Administra an einem freien Port generieren. Die externen RAM's machen 55 ns, also schafft man 20 MHz eh nicht. Da wir nur im zeitlichen Raster der PASM-Befehle kalkulieren können (50ns), werden es dann maximal 10 MHz Abtastfrequenz. Mit 10 MHz können wir aber nur die direkt generierte Adresse incrementieren, also maximal 2048 Messwerte in einem Rutsch ab Triggerpunkt. Macht einen Messspeicher für ungefähr 0,2 ms wenn ich richtig liege. Wenn man dann mit dem Latch auf die nächste Speicherseite umschaltet, gibt es dann wahrscheinlich eine kleine Lücke im Messvorgang, da man das glaube nicht in zwei Befehlen schafft:

1. Adresse im Register für A11..18 erhöhen
2. Register ---> Port ausgeben
3. Impuls an AL auslösen (geht unter Verwendung der Zähler in einem Befehl)
4. Port wieder löschen um mit A0..10 einen neuen Block anzufangen

Sind wahrscheinlich vier Befehle. Wenn man also mehr als 2048 Messwerte aufzeichnen will, geht das wahrscheinlich nur mit 5 MHz Abtastfrequenz sauber. Bei 10 MHz hätte man dann alle 0,2 ms eine kleine Lücke von 100 ns ohne Messwert. Naja, mit dem Hive wären also 5 oder 10 MHz durchaus mit geringem Aufwand möglich. Was allerdings noch fehlt, ist ein schneller Triggereingang.

Wenn man es aber nicht mit dem Hive, sondern nur mit einem einzelnen Propeller macht, geht es glaub ich besser. Man realisiert den Adresszähler gleich extern als Hardwarezähler, den man mit dem Prop steuert und taktet. Dann hat man auch noch massig Ports frei für Trigger, digitale Eingänge (Logikanalysator!) oder Ausgänge (Signalgenerator!). Hab jetzt nicht nach statischen RAM's mit kleiner Zugriffszeit geschaut, die gibt es aber bestimmt auch.
"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,

nach langer Zeit habe ich den Hive wieder hervorgekramt, man kommt ja zu nichts mehr. Naja jedenfalls wollte ich TriOS probieren. Leider klappt das nicht wirklich.

Schon beim Compilieren des Regnatix-Codes bekomme ich Fehlermeldungen. Er mag den #define Forth nicht und erwartet ein "," oder end of line. Nach einigem basteln kompiliert es wenigstens und es wird in den EEPROM geschrieben. Hoffentlich noch korrekt nach meinem Eingriff.

Aber dann die Datei Basic.f über die Ser. Schnittstelle einspielen.. würde ich gerne, die finde ich nur nicht in dem rar-File.

Was mache ich falsch?
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Hive 142

Beitrag von drohne235 »

Du mußt TriOS mit Brad's Spin Tool compilieren. Zwei Sachen müssen dabei im BST eingestellt werden:

1. Alle Optimierungen des Compilers anschalten.
2. Suchpfad des Compilers auf das Verzeichnis /trios/system/regnatix einstellen, damit ios.spin compiliert wird.

Info: http://hive-project.de/content/1809

Hast du die aktuelle Version von TriOS von der google-Seite? Im install.txt ist beschrieben wie man mit oder ohne PropForth installiert.
"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
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Hive 142

Beitrag von PIC18F2550 »

Hallo apx12,

20MHz ist mit Prop nicht drinn.

zur erzeugung des Tackte's von 20Mhz brauchst du 2 Befehle mindestens. Das heist 20MFlop*2 =40Mflop ---> *4Tacktzyclen = 160MHz :mrgreen:

such dir einen MACH64 oder LSI 1032 E70LJ :: Lattice CPLD und verpass ihm einnen eigenen 2 wegeram (kann dannatürlich auch dRam seln)
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 »

20MHz ist mit Prop nicht drinn.
Geht mit Timern. Mit zwei Timern verschiedener Frequenz kann man die untersten Adressbits A0 & A1 bilden, die restliche Adresse dann per Software. Ist natürlich ein hübsches Codepuzzle das ordentlich zu synchronisieren.
"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
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Hive 142

Beitrag von PIC18F2550 »

drohne235 hat geschrieben:
20MHz ist mit Prop nicht drinn.
Geht mit Timern. Mit zwei Timern verschiedener Frequenz kann man die untersten Adressbits A0 & A1 bilden, die restliche Adresse dann per Software. Ist natürlich ein hübsches Codepuzzle das ordentlich zu synchronisieren.
A0 und A1 ist nicht das Problem. Das Problem ist der Takt den das Teil braucht (20Mhz).
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:Das Problem ist der Takt den das Teil braucht (20Mhz).
Seh' ich irgendwie nicht als Problem. Nimm 'nen NCO counter und die Sache ist gegessen. Macht natuerlich nicht viel Sinn in SPIN bezueglich Synchronisation ...
Benutzeravatar
PIC18F2550
Beiträge: 2832
Registriert: Fr 30. Sep 2011, 13:08

Re: Hive 142

Beitrag von PIC18F2550 »

Hallo,
kuroneko hat geschrieben:
PIC18F2550 hat geschrieben:Das Problem ist der Takt den das Teil braucht (20Mhz).
Seh' ich irgendwie nicht als Problem. Nimm 'nen NCO counter und die Sache ist gegessen. Macht natuerlich nicht viel Sinn in SPIN bezueglich Synchronisation ...
Kann er auch bei 80Mhz wie z.B 74HS193 Teilen und die 1/2 und 1/4 Teilung von 80Mhz ausgeben?

Die braucht mann um den Takt bzw. zur Steuerung des RAM's zu erreichen.
Die Adressen müssen daher auch syncron mit den Prop schalten sonst geht da garnicht's.
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
Antworten