Forum: Mikrocontroller und Digitale Elektronik 93c46 eeprom progger


von kixi (Gast)


Lesenswert?

guten abend!
gibt es einen einfachen programmierer für den 93c46?? wo kann ich die 
schaltpläne finden?


danke im vorraus.
kixi

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Der 93c46 ist ein einfacher bitserieller EEPROM.  Die Frage ist, auf
welchem Wege du die Daten hineinfüttern willst?  Drucktasten?
DIP-Schalter?  Datei auf dem Computer?

Wenn letzteres, dann ist in erster Linie die Frage, wie der Computer
mit dem 93c46 bzw. dessen Programmiergerät spricht.  Im einfachsten
Fall kann man, wie schon so häufig gemacht, die Parallelschnittstelle
des Computers als Bitwackler missbrauchen.  Dann läuft die Programmier-
software komplett auf dem Computer selbst, und der 93c46 wird mit ein
paar Drähten an den Parallelport geklemmt.  Sowas habe ich vor circa
10 Jahren gemacht, als ich mit alten Netzwerkkarten und deren Setups
herumgespielt habe.  Mehr als 10 Jahren, sehe ich gerade:
1
% ls -l ~/src/eeprom/
2
total 38
3
-rw-r--r--  1 j  other     97 Feb 19  1996 Makefile
4
-rw-r--r--  1 j  other    128 Feb 18  1996 eeprom-3c509-00:60:8c:62:cf:11
5
-rw-r--r--  1 j  other    128 Feb 18  1996 eeprom-wd8003-00:00:c0:ac:d1:61
6
-rw-r--r--  1 j  other    128 Feb 18  1996 eeprom-wd8013-00:00:c0:0f:41:52
7
-rw-r--r--  1 j  other    128 Feb 18  1996 eeprom-winbond-00:40:33:23:27:dc
8
-rw-r--r--  1 j  other   4044 Feb 19  1996 eeprom.1
9
-rw-r--r--  1 j  other  11277 Feb 19  1996 eeprom.c
10
-rw-r--r--  1 j  other    128 Jan 16  1997 image-3c509-00:60:8c:62:cf:11
11
-rw-r--r--  1 j  other    128 Jan 16  1997 image-wd8003ep-00:00:c0:ac:d1:61
12
-rw-r--r--  1 j  other    128 Jan 16  1997 image-wd8013epc-00:00:c0:0f:41:52
13
-rw-r--r--  1 j  other    128 Jan 16  1997 image-wd8013epc-00:00:c0:82:3c:61
14
-rw-r--r--  1 j  other    128 Jan 16  1997 image-wd8013wc-00:00:c0:28:c3:63
15
-rw-r--r--  1 j  other    128 Jan 16  1997 image-winbond-00:40:33:23:27:dc

