Connect with us

1702A EPROM Programmer Trouble Shooting

Discussion in 'Electronic Design' started by logjam, May 30, 2007.

Scroll to continue with content
  1. logjam

    logjam Guest

    I can program a completely erased 0x00 PROM to completely 0xFF.

    I can "program" a completely erased 0x00 PROM to completely 0x00. I
    did this to check for stuck bits, etc.

    This is driving me crazy. It may be a timing issue? I am making a
    small PCB to adapt the 0v to -47v programming voltages that the
    programmer uses for my logic analyzer. Would anyone here know where I
    could find a programming protocol for the 1702? I would like to check
    my timing against a data sheet.

    Sometimes a PROM will have one good byte, then 00, good byte, 00, and
    sometimes a byte will not be good. Other times several bytes in a row
    are good. I know the programmer can do all of the bits or none of the
    bits (those two experiments). At the end is a listing of a few tests.

    It can also address all memory locations in the PROM.

    I got this ASCII picture off of chipdir. I added the voltages
    measured at the chip during programming. They are pulsed during
    programming like the should be.



    +--()--+
    A2 | 1 24| Vdd -47v
    A1 | 2 23| Vcc 0v
    A0 | 3 22| Vcc 0v
    Data Out 1 (LSB) | 4 21| A3
    Data out 2 | 5 20| A4
    Data out 3 | 6 19| A5
    Data out 4 | 7 18| A6
    Data out 5 | 8 17| A7
    Data out 6 | 9 16| Vgg -37v
    Data out 7 |10 15| Vbb 12v
    Data out 8 |11 14| /CS 0v
    0v Vcc |12 13| Program -45v
    +------+

    Here is a result of a few programming attempts.

    The columns are: 1-memory location, 2-source data, 3-4-5-data
    written, 6-source data again

    FF00 8D AE FE FF 8D
    FF01 22 FE FE FE 22
    FF02 24 00 00 24 24
    FF03 FC FE FE FE FC
    FF04 C6 00 00 C6 C6
    FF05 7F FE FE FF 7F
    FF06 D1 00 00 D1 D1
    FF07 F3 F2 F2 F3 F3
    FF08 F4 00 00 F4 F4
    FF09 F0 F4 F4 F4 F0
    FF0A 01 00 00 01 01
    FF0B 24 24 24 24 24
    FF0C 74 00 00 74 74
    FF0D 39 7C 7C 7D 39
    FF0E 01 00 00 01 01
    FF0F 8D 8C 8C 8D 8D
    FF10 EF 00 00 EF EF
    FF11 C0 EE EE EE C0
    FF12 30 00 00 30 30
    FF13 2B 3A 3A 3B 2B
    FF14 3C 00 00 3C 3C
    FF15 C1 FC FC FD C1
    FF16 09 00 00 09 09
    FF17 2F 2E 2E 2F 2F
    FF18 0A 00 00 0A 0A
    FF19 C1 CA CA CB C1
    FF1A 11 00 00 11 11
    FF1B 2B 3A 3A 3B 2B
    FF1C 34 00 00 34 34
    FF1D C1 F4 F4 F5 C1
    FF1E 16 00 00 16 16
    FF1F 2E 3E 3E 3E 2E
    FF20 30 F0 F6 F6 30
    FF21 C0 FE FE FE C0
    FF22 07 00 00 07 07
    FF23 39 7E 7E 7F 39
    FF24 F6 00 00 F6 F6
    FF25 F0 F6 F6 F6 F0
    FF26 00 00 00 00 00
    FF27 57 56 56 57 57
    FF28 39 00 00 39 39
    FF29 8D BC BC BD 8D
    FF2A D5 00 00 D5 D5
    FF2B C0 D4 D4 D4 C0
    FF2C 53 00 00 53 53
    FF2D 26 76 76 76 26
    FF2E FA 00 00 FA FA
    FF2F 8D FE FE FF 8D
    FF30 CF 00 00 CF CF
    FF31 C1 DE DE DF C1
    FF32 39 00 00 39 39
    FF33 27 3E 3E 3F 27
    FF34 1C 00 00 1C 1C
    FF35 C1 DC DC DD C1
    FF36 31 00 00 31 31
    FF37 26 36 36 36 26
    FF38 F0 00 00 F0 F0
    FF39 4F FE FE FF 4F
    FF3A 8D 00 00 8D 8D
    FF3B 17 9E 9E 9F 17
    FF3C C0 00 00 C0 C0
    FF3D 02 C2 C2 C2 02
    FF3E D7 00 00 D7 D7
    FF3F F9 FE FE FF F9
    FF40 8D 28 FE FF 8D
    FF41 20 FE FE FF 20
    FF42 8D 00 00 8D 8D
    FF43 0F FE FE FF 0F
    FF44 7A 00 00 7A 7A
    FF45 00 7A 7A 7A 00
    FF46 F9 00 00 F9 F9
    FF47 27 FE FE FF 27
    FF48 05 00 00 05 05
    FF49 E7 E6 E6 E7 E7
    FF4A 00 00 00 00 00
    FF4B 08 08 08 08 08
    FF4C 20 00 00 20 20
    FF4D F4 F4 F4 F4 F4
    FF4E 4C 00 00 4C 4C
    FF4F 27 6E 6E 6F 27
    FF50 D8 00 00 D8 D8
    FF51 20 F8 F8 F8 20
    FF52 58 00 00 58 58
    FF53 8D DC DC DD 8D
    FF54 BA 00 00 BA BA
    FF55 58 FA FA FA 58
    FF56 58 00 00 58 58
    FF57 58 58 58 58 58
    FF58 58 00 00 58 58
    FF59 1B 5A 5A 5B 1B
    FF5A D7 00 00 D7 D7
    FF5B F8 FE FE FE F8
    FF5C 8D 00 00 8D 8D
    FF5D B1 BC BC BD B1
    FF5E 1B 00 00 1B 1B
    FF5F DB DA DA DB DB
    FF60 F8 F8 FA FE F8
    FF61 39 FE FE FF 39
    FF62 8D 00 00 8D 8D
    FF63 EF EE EE EF EF
    FF64 D7 00 00 D7 D7
    FF65 FA FE FE FE FA
    FF66 8D 00 00 8D 8D
    FF67 EB EE EE EF EB
    FF68 D7 00 00 D7 D7
    FF69 FB FE FE FF FB
    FF6A DE 00 00 DE DE
    FF6B FA FE FE FE FA
    FF6C 39 00 00 39 39
    FF6D 16 3E 3E 3F 16
    FF6E 54 00 00 54 54
    FF6F 54 54 54 54 54
    FF70 54 00 00 54 54
    FF71 54 D6 D6 D6 54
    FF72 8D 00 00 8D 8D
    FF73 01 8C 8C 8D 01
    FF74 16 00 00 16 16
    FF75 C4 D6 D6 D6 C4
    FF76 0F 00 00 0F 0F
    FF77 CB CE CE CF CB
    FF78 30 00 00 30 30
    FF79 C1 F0 F0 F1 C1
    FF7A 39 00 00 39 39
    FF7B 23 3A 3A 3B 23
    FF7C 04 00 00 04 04
    FF7D CB CE CE CF CB
    FF7E 07 00 00 07 07
    FF7F 01 06 06 07 01
    FF80 01 00 8C 8D 01
    FF81 8C FE FE FF 8C
    FF82 C6 00 00 C6 C6
    FF83 20 FE FE FE 20
    FF84 37 00 00 37 37
    FF85 8D BE BE BF 8D
    FF86 9D 00 00 9D 9D
    FF87 57 DE DE DF 57
    FF88 24 00 00 24 24
    FF89 FB FE FE FF FB
    FF8A 33 00 00 33 33
    FF8B F7 F6 F6 F7 F7
    FF8C F0 00 00 F0 F0
    FF8D 01 F0 F0 F1 01
    FF8E 39 00 00 39 39
    FF8F DE FE FE FE DE
    FF90 FA 00 00 FA FA
    FF91 08 FA FA FA 08
    FF92 DF 00 00 DF DF
    FF93 FA FE FE FE FA
    FF94 96 00 00 96 96
    FF95 FA FE FE FE FA
    FF96 8D 00 00 8D 8D
    FF97 D5 DC DC DD D5
    FF98 96 00 00 96 96
    FF99 FB FE FE FF FB
    FF9A 8D 00 00 8D 8D
    FF9B D1 DC DC DD D1
    FF9C 8C 00 00 8C 8C
    FF9D 8D 8C 8C 8D 8D
    FF9E C3 00 00 C3 C3
    FF9F 8D CE CE CF 8D
    FFA0 E1 00 E6 E7 E1
    FFA1 A6 FE FE FE A6
    FFA2 00 00 00 00 00
    FFA3 8D DE DE DF 8D
    FFA4 C8 00 00 C8 C8
    FFA5 8D CC CC CD 8D
    FFA6 DB 00 00 DB DB
    FFA7 8D DE DE DF 8D
    FFA8 AA 00 00 AA AA
    FFA9 E7 EE EE EF E7
    FFAA 00 00 00 00 00
    FFAB 9E 9E 9E 9E 9E
    FFAC F6 00 00 F6 F6
    FFAD C6 F6 F6 F6 C6
    FFAE 0D 00 00 0D 0D
    FFAF 8D 8C 8C 8D 8D
    FFB0 D0 00 00 D0 D0
    FFB1 C6 DE DE DE C6
    FFB2 0A 00 00 0A 0A
    FFB3 8D 8E AE AF 8D
    FFB4 CC 00 00 CC CC
    FFB5 C6 CE CE CE C6
    FFB6 2E 00 00 2E 2E
    FFB7 8D AE AE AF 8D
    FFB8 C8 00 00 C8 C8
    FFB9 BD FC FC FD BD
    FFBA FF 00 00 FF FF
    FFBB 00 FE FE FE 00
    FFBC 17 00 00 17 17
    FFBD 8D 9E 9E 9F 8D
    FFBE C3 00 00 C3 C3
    FFBF 81 C2 C2 C3 81
    FFC0 4C 00 6E 6E 4C
    FFC1 27 EE EE EF 27
    FFC2 8C 00 00 8C 8C
    FFC3 81 8C 8C 8D 81
    FFC4 4A 00 00 4A 4A
    FFC5 26 6E 6E 6E 26
    FFC6 04 00 00 04 04
    FFC7 8D 8C 8C 8D 8D
    FFC8 99 00 00 99 99
    FFC9 6E FE FE FE 6E
    FFCA 00 00 00 00 00
    FFCB 81 80 80 81 81
    FFCC 4D 00 00 4D 4D
    FFCD 27 6E 6E 6F 27
    FFCE CE 00 00 CE CE
    FFCF 81 CE CE CF 81
    FFD0 4E 00 00 4E 4E
    FFD1 27 6E 6E 6F 27
    FFD2 BC 00 00 BC BC
    FFD3 81 BC BC BD 81
    FFD4 50 00 00 50 50
    FFD5 26 76 76 76 26
    FFD6 D4 00 00 D4 D4
    FFD7 3B FE FE FF 3B
    FFD8 8E 00 00 8E 8E
    FFD9 00 8E 8E 8E 00
    FFDA F3 00 00 F3 F3
    FFDB C6 F6 F6 F6 C6
    FFDC 03 00 00 03 03
    FFDD 37 36 36 37 37
    FFDE 37 00 00 37 37
    FFDF F7 F6 F6 F7 F7
    FFE0 F0 00 F0 F0 F0
    FFE1 00 FE FE FE 00
    FFE2 F6 00 00 F6 F6
    FFE3 F0 FE FE FE F0
    FFE4 02 00 00 02 02
    FFE5 2B 2A 2A 2B 2B
    FFE6 19 00 00 19 19
    FFE7 C4 DC DC DC C4
    FFE8 04 00 00 04 04
    FFE9 CA CE CE CE CA
    FFEA D1 00 00 D1 D1
    FFEB F7 F6 F6 F7 F7
    FFEC F0 00 00 F0 F0
    FFED 00 F0 F0 F0 00
    FFEE 9F 00 00 9F 9F
    FFEF F6 FE FE FE F6
    FFF0 9F 00 00 9F 9F
    FFF1 FA FE FE FE FA
    FFF2 D6 00 00 D6 D6
    FFF3 F2 F6 F6 F6 F2
    FFF4 2B 00 00 2B 2B
    FFF5 0A 2A 2A 2A 0A
    FFF6 20 00 00 20 20
    FFF7 B3 B2 B2 B3 B3
    FFF8 01 00 00 01 01
    FFF9 00 00 00 00 00
    FFFA FF 00 00 FF FF
    FFFB EE FE FE FE EE
    FFFC 01 00 00 01 01
    FFFD 04 04 04 04 04
    FFFE FF 00 00 FF FF
    FFFF D8 FE FE FE D8
     
  2. Robert Baer

    Robert Baer Guest

    It has been ages,so i do not remember the best and fastest method;
    however i do remember that there were many schemes, even some (fairly
    good ones) from Intel, but the best and fastest method guarranteed that
    every bit got what it needed and no more (that is why it was so fast).
    I think the basic scheme was: program a bit once, and read - if OK,
    program 4 more times; if bad read, program 2nd time and read - if OK,
    program 8 more times.
    Net result was 5 total program pulses for each "initial" pulse
    required to get a good read.
    Most bits took the 5 ties; on rare occasion one would need more.
    I think that was derived from a 5 time-constant charge curve.
    Note only bits that have to be "set" (ie programmed) need this; all
    others can be ignored providing a blank check was done beforehand.
     
  3. Tim Shoppa

    Tim Shoppa Guest

    You can find the 1702A programming algorithm at

    http://bitsavers.trailing-edge.com/pdf/intel/_dataBooks/C-160_memDesignHb_May77.pdf

    on page 7-17. It's quite a bit more funky than the comparatively
    modern 2704/2708/2716 etc. algorithms, in that you are supposed to put
    the complement of the address in for a while and then the true form of
    the address, etc.

    One gotcha that may have found you here: do not fully program byte 0,
    then fully program byte 1, etc. You have to do the first program of
    byte 0, then the first program of byte 1, ... up through the end, and
    then you start back over at byte 0 and repeat for 32 times in total.
    remeber a discussion of "charge migration" occuring if you did too
    much programming in one area of the device and not enough in others.
    This is somehow related to the voodoo of putting the complement of the
    address in before the address and the 32 overall cycles. This might
    explain some of the spotty programming success you have.

    I can also tell you, you really do want to keep the duty cycle less
    than 20 percent. I remember getting impatient, adjusting the one-shots
    in my programmer (yes, it was a bunch of one shots!) for a higher duty
    cycle, and then seeing a distinct red glow through the quartz window
    on top of the device before all the magic smoke got out :).

    I dragged out that old programmer about a decade ago when I got a
    hankering to revive a lot of my S-100 stuff.

    Tim.
     
  4. joseph2k

    joseph2k Guest

    <snip>

    Found this page, it leads to a datasheet for a 1702A which was a little
    different programming wise:

    www.jmargolin.com/patents/eprom.htm
     
  5. vasile

    vasile Guest

    Are torturing yourself delibelately ?
    I'm quite old but the first EPROM I have programmed was 2716 with Vpp
    at 12.5V
    and some russian 2708 with Vpp at 24V
    Do you like tubes too ?
    :)
    greetings,
    Vasile
     
  6. logjam

    logjam Guest

    The programmer had A0 and D0 stuck high "most" of the time. The
    solder joint has been fixed and I have been happily burning 1702A 256
    byte EPROMs. : D
     
  7. Rich Grise

    Rich Grise Guest

    Congrats, but why 1702s? Did you just have a thousand of them you need
    to use up or something? :)

    Thanks,
    Rich
     
  8. logjam

    logjam Guest

    I build replica Altair 8800 computer kits. The replica ROM card needs
    1702s! : ) I pay about $4 for these 256 byte chips! : )

    Grant
     
  9. Robert Baer

    Robert Baer Guest

    Back in those daze, for the (Santa Clara Valley) Homebrew Computer
    Club (remember Gordon French who started it?), i made (it seems)
    hundreds of the front panel boards; clones that included de-glitching
    fixes and got rid of a lot of jumpers (final run had zero jumers as i
    remember).
    Sold them at cost to everyone that wanted them, many went to the
    group in LA for re-sale.
    Got my nose pinched by whatshisname at Altair for selling (at cost)
    copies of their BASIC with reversed assembly listing; the idiot claimed
    it was patented (*no* software could be patented then) and his wording
    was not that far from blackmail (as i remember).
    He also complained about the clone boards, but i sucessfully argued
    that my boards were different and better (ie a different design).
    Had to stop seling or giving away the BASIC stuff, tho.
     
  10. Rich Grise

    Rich Grise Guest

    Well, that _is_ the honorable thing to do. Software might or might not be
    patentable (I think it shouldn't be), but it _is_ copyright, i.e., owned
    by the writer, essentially automatically. You wrote it, you own the
    copyright. I feel a little guilty every time I use one of my stolen
    programs, but it usually passes. ;-)

    Cheers!
    Rich
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-