• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


Sunnys Bastel-Oszi
Ach so... ich vergaß ganz den Grund meiner Bemühungen zu sagen: ich kann mir vorstellen, dass wir mit den ganz lütten PICs bei diesem Projekt gerade nicht mehr über die Runden kommen.
 
klar...
wenn schon PIC , dann zb der
http://www.reichelt.de/?;ACTION=3;LA=444...a4c491f416

ich hab zb atmega48 oder atmega16 da...
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Egal. Später. Erstmal müssen wir den Analogteil besprechen.

--------------

Wir nehmen mal an, dass der Controller nur einmal pro us samplen kann, also 500kHz Grenze.

Um feiner samplen zu können, müssen wir ihm eine S&H-Einrichtung vorschalten. Diese Einrichtung besteht aus einem Analogschalter und einer Hold-Kapazität. Der Analogschalter wird nach einer gewissen Zeit zwischen 0 und 1000ns (in 1ns-Schritten) geöffnet und die Kapazität speichert das Analogsignal bis zu 1us, bis der Controller es wandeln kann. Bei periodischen Signalen benötigen wir eine ms Datenerfassungzeit um in Nanosekunden-Schritten aufzulösen und kommen trotzdem mit unserem müden PIC klar.

Als Analogschalter nehmen wir einen simplen Sperrschicht-FET, der im Vergleich zu ICs vielfach geringere Kapazitäten hat. Denn diese bilden mit der Hold-Kapazität einen Spannungsteiler, der die Signale verrauscht. Der N-FET arbeitet am Source und Drain mit Spannungen zwischen 0 und +5V. Um ihn sicher sperren zu können, benötigen wir -5V.

Wir müssen das Eingangssignal des Scopes in Echtzeit überwachen. Bei Überschreitung (bzw. Unterschreitung) eines Triggerpegels müssen wir eine Einrichtung starten, die dem FET nach 0-1000ns die Gummel abdreht. Diese Zeit muss vom Controller verstellbar sein.

Das ist es (erstmal ohne Delay). Die Kunst ist es jetzt, diese Einrichtung möglichst einfach darzustellen.
 
Zitat:Original geschrieben von Rumgucker
Vielleicht fällt mir was zur Bequemlichkeitssteigerung ein.

Cool

Jetzt erstelle ich noch ein kleines PC-Progrämmchen, was ein Byte in einer beliebigen Datei durch ein anderes Byte ersetzt. Big Grin
 
andererseits: nen s/h haben die adc inputs eh drin, wenn die timing auflösung der cpu reicht, brauchen wir also nur nen trigger input, zum messen des delays: trigger-event --> sample-start
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Der Controller kann sein festes Zeitraster nicht verlassen. Deswegen diesen vorgesetzten taktunabhängigen S&H.
 
jo, ich schrieb ja auch. wenn die timing auflösung der cpu reicht
bei 20Mhz core-clock sollte 100ns raster machbar sein
vorteil: nahe null aufwand
+ bei standard opamp input zb lf353 , haben wir eh nur 1..2Mhz analog bw , dafür würde 100ns sampling wohl reichen

btw
wie willst das delay ausmessen? mit 2. adc in ?
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Erstmal vorweg:

Zitat:Warning : Main file extension should be '.c'
pendler.cp:
Chip = 16F684
RAM: 00h : -------- -------- -------- --------
RAM: 20h : ===***** ******** ******** ********
RAM: 40h : ******** ******** ******** ********
RAM: 60h : ******** ******** ******** ********
RAM: 80h : -------- -------- -------- --------
RAM: A0h : ******** ******** ******** ********
RAM usage: 3 bytes (3 local), 125 bytes free
Optimizing - removed 2 instructions (-0 %)
File 'pendler.pic'
File 'pendler.lst'
File 'pendler.hex'
Total of 1124 code words (54 %)
 
@Alfsch: die PICs brauchen 1.6us pro AD-Wandlung.

Wenn Atmels das in 100ns schaffen, so gib mal bitte nen Bauteilnamen. Würde mich wundern.

-------

100ns wär schon nicht schlecht. Aber ich wollte mindestens auf 30MHz kommen. Das geht schon mehr in 1ns-Samples.
 
Zitat:Original geschrieben von Rumgucker
Total of 1124 code words (54 %)

Oha... überrascht

Zu früh gefreut. Die Jungs wollen mich doch nicht ersnthaft herausfordern? misstrau
 
