Schnelle Datenspeicherung

Gast #25072
Lesenswert?

Schönen guten Abend miteinander!
Bin grade dabei einen Logikanalyser zu basteln. Soll folgendermaßen 
funktionieren: Über 8 Eingänge eines 4433 werden die Spannungen an 
Klemmen geprüft, also entweder high oder low. Das in einem sehr kurzem 
Timerinterval (hab etwa an 10 us gedacht - muss es aber ausprobieren). 
Die Werte sollen später auf dem Bildschirm eines PCs dargestellt werden. 
So etwa:
        ________             _________
1: ____|         |___________|
   _    ____    ____    ____    ___
2:   |__|    |__|    |__|    |__|    |_

3: ....

Das ganze soll dazu dienen, an uC Schaltungen schneller Fehler 
auszumachen und zu beheben.

Ich möchte die Eingänge abfragen und falls sich etwas geändert hat eimem 
mitlaufenden Zähler sowie das Eingangsregister abspeicher, bzw. an den 
PC übermitteln. Ändert sich nichts, wird nur der Zähler erhöht.
Also ich mir das Datenblatt des 4433 angeschaut hab hab ich gesehen, 
dass ein Zugriff auf das EEPROM mehrere ms dauert - also viel zu lang

Jetzt zu meiner Frage:
Wie würdet ihr die Daten absichern auf einem uC bzw. gleich an den PC 
schicken?

Many Thanks!
ANDY
Gast #25073
Lesenswert?

Ich würde einen 8515 nehmen mit externem SRAM.
Damit kann man die Eingänge schnell lesen und byte für byte im SRAM 
abspeichern. Wenn die Aufzeichnung beendet ist kann man den Inhalt des 
SRAM via RS232 auf den PC übertragen und grafisch darstellen.
Gast #25076
Lesenswert?

Man kann auch RAM an den 4433 anschließen, allerdings ist dazu einiges 
an Hard- und Softwareaufwand notwendig. Beim 8515 ist der Anschluß eines 
RAM vorgesehen und es existieren auch Befehle, um es anzusteuern.
Gast #25079
Lesenswert?

Hallo Andy,
ansich ist das eine schöne Anwendung zum Lernen aber Du liegst mit 10µS 
um Größenortnungen unter der erforderlichen Abtastrate wenn Du 
tatsächlich damit µP Hardwarefehler aufspüren willst. Die wirklich 
schwer zu findenden Fehler liegen in den Gatterdurchlaufzeiten und 
daraus resultierenden extrem schmalen Pulsen (bei fehlerhaftem Entwurf 
oder Layout) die allerdings noch die nachfolgenden Schaltungen in 
Aufregung versetzen! Hier hilft nur Hardware die von einem µP unterstütz 
und gesteuert wird und das führt zu einem erheblichen Aufwand.

MfG  Manfred Glahe
Gast #25085
Lesenswert?

FIFO kriegt man z.B. Bei Farnel. Ich frage mich aber auch wieso dafür 
teuren FIFO. Beim Auslesen hat man doch jede Menge Zeit. Das erinnert 
mich an ein anderes Elektor-Projekt - da hat so ein Spezie jede Menge 
edle 12 Bit DA - Wandler von Linear  gebraucht um dann Midi to Analog 
mit nur  7 oder 8 bit zu wandeln.
Gruß Bernhard
Gast #25087
Lesenswert?

Dann bin ich ja nicht alleine mit meiner Meinung zu (gegen) elektor 
(kaufe ich seit 1983! sich mehr). Schade um die Zeitschrift Elrad...

Was ist das denn für ein Projekt <Logicanalyzer> auf dieser Seite. Das 
ist z.Z. mit 1% bearbeitet. Läßt sich da nicht mal etwas forcieren?
Solch ein Tool findet ja großen Anklang, obwohl mittlerweile digital 
Prozesse zumindest Zuhause innerhalb eines Controller ablaufen. Aber 
haben möcht ich so'n Ding auch.

Könnte man nicht einen schnellen FPGA nehmen wie z.B. Altera.
Die besitzen doch embedded RAM und schnelle Logik. Zudem könnte man die 
Conditional Events als Matix ablegen.
Die Tools zu den FPGA oder PLD gibt es doch auch schon for free.

Reiner
Gast #25089
Lesenswert?

Hi,

