Forum: Mikrocontroller und Digitale Elektronik Logic Analyser mit SRAM -> weshalb?


von C. H. (hedie)


Lesenswert?

Hallo

Ich bin auf und dran mir einen eigenen LogicAnalyzer zu bauen wie jener 
von Saleae...

Die Software hab ich schon relativ weit... (für 6 Stunden Programmieren)

Sie ist an das Design von Saleae "angelehnt" :)
wens interessiert 
http://darkhedie.bplaced.net/Updates/openlogic/10022.exe

würde mich über ein feedback freuen (ist aber noch lange nicht fertig) 
:)


Aber nun die eigentliche frage... Ich bin auf dieses Projekt gestossen
http://antoniak.ep.com.pl/index.php?id=sla

Ist das SRAM ein so erheblicher Performance vorteil?

von Karl H. (kbuchegg)


Lesenswert?

Claudio Hediger schrieb:

> Ist das SRAM ein so erheblicher Performance vorteil?

<quote>
connected to PC via RS232 interface,
</quote>
Überleg mal, wie eine RS232 Verbindung wohl deine maximale Samplerate 
beeinflussen wird, wenn du einen gesampelten Wert sofort los werden 
musst, weil du ihn nirgends zwischenspeichern kannst.

von Michael H. (Gast)


Lesenswert?

Claudio Hediger schrieb:
> wens interessiert
> http://darkhedie.bplaced.net/Updates/openlogic/10022.exe

Ja, würde es.
Aber ne .exe als Anhang? Gehts noch?

von C. H. (hedie)


Lesenswert?

Ja das hab ich mir bereits überlegt...

Ich dachte da an folgendes:

Der Mikrocontroller überprüft so schnell wie er halt kann ob sich am 
Port was geändert hat. Wenn eine Änderung aufgetreten ist (High -> Low / 
Low -> High) so sendet er die Kanalnummer sowie die Zeitmarke per RS232

Somit wären es nur ein paar Zeichen die loszuwerden sind...

von Karl H. (kbuchegg)


Lesenswert?

Claudio Hediger schrieb:
> Ja das hab ich mir bereits überlegt...
>
> Ich dachte da an folgendes:
>
> Der Mikrocontroller überprüft so schnell wie er halt kann ob sich am
> Port was geändert hat. Wenn eine Änderung aufgetreten ist (High -> Low /
> Low -> High) so sendet er die Kanalnummer sowie die Zeitmarke per RS232
>
> Somit wären es nur ein paar Zeichen die loszuwerden sind...

Das beisst sich:
 * so schnell wie er kann
 * nur bei einer Änderung sofort die Änderung aufbereiten und
   wegschicken

Wie kriegst du mit so einem Schema eine konstant zeitliche Abtastung 
hin? Und alles andere ist sinnlos. Wenn dein Analysator dir eine Flanke 
anzeigt und du nicht weißt ob die jetzt nicht auch schon ein paar ms 
früher aufgetreten ist aber nur deshalb später angezeigt wird, weil der 
µC in der fraglichen Zeit gerade mit Übertragen beschäftigt war ... 
welchen Wert hat dann die Anzeige eigentlich noch?
Mit einem immer gleichen Abtastintervall hast du wenigstens eine immer 
gleiche Unsicherheit bei jedem einzelnen Messwert.

von (prx) A. K. (prx)


Lesenswert?

Claudio Hediger schrieb:

> Ist das SRAM ein so erheblicher Performance vorteil?

Gegenüber was?

von C. H. (hedie)


Lesenswert?

> Ja, würde es.
> Aber ne .exe als Anhang? Gehts noch?

Sorry...

so nun hier als Zip :)

http://darkhedie.bplaced.net/Updates/openlogic/OpenLogic.zip

Spätere Updates kann man mittels der integrierten Update Funktion 
beziehen :)

von C. H. (hedie)


Lesenswert?

>Wie kriegst du mit so einem Schema eine konstante zeitliche Abtastung
>hin?

Hmmm

Ok hast recht... mein Gedankenfehler :)

Aber dafür ist das Forum ja da :)


