Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
projekte:cis:canon_mf4370dn [2016-06-14 23:30] – [Reversing] crackiprojekte:cis:canon_mf4370dn [2017-01-17 01:01] (current) – external edit 127.0.0.1
Line 5: Line 5:
 ^ Kontakt | [[wiki:user:cracki |cracki ]] | ^ Kontakt | [[wiki:user:cracki |cracki ]] |
 </WRAP> </WRAP>
 +
 +Ein Multifunktionsdrucker, der in der Karmanstr. 7 zur Entsorgung gelassen wurde. Wurde zerlegt und sortiert.
 +
 +  * Glasplatte neben dem E-Lab rechts
 +  * [[projekte:contact_image_sensor|Contact Image Sensor]] bei Cracki
 +  * Motoren
 +  * keine Encoder gefunden (war n Laserdrucker)
 +  * haufenweise Lichtschranken
 +  * FFC Flachbandkabel und Sockel (1.0mm)
 +  * Platinen, u.a. eine mit Duzenden von Tastern
  
 ===== Beschriftungen ===== ===== Beschriftungen =====
Line 10: Line 20:
   * 01 70315   * 01 70315
   * FK2-9569-000   * FK2-9569-000
-  * 01 57038164 F (Barcode)+    * das ist die Typbezeichnung für den CIS 
 +  * 01 57038164 F 
 +    * Barcode: Format ITF, Typ Text, Wert 57038164 
 + 
 +===== Pinout ===== 
 + 
 +  * 6 Clock 
 +  * 7 Startpuls 
 +  * 8 Vref 
 +  * 9 VCC (5V) 
 +  * 10 GND 
 +  * 11 DPI (low: 300, high: 600, pullup) 
 +  * 12 Aout 
 +    * 2-4 V Ausgang, geht nie runter auf 0 
 + 
 +  * regelmäßige blinde Flecke, ca 0.5mm breit jeweils 
 +  * doppelt so viele blinde Flecke, wenn Spannung an DPI > VCC 
 ===== Reversing ===== ===== Reversing =====
  
 Pins gezaehlt von innen (links) nach aussen (rechts). Pins gezaehlt von innen (links) nach aussen (rechts).
 +
 +Bis auf GND sind 1-5 und 6-12 getrennt. Insbesondere 5, trotz weiterer Abzweigung, scheint mit nix weiter zu interagieren.
 +
 +==== Messungen ====
 +
 +Spannungen bei 10 mA und 3.4V:
 +
 +^ + \ - ^     1 ^     2 ^     3 ^     4 ^     5 ^ Beschreibung des Pins  ^
 +|     1 |  <typo bg:#ffb2b2>0.00</typo> |                         | GND  |
 +|     2 |        <typo bg:#ffb2b2>0.00</typo> |                   | GND Rot  |
 +|     3 |              <typo bg:#ffb2b2>0.00</typo> |             | GND Grün  |
 +|     4 |                    <typo bg:#ffb2b2>0.00</typo> |       | GND Blau  |
 +|     5 |        <typo bg:#ffb2d0>1.87</typo> |  <typo bg:#b2ffcc>2.78</typo> |  <typo bg:#b2fff3>2.95</typo> |  <typo bg:#ffb2b2>0.00</typo> | VCC (Test: 3.35V 10mA)  |
 +
 +auch:
 +  * 2 GND Rot, ~2.3V 50mA
 +  * 3 GND Gruen, ~3.45V 50mA
 +  * 4 GND Blau, ~3.45V 30mA
 +
 +bei ~4.5V Versorgung in die LEDs folgende Widerstände nach Erde:
 +  * Rot: 220
 +  * Grün: 50
 +  * Blau: 100
  
 Spannungen bei 1 mA: Spannungen bei 1 mA:
  
