Ich geh davon aus, das die GALs auch eine ID haben.
Die 16/20V8 GALS haben 64bit für eine Signatur. Diese ist steht aber zur freien Verfügung und ist keine Typen oder Seriennummer vom Chiphersteller.
GAL16V8, GAL16V8A,B:
RA Address Width
0-31 Fuse-Matrix 64 Bit
32 Signature 64 Bit
33-59 reserved space 64 Bit
60 Architecture-Control-Word ACW 82 Bit
61 Security bit
62 reserved
63 Bulk Erase
GAL20V8, GAL20V8A,B:
RA Address Width
0-39 Fuse-Matrix 64 Bit
40 Signature 64 Bit
41-59 reserved space 64 Bit
60 Architecture-Control-Word ACW 82 Bit
61 Security bit
62 reserved
63 Bulk Erase
Source:
https://k1.spdns.de/Develop/Projects/GalAsm/info/galer/proggal.html
Alles anzeigen
Interessant ist aber der "reserved space". Unter RA58 finden sich 64bit die dem Programmiergerät alles über den Chip verraten.
Also sagt der Chip dem Programmiergerät, welche Programmierspannung usw. gebraucht wird. Das erklärt zum Beispiel, das vom ganzen Programmiervorgang nirgends etwas in den Datenblättern zu finden ist. Eine Art Copyright oder Lizenz-Vertriebsmodell für Programmiergeräte?
Programmers Electronic Signature:
b0(LSB)..b7(MSB)=byte B0=number of times GAL was programmed (if set)
b8..b11=byte B1=programming algorithm, interpret depending of GAL type
16V8
20V8
6001
6002
20RA10
20XV10
22V10
18V10
26CV12
00 01 VPP 15.75V programming pulse 100ms
01 VPP 15.75V programming pulse 80ms
02 00 VPP 16.50V programming pulse 10ms
03 02 VPP 14.50V (National 15.00V) programming pulse 40ms
04 03 VPP 14.00V programming pulse 100ms
05 05 programming parameters follow starting at bit 32 (D4)
b12=LOW-VOLTAGE-bit (0 for Normal 5V GAL, 1 for 3.3 low-voltage GAL)
b15=MASTER-bit (modify GAL only after query of user)
b16..b23=byte B2=GAL type
0x00 16V8
0x1A 16V8A/B/C/D/Z/ZD
0x20 20V8
0x3A 20V8A/B/Z
0x40 6001
0x41 6001B
0x44 6002B
0x48 22V10
0x49 22V10B/C/Z
0x50 18V10
0x51 18V10B
0x58 26CV12
0x59 26CV12B
0x60 20RA10
0x61 20RA10B
0x65 20XV10
0x66 20XV10B
b24..b31=byte B3=vendor
0xA1 Lattice (http://www.latticesemi.com)
0x8F National Semiconductors (http://www.nsc.com)
0x20 STMicrosystems (http://www.st.com)
The following bits are only valid at programming algorithm 5:
b32..b33: ignored
b34..b36: erase pulse time 10,25,50,100,200,400,800,- msec (only if B1=0x05)
,else for 6001, 6002, National 20RA10, 20XV10, 22V10, 18V10, 26V12: 50 msec
, else 100 msec
b37..b40: programing pulse time 1,2,5,10,20,30,40,50,60,70,80,90,100,200,-,- msec
b41..b45: VPP(program/erase) 5.0,5.5,6.0,...20.5V
b46..b50: VPP(readout) 5.0,5.5,6.0,...20.5V (always 12V)
b56..b63: check sum
Source:
http://www.armory.com/~rstevew/Public/Pgmrs/GAL/algo.htm
Alles anzeigen