Die entsprechende Software würde ich dir schenken. ;-)  Die braucht
allerdings direkten Portzugriff und ist ziemlich Unix- (wenn nicht
gar FreeBSD-)zentrisch geschrieben.  OK, als root auf einem Linux
lässt die sich vermutlich mit kleinen Anpassungen ebenso benutzen.
Hier sind die Kommentare daraus bezüglich des Hardware-Setups:
1
/*
2
 *
3
 * The EEPROM is hooked with some electronis to a printer port:
4
 *
5
 * Centronics                          +--------------+
6
 *                                     |    |    |    |
7
 * pin 2  D0 --> >--------------+ +----o 1  +----+  8 o----+
8
 * pin 3  D1 --> >------------+ | |    |              |    |
9
 * pin 4  D2 -->              | +------o 2          7 o    |
10
 * pin 5  D3 --> >---------+  +---|-+  |              |    |
11
 * pin 6  D4 --> >----------------+ +--o 3  93C46   6 o    |
12
 * pin 7  D5 -->           |           |              |    |  +--------+
13
 * pin 8  D6 -->           |        +--o 4          5 o--+ |  |        |
14
 * pin 9  D7 -->           |        |  |              |  | +--o Out    |
15
 *                         |        |  +--------------+  |    |        |
16
 * pin 12 PE --> >------------------+                    |    |        |
17
 *                         +-----------------------------|----o In     |
18
 * pin 19...22 GND -> >----------------------------------*    |        |
19
 *                                                       |    |        |
20
 *                                                       +----o GND    |
21
 *                                                            |        |
22
 *                                                            +--------+
23
 *
24
 *
25
 * (+ means edge, * means connection)
26
 *
27
 * All of the data lines above (pin 1, 2, 3 for EEPROM input, pin 4
28
 * for output) require additional drivers, not displayed in the
29
 * schematic.  I've been using a 4050 for it.
30
 *
31
 * Ever wondered why i didn't use D2 of the Centronics interface?
32
 * This line has been dead on the Centronics port of my notebook. ;-)
33
 *
34
 * The blackbox to the right is a voltage doubler, used to generate
35
 * the Vcc in the range of 4.5 ... 5.5 Volts.  The typical HIGH output
36
 * voltage of a Centronics line is about 3.6 V unloaded, breaking down
37
 * to ~ 3 V with my voltage doubler:
38
 *
39
 *
40
 * Out o----------------------------------------------------+
41
 *                                                          |
42
 *                        |\ |         |\ |                 |
43
 * In  o----*-------------| >|----*----| >|-----------------*-------+
44
 *          |             |/ |    |    |/ |                 |       |
45
 *          V  Vdd                |         | | C2          |       |
46
 *                                +---------| |--+      C3  | +     |
47
 *           +---+   +---+   +---+   +---+ +| |  |        -----   -----
48
 *           | > |   | > |   | > |   | > |       |        -----      /
49
 *         +-|   o---|   o-*-|   o-*-|   o-------*          |       /
50
 *         | |   |   |   | | |   | | |   |       |          |      / \
51
 *         | +---+|| +---+ | +---+ | +---+       |          |     /___\
52
 *         *------||-------+       | +---+       |          |       |
53
 *         |    C1|| _____         | | > |       |          |       |
54
 *         +--------|_____|--------*-|   o-------+          |       |
55
 *                         R         |   |                  |       |
56
 *          ^  Vss   ^ /OE2   ^ /OE4 +---+                  |       |
57
 *          |        |        |                             |       |
58
 * GND o----*--------*--------*-----------------------------*-------+
59
 *
60
 *
61
 * The IC is a 40098 (6 inverters), C1 = 2.2 nF, R = 150 kOhm result
62
 * in ~ 2 kHz oscillation.  C2 is 1 µF, C3 is 47 µF.  I've chosen
63
 * Germanium diodes in favor of their lower voltage drop.  The device
64
 * to the right is a 5 Volts Z-diode.
65
 * */

Ob man den Spannungswandler heutzutage noch braucht, da die Ports in
der Regel nicht mehr TTL sondern irgendein CMOS-Derivat sind, weiß
ich nicht.

Wenn du das nicht einfach an die Parallelschnittstelle bammeln kannst,
dann brauchst du irgendwas, das zwischen der Computerschnittstelle
deines geringsten Misstrauens und dem EEPROM sitzt; typischerweise
ein Microcontroller.  Der Hauptaufwand dabei liegt wiederum im
,,Ringsrum'', also der Anbindung zum Computer.  Bei RS-232 braucht's
einen Pegelwandler, bspw. einen MAX232.  Bei USB braucht's irgendwas,
was USB sprechen kann.

Die Implementierung der 93c46-Programmierung in den Controller sollte
dann an Hand des Datenblattes schon beinahe der Programmierlehrling
vornehmen können...

von kixi (Gast)


Lesenswert?

hallo jörg!
kannst du mir dein prog mal schicken? und vielleicht ne kleine anleitung 
wie ich das unter linux(ubuntu) zum laufen kriege..

danke!

sano34@gmx.de

von kixi (Gast)


Lesenswert?

hat sonst noch jemand eine idee?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Bei PonyProg findest Du Schaltbeispiele. Mit PonyProg kannst Du das Teil 
auch schreiben und lesen. Vorausgesetzt, Du hast eine echte 
Parallelschnittstelle an Deinem Rechner.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.