Menu

Is 3.3V SPI programming possible?

LDSisHere
2011-12-03
2015-07-28
1 2 > >> (Page 1 of 2)
  • LDSisHere

    LDSisHere - 2011-12-03

    I would like to adapt this programmer to flash a W25X16, W25X32, and W25X64.
    These are 3.3V SPI chips. I know that there are SPI headers on some of the
    adapter boards already but not on the 3.3V adapter board.

    Do I need a custom adapter board or could the current 3.3V board be modified
    for 3.3V SPI hardware?

    I am sure the software will need some modification also. Since I am the one
    wanting this done, I will do all I can to make it work. I am just not sure
    where to begin. Will this be as simple as adding the parameters of the device
    or will it require a major rewrite of the entire program or will it fall
    somewhere in between?

    I will share back any positive results and methods to add more capability to
    this project. Any advice, input or directions will be appreciated.

     
  • Alberto Maccioni

    In order to support 3.3V SPI you have to add a 3.3V voltage regulator and
    limit output voltage levels to 3.3V.
    This has been done in the existing 3.3V expansion boards, so you can just
    extend the voltage limiters to all IO lines used for SPI communication.
    Regarding the software you should compare the datasheets with an already
    supported device (of same size) and see if it's necessary to make changes.

     
  • LDSisHere

    LDSisHere - 2011-12-05

    Thanks for your quick response. I will start working on it and hopefully
    report back with success, but most likely I will have a few more questions
    once I take a hard look at it. You have done some great work making this
    project!

     
  • LDSisHere

    LDSisHere - 2012-06-10

    I have finally had the time and motivation to start working on this project
    and I have had mixed results. I have ran into some problems that I do not know
    how to resolve and I am hoping someone with more knowledge and experience can
    tell me where to look for my problem.

    I have taken the original I2c / SPI / uW adapter board design and modified it
    for 3.3V programming or least that is my intention.

    Results so far:
    I2C 3.3V: Reads and Writes - This seems to work as expected.
    uW 3.3V: Reads and does not write
    SPI 3.3V: Does not read says chip is blank, it does write and verify, it then
    will read what was written ONE time only, after the initial read all following
    reads shows as a blank chip. The original 5V adapter will read the chip
    without a problem time after time and the chip is rated for 2.8V to 5.5V for
    normal operation

    I have checked and rechecked my adapter for shorts, opens and anything else I
    can think to check. All I really have to work with is a DMM and logic probe so
    I am limited on what I can observe. I compared log files but the only
    difference I could find was the return data itself, all the command echos were
    the same otherwise. I just find it strange that the SPI will verify and read
    once, but only after writing. I am not sure what information I need to provide
    so I am including images for the schematic and PCB I made. I am completely
    open to suggestions, ideas and help as I am apparently in over my head here. I
    am not sure how to post the log file on this forum as the failed read is over
    a hundred pages of text, so if is needed I will need to know how to post it
    properly.


     
  • LDSisHere

    LDSisHere - 2012-06-10

    My image links did not work so I am trying again.


    ]

     
  • Alberto Maccioni

    I've been experimenting with 3.3V SPI flash chips and they work correctly, so
    your problems may be due to the adapter board; the images are too small to see
    the circuit, so please post some larger ones.
    I know this forum is not really easy to use but it's all I can get from SF.
    Another possible problem is that the 3.3V high level is not within the specs
    for 5V inputs; it works because there are margins, but it's not guaranteed;
    increasing to 3.6V would probably help (if this is the problem).
    Regarding logs you can compress them before posting; being only text they
    should be reduced by 99.9%.

     
  • LDSisHere

    LDSisHere - 2012-06-11

    I hope these images do better, I do not usually post on forums, I just read
    them a lot. The W25X16 chip I would eventually like to be able to program is a
    2 Mega Byte 3.3V SPI flash chip so it sounds like you are already working on
    what I am trying to do also.

    I do not think the voltage levels are my problem with this design, for power
    anyway. I am sure my problem is on the signal side, I just do not know if it
    is a design problem or an implementation problem. If you can confirm that my
    design should function as intended then I will know I have a problem in my
    build and I can focus my efforts there. If it is a design issue then I need to
    focus on getting that right before trying to build the adapter. I just do not
    have the knowledge level to know which of these I should focus my efforts on.

    All three types of chips I am testing with are already supported by the
    programmer. For SPI a 25LC640, I2C a 24LC16, and uW a 93lc46. All of these are
    designed to work with as low as 2.8V but I am getting a solid 3.3 out of my
    regulator.

    As to posting logs I do not have the option to upload any type of file to the
    forum so I do not have any idea on how to get them on here and I do not want
    to waste your time looking at them if my issues are on the hardware level. I
    also cannot find a way to edit posts on this forum as that would make posting
    images easier and cut down on the total number of posts, but I know you may
    not have any control over these things.

    I am not sure how these images will appear so please excuse me if they are not
    displayed correctly.

    http://img580.imageshack.us/img580/8628/spi3vrev1all.jpg

    http://img535.imageshack.us/img535/5051/spi3vrev1.jpg

     
  • Alberto Maccioni

    The adapters are fine, it's just that you're trying to write a flash memory
    with an algorithm written for eeproms; of course it will not work.
    As said I have a new version with flash support, although I don't know when it
    will be posted.
    Contact me via email if you want to try it.
    Sorry, I have no control over this forum, I can just delete messages.

     
  • seotavr

    seotavr - 2014-02-19

    Hello!
    I can't flash for BIOS W25X10b.
    Tried scheme that on Your main page of the site and according to the scheme which is here in this topic . Nothing happened.

    Chip determines : W25X10b - DEVICE ID=0xEF3011.
    After flashing the log looks
    DEVICE ID=0xEF3011
    Erasing completed ...
    Writing EEPROM completed ...
    Verifying the EEPROM ...
    Error verifying address 0000 (0), written, 61, read FF

    Error verifying address 0001 (1), written 87, read FF

    Error verifying address 0002 (2), written 00, read FF
    ...
    Error verifying address 00F3 (243), written 00, read FF

    Error reading EEPROM area, requested 131072 bytes, read 244
    completed, 240 errors

    End (150.33 s) 240 errors
    Where to dig? )))

     
    • Raymond

      Raymond - 2014-03-03

      smells like bad bios flash, able to write but the data shifts, sometimes cannot be written.

       

      Last edit: Raymond 2014-03-08
  • Alberto Maccioni

    Please post or send me a log of a read and a write.

     
  • LDSisHere

    LDSisHere - 2014-02-20

    Seotavr,

    I also had lots of trouble getting the SPI flash to work, I was getting errors similar to your results. It would identify the chip but fail to write to it.

    I made three or four adapters trying to get it to work to no avail. When I made the last adapter, I decided to make a new programmer also. Well the new programmer and new flash SPI board worked. The previous SPI board I made would also work on this new programmer. Neither board would work on the previous programmer. I never had any problems programming any other type of chip on the older programmer so I never thought it was the problem until then.

    I do not know if this will help or not but I thought it was worth sharing. I am going to attach pictures of my final SPI Flash board.

     
  • seotavr

    seotavr - 2014-02-20

    Alberto Maccioni - Wish that would put the entire log? - 128K))))
    He looks in the post above all.
    By the way I SMD - under the BIOS.

    LDSisHere - And you can scheme look resistors and diodes what?
    I applied 1N4148?

     

    Last edit: seotavr 2014-02-20
    • Alberto Maccioni

      Yes, the entire logs

       
  • LDSisHere

    LDSisHere - 2014-02-22

    The resistors are 1k, not sure of the type as they are just what I had on hand. The diodes are BAT85 Schottky. The attached schematic is electrically the same as what Alberto his web page.

     
  • Anonymous

    Anonymous - 2015-01-19

    Anyone can upload the pcb diagram ready to print with 3.3v modification to flash spi.

    Grettings

     
  • Anonymous

    Anonymous - 2015-03-02

    I would like the PCB artwork for the 3.3v SPI adapter. Thank you.

     
  • Alberto Maccioni

    Sorry, no pcb yet.

     
  • Alberto Maccioni

    Yes, it looks correct.
    Also, it has been tried by LDSisHere.
    Maybe he could share the PCB source file.

     
  • Anonymous

    Anonymous - 2015-04-20

    Hi can anybody post the pdf file with the pcb image? Thanks

     
  • LDSisHere

    LDSisHere - 2015-06-21

    Sorry for not seeing this sooner. I am going to attach my source files and images I used to make my adapter. I used GEDA 1.6 or 1.7, I am not sure which one for sure. I make no guarantees about this adapter other than it worked for me. I hope someone finds this helpful.

     
  • Victor

    Victor - 2015-07-01

    Help me please.
    I can not flash SPI 25010.
    It is OK for 25640, I2C, some PICs, but not SPI 25010.
    Half of bytes written not by their addresses, the second half is not writing at all.

    Input: https://yadi.sk/d/mdithYndhcDEy

    Output: https://yadi.sk/d/BQM3JcKphcDMe

    log: https://yadi.sk/i/NFn_cFwFhcDPS

     
  • Alberto Maccioni

    Sorry for the delay, I will try to reproduce your problem.

     
    • Victor

      Victor - 2015-07-08

      25010, 25020, 25040 have 8-byte Page Mode.
      25080, 25160 have 32-byte Page Mode.

      Maybe that's the problem?

      File deviceRW.cpp

      //-------------SPI---------------------------------------------------------
      {"25010,95010",
      SPIEE,-1,0,p(Read25xx),{0x80},0,p(Write25xx),{0x80,16},0}, //128
      {"25020,95020",
      SPIEE,-1,0,p(Read25xx),{0x100},0,p(Write25xx),{0x100,16},0}, //256
      {"25040,95040",
      SPIEE,-1,0,p(Read25xx),{0x200},0,p(Write25xx),{0x200,16},0}, //512
      {"25080,95080",
      SPIEE,-1,0,p(Read25xx),{0x400},0,p(Write25xx),{0x400,16},0}, //1K
      {"25160,95160",
      SPIEE,-1,0,p(Read25xx),{0x800},0,p(Write25xx),{0x800,16},0}, //2K

       
1 2 > >> (Page 1 of 2)

Anonymous
Anonymous

Add attachments
Cancel