Hallo! Ich versuche, das Kommunikations-Protokoll zu verstehen, über das meine Kamera mit den Objektiven kommuniziert. Ich bin auch schon so weit, dass ich die Kommunikation mitgeschnitten habe; nur weiß ich nicht so recht, wie ich die Daten interpretieren soll. Mein Ziel ist, eine Kamera zu emulieren, so dass ich die Blende regeln kann (was leider nur digital geht) und so die Objektive an einer Großformatkamera betreiben kann. Die Kamera ist eine Mamiya 645DF+. Die Verbindung hat 8 Pins (neuere Objektive haben noch 2 mehr, vermutlich für den Zentralverschluss). Mit dem Multimeter habe ich ermittelt, dass scheinbar Pin1 Masse und Pin5 +2V ist (Blick auf die Kamera, von rechts gezählt). Warum gerade 2V? Naja. Pins 6-8 bleiben low während des Abblendens, sind also hierfür offenbar nicht relevant. Interessant sind jetzt Pins 2-4. Wie ich mit dem Oszilloskop sehen kann, gibt es scheinbar kein Clock-Signal. Deutet auf UART hin, oder? Habe den Bus Pirate (von Dangerous Prototypes) als Logic Analyzer bemüht und damit beobachtet, was sich an den Pins tut, während ein Objektiv angeschlossen ist und ich von Offenblende abblende. Ergebnisse siehe hier: https://dl.dropboxusercontent.com/u/11865476/MamiyaLensProtocol.pdf Es gibt zweimal Aktivität mit einer Pause dazwischen. Vermutlich ist das erste der Befehl der Kamera zum Abblenden und das zweite die Antwort "fertig". Dafür spricht auch, dass der zeitliche Abstand zwischen den beiden größer wird, wenn auf einen höheren Blendenwert abgeblendet wird (was ja mechanisch auch länger dauert). Nur: wie muss ich jetzt die Daten interpretieren? Irgendwie muss da ja der Wert der Zielblende übertragen werden, damit das Objektiv weiß, was es tun muss (beim Einstellen der Blende in der Kamera wird nämlich nichts übertragen, Aktivität auf dem Bus ist tatsächlich erst beim Abblenden). Allerdings sieht der Mitschnitt immer sehr ähnlich aus, egal was ich einstelle. Das verstehe ich noch nicht. Im Signal sind zwischen dem, was ich als Bits interpretiere oftmals noch ganz kurze Spitzen (wenn ich mit höherer Frequenz sample, sieht man da sogar sehr schnelle Oszillationen aber immer nur ganz kurz). Ich vermute, dass da das Signal durch logische Kombinatorik propagiert und nur die breiten Blöcke "echte" Werte sind. Oder sieht das jemand anders? Wenn ich mal versuche, zu denken wie ein UART, dann werde ich noch nicht schlau aus dem Signalverlauf. Am ehesten sieht das noch aus wie 3 Start-Bits, 7 Datenbits und ein halbes Stop-Bit. Was die lange high-Phase in Ch0 (siehe Bild) vor der Antwort soll, ist mir auch nicht nicht klar. Als nächstes fällt auf, dass im ersten Block ein Bit ca. 1,11ms lang ist, im zweiten Block dagegen nur ca. 0,88ms. Für zwei Systeme die sich auf eine Baudrate geeinigt haben sollten, finde ich diese Abweichung ziemlich groß... warum ist das wohl so? Ich habe dann auch mal ein anderes Objektiv angeschlossen: hier findet die Kommunikation deutlich schneller statt. Da kommt mein primitiver Logic Analyer schon an seine Grenzen... aber wenn ich die Kommunikation mit dem ersten Objektiv richtig deuten könnte, wäre ich ja schon glücklich :) Ich bin ein Software-Mensch und weiß eher wenig über Hardware. Hat jemand gute Ideen?
Dennis B. schrieb: > Mein Ziel ist, eine Kamera zu emulieren, so dass ich die Blende regeln > kann (was leider nur digital geht) und so die Objektive an einer > Großformatkamera betreiben kann. Schönes Projekt (und schöne Kamera, ich habe nur 'ne ältere 645 Super, also noch ohne jedwede Objektivelektronik). Was für eine Großformatkamera ist's denn, und welches Format möchtest Du belichten? Der Bildkreis der Objektive dürfte recht überschaubar sein. > Im Signal sind zwischen dem, was ich als Bits interpretiere oftmals noch > ganz kurze Spitzen (wenn ich mit höherer Frequenz sample, sieht man da > sogar sehr schnelle Oszillationen aber immer nur ganz kurz). Das klingt danach, als ob Du da mal ein deutlich schnelleres Speicheroszilloskop dranhängen solltest, um sicherzustellen, daß das wirklich so aussieht. Wenn Du mit Signalen zu tun hast, die so schnell sind wie Dein LA, kannst Du sehr "interessante" Effekte erzielen, die alles mögliche zudecken können.
Rufus Τ. Firefly schrieb: > Was für eine Großformatkamera ist's denn, und welches Format möchtest Du > belichten? Der Bildkreis der Objektive dürfte recht überschaubar sein. Ich habe verschiedene halbe Fachkameras, nicht nur Großformat, u.a. Horseman und Silvestri. Bei kleinem Bildkreis kann man zumindest die Bildstandarte schwenken, sofern der Platz ausreicht (Auflagemaß bei Mamiya ist nur 63,3mm). Ich wollte allerdings hier bewusst nicht zu sehr in das fotografische Thema einsteigen, damit ich Antworten auf meine elektrischen Fragen bekomme :) > Das klingt danach, als ob Du da mal ein deutlich schnelleres > Speicheroszilloskop dranhängen solltest, um sicherzustellen, daß das > wirklich so aussieht. Wenn Du mit Signalen zu tun hast, die so schnell > sind wie Dein LA, kannst Du sehr "interessante" Effekte erzielen, die > alles mögliche zudecken können. Hmmmm. Die Schwierigkeit ist eher, dass der Speicher ein bisschen klein ist und ich daher mit der Frequenz runtergehen muss, um längere Sequenzen beobachten zu können. Die Baudrate scheint mir beim alten Objektiv in der Größenordnung von 1kbps zu liegen, d.h. 1kHz Taktfrequenz. Dafür sollte mein Bus Pirat noch ausreichen, auch wenn seine maximale Samplingfrequenz mit 1MHz für viele andere Anwendungen zu bescheiden ist. Das setzt aber voraus, dass ich diese "Spitzen" richtig interpretiert habe. Mein Gedankengang war: es gibt ja offenbar eine Reihe von Pegeländerungen mit einer Frequenz um 1kHz, daher scheint das die maßgebliche Frequenz zu sein. Nun gibt es immer genau an den Zeitpunkten dieser Übergänge ein paar Schwingungen (die ich nur bei hoher Samplingfrequenz sehe). Ich bin davon ausgegangen, dass das Müll zwischen den Bitwerten ist, der keine Information enthält. Wenn da tatsächlich Information drin ist, dann muss ich natürlich höher auflösen. Glaubt Ihr, dass ich da richtig liege? Und dann werde ich halt generell noch nicht schlau aus den Signalen...
Dennis B. schrieb: > Und dann werde ich halt generell noch nicht schlau aus den Signalen... Naja, das kann halt irgendwas sein. Ärgerlicherweise haben sich die Kamerahersteller weder auf irgendeinen Standard geeinigt, noch sind sie daran interessiert, daß man ihren Kram durch "reverse engineering" nachbilden kann. > Die Schwierigkeit ist eher, dass der Speicher ein bisschen klein ist Ein Logikanalysator mit "differentiellem Speicher", also einer der Daten komprimiert, statt fest im Zeitraster Speicher zu verbrauchen, auch wenn sich auf den Datenleitungen nichts tut, ist da ganz praktisch. Ob die von Dir beobachteten höherfrequenten Signale irgendeine Bedeutung haben können, ist ohne Betrachtung der genauen Signalform schwer einzuschätzen. Bedenke, daß ein Logikanalysator --und erst recht Dein "Buspirat"-- nicht das tatsächliche Signal abbildet, sondern seine Interpretation. Wenn also z.B. eine recht flach steigende Signalflanke (durch die Kombination von Open-Collector/-Drain-Ausgang und Pullup-Widerstand erzeugt) vorhanden ist, ist das mit einem LA nicht zu sehen; irgendwann wird die Schaltschwelle überschritten und der LA macht daraus einen 0-1-Übergang zu einem eher als willkürlich zu bezeichnenden Zeitpunkt. Insofern kann auch das von Dir bislang aufgenommene durch derartige Effekte verfälscht sein. Wie hast Du eigentlich den Abgriff der Objektivkontakte gelöst? Zwischenring mit angelöteten Drähten, oder hast Du gar Deine Kamera zerlegt?
Dennis B. schrieb: > Dafür sollte mein Bus Pirat noch ausreichen, auch wenn > seine maximale Samplingfrequenz mit 1MHz für viele andere Anwendungen zu > bescheiden ist. Du könntest dir sowas zulegen, die Investition hält sich finanziell ja sehr in Grenzen und man kann es immer mal brauchen: http://www.ebay.de/itm/USB-Saleae-24M-8CH-24MHZ-8-Kanal-Logikanalysator-Logic-Analyzer-/321654462143?pt=LH_DefaultDomain_77&hash=item4ae41996bf
chris schrieb: > Ebay-Artikel Nr. 321654462143 Uuuiuiuiui ... daß die das Ding auch noch als "Saleae" bezeichnen, ist hart. Das ist ein Nachbau. Ein sehr günstiger Nachbau, aber nichtsdestotrotz ein Nachbau. Das hier https://www.saleae.com/ ist das Original, und auf die von denen geschriebene Software stützen sich auch die Nachbauer.
Zur Info: ich hab den gleichen direkt aus China (unter 10 €) und der läuft wunderbar mit Sigrok. Die haben dafür sogar einen eigenen Hardware Treiber. Man braucht die Saleae Software nicht. Gerhard
Diese Logicanalyzer gibt es mit diversen Aufschriften. Eventuell kommt er besser durch den Zoll, wenn nicht "Saleae" draufsteht. Ansonsten kann ich Gerhard nur zustimmen. Der Betrieb dieser Geräte mit Sigrok ist legal und unproblematisch.
Und jetzt erklärt ihr mir noch, warum der chinesische Nachbauer die Dinger "saleae" nennt. Daß sie mit alternativer Software verwendbar sind, ändert ja nichts an dieser Tatsache.
Rufus Τ. Firefly schrieb: > Und jetzt erklärt ihr mir noch, warum der chinesische Nachbauer die > Dinger "saleae" nennt. der Verkäufername fair*world zeigt doch dass alles korrekt ist ;-)
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.