Weiss vielleicht jemand wo man ein oder zwei SRAMS als samples bekommen 
kann?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Der Mikrocontroller überprüft so schnell wie er halt kann
Hört sich irgendwie "unfertig" an... :-o

> Somit wären es nur ein paar Zeichen die loszuwerden sind...
Rechne mal aus, wie schnell die Äderungen dann maximal erfolgen 
dürfen...
> Wenn eine Änderung aufgetreten ist (High -> Low /
> Low -> High) so sendet er die Kanalnummer sowie die Zeitmarke per RS232
Also mindestens zwei Zeichen via RS232, d.h. ein Wechsel am uC darf 
nicht schneller als Baudrate/20 passieren. Eher noch langsamer, denn 
sonst verlierst du den Überblick im Übertragungsprotokoll...

von Marvin (Gast)


Lesenswert?

Claudio Hediger schrieb:
> so nun hier als Zip :)
>
> http://darkhedie.bplaced.net/Updates/openlogic/OpenLogic.zip
>
> Spätere Updates kann man mittels der integrierten Update Funktion
> beziehen :)
Das ist ein Witz, oder? In dem .zip-File ist nachwievor nur die 
Binaerdatei und die kann sogar Code nachladen. Sehr vertrauenswuerdig... 
Oo.

Gruesse

Marvin

von Karl H. (kbuchegg)


Lesenswert?

Claudio Hediger schrieb:
>> Ja, würde es.
>> Aber ne .exe als Anhang? Gehts noch?
>
> Sorry...
>
> so nun hier als Zip :)
>
> http://darkhedie.bplaced.net/Updates/openlogic/OpenLogic.zip
>
> Spätere Updates kann man mittels der integrierten Update Funktion
> beziehen :)

Genauer nachgefragt:
Gibt es dafür eine Projektseite, auf der man sich über die grundlegenden 
Parameter des Projekts informieren kann?

Ob du das EXE in einem Zip verpackst oder nicht, ist völlig egal. Ich 
installiere mir nicht irgendein EXE von dem ich nichts weiß.

von C. H. (hedie)


Angehängte Dateien:

Lesenswert?

Marvin schrieb:
> Das ist ein Witz, oder? In dem .zip-File ist nachwievor nur die
> Binaerdatei und die kann sogar Code nachladen. Sehr vertrauenswuerdig...
> Oo.


Hmmm

Ja wie möchtest du denn das Programm testen?


Ich hab mal ein Screenshot angehängt....

Und hier noch der Virenscan: 
http://www.virustotal.com/de/analisis/cb6013c33cb91cba0273f3f32c33abd499a5115b6c6a024099680b8ab6ab4756-1263991892


EDIT:

Es wird nicht installiert... es ist nur die EXE... einfach starten SONST 
NIX

von C. H. (hedie)


Lesenswert?

Karl heinz Buchegger schrieb:
> Genauer nachgefragt:
> Gibt es dafür eine Projektseite, auf der man sich über die grundlegenden
> Parameter des Projekts informieren kann?
>
> Ob du das EXE in einem Zip verpackst oder nicht, ist völlig egal. Ich
> installiere mir nicht irgendein EXE von dem ich nichts weiß.

Ja die wird bald erstellt...

Das Projekt ist erst einige Tage alt :)

von Karl H. (kbuchegg)


Lesenswert?

Claudio Hediger schrieb:
> Marvin schrieb:
>> Das ist ein Witz, oder? In dem .zip-File ist nachwievor nur die
>> Binaerdatei und die kann sogar Code nachladen. Sehr vertrauenswuerdig...
>> Oo.
>
>
> Hmmm
>
> Ja wie möchtest du denn das Programm testen?

Vorher würde ich gerne wissen wollen, ob ich das Programm überhaupt 
testen will :-)

Wo kommen eigentlich die Signale her?
Brauche ich da eine spezielle Schaltung? Wo wird die angesteckt? etc.

(Das nur so als Hinweis, was auf der Projektseite auf jeden Fall 
enthalten sein sollte)

von C. H. (hedie)


Lesenswert?

Karl heinz Buchegger schrieb:
> Wo kommen eigentlich die Signale her?
> Brauche ich da eine spezielle Schaltung? Wo wird die angesteckt? etc.