ich bastel grad an einer "Grafikkarte" für ein RGB-TFT ohne eigenes RAM, 
bestehend aus 8515, SRAM4008(512x8), 2x4040 12BitBinärzähler.

Die Zähler sind kaskadiert und bilden den Adressgenerator.
Der Adressgenerator im Ausgabemodus(Bild auf TV) mit 16MHz (direkt vom 
Quarz)getaktet und im Schreibmodus(neu Daten in Bildram) vom AVR.
Umschaltung durch AVR.
Entkoppelung der Datenbusse durch Wiederstände.

Wenn man die Konstruktion umkehrt hat man einen Datenlogger, der 8 
Digitale Kanäle mit 8MHZ (max. 20) abtasten und speichern kann.

mal sehn was wird...

tb
Gast #25090
Lesenswert?

@Rainer aus Salzburg FIFI heist FIRST IN FIRST OUT ist also ein teurer 
Speicher für spezielle Anwendungen. 25 ns schafft auch wesentlich 
günstigerer Speicher.
@ dem anderen Rainer ich weine der elrad heute auch noch nach. Das war 
mit Abstand die beste elektronik Zeitung. Wegen dem Logikanalyser, hab 
ich auch an ne CPLD (z.B. Xilinx XC9572) und einem einfachem AVR 
gedacht, aber eigentlich sollte es doch auch ganz gut gehen, wie Thomas 
b das beschreibt (kaskadierte schnelle Binärzähler). Das eigentlich 
Zeitkritische ist doch der Adressgennerator.
Gruß Bernhard
Gast #25092
Lesenswert?

Tja, die Daten in einen Speicher zu prügeln ist ja auch kein Problem. 
Das Herzstück ist die State machine für die Triggerung. Eine Einfache 
Bitmustererkennung ist mir nicht feist genung. Ich denke da z.B. an: 
Wenn Event-A X-mal aufgetreten ist und Event-B ungültig ist, beende 
Datenaufzeichnung nach Z-Zyklen.
Die dabei gewonnene Vortriggerauszeichnung ist häufig von Bedeutung.

Ich hatte mal das Vergnügen mit einem Kontron KLA64(ECL-Technik) 
arbeiten zu dürfen - von den Möglichkeiten träume ich heute noch...

Reiner
Gast #25093
Lesenswert?

Hallo,
wir haben wohl alle eine Vorstellung davon wie wir ein solches Projekt 
anlegen würden. Aber mit den eigenen zur verfügung stehenden Mitteln 
kann man sich natürlich nicht am Industriestandart messen. Trotzdem 
sollten außer den vorhandenen Ideen auch die schon vorliegenden 
Schaltungen zur Verfügung gestellt werden. Auch Auszüge können 
weiterhelfen um auch mal zu einem nachbaufähigem Gerät zu kommen. 
Vielleich klappt es ja, zusammen ein Konzept und eine funktionierende 
Elektronik zu entwickeln. Teilaufgaben könnten doch verteilt werden. 
(Eine Musterplatine würde ich z.B. fräsen).
Im Anhang nun mal ein fertiges Beispiel für ein solches Projekt. Es 
handelt sich um einen Datalogger welcher 4 analoge Kanäle mit 12 Bit 
Auflösung und 400KHZ Abtastrate besitzt. Weitere 4 digitale Kanäle sind 
vorhanden. Anbindung über EPP Port zum PC vorhanden. (Dient zur 
Ultraschallverarbeitung von Heuschreckengesang).
Angehängte Dateien:
Gast #25095
Lesenswert?

Das mit der Zusammenarbeit war schon einmal ein überschäumendes Thema... 
Hat natürlich nicht geklappt.

Warum muß man immer einen PC mitschleppen? Ein GLCD (s/w reicht) ist 
doch viel handlicher. Das soviel gute Technik aber etwas kostet, brauche 
ich wohl nicht zu erwähnen.

Sollte es entgegen aller Erfahrung doch zu einer Workgroup kommen, 
sollte bereits vom ersten Moment an auf open source geachtet werden - 
für Hardware(FPGA/CPLD) und Software. Jeder muß alles beeinflussen 
können, wenn er/sie es will.

Reiner
Gast #25097
Lesenswert?

