Forum: Mikrocontroller und Digitale Elektronik Abtasten eines digitalen Signals fuer Logik-Analysator


von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hallo Forum,

ich bin gerade dabei, mir ein Konzept fuer einen kleinen 
Logik-Analysator zu ueberlegen und stehe vor der Frage, wie ich die 
digitalen Signale am besten abtaste. Es ist doch sicher vorteilhaft, 
externe Interrupts an stelle normaler I/O-Pins zu benutzen? Mit welcher 
Methode ist eine hoehere Abtastrate zu erreichen? Sollte man die Signale 
irgendwie "aufbereiten", bevor man sie abtastet?

Danke fuer den Input.

Gruss,
Michael

von Manuel (Gast)


Lesenswert?

Also wenn du sowas machen willst ist ein uC eigentlich ungeeignet. Dazu 
nimmt man eher einen CPLD/FPGA - da kann man dann alle signale 
gleichzeitig abtasten.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Tjo aber ich bin (zumindest noch) nicht in FPGAs und daher will ich es 
mit einem Mikrocontroller machen. Keine Antwort auf meine Frage.

von Manuel (Gast)


Lesenswert?

mit uC könntest du z.B. in einer Loop ein komplettes Byte in den RAM 
schreiben (2-4 clocks?!). Interrupt Routine pro Port würde sicher 
einiges länger dauern.

von Stefan Salewski (Gast)


Lesenswert?


von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Stefan: Hab ich alles schon gelesen...

Das Problem ist: Ich muss ja wohl auch noch Kommunikation, Ein/Ausgabe 
und andere Dinge machen und in der Zeit kann ich logischerweise die 
Ports nicht abtasten, was heisst, dass mir dann leicht ein Ereignis 
verloren gehen kann.
Mit anderen Worten sollte das Abtasten pseudo-parallel zum Hauptprogramm 
passieren.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Naja vielleicht mach ich's doch per ganz normalen Port... das kommt 
guenstiger ;) Hab schon eine Idee...

von Stefan Salewski (Gast)


Lesenswert?

>Stefan: Hab ich alles schon gelesen...

Schön.

>Das Problem ist: Ich muss ja wohl auch noch Kommunikation, Ein/Ausgabe
>und andere Dinge machen und in der Zeit kann ich logischerweise die
>Ports nicht abtasten, was heisst, dass mir dann leicht ein Ereignis
>verloren gehen kann.
>Mit anderen Worten sollte das Abtasten pseudo-parallel zum Hauptprogramm
>passieren.

Vorweg: Ich habe keine Ahnung von Logik-Analysator, habe nie einen 
benutzt.

Aber das meiste kann man sich ja selbst überlegen:
Mikrocontroller "pseudo-parallel" kann nur bei sehr langsamen 
Signalwechseln funktionieren.

Soweit ich mich an Benedikts Projekt erinnere, schreibt er entweder die 
Daten zunächst alle ins RAM (dann sollten einige MHz Abtastrate möglich 
sein) oder er überträgt die Daten parallel zur Abtastung per USB an den 
PC (dann sind wohl einige 100 kByte möglich, evtl. weniger wegen 
Latenzzeit des USB)

Aber das Thema Logik-Analysator wurde in diesem Forum ja schon mehrmals 
diskutiert -- am besten verwendet man ein FPGA/CPLD, und ganz wesentlich 
ist die Software auf PC-Seite.

Da Du evtl. schon etwas nachgedacht hast: Wie würde man bei einem LA 
eigentlich die Eingänge ausführen (verschiedene Logiklevel, evtl. auch 
Überspannungsschutzt.) Nur Level-Shifter oder für jeden Eingang einen 
Komparator mit einstellbarer Schwelle?

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.