• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Frohe Ostern!

    Wir wünschen allen DSLR-Forum Nutzern, ihren Familien und Freunden sowie unseren Sponsoren und Partnern und deren Familien und Freunden ein frohes Osterfest.

    Euer DSLR-Forum Team!
WERBUNG

Canon-EOS-Protokoll

Externe beschaltung wäre dann nur ein 16 MHz Quarz und zwei 22pF Kerkos für den Quarz (mit 20MHz läuft der auch noch).
Hat der nicht auch einen internen Oszillator, daß man sich den Quarz sparen kann? Ein Versuch wäre es wert, auch wenn die Frequenz nicht genau ist.
 
Hat der nicht auch einen internen Oszillator, daß man sich den Quarz sparen kann? Ein Versuch wäre es wert, auch wenn die Frequenz nicht genau ist.
Ja, der hat einen internen Ozsillator mit bis zu 8MHz. Der ist stark spannungs- und temperaturabhängig. Gut in diesem Fall ist es ja eine synchrone Übertragung, von daher könnte das gehen.
So wie es aussieht ist in dem Sigma Objektiv ja auch ein 8 MHz Quarz drin. Normaler weise hat jeder µC einen Quarz-Ausgang den man wiederum an den Eingang des nächsten µCs legen kann. Mit zwei µCs sollte das ohne Probleme möglich sein. Müsste man nur mal eben mit einem Oszi hochohmig messen wo der beim Sigma Chip sitzt.
 
Zuletzt bearbeitet:
Auch interessant. IV-1ff beschreibt die Kommunikation (wenn auch etwas oberflächlich), und wer seine Linse mal zentrieren will wird auch geholfen. Und sogar die Fokuskorrektur lässt sich selbst machen (also ohne Firmware) von -3/4,-1/4, +1/4, +3/4 einfach über Brücken justierbar.

thx @_MAG_ (y)
 
Zuletzt bearbeitet:
meinst du "über Brücken" oder "überbrücken" ?? :confused::confused:

...er maint wohl, dass man die "Brücken" überbrücken" muss...
Sind wohl nur Lötbrücken?
Exakt. Ist nicht besonders gut in der Zeichnung zu erkennen, aber so wirds sein (AF ADJ0 + AF ADJ1, am besten auf der letzten Seite zu erkennen)
Laut Manual ist es so, dass in einem ROM ein Korrekturwert für jede Objektivserie eingetragen wird. In gewissen Fällen kann es passieren, dass dieser Wert eben nicht 100% stimmt (Fertigungstoleranzen) und dies kann eben elektronisch über die Brücken korrigiert werden.
Heute wird das soweit ich weiß alles über die Firmware gemacht. Aufschrauben, umlöten usw. wäre viel zu teuer.
Ich als Hersteller würde es so machen, dass direkt über den Bajonettanschluss auch die Korrekturwerte in das Objektiv übertragen werden können (also quasi ein "geheimes Protokoll" was noch zur Justage verwendet werden kann), das zu Knacken wäre ja wohl ein Highlight :D Ich weiß aber nicht wie Canon das macht. Vielleicht haben die intern auch irgendein "Debug-Stecker" im Objektiv.
 
Zuletzt bearbeitet:
Heute wird das soweit ich weiß alles über die Firmware gemacht.
Objektive die ab etwa 2000, 2001 vorgestellt wurden werden nur noch elektronisch justiert und nicht mehr gelötet. Aber auch bei den alten Objektiven gab es Updates, so hat das 50/1,4 seit einem Jahr eine neue Elektronik, die auch elektronisch justiert wird.

Ich weiß aber nicht wie Canon das macht. Vielleicht haben die intern auch irgendein "Debug-Stecker" im Objektiv.
Das läuft auch ganz normal über das Bajonett.
 
Ja, der hat einen internen Ozsillator mit bis zu 8MHz. Der ist stark spannungs- und temperaturabhängig. Gut in diesem Fall ist es ja eine synchrone Übertragung, von daher könnte das gehen.
So wie es aussieht ist in dem Sigma Objektiv ja auch ein 8 MHz Quarz drin. Normaler weise hat jeder µC einen Quarz-Ausgang den man wiederum an den Eingang des nächsten µCs legen kann. Mit zwei µCs sollte das ohne Probleme möglich sein. Müsste man nur mal eben mit einem Oszi hochohmig messen wo der beim Sigma Chip sitzt.

nun ja, ich denke 8 Mhz hard verdrahtet ist was anderes als 8 MHz interpretiert, deswegen würde ich erst mal zur Sicherheit die 16-20 MHz Variante mit Quarz probieren, wenn die Taktcyclen reichen für Bit -> Befehl Erkennung und die Reaktionszeit für die Ausgabe, dann könnte man locker auf intern clock 8 MHz testweise umproggen
 
