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
Gast
#692504
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.
Tjo aber ich bin (zumindest noch) nicht in FPGAs und daher will ich es mit einem Mikrocontroller machen. Keine Antwort auf meine Frage.
Gast
#692519
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.
Gast
#692522
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.
Naja vielleicht mach ich's doch per ganz normalen Port... das kommt guenstiger ;) Hab schon eine Idee...
Gast
#692704
>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?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.