mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schnelle Datenspeicherung


Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man an den 4433 auch nen externen SRAM hinhängen, oder weshalb 
empfielst du mir den 8515 ??

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab grad festgestellt, dass sich meine Skizze etwas verändert hat (im 
ersten Posting). Aber du weißt sicherlich, was ich meine ;-)

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, danke!
Könnt ihr mir irgendein SRAM Modul empfehlen, oder ist das egal (nur die 
Speichergröße von Bedeutung)?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als RAM kommen eigentlich alle parallelen, statischen RAMs in Frage, 
ohne banking kannst du direkt max. 64kByte adressieren, also kannst du 
alles vom 6116 bis zum 62C512 verwenden.

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ERDI - Soft (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe Elektor Januar und Februar (oder wars Februar und März?).

Autor: Peter Zimmer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe ich vor längerer Zeit mal im Internet gefunden vieleiht is es ja 
was.
http://home.t-online.de/home/Vollmer.Ulrich/l_index.htm
Peter

Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ERDI-Soft sagte, der Elektor hat ein geniales Projekt zu dem Thema, 
und die erreichen damit eine max. Frequenz von 40MHz (!) bei max. 36 
Kanälen!

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist nur dass man diese Spezialspeicher (FIFO) die Elektor 
verwendet kaum bekommt.

Autor: Frankl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und Funktionieren in der Praxis muß das Teil auch noch und das ist bei 
Elektor immer so ne Sache. 5 Hefte nach dem Erscheinen der Schaltung 
kaufen, um die Nachlese mitzubekommen.

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@BernhardT: klar hat man beim Auslesen sehr viel Zeit, beim Speichern 
aber nicht (25ns).

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So'n Mist. Vielleicht hätte ich selber mal lesen sollen was als Projekt 
ansteht.

Aber mal 'ne Frage: Wer bearbeitet denn das Projekt?

Reiner

Autor: thomas b (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard T (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, zeitkritisch ist natürlich auch der Trigger.
Bernhard

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manfred Glahe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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).

Autor: Manfred Glahe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch der DAW Teil.

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sehe ich auch so, allerdings sollten dabei technische Standards so 
weit wie möglich eingehalten werden!
Mit einem USB2 Projekt hats jedenfalls geklappt.
Manfred

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manfred Glahe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bertolt Mildner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Reiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/?f...

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

THX ANDY

Autor: BernhardT (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.