Hallo Reiner,
"warum immer einen Pc mitschleppen", wie willst Du denn die gesammelten 
Daten anzeigen? Ein µP mit einem kleinen LCD Schirm währe ideal. Hat 
schon mal jemand soetwas entwickelt oder ist gerade dabei?
Zur Bitmustererkennung: Es muß ja im ns Bereich agiert werden, daß heißt 
ja Hardware (cpld ist sinnvoll). Hast Du da schon was entworfen? Teure 
Fifos sind nicht sinnvoll, es ist möglich mit langsamen billigen Rams 
und Multiplexen die Daten zu speichern. Möglicherweise sind auch Frams 
in absehbarer Zeit in ausreichender Speicherkapazität verfügbar.

MfG  Manfred Glahe
Gast #25098
Lesenswert?

Natürlich sollte die Einhaltung der Standards ebenso eines der Ziele 
sein.
Keine exotischen Basteleien, sondern exact definierte Zustände. Mit 
einer Struktur in Hard-und Software steht und fällt alles. D.h. bevor 
irgend etwas gebaut wird, sollte soetwas wie ein roter Faden erarbeitet 
werden (Achtung nicht erschrecken: ein Pflichtenheft).
Erstens sieht jeder vorher schon ob es Sinn für jeden einzelnen macht 
seinen Beitrag zu leisten.
Zweitens aber wichtiger, Fehler werden schon in der Planungsphase 
erkannt.
Und drittens, die Kosten werden für die "Entwickler" klein gehalten, da 
die Durchläufe sich auf nur wenige beschränken
Reiner
Gast #25099
Lesenswert?

@ Manfred
GLCD an Micros wurden hier schon mehrfach bearbeitet (von mir auch : 
color 320x240 (ist aber etwas over class))

externe Speicher sind "langsam", da die FPGAs ja erst über die Treiber 
nach Aussen greifen müssen. Interne Speicher sind da sicherlich 
geschickter.
Reiner
Gast #25100
Lesenswert?

Hallo Reiner,
ich denke an mindestens 16 MB Speicher für eine derartige Anwendun. 
Abtastraten von 50 MHZ (im Sample Mode)ergeben da nur 0.32 Sekunden. An 
welche cpld denkst Du und wieviel Ram kann man dort erwarten.

MfG  Manfred Glahe
Gast #25101
Lesenswert?

keines!

Wozu brauchst Du soviel Speicher bei der Abtastrate? Ereignisse liegen 
doch meist viel kürzer. Außerdem kannst Du solche Dinge mit dem "various 
event counter" erschlagen.
Erstes Event kommt 15.345.987mal und schaltet eine weitere Stufe scharf, 
dann kommt das nächste Event auf das Du eigentlich wartest und löst das 
Ende der Aufzeichnung aus. Das ist ja gerade das schöne an solchen 
conditional events, Du kommst mit einer kleinen Speichergröße aus. Diese 
Technik ist noch aus Zeiten in denen 16MB fast ein Eigenheim gekostet 
hätten. Und große Megen Speicher darzustellen ist ja auch nicht so 
erquickend, wenn ich da so an die Scollzeiten denke.

Reiner
Gast #25102
Lesenswert?

Ich dachte an ein System das entweder digitale oder analoge Ereignisse 
aufnehmen kann, einfach durch Vorschalten eines DAW. Also, ich warte auf 
ein Ereignis mit einer Flanke. Dazu möchte ich von da an mehrere andere 
Signale auf ihren Zustand hin überwachen. Die Zeit zwischen 2 
Ereignissen ist ebenfalls wichtig und muß erkannt werden. Die könnte man 
natürlich auch mit einem Zähler erfassen und als Datum 
abspeichern.Kannst Du mal eine grobe Übersicht geben (Zeichnung) wie Du 
Dir das vorstellst, dann habe ich übers Wochenende Zeit zum Nachdenken.

MfG  Manfred Glahe
Gast #25103
Lesenswert?

