moin,
ich habe mal ein wenig Doku gemacht, weitere Timing-Diagramme folgen:
[attachment=7671:timing_einzelbyte.gif]
Die Spannungspegel liegen knapp unter 4,9V. Zur Flankensteilheit (tTLH</sub>, tTHL</sub> kann ich nix sagen, ohne Oszilloskop sehe ich nur digitale Zustände.
edit: Abbildung aktualisiert.
Der 74HC244 (ebenso der 74HC240, 74HC245 und deren Brüder aus den anderen Logikfamilien wie 74LS, 74F usw.) ist ein Schmitt-Trigger, schaltet also sehr definiert.
Bei mir wird durch Digitrace der 74HC244 mit 3,4V (! versorgt, vmtl. durch Anschneiden das als Vcc missbrauchten /STROBE-Signals, d.h. high-Pegel wird ab ca. 2,4V (min ca. 0,7x Vcc) erkannt, low-Pegel unter 1,0V (max. ca. 0,3x Vcc) (s.h.: Datenblatt nxp vormals Philips meine PC74HC244 sind von Philips Baujahr 1991). Damit wird der eigentlich nicht TTL-kompatible HC ungefähr auf TTL-kompatible Pegel gezwungen; um den Preis von Überspannung an den Eingängen. Dies ist "not recommended", aber innerhalb der Limits, wenn der Strom auf 20mA beschränkt wird.
Hans@littlelamb, Deine Daten enthalten viele Fehler, aber (fast?) nur Ein-Bit-Fehler (oder Abbrüche). Daher tippe ich auf minimal zu knappe Pegel oder Flankensteilheit.
Welchen der LAs hast Du? Die haben deutlich höhere Arbeitsfrequenzen als meine Bastel-Minimal-Lösung, daher schließe ich Flankenprobleme erstmal aus. Also Pegel...
Auch Wolframs Probleme mit dem (Kanda)AVR-ParPort-Adapter könnten auf Pegelfehler zurückgehen, dort wird der HC244 mit 5V betrieben (die LensChips müssen 4,9-5,0V haben!
edit: die Überlegungen zu den Pegeln und Treibern sind teilweise Murks.
Die LensChips liefern saubere CMOS-Pegel mit Vcc=4,9V (soweit ohne Oszco feststellbar), ich habe mich von den highZ-Zuständen irritieren lassen.
Die Vcc des HC244 im ParPort-Adapter wird nicht von Digitrace geregelt, sonden bricht von 4,4V bei allen Eingängen low auf 3,4V ein, sobald auch nur ein Eingang high ist.
Die out-Pegel liegen dann bei Vcc=3,4V für high und 0V für low, also saubere CMOS-Pegel und klar innerhalb der Spec des ParPorts, egal ob nun CMOS- oder TTL-LS-Eingänge vorhanden sind und diese mit 5V oder 3,3V betrieben werden.
Vorsicht beim Messen und Basteln: offene Eingänge eiern fröhlich in der Gegend herum und führen zu beliebig unvorhersehbarem Verhalten. Offene Ausgänge sind unkritisch, allerdings sind die dort hochohmig (DMM) gemessenen Spannungen nicht auswertbar (man sieht z.B. 2,4V, die aber in keinster Weise echt sind. Sobald eine Last am Ausgang liegt, selbst ein hochohmiger CMOS-Eingang, verschwinden diese).
Klassisch ist ein ParPort ein Latch 74LS374, Bidi ab PS/2 kommt als Eingang ein 74LS244 dazu, wobei die /OE von Latch und Treiber antiparallel geschaltet sind. Heute ist das vollintegriert, muss aber zu diesem klassischen Aufbau vollständig kompatibel sein.
Hans, bei Dir könnten es auch parasitäre Kapazitäten an den Probes sein oder schwingende offene Probes. Hier wird es ohne Oszco auch schwierig, die Ursache weiter einzugrenzen.
edit -ende-
@Matthias: ich habe die *.dgt auch im ersten Schritt auf die Pegelwechsel reduziert, Du kannst Dir das in der *.uat-Datei ansehen (am Anfang, *.ua* ist plain ascii/CRLF=*.txt).
Für raw-Daten ist das dgt-"Format" optimal, es müssen nur die Kanalbelegung und die Auflösung bekannt sein. Sobald das Timing gut genug bekannt ist, kann man das dgt-Format mit einer Auflösung von 2xfSCK kompakt nutzen.
zip ist als Austausch-Packer optimal, unter win (ab XP) oder linux sind zumindest die Entpacker im System voll integriert.
Sonst ziehe ich unter win 7z und unter linux tar/bzip2 vor, aber damit werden wir wieder abhängig von Zusatz-SW, was ich vermeiden möchte.
Austauschformate sollten so simpel wie möglich sein. Lieber etwas weniger effektiv, dafür lesbar!
Letzte Sache: da wir mittlerweile wissen, dass die LensChips selbst der toshiba ML00?-Urbaureihe keine Masken-ROMs wie ursprünglich vermutet sind, sondern innere Zustände haben (FlipFlops, Latches); strebe ich an, die Zustandsdiagramme aufzumalen. Dann ein wenig Boolsche Schaltalgebra, vereinfachen, und wir wissen, wie wir einen Mikrokontroller programmieren müssen, damit dieser einen LensChip erfolgreich emulieren kann. D.h aber, alle möglichen und unmöglichen Zustandskombinationen durchtesten... allein das 70300G-SSM hat an 5 Kontakten schon durch seinen großen Brennweitenbereich und den AF-(Limit)Schalter und Fokusstopp Dutzende von möglichen Konfigurationen. Mustererkennung und statistisch abgesicherte Stichproben sind der einzige Weg, wir können niemals alle Varianten wirklich durchtesten.
so, Schluss für heute. Ende der Woche sollte die D5 da sein, dann wird es richtig lustig.
gruesze, thomas