The Nissan Club banner

How to Program the SST 27SF512 using an Advanced Dual Powered Willem EPROM Programmer

48K views 9 replies 1 participant last post by  jserrano 
#1 · (Edited)
This document will explain how to program the SST 27SF512 Flash EEPROM chip using the Advanced Dual Powered Willem EPROM Programmer. This information is geared more towards the individual DIY type. And while this document assumes that the reader has very little knowledge with this, you should access your own level of technical knowledge to determine whether you can undertake a project like this.

This application will illustrate how to program an EEPROM for use in a ’94 Nissan Altima (U13) ECU daughterboard. However, the general concept is quite applicable to other Nissan ECUs with a similar type of configuration.

The list of materials you need to get started are,

Tools

Advanced Dual Powered Willem EPROM Programmer
Calum Basic ECU Daughterboard
SST 27SF512 (2 ea.)

The Programmer

The Advanced Dual Powered Willem Programmer PCB4.5C is the universal programmer of choice that we will be using for our EEPROM programming needs. This programmer has a huge selection of programmable devices for a wide range of applications.

Image


For this application, we will be using the programmer for “chip tuning” a Dual In-line (DIP) packaged chip, via the green Zero-In-Force (ZIF) socket located at the center of the board (see picture.)

This programmer can be purchased for about $45 directly from SIVAVA - Advance Willem EPROM Programmer and Adapters EEPROM PIC MCU BIOS or from their eBay Store at eBay Store - Sivava Store:. Make sure you order the PCB4.5C version. Look for the “PCB45” stamped in the lower left-hand corner of the circuit board.

Image


There are other great EPROM programmers such as the Moates (Welcome to www.moates.net! : Moates.Net) BURN1 Flash-n-Burn. However, this document will only describe the Willem programmer.


The ECU Daughterboard

Our choice for an ECU daughterboard is the Calum Basic ECU daughterboard. The Nissan ECU will require some internal modifications (jumper relocation & a 20x2 header pin installed) in order to be able to use this daughterboard. The Calum Basic daughterboard can be jumper selectable for a 32K and 64K ROM image which makes this daughterboard compatible for use in older (32K), or newer (64K), OBD1 Nissan ECUs – mine is set to 64K for my ’94 Altima. The daughterboard uses two 8-bit flash EEPROMs which are programmed with the same binary image.

Image


Calum offers full service support for all types of Nissan ECU. While he doesn’t provide support for the programmer we are using here, he does provide some level of support for the Moates Burn1 programmer, which is his preferred programmer of choice. (http://www.sr20forum.com/calumsult/164481-how-burn-rom-moates-burn1.html). He also offers a Realtime ECU with far more advanced capabilities for tuning and programming than can be accomplished with a basic daughterboard configuration. You can inquire more details directly from him at http://www.sr20forum.com/calumsult or send him email orders to orders@calumsult.com.


The SST 27SF512

The SST27SF512 is a 28-pin, 64K x8 memory, Flash EEPROM manufactured by Silicon Storage Technology, Inc. (SST).

Image


The daughterboard uses two of these cheaper 8-bit SST27SF512 wired together to ‘emulate’ a more expensive 16-bit EEPROM. This is required because the MCU in the ECU can sometimes switch data communication in an 8- or 16-bit fashion. These two SST27SF512 will need to be flash programmed with the same ROM binary image.
 
See less See more
Preview image for a collapsed post.
4
#2 · (Edited)
I. Installing the Programmer software

If you bought your programmer through Sivava you should have received an installation CD with the programmer software. If you acquired only the hardware, then you can still download the software from SIVAVA - Download Software Versions 0.98D5. Make sure you download and install the software version 0.98D5.

1. Download the Sivava_98d5_PCB45.zip
2. Unzip and execute the Sivava_98d5_PCB45.exe on the local PC.

Image


3. Step through the default settings of the installation wizard and click Next and Finish.

Image
 
#3 · (Edited)
II. Connect and test the Programmer

1. The next thing you need to do is connect the Willem Programmer PCB4.5C to power and to an open LPT port. The power can come from either an open USB port or from an external AC power adapter - this is switchable via jumper pins. A yellow LED will confirm that power is coming into the programmer.

Image


2. Launch the EPROM45 application and confirm that the window title bar displays the correct version as, Willem Eprom PCB45(0.98D5).

Image


3. Click Help->Test Hardware.

Image


If everything is fine up to this point, the status bar
Image
will change from ‘StatusBar’ to ‘Hardware present’
Image
after the hardware test. If there is a hardware problem you will get a ‘Hardware Error: Check Power & connection’ error message,

Image


If this is the case, you will need to confirm a valid yellow LED for power and that the printer port cable is connected tightly. Also verify that the Printer Port setting for the software is set to the correct LPT port for your PC. The default is set to LPT1. Make sure that the computer BIOS is set to Enhanced Capability Port (ECP) setting for the LPT port. Finally, there is also a possibility that the printer port could be damaged.
 
#4 · (Edited)
III. Select the chip device

1. Select the Device->EPROM Electrical Erase->SST27SFxxx-> SST27SF512 (Vpe 12V). The software will retain the last used device and auto load with those settings.

Image


2. Set the blue hardware DIP switches on the programmer exactly as it appears in the software window - which is the correct setting for the device we selected -- SST27SF512 (Vpe 12V). Set the Offset(Hex) = 0 and the Check Type=32 Bit CRC.

Image
 
#5 · (Edited)
IV. Insert the chip device

1. Insert a SST27SF512 chip into the green ZIF socket. The chip needs to be inserted all the way to the bottom of the ZIF socket - leaving the top four (4) pins of the ZIF socket exposed.

2. The ‘head’ of the chip has a semi-circle in the top center, and a round dot to the left of this, it denotes pin #1. Make absolutely sure the chip is installed with the ‘head’ pointing upwards or you stand the chance of damaging the chip.

Image


3. Pull down on the ZIF lever to lock the chip in place.
 
#6 · (Edited)
V. Verify a blank chip device

We now need to verify that we are working with a blank chip device. Otherwise, we will end up with programming errors.

1. Select Action->Blank Check

Image


2. The software will display a “Checking Device is Empty” progress bar and a “Device Empty” in the status bar if the chip is blank.

Image


3. You can confirm this by selecting the “Buffer” tab at the bottom of the application and scroll up and down the buffer to confirm you have “FF” is ALL address locations.

4. If you find that there is data in the buffer then you can do a File->Save As… to save it to a .bin file, in case you find needing this in the future.
 
#7 · (Edited)
VI. Erasing a chip device.

Note: This is one of the most important parts that tends to throw off many people. So pay very close attention to all the following steps.

1. Select Action->Erase 28/29/49/89/90/PIC from the menu.

Image


2. You will now be given an “Erase Chip” frame box with settings for some jumpers that you will need to either changed and/or verified.

Image


3. Confirm that the blue DIP switch setting is set exactly as illustrated in the software. Place a checkmark in the “DIP SW setting” check box to confirm.

Image


Note: The above picture helps to illustrate what is involved in erasing a chip. Make sure you have a SST27SF512 chip inserted into the ZIF socket.

4. Check that the 4/2 PIN header has a jumper placed across the top two pins. The check box for the 4/2PIN should already be checkmarked but confirm this, just in case.

5. This is the trickiest part. If you do not have a additional spare jumper sitting around then we can move the one from the right-top corner of the green ZIF socket over to the 2/3 PIN. Place the jumper over the two right-hand pins that are exposed in the 2/3PIN header. (see picture.) Once the jumper has been moved make sure to place a checkmark in the 2/3 PIN checkbox.

6. Click the “Erase Chip” pushbutton and the software should show you a progress screen of the chip erasure.

Image


7. After all chip devices have been erased, we need to return the 2/3PIN jumper, mentioned in step 5, back over to its original place at the top right-hand corner of the green ZIF socket. Once the jumper has been moved back, then clear the 2/3 PIN checkbox and click on the “Move jumper” pushbutton.

Image


Congratulations! You have completed perhaps the most confusing and problematic part that has stopped most people from properly using this EPROM programmer.
 
#8 · (Edited)
VII. Load the binary image

1. Select File->Load to open a working binary image from the “Select Eprom file to Load” dialog box. In this example, we will select the “KA24DE-U13-Base-94-FED-MT-big.bin” file and click Open.

Image


2. The status bar will change to "Binary File loaded OK".

Image
 
#9 · (Edited)
VII. Setting the Rev. Limiter to 7300 rpm.

In this exercise, we will change the default rev. limiter from 6475 rpm to 7300 rpm in the binary KA24DE-U13-Base-94-FED-MT-big.bin file.

1. Click on the “Buffer” tab in the lower left corner of the window. Scroll down to the hex address of $008050 and click on the C column – this is hex address $00805C. Confirm that the data is set to 02 hex.

Image


2. Next, in the Edit HEX window, click on the down arrow in the Address(HEX) location so the it places you at the hex address of $00805D. Confirm that the data is set to 06 hex.

Image


3. Change the hex data from 06 to 48 and click Close. This will set the rev. limiter to 7300 rpm.

Explanation:

Of course, I cannot go forward without an detailed explanation of what we’ve just done. First off, we know that the Rev. Limiter is located in the binary file at hexadecimal address $805C and $805D; together they both form a 16-bit piece of data. The data in these two locations are 02 and 06 = 0206 hex. So, how does that translate to our default 6475 rpm? Let us run through the full exercise and you will see.


First open the Windows Calculator application and set it to Scientific mode.

Image


- Next click the Hex radio button and type in 0206.

Image


- Next click the Dec radio button and the value will be translated to a decimal value.

Image


- Lastly, multiply 518 by a factor of 12.5 (518 x 12.5) and the result is 6475. So the default rev. limiter is set to 6475 – just shy of the 6500 redline.

Image


So to change the rev. limiter from 6475 to 7300, we simply do the above steps in reverse.

7300 / 12.5 = 584, in decimal. Converted to hex we get 248, or 0248. So 02 goes into hex address $805C and 48 goes into hex address $805D.

Image


- Finally, click File->Save As… to save this binary to a different filename. We will use this new binary file to program the EEPROM.

A quick note about binary ROM editors:

There are a number of editors that facilitates the process of making changes to a ROM binary file. TunerPro has become one of the favorites. You need to keep in mind that these editors use a configuration file; sometimes called an address file, to facilitate changing data in an hex address location. This saves a great deal of effort especially when you are making a lot of changes. Just be aware that if you have a bad, incorrect, or “corrupted” configuration file you will likely end up introducing problems into your ECU.

A quick note about Rev. Limiter:

Raising the rev. limit gives you some room at the top end for performance tuning. But you have to keep in mind that the fuel and ignition maps would also need to be expanded and tuned to accommodate for this change. Otherwise, you will reach the point where the ECU will apply the same fueling requirement for about 6400 while the engine is pushing further up. This can cause the engine to lean out and potentially damage the engine.
 
#10 · (Edited)
IX. Programming a chip device.

At this stage, we are ready to program two SST27SF512 blank chip device with the exact binary ROM file.

1. Repeat step III – select the chip device, and step IV – Insert the chip device, of the instructions mentioned above. Confirm that the chip is placed exactly as shown in the software window and the lever locks the chip in place.

2. Click File->Load and select the binary ROM file you intend to burn into the EEPROM. The status bar will display, “Binary File loaded OK”.

Image


3. Click Action->Program/Test RAM

The progress screen and the status bar will change from, “programming chip”->”verifying chip”->”Device Programmed OK”

Image


If you receive an error message indicating that the chip device is not empty then simply repeat ALL sections starting with V. Verify a blank chip device.

4. Remove the programmed chip and place the other blank EEPROM chip into the ZIF socket and repeat the programming steps.

5. Place both EEPROM in the each socket of the daughterboard and lower the ZIF lever to lock them in place.

Image


6. Lastly, install the daughterboard into the ECU and test drive your changes.

------------------------------------------------------------------------
A Note on ECU Fail-safe:
------------------------------------------------------------------------
There is a possibility that you could end up with a bad program in the EEPROM and the ECU cannot run the program code from the chip. In this situation the ECU will enter into ECU fail-safe mode, ie. limp mode. In this state, the engine will not operate correctly and will run with,

- Check Engine Light set to ON.
- ALL cooling fans constantly running at HI.
- ALL fuel injectors firing simultaneously.
- Engine rev limited to 3000 rpm.
- Ignition Timing fixed to a preset value.
- IACV fully open.

Do not operate the engine for a prolonged period of time when in fail-safe mode.
------------------------------------------------------------------------

Whoa, we're finally done! That concludes this how-to writeup and I hope that it will serve useful to those of you looking to "open up" this part of Altima tuning that has been lacking for so long.

Best luck on your future tuning endeavors!!! -jserrano

(please send me email: j.serrano@netzero.net or PM for additions/deletions, corrections, or comments.)
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top