-^ + \ - ^     1 ^     2 ^     3 ^     4 ^     ^     6 ^     7 ^     8 ^     9 ^    10 ^    11 ^    12 ^ Beschreibung des Pins  ^ +^ + \ - ^     6 ^     7 ^     8 ^     9 ^    10 ^    11 ^    12 ^ Aufgabe  ^ Beschreibung 
-|     1 |  0.00 |                          0.72 |  0.72 |  0.58 |  0.43 |  0.00 |  0.72 |  0.48 | GND, kupferne Masseflaeche, aufgeklebt +|     6 |  <typo bg:#ffb2b2>0.00</typo> |  <typo bg:#b2deff>1.14</typo> |  <typo bg:#c8b2ff>1.43</typo> |  <typo bg:#b2ffc7>0.76</typo> |  <typo bg:#b2ffff>1.00</typo> |  <typo bg:#b2deff>1.14</typo> |  <typo bg:#bdb2ff>1.38</typo> Clock | Betrieb: floating  | 
-|     2 |        0.00 |                                                             | NC?  | +|     7 |  <typo bg:#b2deff>1.14</typo> |  <typo bg:#ffb2b2>0.00</typo> |  <typo bg:#c8b2ff>1.43</typo> |  <typo bg:#b2ffc7>0.76</typo> |  <typo bg:#b2ffff>1.00</typo> |  <typo bg:#b2deff>1.14</typo> |  <typo bg:#bdb2ff>1.38</typo> | Startpuls Betrieb: floating  | 
-|     3 |              0.00 |                                                       | NC?  | +|     8 |  <typo bg:#b2eeff>1.07</typo> |  <typo bg:#b2eeff>1.07</typo> |  <typo bg:#ffb2b2>0.00</typo> |  <typo bg:#b2ffb7>0.69</typo> |  <typo bg:#b2fff5>0.96</typo> |  <typo bg:#b2eeff>1.07</typo> |  <typo bg:#b2fffa>0.98</typo> Vref | betrieb: low, driftet langsam (Vref?
-|     4 |                    0.00 |                                                 | NC?  | +|     9 |  <typo bg:#b2ffc3>0.74</typo> |  <typo bg:#b2ffc3>0.74</typo> |  <typo bg:#b2eaff>1.09</typo> |  <typo bg:#ffb2b2>0.00</typo> |  <typo bg:#b2ffb3>0.67</typo> |  <typo bg:#b2ffc3>0.74</typo> |  <typo bg:#b2f5ff>1.04</typo> | VCC | | 
-|     5 |        1.67 |              0.00 |                                            | +|    10 |  <typo bg:#b2ffbe>0.72</typo> |  <typo bg:#b2ffbe>0.72</typo> |  <typo bg:#c6ffb2>0.58</typo> |  <typo bg:#e8ffb2>0.43</typo> |  <typo bg:#ffb2b2>0.00</typo> |  <typo bg:#b2ffbe>0.72</typo> |  <typo bg:#ddffb2>0.48</typo> | GND | kupferne Masseflaeche, aufgeklebt  | 
-|     6 |  1.00 |                         |  0.00 |  1.14 |  1.43 |  0.76 |  1.00 |  1.14 |  1.38 |  | +|    11 |  <typo bg:#b2dcff>1.15</typo> |  <typo bg:#b2dcff>1.15</typo> |  <typo bg:#cab2ff>1.44</typo> |  <typo bg:#b2ffc5>0.75</typo> |  <typo bg:#b2fcff>1.01</typo> |  <typo bg:#ffb2b2>0.00</typo> |  <typo bg:#bfb2ff>1.39</typo> DPI | Betrieb: high 
-|     7 |  1.00 |                         |  1.14 |  0.00 |  1.43 |  0.76 |  1.00 |  1.14 |  1.38 |  | +|    12 |  <typo bg:#b2ecff>1.08</typo> |  <typo bg:#b2ecff>1.08</typo> |  <typo bg:#b2fff5>0.96</typo> |  <typo bg:#b2ffb3>0.67</typo> |  <typo bg:#b2fff5>0.96</typo> |  <typo bg:#b2ecff>1.08</typo> |  <typo bg:#ffb2b2>0.00</typo> Aout | Betrieb: floating low, scheint digitale Werte zu produzieren | 
-|     8 |  0.96 |                         |  1.07 |  1.07 |  0.00 |  0.69 |  0.96 |  1.07 |  0.98 |  + 
-|     9 |  0.67 |                         |  0.74 |  0.74 |  1.09 |  0.00 |  0.67 |  0.74 |  1.04 |  +===== Arduino Code ===== 
-|    10 |  0.00 |                         |  0.72 |  0.72 |  0.58 |  0.43 |  0.00 |  0.72 |  0.48 | GND  | + 
-|    11 |  1.01 |                         |  1.15 |  1.15 |  1.44 |  0.75 |  1.01 |  0.00 |  1.39 |  +<code> 
-|    12 |  0.96 |                         |  1.08 |  1.08 |  0.96 |  0.67 |  0.96 |  1.08 |  0.00 |  |+#define START 2 
 +#define CLOCK 3 
 +#define DPIMODE 4 
 +#define LEDR 5 
 +#define LEDG 6 
 +#define LEDB 7 
 + 
 +bool dpimode = 1; 
 +uint16_t pixels = dpimode ? 5184 : 2592; 
 + 
 +uint32_t linetime = 4000; // us 
 +uint32_t sched = 0; 
 + 
 +uint8_t lightcolor = 0; 
 + 
 +void set_lighting(uint8_t active) 
 +
 +  digitalWrite(LEDR, !(active & 0b001)); 
 +  digitalWrite(LEDG, !(active & 0b010)); 
 +  digitalWrite(LEDB, !(active & 0b100)); 
 +
 + 
 +void setup() { 
 +  pinMode(START, OUTPUT); 
 +  pinMode(CLOCK, OUTPUT); 
 +  pinMode(DPIMODE, OUTPUT); 
 + 
 +  pinMode(LEDR, OUTPUT); 
 +  pinMode(LEDG, OUTPUT); 
 +  pinMode(LEDB, OUTPUT); 
 + 
 +  digitalWrite(DPIMODE, dpimode); 
 + 
 +  sched = micros(); 
 +
 + 
 +void loop() { 
 +   
 +  set_lighting(0); 
 + 
 +  digitalWrite(START, HIGH); 
 +  digitalWrite(CLOCK, HIGH); 
 +  digitalWrite(CLOCK, LOW); 
 +  digitalWrite(START, LOW); 
 + 
 +  set_lighting(1 << lightcolor); 
 + 
 +  for (uint16_t counter = 82 + pixels; counter-- > 0; ) 
 +  { 
 +    PORTD |= _BV(PORTD3); 
 +    PORTD &= ~_BV(PORTD3); 
 +  } 
 + 
 +  lightcolor = (lightcolor+1) % 3;
  
 +  sched += linetime;
 +  int32_t dt = sched - micros();
 +  while (dt > 0x4000)
 +  {
 +    delayMicroseconds(0x4000);
 +    dt -= 0x4000;
 +  }
 +  if (dt > 0)
 +    delayMicroseconds(dt);
 +}
 +</code>
Navigation



You are not allowed to add pages