Hallo,
ich müsste mal kurz den binären Datenfluss auf einer Leitung überprüfen
(bestehend aus high/low-Pegeln).
Leider habe ich grade kein DSO zur Hand.
Gibt es zufällig ein Programm, mit dem man über eine Leitung des
Parallelports (PC) die digitalen Signale einsamplen und auf dem
Bildschirm graphisch darstellen kann?
Oder eventuell eine Lösung mit einem AVR?
Viele Grüße!
Die Antwort könnte lauten:
- Nein, da Dein Signal zu schnell ist.
- Wenn Du eine geeignete Eingangsstufe baust...
- Ja, eventuell.
Und es gibt noch unendlich viele weitere Antwortmöglichkeiten. Eine
echte Antwort kann Dir niemand ohne Kenntnis der Signalform geben!
Nachtrag: Mit Signalform meine ich übrigens Angaben wie:
- Frequenz/Bitrate
- Amplitude
- Offset
"binärer Datenfluss" und "high/low-Pegel" kann nämlich alles Mögliche
bedeuten.
Martin schrieb:> Eine> echte Antwort kann Dir niemand ohne Kenntnis der Signalform geben!
Danke!
Ich denke mal, dass 10ks pro Sekunde locker ausreichen müssten.
Die Signalform ist ganz simpel ein TTL-Signal (also aus Hi und Lo, nix
Analoges. Um einen Eingangspuffer kümmere ich mich).
> Nachtrag: Mit Signalform meine ich übrigens Angaben wie:> - Frequenz/Bitrate> - Amplitude> - Offset
-ca. 2kbit pro Sekunde
- Hi = 5V, Lo = 0V
- kein Offset
So und jetzt die alles entscheidende Frage:
--> Was willst Du sehen (können)?
Bzw. was erwartest Du zu sehen?
Im Prinzip würde ich einen AVR aus der Bastelkiste nehmen, ein großes
Array anlegen, einen Timer dazupacken und einfach Samples nehmen und in
das Array schreiben.
Zur Auswertung im Debugger die Memory-View anschauen. Falls erforderlich
dumpen und mit Python (oder Excel) aufbereiten.
Über die Aussagekraft dieser Vorgehensweise kann man natürlich streiten.
Timings, Glitches, Rauschen, etc. wird man so nur sehr begrenzt
beurteilen können.
Lieber wäre mir ein Programm, mit dem man über eine Leitung des
Parallelports vom PC die digitalen Signale einsamplen und direkt auf dem
Bildschirm graphisch darstellen kann.
Rauschen etc. kann man völlig vernachlässigen.
Theoretisch könnte man die Daten auch ins EEPROM des AVRs ablegen, weiß
nur nicht, ob der Schreibzugriff schnell genug ist.
malte schrieb:> Lieber wäre mir ein Programm, mit dem man über eine Leitung des> Parallelports vom PC die digitalen Signale einsamplen und direkt auf dem> Bildschirm graphisch darstellen kann.
warum Parallelport? Serial ist einfacher dort bekommt man recht einfach
zugriff auf die RING leitung.
Aber wie schnell ist dann das signal?
Peter II schrieb:> warum Parallelport? Serial ist einfacher dort bekommt man recht einfach> zugriff auf die RING leitung.>> Aber wie schnell ist dann das signal?
Eigentlich ist es egal, ob eine Leitung vom PP oder eine vom SP benutzt
wird.
Signal ist ca. 2kbit pro Sekunde.
malte schrieb:> Signal ist ca. 2kbit pro Sekunde.
sollte möglich sein. Kenne leider kein fertige Programm, ist aber recht
schnell selber geschrieben. Kannst du programmieren?
malte schrieb:> Ich denke mal, dass 10ks pro Sekunde locker ausreichen müssten.
Dann nimm doch einfach den Soundkartenanschluss. Da gibts auch genügend
Programme zum Auswerten.
Gruss
Harald
Peter II schrieb:> malte schrieb:>> Signal ist ca. 2kbit pro Sekunde.>> sollte möglich sein. Kenne leider kein fertige Programm, ist aber recht> schnell selber geschrieben. Kannst du programmieren?
Problem dabei ist eher, dass auf dem Bastel-PC (der einzige mit PP)
WinXP installiert ist.
Das versaut das Timing und läßt Zugriff auf den PP so einfach nicht zu.
Von da her wäre eine Fertiglösung besser gewesen (oder ich steige
vorübergehend auf DOS um).
Harald Wilhelms schrieb:> malte schrieb:>>> Ich denke mal, dass 10ks pro Sekunde locker ausreichen müssten.>> Dann nimm doch einfach den Soundkartenanschluss. Da gibts auch genügend> Programme zum Auswerten.> Gruss> Harald
Das wäre ja super!!! Dachte allerdings, dass der Koppel-C vom
Soundkarten-Eingang die H- und L-Pegel versaut... !?!
(Soundkarte war nämlich auch meine erste Idee)
malte schrieb:> Problem dabei ist eher, dass auf dem Bastel-PC (der einzige mit PP)> WinXP installiert ist.> Das versaut das Timing und läßt Zugriff auf den PP so einfach nicht zu.
deswegen sollte du auch den SerialPort verwenden. Dort bekommt man auch
unter XP den zugriff auf die Ring leitung.
vom timing würde ich einfach zu jeden Zeitpunkt zusätzlich zum status
der leitung die systemzeit (HighPerformaceCounter) geben lassen. Dann
sieht man ob man etwas verpasst hat und kann die Grafig sauber
darstellen.
Peter II schrieb:> deswegen sollte du auch den SerialPort verwenden. Dort bekommt man auch> unter XP den zugriff auf die Ring leitung.>> vom timing würde ich einfach zu jeden Zeitpunkt zusätzlich zum status> der leitung die systemzeit (HighPerformaceCounter) geben lassen. Dann> sieht man ob man etwas verpasst hat und kann die Grafig sauber> darstellen.
Gute Idee!!!
Ich schaue jetzt erst mal, ob man irgendwie die Soundkarte mit einem
bestehenden Programm dafür benutzen kann und wenn nein, dann versuche
ich es heute Abend so wie vorgeschlagen über SP über Ringleitung.
malte schrieb:> Dachte allerdings, dass der Koppel-C vom> Soundkarten-Eingang die H- und L-Pegel versaut... !?!
Stimmt, aber das Verhalten ist reproduzier- und berechenbar.
Wenn Dich nur die Flanken interessieren, können die Dächer doch
ruhig etwas schräg sein.
Gruss
Harald
Harald Wilhelms schrieb:> Stimmt, aber das Verhalten ist reproduzier- und berechenbar.> Wenn Dich nur die Flanken interessieren, können die Dächer doch> ruhig etwas schräg sein.
Gibt es ein spezielles Soundkarten-Oszilloskop-Proramm, welches das
kann?
Theoretisch könnte man vielleicht auch einfach den Koppel-C aus einer
sonst nicht mehr verwendeten Soundkarte rausschmeißen... ?!?
http://tfla-01.berlios.de/
Features:
Sample rates up to 1 MHz (depending on the parallel port and the
speed of your computer)
Triggering
Zooming
Two markers for which the (estimated) times are displayed
Application runs completely in userspace, libieee1284 is used for
parallel port access. This means that the installation is easy
and the system stays stable.
multiple supported plattforms
Linux
Windows
OpenBSD (i386 only)
FreeBSD /i386
Solaris/x86