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 02:44]
cracki [Reversing]
projekte:cis:canon_mf4370dn [2017-01-17 02:01] (current)
Line 20: 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: Spannungen bei 10 mA und 3.4V:
Line 34: Line 54:
 |     4 |       ​| ​      ​| ​      ​| ​ <typo bg:#​ffb2b2>​0.00</​typo>​ |       | GND Blau  | |     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)  | |     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:
  
-^ + \ - ^     6 ^     7 ^     8 ^     9 ^    10 ^    11 ^    12 ^ Beschreibung ​des Pins  ^ +^ + \ - ^     6 ^     7 ^     8 ^     9 ^    10 ^    11 ^    12 ^ Aufgabe  ​^ Beschreibung ​ ^ 
-|     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>​ |  | +|     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 ​ | 
-|     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>​ |  | +|     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 ​ | 
-|     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>​ |  +|     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?​) ​
-|     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>​ |  +|     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 | 
-|    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>​ | GNDkupferne Masseflaeche,​ aufgeklebt ​ | +|    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 ​ | 
-|    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>​ |  +|    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 
-|    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>​ |  |+|    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 ​|
  
-==== bestätigt ​====+===== Arduino Code =====
  
-Beleuchtung:​ +<​code>​ 
-  ​* ​GND Rot, ~2.3V 50mA +#define START 
-  ​* ​GND Gruen, ~3.45V 50mA +#define CLOCK 
-  ​* ​GND Blau, ~3.45V 30mA +#define DPIMODE ​
-  ​* ​VCC (3.3V OK)+#define LEDR 5 
 +#define LEDG 6 
 +#define LEDB 7
  
-==== Hypothesen ====+bool dpimode ​1; 
 +uint16_t pixels ​dpimode ? 5184 : 2592;
  
-  * 1 ???+uint32_t linetime = 4000; // us 
 +uint32_t sched = 0;
  
-  * 6,7,11 gleich +uint8_t lightcolor = 0; 
-  ​* 8,12 gleich + 
-  ​* 10 GND +void set_lighting(uint8_t active) 
-  ​* 5 VCC?+
 +  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