Forum: Mikrocontroller und Digitale Elektronik Speicher-Oszi


von Matthias H. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, ich hab mal wieder ein Problem. Ich bin grad am Bauen eines
Speicheroszis und sehe nun schon erste Erfolge (siehe Bild). Das
Problem sind jedoch diese wundersamen Spitzen, die alle 64 Werte
auftreten und genau eine Abtastung breit sind. Also ein digitales
Problem denk ich mal. Das andere Rauschen liegt wohl daran, dass das
ganze zurzeit auf einem Steckbrett stattfindet. Kann mir da jemand
helfen?

Danke schon mal.

PS: Kann mir jemand sagen, wie ich hier mehrere Bilder einfügen kann,
dann kommt auch ein Schaltplan.

von Matthias H. (Gast)


Angehängte Dateien:

Lesenswert?

und hier der nicht ganz komplette Schaltplan. Als ADC kommt ein ADS 830E
zum Einsatz.

von A.K. (Gast)


Lesenswert?

Wirklich 4040N also altes Metal-Gate CMOS? Oder bloss kein passenden
HC-Symbol gefunden?

Ansonsten ist das ein bischen zu unvollständig. Offene MOS-Inputs sind
ja nicht so gut, aber so ist's schwer nachzuvollziehen, wer ist offen
und wer geheim. Am Speicherchip fehlt zu viel - CE/OE und G/DIR vom
Treiber sind auch nicht ganz unwichtig.

von A.K. (Gast)


Lesenswert?

Hast Du mal ins Datenblatt vom 4040 reingesehen? Das ist ein
Ripple-Counter, d.h. zwischen Clock und den einzelnen Q-Stufen geht
mehr und mehr Zeit ins Land, knapp 20nsec von Qi zu Qi+1. Bei hohen
Frequenzen ist für die Adressen ein synchroner Counter nötig.

von Thomas (Gast)


Lesenswert?

Hallo,

da schaltet immer irgendwas voll gegen Masse, aber da das so kurz ist
könnte man das mit nem Kondensator in den Griff bekommen, was aber die
Auflösung verschlechtert. Oder vielleicht die Bausteine besser puffern.

von A.K. (Gast)


Lesenswert?

Deutlicher: Bei IC2 dauert's vom P1(Clock) bis Q11 grob 220nsec (gemäss
Motorola Datasheet vom HC4040). Das kann so nicht funktionieren.

IC2 durch beispielsweise 2xHC590 ersetzen. Dann hat man auch genug
Adressleitungen für ein grösseres RAM.

von Matthias H. (Gast)


Angehängte Dateien:

Lesenswert?

Entschuldigung für den unvollständigen Schaltplan. Ich bin jemand, der
lieber bastelt als dokumentiert. Aber da ist nichts geheim. Am Speicher
ist CE fest auf Masse gelegt, OE wird vom AVR zum Auslesen des Speichers
gesteuert. Am Treiber ist DIR fest auf high gelegt und G, also CE, wird
wieder vom AVR gesteuert, da der ADS 830E keine Tristate- Ausgänge
besitzt. Der 4040 ist natürlich ein HC. Weil er asynchron arbeitet,
kann es schon sein, dass dort etwas schief läuft. Es ist immer dort ein
Peak, wenn 7 oder mehr Bits gleichzeitig umschalten.

von Matthias H. (Gast)


Lesenswert?

den HC590 hab ich mir auch schon angesehen, aber der brauch 2 Takte. Wie
muss ich den denn beschalten, dass der ohne weiteres in die vorhandene
Schaltung eingefügt werden kann?

von A.K. (Gast)


Lesenswert?

Apropos RAM - was ist das eigentlich für ein Teil? Vom Bild her ein
600mil Typ, also Richtung 6116. Die sind meiner Erinnerung nach ein
bischen zu langsam für 16MHz.

Sinnvoller scheint mir hier das Recycling eines Cache-SRAMs wie man sie
auf alten 486- oder Pentium-Boards findet. Auf letzteren sassen meist
16-32KB Typen mit ~15nsec. Zwar meist mit 3,3V betrieben aber 5V werden
sie wohl auch verdauen. Aber gut abpuffern, diese Biester sind durstig!

von Matthias H. (Gast)


Lesenswert?

solche Cache-RAMS hab ich auch da, aber leider im SOJ-Gehäuse. Auf dem
Steckbrett reicht zum Testen ein 6116 mit 70ns Zugriffszeit. Das ist eh
ein Maximalwert den der Hersteller garantiert. Ein bisschen schneller
gehts schon.

von A.K. (Gast)


Lesenswert?

(1) RCK=SCK. Dann ist der Zähler dem Register immer uns eins voraus und
das erste Sample nach dem Trigger landet im Wald. Das dürfte aber kaum
stören. Kaskadierung mit RCO(1) => CCKEN(2).

(2) RCK ist das Komplement von SCK, d.h. zählen wenn WE runter und
speichern wenn WE rauf (so ungefähr). Die maximal möglich Frequenz ist
dann niedriger, aber garantiert immer noch weit über 16MHz.

von A.K. (Gast)


Lesenswert?

Die im SOJ sind dann wohl neuere, pipelined SRAMs. Geht auch, ändert
aber das Verhalten der Schaltung.

von Matthias H. (Gast)


Lesenswert?

so werd ichs mal probieren, hab noch welche gefunden. das erste Sample
landet nicht im Wald. Es wird endlich an die Stelle 0 im Speicher
geschrieben. Beim 4040 war das in der Schaltung nicht der Fall.

von A.K. (Gast)


Lesenswert?

> Es wird endlich an die Stelle 0 im Speicher
> geschrieben.

Kann man softwareseitig so einrichten, stimmt. Muss man nur erst
löschen dann einmal durchtakten, bevor gesampelt wird. Dann stimmt's.

von A.K. (Gast)


Lesenswert?

Naja, das erste Sample ist so ohnehin für die Katz. Da der Takt
asynchron gegatet wird (IC6A/IC4), ist der erste Taktpuls je nach Lage
alles zwischen ok und unbrauchbar.

Eigentlich sollte das Triggersignal erst einmal auf den Sample-Takt
synchronisiert werden, bevor es auf die Schaltung losgelassen wird.
Oder auch gleich 2mal zwecks Vermeidung der Metastabilität. Dann ist's
bloss Essig mit dem etwas trickreichen Trigger-Gating via Tristate.

von Chris (Gast)


Lesenswert?

"Weil er asynchron arbeitet,kann es schon sein, dass dort etwas schief
läuft. Es ist immer dort ein Peak, wenn 7 oder mehr Bits gleichzeitig
umschalten."

Klar, ist wohl die Laufzeit im Ripple-Counter 4040 als Adreßzähler.
Deshalb am besten einen synchronen Zähler verwenden.

Wie ist eigentlich das Bild vom gesampelten Signal entstanden? Ich
meine wie/womit ist es softwareseitig verarbeitet worden?

Gruß

von noob (Gast)


Lesenswert?

Verzeiht mir, aber ich kann noch nicht so ganz folgen: wo sitzt denn der
AD-Wandler überhaupt? Also der 4040 zählt die Adresse hoch und speichert
zu jeder Adresse den Wandlerwert in einem Ram. (wo ist das?)

Und der avr kann dann hingehen und die Samples aus dem Ram auslesen.
Korrekt? Womit und wie wird denn am Ram umgeschaltet, ob Samples aus
dem AD reingeschrieben werden, oder der avr hingeht und lesend drauf
zugreift?

Ich bin gerade sehr verwirrt und wäre echt froh wenn mich einer
erhellt. Das lässt mir jetzt keine Ruhe...

von Matthias H. (Gast)


Lesenswert?

@Chris

Das Bild ist ganz einfach entstanden. Ich hab mir die Werte an ein
Terminalprogramm schicken lassen und hab sie dann einfach in Excel
eingefügt. Ein richtiges kleines Osziprogrammchen muss ich mir noch
schreiben.

@noob

Der ADC hat seine Datenleitungen an den freien Pins des 74HC245 und
seine Taktleitung ist ADC_CLK. Der HC245 trennt den ADC vom Bus, damit
die Werte dann vom AVR aus dem Speicher gelesen werden können. Der
Speicher wird einmal etwas verzögert vom Takt auf schreiben gesetzt
(WE) und zum Auslesen vom AVR auf lesen (OE) gesetzt. Ich hoffe ich
kann bald einen vollständigen Schaltplan anbieten.

von Matthias H. (Gast)


Lesenswert?

jetzt hab ich den 4040 durch zwei HC590 ersetzt. Die ganze Kennlinie ist
jetzt sauberer. Leider komme ich jetzt nur noch bis 8MHz.

von A.K. (Gast)


Lesenswert?

Wie getaktet? Der HC590 taktet auf der positiven Flange, der 4040 auf
der negativen.

von Matthias H. (Gast)


Angehängte Dateien:

Lesenswert?

bei 8MHz sieht das Ganze dann so aus. Bei 16MHz kommen etwa 60 Werte
totaler Müll und dann nur noch 00.

von Matthias H. (Gast)


Lesenswert?

@ A.K.

den HC590 hab ich an den anderen Ausgang des HC251 geklemmt, so dass
gleichzeitig der ADC angeschoben wird und die Adresse weitergeschaltet
wird. Natürlich mit der Verzögerung des NAND dazwischen.

von A.K. (Gast)


Lesenswert?

Wundern tut mich eher, dass es vorher bei 16MHz rudimentär
funktionierte.

Immerhin verlangt dem 6116 in der 70nsec Version nach einem WE Puls vom
min 40nsec (evtl. je nach Hersteller verschieden, hier IDT). In dieser
Schaltung sind's bei 16MHz bestenfalls 30nsec, von der WE-Delay-Line
noch ggf. noch weiter reduziert.

Ausserdem will er auch die Adressen 65nsec vor dem Ende vom
Schreibzyklus. Auch das ist wohl nicht gewährleistet.

von Matthias H. (Gast)


Lesenswert?

Frag mich auch, was da los ist, eigentlich hab ich nur den Adresszähler
ausgetauscht. Der HC590 sollte doch eigentlich schneller arbeiten als
der HC4040. Scheint aber doch eher umgekehrt zu sein.

von A.K. (Gast)


Lesenswert?

> Der HC590 sollte doch eigentlich schneller arbeiten als
> der HC4040. Scheint aber doch eher umgekehrt zu sein.

Bei diesem Timing ist zu schnell genauso verkehrt. Kaum eine
Timing-Anforderung vom 6116 wird eingehalten.

von Matthias H. (Gast)


Lesenswert?

stimmt schon, werd das ganze wohl noch mal durchdenken müssen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.