Ist jetzt eine quick and dirty Lösung, ich tausche in Echtzeit 19 gegen 18 aus. Daher meldet das Objektiv auch 18 als empfangen Befehl zurück. Da könnte sich die Kamera auch wundern, ich hab doch 19 geschickt, warum kommt 18 zurück? Ebenso die Statusanpassung nach Veränderung der Blende ist nicht umgesetzt. Da muss anscheinend schon mehr passieren, dass die Kamera einen Fehler erkennt.

Die Signale laufen nicht wirklich durch den PC, sie laufen durch einen 40MHz FPGA, der von meinem PC kontrolliert wird. Bei fallender clock Flanke wird der neue Wert geschrieben und bei steigender Flanke gelesen. Ich hab also 6µs Zeit dem Objektiv einen anderen Wert zu präsentieren.

Wenn die Kamera da so tolerant ist, sollten beide Befehle wirklich absolut identisch sein. Dann könnte Canon die wirklich, absichtlich oder unabsichtlich, zum "ärgern" der Konkurrenzunternehmen eingebaut haben. Interessant wäre noch, ob wirklich alle alten Objektive 18 oder 19 akzeptieren, oder ob die Kamera bei alten Objektiven automatisch 18 nimmt.

Der FPGA ist ja ein bisschen wie mit Kanonen auf Spatzen schießen, aber wenn er nun mal da ist... Ich wünsche Dir viel Erfolg bei einer Korrekturschaltung mit einem Atmel. Wenn die Kamera wirklich nur bei diesem Befehl eine 18 sendet, ist der Programmcode ja wirklich minimal.

Jörg
 
Gratuliere schon mal zum gelungenen Translator :)
Da du VHDL kannst, würde sich gegebenfalls nicht auch ein CPLD eignen, dann hättest du wieder minimalste Verzögerungszeiten und wenns gut kommt noch platz für ein Core mit den Justierungswerte (CLK, CS etc kannste direkt durchschlaufen und musst nur die Daten verarbeiten, sollte mit einem Bit Verzögerung mehr als machbar sein)
Natürlich ist so ein Atmel / PIC sicherlich vielseitiger einsetzbar, aber ich zweifle, dass man weniger als 10 uS Verzögerung hinbekommt (das wären beim PIC mit 16 MHz lediglich 40 Instructions...). Es gibt jedoch auch uC mit über 20 Mhz, am besten sowiso mit 2 SPI Schnittstellen, mit Bitbanging wirds noch schwieriger.
 
Ich hab heute mit meinem Kollegen geredet und der hat 20 Jahre mit den Atmel gearbeitet. Er hat zwar jetzt 10 Jahre bei uns was anderes gemacht, aber so Grundlegendes sollte noch gehen. Wir wälzen nun ein paar Datenblätter, diese Attiny sehen schon recht sexy aus.
 
if you can try to decrypt old lens like 28-80. It have old protocol. This protocol is slow and simple i think.
Victor Lushnikov (author of confimation chip "oduvanchik") in 2005 try to decrypt 70-200L lens but not have result becose NEW protocol in this lens is fast and strong crypted.
In new version of protocol LCLK up to 200 khz.
In new version protocol have decrypt-protect (add random noise)

i found Canon EOS system patent (6603929 on www.pat2pdf.org), they have alhorytm of transmit commands
http://www.sendspace.com/file/0thgzy

i found very strange wiki page
http://kzar.net/wiki/Photo/CanonEFProtocol
they are very strange. I sink it is copy of http://www.birger.com/Merchant2/merchant.mvc?Screen=ef232_home becouse this page have
"EF232 Lens Interface Protocol Definition" words
so dont waste your time for this page :)


Victor Lushnikov write on ixbt forum
"
if minimal focus distance = maximal focus distance = current focus distance - lens determines like fix focal. Else like zoom
if minimal aperture = maximal aperture - body dont send command for close or open aperture
"

To make confirmation chip Victor use combination еос-3000N and 28-80 kit lens.

http://www.redrockmicro.com/assets/images/misc/tattsi1.jpg it is big LOL :)
he is re-asemle 2 macrorings
 
Zuletzt bearbeitet:
Oh toll, das hört sich ja so an, als ob man tatsächlich die schönen alten sigma's nochmal flott kriegen würde. Hab übrigens noch ein 90mm 2,8 Macro von Sigma da, falls noch ein Experementier-Objekt gesucht wird.
Zu diesem Sigma hab ich übrigens bei meiner 500D folgende Beobachtung gemacht: Der Err99-Fehler kommt nicht bei der Offenblende (wohl schon bekannt). Ebenso kommt kein Fehler, wenn man die Blende per Hand verstellt und an der Kamera dann den entsprechenden Wert einstellt. Das müsste ja die 18/19-Theorie bestätigen, wenn ich alles richtig verstanden habe.
Eine Frage hab ich dann noch an die Cracks: Wird man die Reperatur wohl als (technisch interessierter) Laie selbst hinbekommen? Vielleicht wenn man nen programmierten Chip bekommt?
 
