Hallo Ich habe ein komplexes und komfortables Programm geschrieben, das es erlaubt, mit dem Parallel Port ein digitales Oszilloskop zu betreiben. Es enthält einen Logik Analysator für serielle Protokolle. Die Ausgabe erfolgt in farbigen Grafiken. Das Programm und sein Sourcecode stehen gratis zur Verfügung. Ich bitte die Betreiber dieser Seite mindestens einen Link auf der Oszilloskop Seite und zu der Logic Analyser Seite zuzufügen. Besser noch einen Abschnitt zum Thema. Elmü Download und Artikel: http://www.codeproject.com/KB/system/17ChannelLogicAnalyzer.aspx Features: --------- * Digital Oscilloscope / Logic Analyzer with up to 17 input lines * Uses the parallel (printer) port for input. * While Logic Analyzers normally are very expensive, this one is for zero cost * Written in speed optimized C++ to get the maximum possible sample rates * The program is a stand alone single EXE file which neither needs any additional DLLs nor any framework. It runs out of the box * Runs on all Windows platforms (95, 98, ME, NT, 2000, XP, 2003, Vista, 2008, Windows 7, 2008 R2) * Runs on 32 Bit Windows and 64 Bit Windows * When first run, installs a driver to access hardware IO ports on all NT platforms * Plays a sound via PC speaker to prove that the driver works correctly * Shows the actual state of the input lines life in the LED's of the GUI * Captures up to 500.000 samples / second (depending on your hardware and OS) * Captures to memory (rather than disk) for maximum speed * Capturing runs always with the maximum frequency that the hardware allows * Memory saving capture technology stores only the changes of the input lines rather than storing all lines with each sample that is taken * The capture process is independent of data analyzing so you can try various settings to display the captured data in the best way * The analyzer generates coloured oscilloscope diagrams with a raster grid * The output is written into an HTML file and one or multiple GIF files * So the analyzer results can easily be shared with other people who must not install any program to view a proprietary binary format * You can write an individual heading into each analyzer output to distinguish them later in a multitude of files * When analyzing data, you can choose to delete old analyzer output or keep the old files * The time axis shows absolute or relative time with microsecond precision (Performance Counter) * Automatic detection of inactive input lines shows only the channels that have activity * Automatic detection of idle time cuts out long phases of inactivity * Automatic detection of input frequency chooses the adequate raster unit like on a real oscilloscope (10 µs, 20 µs, 25 µs, 50 µs, 100 µs, etc..) * Automatic detection of context switches of the operating system * Decoding of serial protocols like I2C Bus, PS/2 Bus, SMBus, ModBus, SPI Bus, Asynchronous (RS232, RS422, RS485), Infrared Remote Controls, Smartcards is partially already implemented or may be added by you. * Decoded serial data (Start Bit, Parity, Acknowledge, Stop Bit) and the Byte that they represent is written into the diagram * Very cleanly written source code with a proper error handling and plenty of comments
Kannst du mir bitte erklären, wie du mit den digitalen LPT-Eingängen analoge Signale aufzeichnen willst? Oder habe ich was verpasst? ;)
@Luk4s K. Ist halt ein AD-Wandler mit einer Auflösung von 1 Bit.
Wer hat denn was von analog gesagt ? Ist eine digitales Oszilloskop.
@ Elmü: Du solltest erstmal lernen was ein Oszilloskop ist: http://de.wikipedia.org/wiki/Oszilloskop#Messungen Und was ein Logikanalysator ist: http://de.wikipedia.org/wiki/Logikanalysator Na, Groschen gefallen?
Ein Oszilloskop ist ein Gerät, das elektrische Schwingungen grafisch darstellt. Es spielt dabei keinerlei Rolle ob diese analog oder digital sind.
Hi Elmü, geile Sache dein Logic Analyser. Genau sowas brauch ich gerade. Hab mir schon mal die Hilfe durchgelesen, bin mir bei einigen Dingen noch nicht so ganz sicher. Wenn ich jetzt z. B. die serielle Schnittstelle abhorchen möchte dann leg ich den TX meiner seriellen an z. B. Status 0, GND an z. B. Pin 25, stelle unter Analyse die Schnittstelle ein und leg los? Wo ich mir auch noch nicht so sicher bin ist die Sache mit der Überprüfung der Spannungen. Meine Serielle "liefert" +3V - 0V. Ich hab mal einige Pins an meim paralellen nachgemessen. Was mir schon komisch vorkommt wenn ich die GNDs gegeneinander messe ham die teilweise 4,45V?? Die anderen Pins ham teilweise 4,45V und teilweise 0V. Was mach ich falsch. Gruß Stefan
Stefan P. schrieb: > Hab mir schon mal die Hilfe durchgelesen, bin mir bei einigen Dingen > noch nicht so ganz sicher. Wenn ich jetzt z. B. die serielle > Schnittstelle abhorchen möchte dann leg ich den TX meiner seriellen an > z. B. Status 0, GND an z. B. Pin 25, stelle unter Analyse die > Schnittstelle ein und leg los? Nein Das solltest Du auf keinen Fall tun. Die serielle Schnittstelle gibt Spannungspegel aus, mit denen Du die Druckerschnittstelle zerstören kannst.
Hallo Stefan > Hab mir schon mal die Hilfe durchgelese "mal" lesen reicht nicht. Lies den Artikel bitte GRÜNDLICH! Die serielle Schnittstelle liefert positive und negative Signale. Die kannst du nicht einfach mit der parallelen verbinden. Siehe Wikipedia: RS232! Ausserdem kannst du auf dem SELBEN PC nur dann Daten der seriellen messen (natürlich über einen Pegelwandler) wenn diese langsam sind (z.B. 4800 Baud) Ansonsten fressen dir die Treiber der Seriellen zu viel CPU weg und du bekommst lange Aussetzer in denen du nix messen kannst. (siehe Abschnitt Context Switch) Also: 1.) Entweder niedrige Baudrate 2.) Serielle Kommunikation mit zweitem PC messen Wenn du ein Modem hast, kannst du das gewandelte RS232 Signal IM Modem selbst abgreifen, dort wo es aus dem Pegelkonverter herauskommt (z.B. MAX232 von Maxim) Was das Messen der Parallelen angeht das ist ausführlich im Artikel beschrieben. Allein Spannungen messen reicht nicht. Du musst das mit den Widerständen so probieren wie beschrieben. Was deine seltsamen Messungen angeht: Kann es sein, dass in deinem Kabel nicht alle Adern verbunden sind ? Elmü
@Elmü OT: Arbeitest Du bei der Firma Elmü in Thüringen? MfG Paul
Andreas Huber schrieb: > Ein Oszilloskop ist ein Gerät, das elektrische Schwingungen grafisch > darstellt. Es spielt dabei keinerlei Rolle ob diese analog oder digital > sind. Für mich hat Ein Oszi mit 1 bit Auflösung nicht den Namen oszi verdient.
Andreas Huber schrieb: > Ein Oszilloskop ist ein Gerät, das elektrische Schwingungen grafisch > darstellt. Es spielt dabei keinerlei Rolle ob diese analog oder digital > sind. Eben. Ein Gerät aber, das nur unterscheiden kann zwischen Signal da und Signal nicht da, das stellt keine elektrische Schwingung dar. Und damit ist es kein Oszilloskop.
Es ist ja auch ein Osizilloskop und kein Oszilloskop. Und die neue Wortschöpfung darf alles :-) Es ist nicht mal ein LA, aber trotzdem kann es ein nützliches Programm sein. Wenn man nicht wie Stefan P. als erstes versucht, mit gnadenloser Überspannung den on-board Multi-I/O Chip der Southbridge in den Latch-Up zu treiben und damit seinen PC ruiniert.
Hi Elmü Danke für das coole Programm! Das waren bestimmt ein paar Wochen Arbeit! Lass dich nicht von den Wortklaubern hier im Forum demotivieren, die wahrscheinlich noch nie in ihrem Leben ein nützliches Programm geschrieben haben! Ich werde jetzt mal mein paralleles Kabel ausgraben und ein paar Tests machen. Klaus R.
Hi Leute, ich kenne die Unterschiede zwischen RS232 mit +-12V und 0-3V (durch Pegelwandler z. B. MAX232. Und ich hätte auch nie die +-12V dran gehängt. Das ich mir damit meinen guten Rechner killen kann ist mir auch klar. Zudem hätte ich das auch erst mal an einer alten Kiste probiert bevor ich damit an mein 2000€ Notebook hingehe. Und ja, natürlich sollte ich mir den Artikel erst sehr gründlich durchlesen bevor ich ans werk gehe. Trotz allem ein cooles Programm und ich kann mich Klaus nur anschließen. Gruß Stefan
Klaus schrieb: > Das waren bestimmt ein paar Wochen Arbeit! Eher ein Paar Stunden, von denen die GUI wohl das meiste verschlungen hat. Sowas läuft noch unter Programmierübung.
Hallo Ich melde mich aus diesem Forum ab. Ich werde keine Mails mehr über neue Beiträge bekommen. Das Niveau in diesem Forum ist gleich Null. Die Leute können hier gerne weiter das Forum mit ihren belanglosen Meinungen und niveaulosen Kommentaren vollmüllen, aber ohne mich. Wenn es hier keine Koordinatoren gibt, die für sachliche Diskussionen sorgen, dann ist mikrocontroller.net für mich gestorben. Chao! Elmü
Hannes G. schrieb: > Eher ein Paar Stunden, von denen die GUI wohl das meiste verschlungen > hat. > Sowas läuft noch unter Programmierübung. klar doch, nennt sich autocoding, man klickt nur noch was zusammen. Hast du schon mal sowas programmiert? Da geht schon mal ne menge Zeit drauf sich die Funktionsweise (die ja logisch sein sollte) sich auszudenken und das ganze zun strukturieren. Da steckt arbeit dahinter und auch Fehlschläge weil man sich zu schnell selbst in eine Sackgasse manövriert. Elmü Meister schrieb: > * Captures up to 500.000 samples / second (depending on your hardware > and OS) was kommt denn real so raus unter NT oder XP mit dem Parallelport Treiber? Vor allem wie sieht die Sampleratengenauigkeit unter XP aus wenn dem Programm mal kurz der Task entzogen wird oder Interrupts bearbeitet werden? Als ich Ende der 90er (WIN95/NT40) mal was über den Parallelport einlesen musste hatte ich teilweise über 100ms Aussetzer. JL
Hannes G. schrieb: > Sowas läuft noch unter Programmierübung. Also als Übung würde ich das nicht bezeichnen. Da steckt schon mehr dahinter. Allein das Auswerten der Protokolle will überlegt und getestet sein. Und eine nette Bedienoberfläche ist ja wohl auch kein Softwarefehler ;) Auch sollte man froh sein, wenn hier auch solche fertige Projekte vorgestellt werden und nicht zum 1001-ten Mal das LED-Problem gefragt wird. Also ich vergeb mal 4 von 5 **** Nach richtigem Einsatz evtl. ****+=* avr
Hallo Elmü, (auch wenn du das hier nicht mehr liest) du hast Recht, es ist wirklich traurig, wenn man sich mal die Beiträge in diesem Thread anschaut: 17 Beiträge von denen ein einziger (Stefan P.) wirklich eine Frage zum Thema stellt. Alle anderen sind Hintergrundrauschen: Leute die nicht wissen was ein Oszi ist oder die noch nie in ihrem Leben programmiert haben und meinen, so ein Programm schreibe man mal eben. Ich habe schon mal in deinen Code geschaut und der sieht wirklich sauber aus und man sieht, dass da viel Zeit drin steckt. Klasse Programm! Thanks for sharing! Hannes.G, kannst du bitte mal ein paar Links posten von Programmen, die du geschrieben und veröffentlicht hast? Ich würde gern mal sehen, was du unter Programmierung verstehst, wenn ein LogikAnalysator für dich eine Übung ist. Ich wette, du wirst hier gar keinen Link posten, weil du überhaupt keine oder nur stümperhafte Programmierkenntnisse hast und noch nie irgend etwas veröffentlicht hast! jl, deine Frage zeigt eindeutig, dass du hier rumpostest ohne je den Artikel gelesen zu haben. Das Thema Conext Switches wird ausführlich in Elmü's Artikel besprochen! Es ist wirklich peinlich hier! Ich hoffe, dass einer der Moderatoren das hier liest und Massnahmen ergriffen werden, dass hier sachliche Diskussionen stattfinden statt Hintergrundrauschen! Klaus R.
Klaus R. schrieb: > Es ist wirklich peinlich hier! Stimme dir voll zu. Und peinlich ist es leider nicht nur in diesem Thread.
Klaus R. schrieb: > jl, > deine Frage zeigt eindeutig, dass du hier rumpostest ohne je den Artikel > gelesen zu haben. Das Thema Conext Switches wird ausführlich in Elmü's > Artikel besprochen! ja, ich hab den Artikel gelesen. Kannst du glauben, sonst hätt ich nicht diese Frage an Elmu gestellt. >Org Web Page: If you measure slow signals like PS/2 (that has a 10 kHz >clock) or a 4800 Baud asynchronous communication, you will not have any >problems at all. But if you have to measure higher frequencies it is >obvious that during a measurement (capturing) the CPU should be as idle >as possible. Ich hab halt schon meine Erfahrung sammeln müssen mit längeren Aussetzern. Deswegen die Frage mit was man da effektiv rechnen kann, da ist die kurze Context switch Betrachtung für mich nicht unbedingt ausreichend. Und was nicht beantwortet wird ist die Frage ab wievielen us er Aussetzer erkennen kann. Genau das ist aber nötig um sich selbst ein Bild zu machen für welche Zwecke das Programm einsetzbar ist. Also Klaus unterstelle mir nicht das ich hier herumtrolle oder sinnlose Fragen stelle nur damit ich was gepostet habe.
@ Elmü Meister Ich kann den 17 Kanal Logik Analysator gut gebrauchen, im Labor habe ich zwar einen LeCroy zu stehen, aber wenn ich etwas zu Hause mache eben nicht. Mein PC und mein Laptop besitzen jeweils einen Parallelport und ich kann diese Software jetzt auch gebrauchen um zu kontrollieren ob die gesendeten Daten auch ordentlich ankommen. Zu den USB<->RS232 oder USB<->Parallel Konvertern: - Ich habe durch diese Konverter (nachdem ich die Treiber installiert hatte) immer wieder Abstürze meines WinXP zu verbuchen. (mein Laptop hat keinen RS232) ... ich weiß dass man sie eh nicht nutzen kann da USB zu große Latenz-Zeiten hat, aber trotzdem ärgerlich für mich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.