Dazu muß ich mich auch erstmal hinsetzen und zeichnen. Das geht so 
nebenbei etwas schlecht, da ich gerade intensiv eine 4-Achsen 
Schrittmotorsteuerung zum Abschluß bringe (is'n Mega323 drin). Arbeit 
muß eben auch sein.
Reiner
Gast #25104
Lesenswert?

@Reiner:

Ich würde vorschlagen mal mit dem Lastenheft zu beginnen.

Es können in diesem ersten Schritt durchaus auch unrealistische 
Anforderungen aufgelistet werden. Durch eine Prioritätsvergabe im 
zweiten Schritt wird dann relativ schnell klar was weg gelassen bzw. 
vereinfacht werden muss.

Ich fang einfach mal an:

- Möglichst leicht nachbaubar, standard Bauteile

- auch für Schüler/Studenten leistbare Hardware

- OpenSorce Soft- und Hardware

- portable Software (UNIX/Linux, Win32, ...)

- Software kann div. Protokolle auswerten: I2C, SPI, RS-232, ...; 
Plug-In Interface für weitere Protokolle

- PC interface über RS-232 bzw. USB (USB-Powerd)

- modularer Aufbau der Hardware: 8, 16 oder 32 Kanäle; variable Speicher 
größe (einfach nachrüstbar!)

- vorhandener Speicher kann auf die gerade verwendeten Kanälen 
aufgeteilt werden
Gast #25105
Lesenswert?

- ohne PC einsetzbar

- Wiedergabe des Records

- Abtastrate mind. 4x über gebräuchlichen Takt (z.B. Testhardware 8MHz 
-> Ta = 32MHz)

- SynchrontaktAusgabe um Schwebungen zu vermeiden

- SynchrontaktEingabe um Schwebungen zu vermeiden

- Disassemblerfunktion für div. Micros
Gast #25106
Lesenswert?

Hallo zusammen...
Da hab ich wohl ne Diskussion ausgelöst ;-)
Für mich persönlich keider nix, bin noch relativ neu in der Materie. Ich 
möchte das nur mal ganz einfach aufbauen - muss nicht bei allen 
Anwendungen funktionieren.

Hab mich inzwischen kundig gemacht:
Was haltet ihr von folgendem SRAM Chip?

61256K-15 (erhältlich bei Reichelt)
Dateblatt:
http://datenblatt.reichelt.de/opendownload.html/?folder=A300&file=61256K-15%23AL.pdf&artikel=61256K-15

Wär nett, wenn ihr mir eure Meinung dazu sagen könntet!

THX ANDY
Gast #25107
Lesenswert?

Hallo Andy,
natürlich willst du dein eigentliches Projekt fertig stellen. Ich denk 
das Teil wird dir wenn es fertig ist auch eine echte Hilfe sein können 
z.B. ums Signale wie RS-232, I2C, SPI, LCD-Display etc. zu überprüfen. 
Also ein tolles Projekt. Der von dir ausgesuchte RAM ist ne gute Wahl. 
Der langsamere 62256 im DIL, würde wahrscheinlich auch ausreichen,  ist 
aber bei Reichelt sogar teurer. Wenn du Geld sparen willst: auf alten 
486er Motherboards ist oft sehr ähnlicher Speicher als Cache drauf. Die 
waren meist gesockelt und werden oft auch bei ebay günstig verramscht 
(sind aber glaub ich oft 4bit* XXX , also mehr Verdrahtung). Der 8515 
hat einen Nachfolger, der MEGA8515 kann bis 16 MHz getaktet werden (ich 
habe gerade 2 Stück in PDIP bei ebay ersteigert, für weniger als eine 
8515 bei Reichelt kostet).
Gruß Bernhard
Gast #25108
Lesenswert?

Hallo Bernhard,

danke für deine Antwort! Das war mal was Aufmunterndes ;-)

Ich hatte auch nur vor das Ding zum Überprüfen bei LCDs und RS232 zu 
benutzen.
Ich werd mich jetzt auf jeden Fall mal dran machen ...
Wenns geklappt hat, meld ich mich wieder ...

Grüße ANDY
Gast #25109
Lesenswert?

Hi!
Prima Thema. Zum einlesen würde ich aber vermutlich garkeinen 
Proz.nehmen -zu langsam- , man bedenke die notwendige Reihenfolge beim 
Speichern
1./WR
2.ADR+1
3.WR

Das sind bei 32MHz Sampelrate 96MHz Takt! 3 gleichartige 
Speicherschalt.im parallel Betrieb aber mit versetzter Ansteuerung sind 
da vermutlich besser zu handhaben.Die Einleserei wäre bei mir jedenfalls 
ein reines Hardwareteil.
Das Verarbeiten kann ja dann ruhig ein Proz.übernehmen, ob an LCD oder 
PC ist eigentlich egal.

Gruss Uwe

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren