guten abend! gibt es einen einfachen programmierer für den 93c46?? wo kann ich die schaltpläne finden? danke im vorraus. kixi
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...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.