Jiip... Dazu benötigst du eine Schaltung...

Ich werde so wies aussieht PCB's herstellen lassen...
Angeschlossen wird die über USB (USB -> RS232 Adapter von Dealextreme 
für 3Dollar) intern ists jedoch RS232

Es wird ein Attiny2313 verwendet werden...

Hardware ist noch nicht aufgebaut... Hab erstmal die Software 
vorangetrieben.
Diese kann man auch mit eigenen Schaltungen verwenden. Ich werde das 
Protokoll welches ich verwenden werden veröffentlichen

von Karl H. (kbuchegg)


Lesenswert?

Claudio Hediger schrieb:
> Karl heinz Buchegger schrieb:
>> Wo kommen eigentlich die Signale her?
>> Brauche ich da eine spezielle Schaltung? Wo wird die angesteckt? etc.
>
> Jiip... Dazu benötigst du eine Schaltung...

Nicht böse sein.
Aber was soll man dann da testen?

Das du auf einen gedrückten Button in einem Windows Programm richtig 
reagieren kannst, glaub ich dir auch so.

Ob so ein Programm gut ist, kann man erst feststellen, wenn es über 
einen nennenswerten Funktionsumfang verfügt und mit meinen 'Daten' 
umgehen kann.

von Manuel (Gast)


Lesenswert?

Mit "Platinen herstellen lassen" würde ich mich glaub auch noch ein 
wenig Zeit nehmen....

von C. H. (hedie)


Lesenswert?

Karl heinz Buchegger schrieb:
> Nicht böse sein.
> Aber was soll man dann da testen?

Es hat einen test Datensatz enthalten...

Mit testen meinte ich eher... Anordnung der signale, design

Aber ich meld mich sonst nochma wenn ich die software auf nem beta level 
hab :)

von Deneriel (Gast)


Lesenswert?

Ein einfacher LA ist der hier 
Beitrag "8 Kanal 50Ms/s AVR Logic-Analyzer" . Der hat sich die ganzen 
Gedanken incl. Software schon gemacht und es funktioniert bereits. Wenn 
man keinen CPLD will funktioniert auch der Drahtverhau (habe ich auf 
einer Euro-Lochraster nachgebaut).
Wenn du dich unbedingt an Software verlustieren willst kannst du ja ein 
neues Interface oder Analyseroutinen für die bestehende Software 
schreiben.

Alle Lösungen die versuchen den AVR zum samplen einzusetzen kranken 
durchweg am gleichen Problem: Ein AVR ist für den Job zu langsam.

von Reinhard Kern (Gast)


Lesenswert?

Deneriel schrieb:
> Alle Lösungen die versuchen den AVR zum samplen einzusetzen kranken
> durchweg am gleichen Problem: Ein AVR ist für den Job zu langsam.

Hi,

mal so ins Blaue hinein gerechnet: AVR u.ä. haben zwar nicht die volle 
Quarzfrequenz an ihren Ausgängen, aber als Abtastrate sollte man schon 
etwa die Prozessorfrequenz voraussetzen, um alle Flanken zu erwischen. 
Nehmen wir also 20 MHz und 48 Bit zur parallenen Erfassung, dann sind 
das 120 MByte/s. Allerdings ist nach meiner Erfahrung ein LA ohne 
komplexe Triggerung zu nichts zu gebrauchen, weil man ohne Auswahl der 
interessanten Stellen einfach in Daten ersäuft. M.a.W. der Prozessor 
sollte also mit dieser Geschwindigkeit noch Und/Oder-Verknüpfungen und 
Zähloperationen durchführen können. Mein jahrzehntealter Tektronix 1240 
verarbeitet 40 Kanäle mit 100 MHz und 14 Triggerstufen, das war ok für 
Z80 und Konsorten, aber nicht mehr für moderne Prozessoren.

Man kann jetzt an den Forderungen dies und jenes zusammenstreichen, aber 
wenn man bis auf AVR-Niveau herunterkommt, bleibt kein brauchbares Gerät 
mehr übrig.

Gruss Reinhard

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.