• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs September 2025.
    Thema: "Straßenfotografie s/w"

    Nur noch bis zum 30.09.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Ich freue mich bekannt geben zu können, dass das DSLR-Forum einen neuen Aktionspartner gewinnen konnte.

    Saal Digital bietet Fotoprodukte in HighEnd-Qualität.
    Alle Informationen dazu gibt es demnächst hier.
  • 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 ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

Canon-EOS-Protokoll

Kameras haben aber in der Regel eine geringere Lebenserwartung als Objektive ...
DAS ist natürlich das schlagenste Argument überhaupt, stimmt, da hab ich gar nicht dran gedacht.
 
Das ist in der Tat verblüffend, danke für den Hinweis. Selbst wenn es jetzt 60 Mio. sein sollten, ich hätte die Zahl weit höher geschätzt, mind. auf 2 pro Kamera. So kann man sich täuschen (wenn man sich zuviel in Foren rumtreibt :D). 1,5 Objektive pro Kamera ... wozu kaufen sich die Leute DSLRs :confused:? Oder es gibt schon einen hohen Anteil an Fremdfabrikaten?!

Vermutlich liegt es auch daran, dass Canon bei den Objektiven zwischen EF und EF-S unterscheidet. Wird eine 500D mit 18-55 verkauft gibt es einen Zähler für die Kamera und keinen für die EF Objektive...
 
Habe mich vor längerer Zeit mit "slein" in Verbindung gesetzt, da ich mit den Angaben nicht ganz klar kam.
Mir wurde freundlich geholfen und folgendes Ergebnis kam bei meinem heutigen Umbau heraus:

SIGMA 75-300 4.5-5.6 AF-APO Schiebezoom (Baujahr Anfang der 90er).

- den Pull-Up habe ich in SMD-0603 direkt an die Objektivkontakte gelötet (Bild 1) also VDD --[10k]-- DCL (Kamera) und dieses Signal dann über einen Kupferlackdraht zum Tiny

- Leiterbahn zum DCL (Kamera) mit Skalpell unterbrochen (Bild 1 Mitte)

- Den Tiny24 habe ich in SMD genommen und diesen kopfüber mittels Doppelklebeband an der Flex-Leiterplatte befestigt (Bild 2).

47k Pullup VDD --[47k]-- /RESET mit SMD 1206
100nF Kondensator VDD --||-- GND in bedrahteter Form (gelbes Teil). Versorgungsspannung direkt von der Platine genommen

- Signale CLK und DCL (neu) an den entsprechenden Sigma-Pullups angelötet.

Am Schluss den ergänzten Mikrocontroller mit einem kleinen Streifen Tesa® isoliert und alles wieder zusammengeschraubt

Funktioniert hat es auf Anhieb - allerdings hatte ich es drei mal hinbekommen weiterhin ein ERROR zu erzeugen (allerdings bei Belichtungszeiten über 1 Sec.). Die Meldung kam aber erst nachdem das Bild gespeichert wurde?!
Aber bislang kann ich damit leben und an der alten EOS 650 funktioniert es weiterhin!
Verwendet habe ich die Version vom 31.12.2010.

Ich muss sagen das ist ein wirklich interessantes Projekt - zumal der Umbauaufwand gering ist. In einer halben Stunde war alles erledigt, wirklich nicht schwierig - denn Platz ist ja auch mehr als genug im Objektiv.

Die Idee mit dem MCU hatte ich schon vor ein paar Jahren - aber mangels Programmierkenntnissen konnte ich hier nichts ausrichten. Auch SIGMA wimmelte meine Frage nach so einer Lösung ab - ich sollte mein Objektiv in Zahlung geben...

Mit einem Objektiv mehr kann ich nun das Wochenende genießen :)

Vielen Dank für das tolle Projekt!
 

Anhänge

Zuletzt bearbeitet:
So, ich muß den Thread mal wieder aufwärmen ;-)

Aus gegebenem Anlass habe ich nun sleins Variante von Ende Dezember umgesetzt. Eigentlich wollte ich das für einen AVR tiny45 umschreiben, weil noch kompakter in der Bauform - dann habe ich aber noch einen tiny44 in meiner Bastelkiste gefunden ;-) Daher unmodifiziert umgesetzt und auch keinen internen Pullup für PA1 benutzt. Die 3 Bauteilchen haben in 0805 reichlich Platz auf dem IC gefunden.
Beim Objektiv der Begierde handelt es sich um ein 300mm f:4 HSM APO, das nach dem Umbau einwandfrei von Blende 4 bis 32 arbeitet.

Ein riesiges Dankeschön an slein der die Programmierarbeit gemacht hat und an Nightshot für das Reverse Engineering des Protokolles!
 
Ist schön die verschiedensten Sigmas mal von innen zu sehen. Ein Punkt fehlt dem Programm leider noch und das ist das Powermanagement. Den Tiny müsste man nach 2s ohne Clock in den Sleep-Mode versetzen. So regelt das auch die interne Objektivelektronik, sonst saugt sie den Akku leer wenn das Objektiv auf der Kamera montiert bleibt.

Und noch Glückwunsch an die Umbauer! :top:
 
Ist schön die verschiedensten Sigmas mal von innen zu sehen. Ein Punkt fehlt dem Programm leider noch und das ist das Powermanagement. Den Tiny müsste man nach 2s ohne Clock in den Sleep-Mode versetzen. So regelt das auch die interne Objektivelektronik, sonst saugt sie den Akku leer wenn das Objektiv auf der Kamera montiert bleibt.
Und noch Glückwunsch an die Umbauer! :top:

dazu müsste clock wohl an einen pin change Interrupt Pin ? ich kenn mich da zu wenig aus, aber evt. mal bei lucas smarttrigger in den code schauen der macht ja sowas ähnliches den Atmel auch gerne schlafen schicken

vielleicht mal slein anschreiben und das vorschlagen ?

ich bin hier nur theoretisch, habe keine Sigmas mit Probleme, aber man weiss ja nie :)
 
Müsste man mal schauen ob das keine Probleme macht beim wieder Aufwachen. Immerhin braucht der AVR dafür auch ein paar Takte die sich als Jitter bemerkbar machen würden.
Ein Grund sich doch mal näher mit dem Assembler zu beschäftigen.
 
dazu müsste clock wohl an einen pin change Interrupt Pin ?
Nein, der Int0 an dem der Clock jetzt hängt reicht völlig (CLK ist ja wohl Low-Aktiv oder? Oder ist der CLK auf LOW wenn die Kamera aus ist?). Der Int0 unterstützt nur Low-Level Wake-Up.
Mann muss jetzt nur noch die Zeit mit zählen und dann SM1 und SE im MCUCR Register setzen und dann den sleep Befehl ausführen
Aufwachen geht recht schnell. Der interne Oszillator braucht ca. 6 Takte
 
Zuletzt bearbeitet:
Was man vorweg schonmal machen könnte (was ich zumindest ad hoc im Code nicht gesehen habe): Man könnte die nicht genutzten Teile über das PRR abschalten. ADC und USI brauchts ja nicht, den Watchdog ansich auch nich.

und von der reinen Menge der IOs her müsste das sogar in den 6-Beiner ATtiny4 passen ;-) Nur hab ich dafür kein Werkzeug.
 
Müsste man mal schauen ob das keine Probleme macht beim wieder Aufwachen. Immerhin braucht der AVR dafür auch ein paar Takte die sich als Jitter bemerkbar machen würden.
Selbst wenn er etwa zu lange brauchen würde, die Kamera sendet nach einer 2s Pause so lange den Init-String bis entweder die richtige Antwort zurück kommt oder der Akku leer ist.
 
sagtmal.. wenn ich meinen usbee sx an die kontakte der kamera klemme und zwar ohne objektiv. dann müsste ich doch mindestens den clock und den init erkennen oder?
 
Öhhmmm, nö. Die Kamera schaltet die Kommunikation erst dann frei, wenn sie auf den drei analogen Strompins ein Objektiv sieht. Du siehst den "Kurzschlusskontakt" an deinem Objektivbajonett? Aber ACHTUNG, schließt die falschen Pins kurz, hast die Kamera gehimmelt. Wenn auf Nummer Sicher gehen willst, dann nimm zum Brücken eine 1A Sicherung oder weniger, das kann die Kamera im Falle eines Fehlers noch ab.
 
also auf dem objektiv sind ja die beiden grnds kurzgeschlossen. das geht bei mir nicht. und vbat irgendwie an den grnd klemmen trau ich mich nicht.
 
@Nighshot,
bist du sicher dass da nicht etwas mehr notwendig ist? z.B. eine "Port-Gewackel" am DLC (nach 0xFF/erste Antwort der Linse)?! Kann mir kaum vorstellen, dass die Kamera da fröhlich weiter initialisiert wenn nicht auf die Clocks irgendeinen Status des Objektivs zurückbekommt.
 
Also die Kamera sendet in dezimal (0 10 0 10 0 10 0 10...) "Linse, gib dich zu erkennen" bis zum jüngsten Tag. Ist DLC auf low erst recht, denn das entspricht dem request an die Kamera. Die Ausgänge sind aber open collector, wenn die nicht auf Potential gezogen werden passiert da auch nichts.
 
Hello again - may I ask again if there is a document of the findings from the attempts?

I have finally managed to get a broken lens (but working) and measure it.. and I got to the point of having some identification like the LensID and min/max focal length, maybe an aperture code - in just 2 days since I started. I am writing a documentation myself, because I want to implement an EF host on my own camera. An accessible list of verified commands / parameter formats would be good. Otherwise I see no point to have a forum thread on the subject (or it is forbidden to post such detailed information??).
 
(or it is forbidden to post such detailed information??).

i don't know if it is forbidden, Nightshot is our Crack, but he worked in his own Company, and with Canon, so he don't tell us to much :rolleyes:

for him maybe its a problem, maybe he loose his connection to canon if he told to much, but for you ?

maybe it is forbidden by law to tell secrets about the canon interna in germany in forum,, i don't believe, but it is possible that the forum get problems, ask scorpio the admin, and forum owner

we (user) are interessted of any kind of information about the EF protocol

some other user have "repaired" old Sigma Lenses with translate the code using a smd avr microcontroller, seriell in, debug, seriell out
 
Well, I will wait what scorpio says.

For me the Czech (or Slovak/eu too) copyright law permits reverse engineering for cases when interoperability has to be reached. This is clearly my case. But I am not sure what is says about telling secrets to the world. Definitely you can not tell secrets is you have NDA (I do not have).
 
Just to say: analysing a protocol is not reverse-engineering. AFAIK the according law relates to disassembling devices and code. I can see neither of that being done here.
 
Mechanical:
Pin #1 is LEFT when the camera body viewed from front.
Pin #1 is matched last during insertion of lens to camera body.
Pins #1,2,3 are raised - presumably that the lens counterpart will not shortcircuit other pins during insertion/removal.

Versions:
8 pins - on EF-S/APS-C bodies, extenders not supported
11 pins - presumably on fullframe, accepts extenders

Pin naming:
Except LDET, naming was found on internet. lens detection and power:

Lens Detection:
1. LDET+PGND are shorted with a double-size pad on the lens.
2. Camera turns on VDD (5V) and produces reset condition.
3. After second byte exchange, VBAT is also turned on.

Signal levels (Canon 550D):
VDD is 5V in full-power mode, 4.5V in low power mode (-10%).
Low-power mode is activated after certain time of user inactivity.
DCL,DLC,LCLK are open-drain, with pullup to current level of VDD.
(show fast falling edges, but slower rising edges.. around 1us time constant)
LCLK was 77.6 kHz, ~ 3500 bytes/sec)

Unexpected:
Low power mode is used also when the camera is off. Switchng AF/MF produces a wakup condition and the camera goes to full-power mode, exchanges some data and goes back to low-power mode. Invisible for normal user.
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten