Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

27C256 #53

Closed
ElectroBoy404NotFound opened this issue Mar 14, 2023 · 12 comments
Closed

27C256 #53

ElectroBoy404NotFound opened this issue Mar 14, 2023 · 12 comments
Labels

Comments

@ElectroBoy404NotFound
Copy link

Hello,
How to use the code for 27C256?

@TomNisbet
Copy link
Owner

The 27C256 chips vary a bit, depending on the manufacturer, but the existing code should work for you. Make these two changes to the default software:

  • In Configure.h, comment out the #define for PROM_IS_28C and uncomment PROM_IS_27
  • Near the top of TommyPROM.ino, uncomment the PromDevice27 declaration for the 27C256 and make sure all of the other declarations in that section are commented out.

On the hardware side, you will need to apply a programming voltage from an external supply to Vpp to write the chip. If you are just reading the chip, then you can tie Vpp to the +5V. Check the data sheet for your chip to verify the programming voltage. I have seen some that want 12.75V and others that want 13V. The 12.75 chips are +/- .25 volts, so 13V is probably good in either case, but don't exceed that.

Please let me know the full number on your chip, i.e TMS27C256-15, so I can add it to the list of supported chips.

@ElectroBoy404NotFound
Copy link
Author

The 27C256 chips vary a bit, depending on the manufacturer, but the existing code should work for you. Make these two changes to the default software:

  • In Configure.h, comment out the #define for PROM_IS_28C and uncomment PROM_IS_27
  • Near the top of TommyPROM.ino, uncomment the PromDevice27 declaration for the 27C256 and make sure all of the other declarations in that section are commented out.

On the hardware side, you will need to apply a programming voltage from an external supply to Vpp to write the chip. If you are just reading the chip, then you can tie Vpp to the +5V. Check the data sheet for your chip to verify the programming voltage. I have seen some that want 12.75V and others that want 13V. The 12.75 chips are +/- .25 volts, so 13V is probably good in either case, but don't exceed that.

Please let me know the full number on your chip, i.e TMS27C256-15, so I can add it to the list of supported chips.

Hello,
My chip number is "M27C256B-12F15880X1140L"

@TomNisbet
Copy link
Owner

Were you able to program it successfully?
Your chip is an ST Micro EPROM. It needs 6.25 volts on Vcc and 12.75 volts on Vpp when programming. See page 8 of the datasheet here: https://media.digikey.com/pdf/Data%20Sheets/ST%20Microelectronics%20PDFS/M27C256B.pdf

@ElectroBoy404NotFound
Copy link
Author

Were you able to program it successfully? Your chip is an ST Micro EPROM. It needs 6.25 volts on Vcc and 12.75 volts on Vpp when programming. See page 8 of the datasheet here: https://media.digikey.com/pdf/Data%20Sheets/ST%20Microelectronics%20PDFS/M27C256B.pdf

I'm going to test it today.

@ElectroBoy404NotFound
Copy link
Author

@TomNisbet
UPDATE: I tried 2 EPROM models. I was able to prpgram the M27C256B-12F1B880C chip fine but not the M27C256B-12F15880X chip. I think the problem is that my 12v adapter is actually giving around 11.5V instead of 12.75V needed for programming and my tab (Samsung A8 that I'm using to program it) is giving around 4.95V instead of 6.25V needed. Is there any way to solve these problems (without replacing the power supply)?

@TomNisbet
Copy link
Owner

The minimum voltages for that part are 6V and 12.5V, so you might get lucky with some chips, but your results won't be reliable without a different power supply. The good new is that you have verified that your programmer is otherwise working.

Also, it you get an external supply for the 6.25V to your EPROM's Vcc, make sure that it is not connected to the 5V from the Arduino or the 5V going to the shift registers.

@ElectroBoy404NotFound
Copy link
Author

The minimum voltages for that part are 6V and 12.5V, so you might get lucky with some chips, but your results won't be reliable without a different power supply. The good new is that you have verified that your programmer is otherwise working.

Also, it you get an external supply for the 6.25V to your EPROM's Vcc, make sure that it is not connected to the 5V from the Arduino or the 5V going to the shift registers.

I see. I will try using a boost converter module for 6.25V and see if it works. Also, sorry for the late reply, I was busy.

@ElectroBoy404NotFound
Copy link
Author

ElectroBoy404NotFound commented May 7, 2023

I tried it, it didn't work

@ElectroBoy404NotFound
Copy link
Author

ElectroBoy404NotFound commented May 7, 2023

I tried 13v and 7v, but it just wouldn't program.

@jscrane
Copy link
Contributor

jscrane commented May 3, 2024

I have a couple of similar chips which I can't program either. They are labelled M27256F1.

I am using a TommyPROM32 board with Vpp at 12.5v and Vcc at 6.5v.

Referring to this datasheet, shouldn't the pulseWidth constructor parameter be 1000L maybe? (In any case, I tried both 100L and 1000L and neither worked.)

The duration of the initial E pulse(s) is 1ms, which will then be followed by a longer overprogram pulse of length 3ms by n
...

Happy to help debugging this problem...

@TomNisbet
Copy link
Owner

I have programmed a M27C256, but yours are the older M27256 with a different programming algorithm. It looks like your data sheet wants 6V on Vcc instead of 6.5. Hopefully that didn't cause any issues.

The program pulse width should be 1000L and the overwrite value should be 3. I checked in new code that added a definition for this chip in TommyPROM.ino.

The existing code was also incorrect. The overwrite pulse should be programPulse * multiplier * numberOfWriteAttempts. I was not including the multiplier for the number of attempts. Also the code was not doing the overwrite pulse for chips that do not have a dedicated WE pin.

Please let me know if the new code works for you. I'll add the M27256 to the list of verified chips if it works.

@jscrane
Copy link
Contributor

jscrane commented May 4, 2024

I can confirm that the latest code works with my M27256. Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants