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
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.
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.
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.
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
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.
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
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
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
@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
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
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).
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
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
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
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
@ 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
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
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
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
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
@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
- 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
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
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
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
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