Victor Lushnikov (author of confimation chip "oduvanchik") in 2005 try to decrypt 70-200L lens but not have result becose NEW protocol in this lens is fast and strong crypted.
In new version of protocol LCLK up to 200 khz.
In new version protocol have decrypt-protect (add random noise)
No, it's not encrypted it's just fast (500kHz) and has several additional commands.

i found Canon EOS system patent (6603929 on www.pat2pdf.org), they have alhorytm of transmit commands
http://www.sendspace.com/file/0thgzy
This is more a future study and not the actual implementation.

Ebenso kommt kein Fehler, wenn man die Blende per Hand verstellt und an der Kamera dann den entsprechenden Wert einstellt. Das müsste ja die 18/19-Theorie bestätigen, wenn ich alles richtig verstanden habe.
Ob der korrekte Blendenwert eingestellt ist, kann weder das Objektiv noch die Kamera wissen. Es gibt nur den Endschalter bei Blende offen. Ist er nicht "gedrückt" denkt das Objektiv wird schon auf den richtigen Wert geschlossen sein.

Eine Frage hab ich dann noch an die Cracks: Wird man die Reperatur wohl als (technisch interessierter) Laie selbst hinbekommen? Vielleicht wenn man nen programmierten Chip bekommt?
Wer mit einem Lotkolben umgehen kann sollte den auch eingelötet bekommen. Im Moment suchen wir noch den richtigen Chip, denn er sollte upgrade fähig sein, mir schwirren da noch ganz andere Projekte im Kopf rum.
 
Im Moment suchen wir noch den richtigen Chip, denn er sollte upgrade fähig sein, mir schwirren da noch ganz andere Projekte im Kopf rum.
Etwa sowas, wie den alten Chip rausbauen und durch einen neuen ersetzen und das Protokoll selbst implementieren? Oder was meinst du mit Upgradefähig? Einen Bootloader rauf machen, sodass man ihn später per Bajonett-Kontakten Updaten kann?
 
So langsam bekomme ich den Durchblick bei den AF Parametern. Einige Werte machen nur Vorzeichen behaftet einen Sinn, sind also signed int16. Was ist denn dafür die geläufigste Umsetzung? Das erste Bit als Vorzeichen und die restlichen 15 Bit als normalen int Wert oder sortiert man um von klein nach groß?

Zweierkomplement: Höchstwertiges Bit hat den Wert -32768, die anderen Bits dann +16384, +8192, ..., +2, +1.
Einerkomplement: Höchstwertiges Bit ist Vorzeichen. Die restlichen 15 Bit enthalten den absoluten Betrag.
Biased: Es wird x+32768 abgespeichert.

Dann gibt es noch tabellenbasiertes, logarithmische Darstellungen oder Gleitkomma-Darstellungen (auch bei 8 und 16 bit!).
 
Oder was meinst du mit Upgradefähig? Einen Bootloader rauf machen, sodass man ihn später per Bajonett-Kontakten Updaten kann?
Ich möchte eigentlich nur mit einem Chip auf einer kleinen Platine arbeiten und auf dem für unterschiedliche Anwendungen andere Programme laufen lassen. Der Hardwareaufwand soll also klein bleiben. Da ich später auch mal das EOS2.0 darauf verarbeiten will, sollte der schon 16 bis 20MHz mit bringen. So ein schneller mit 8 Beinchen wäre perfekt.
 
Ja da wäre ja der ATtiny25/45/85 ja eigentlich perfekt. Der hat auch USI, welcher dementsprechend auf SPI laufen kann (Master+Slave) Allerdings scheint die Kamera einen zusätzlichen "Clock" (also den langen LOW nach den 8 Clocks) mit einzubauen. Sollte das ohne nicht gehen muss man so oder so auf eine Soft-SPI Lösung zurückgreifen... obwohl. Die Kamera ist ja Master. Würde evtl. doch klappen.
 
Zuletzt bearbeitet:
Ich glaube wir haben einen Gewinner, der passt wirklich sehr gut und kann eigentlich schon fast zu viel. Das wird eh auf Soft-SPI raus laufen, das andere ist nicht flexibel genug. Ist jetzt auch nicht der Mega Aufwand ein Shiftregister zu setzen und die Flanken zu scannen.

Nun die Frage was mach ich zuerst? Den AF Algorithmus zu Ende verstehen oder Atmel proggen?
 
WERBUNG
Zurück
Oben Unten