der atmega adc -> typ. 20 us
aber
der PIC 33FJ12GP201 -> 1 us
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Selbst der kleine PIC 12F675 braucht nur 1,6 us (selbst bei 4 MHz). Für den 33FJ12GP201 haben wir keinen Compiler.

BTW "Compiler".... nun geht er aber Big Grin
 
Zitat:Original geschrieben von alfsch
btw
wie willst das delay ausmessen? mit 2. adc in ?

Delay liegt auch in der CPU-unabhängigen Kette

Trigger -> Delay -> 1000ns-Subsample-Timer -> S&H

Das bringt allerdings Probleme, weil der Delay in vielfach größeren Bereichen eingestellt werden muss, als der Subsample-Timer. Wir verhauen uns also mit dem Delay die Reproduzierbarkeit des Subsamplers. Ich bin dafür, dass wir auf Delay verzichten.
 
Vorschlag: wir verlagern die Entwicklung und den Aufbau des zukünftigen Mikro-Scopes in den DIY. Hat auch den Vorteil, dass wir Sunnys Thread nicht mit unserem Kram belasten.
 
Schon mal drüber nachgedacht, den ADC auszulesen, bevor er fertig ist misstrau ;fight ?
 
Selbst 2us Wandlungszeit bei 4 MHz (= 1us Zyklus) bedeutet 0 Waitstates. Im ersten Zyklus sage ich "go". Und gleich danach hol ich mir das Ergebnis ab.

Wenn ich höher takte, hab ich eher Nachteile, weil ich plötzlich auf den Wandler aufpassen muss. Die Ergebnisregister sind übrigens doppelt gebuffert. Wenn Du zu früh liest, liest Du den alten Messwert.

Wie immer man es auch dreht... nur dezidierte Hardware kann uns einen Sprung von den controller-typischen Mikrosekunden hin zu den interessanten ns erzielen, also Faktor 1000. Alles andere führt bestenfalls zu einem 1-MHz-Scope.
 
Darum nehmen ja alle FPGAs + Prozessor (bis x86 Rechner) weil die halt SOWAS wirklich schnell können ... Daten parallel holen, verarbeiten, speichern .... ehm ... argh das Hirn misstrau ...

Wie wärs mit paar mehr PICs ? Synchrone Masterclock welche x-fachen Takt liefert ... x-PICs werden von Masterclock synchronisiert, das sie quasi überlappend sampeln ... Rolleyes

Lohnt es das weiter zuspinnen ?
"Ich hab Millionen von Ideen und alle enden mit Sicherheit tödlich."
 
Es soll ein Mikro-Scope werden. Simpel. Klein. Aber leistungsstark. Mit viel Gehirnschmalz.

Vorbild:

http://www.dos4ever.com/uscope/uscope_e.html
 
Basstlers Idee hat einen gewissen Charme.

Stellt Euch mal vor, dass ich den PIC einfach stoppe. Genau bevor er die AD-Wandlung machen will. CPU-Takt aus. Tote Hose.

Gestartet wird der Taktgenerator erst wieder, wenn ein Trigger kommt oder die Watchdog zuschlägt.

So könnte ich dann tatsächlich bei 20MHz durch 200ns-NOPs den Zeitpunkt der AD-Wandlung in diesen Schritten verzögern.

Aber 200ns-Schritte sind nicht 30MHz.

-------------

Mehrere PICs finde ich "etwas" aufwendig. Wir haben gesehen, dass ich mit allen Tricks tatsächlich den Wandlungsstart von 1.6us auf 0.2us drücken kann. Um auf 1ns Schritte zu kommen, müsste ich 200 PICs verwenden.

-------------

Die UKW-Techniker kennen Mixer, was letztlich nichts anderes ist als ein Multiplikator oder "Und-Schaltung". Besteht aus einem Transistor. Damit ist man schon seit weit über 40 Jahren in der Lage, mit Halbleitern auf einfachste Weise im unteren Nanosekunden-Bereich zu undieren, denn nichts anderes geschieht, wenn ich die Empfangsfrequenz und eine Oszillatorfrequenz miteinander "mische", um so zur Zwischenfrequenz zu gelangen.

Dem N-Fet (Analogschalter) muss ein derartiger "Mixer" vorgeschaltet werden. Das zweite wichtige Hochfrequenz-Element unserer Schaltung.

Der Mixer wiederum muss mit zwei Signalen angesteuert werden. Welche mögen das sein? misstrau
 
;pop;corn; Ganz großes Kino hier! Respekt.