Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projekte:cis:canon_mf4370dn [2016-06-15 01:14]
cracki [Reversing]
projekte:cis:canon_mf4370dn [2017-01-17 02:01] (current)
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 ^    5 ^    ​6 ^    7 ^    8 ^    9 ^   ​10 ^   ​11 ^   ​12 ^ Beschreibung ​des Pins +^ + \ - ^     ​6 ^     ​7 ^     ​8 ^     ​9 ^    10 ^    11 ^    12 ^ Aufgabe  ​^ Beschreibung ​ 
-|     1 |    x |      |      |      |      ​| 0.72 0.72 0.58 | 0.43 0.00 | 0.72 0.48 GND, kupferne Masseflaeche,​ aufgeklebt | +|      <​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 |      |    x |      |      |      |      |      |      |      |      |      |      | 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 |      |      |    x |      |      |      |      |      |      |      |      |      | 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 |      |      |      |    x |      |      |      |      |      |      |      |      | | +|     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 |      |      |      |      |    x |      |      |      |      |      |      |      | | +|    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 |      |      |      |      |      |    x |      |      |      |      |      |      ​| | +|    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 |                                  ​x ​     ​| ​     |      |      |      ​| | +|    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 |                                    ​| ​   x      ​| ​     |      |      ​| | + 
-|     9 |                                         ​| ​   x |      |      |      ​| | +===== Arduino Code ===== 
-|    10 |                                    ​| ​     |      |    x |      |      ​| GND | + 
-|    11 |                                         ​| ​     |      |    x |      ​| | +<​code>​ 
-|    12 |                                              ​| ​     |      ​|    ​x | |+#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