Lukáš Macura kedysi dávno disassembloval ovládací program programátora PMD 40.
Pre 1kB EPROM je to tam takto:
FOR I=0 TO 255
FOR A=0 TO 1023
SET ADDRESS A
SET BYTE
WAIT 43 us
SET PROG PULSE ON
WAIT 189 us
SET PROG PULSE OFF
WAIT 43 us
NEXT A
NEXT I
Naprogramovanie 1kB EPROM trvá asi 75s.
Pre 2kB EPROM je to tam takto:
FOR A=0 TO 2047
SET ADDRESS A
SET BYTE
SET PROG PULSE ON
WAIT 44 ms
SET PROG PULSE OFF
NEXT A
Ono taky asi záleží na typu Epromky, v zásadě jsou možné 2 cesty. První je nastavit data a dát delší programovací impuls - každý bajt jen jednou, nebo druhá možnost vzít to kratším programovacím impulsem ale několikrát dokola celou epromku (typicky tolikrát aby doba programování byla +- stejná na bajt). Co jsem programoval kdy tak to bylo většinou tou první metodou, ta druhý by měla být šetrnější k epromkám zase... tak si vyber :)
Co si pamatuju z teorie, tak by pro rychlejsi a setrnejsi programovani mela byt nejvhodnejsi metoda, kterou naznacil Lukas:
1) nastavit bajt, pustit kratky programovaci pulz
2) overit naprogramovany bajt - v pripade neuspechu znovu bod 1 (asi omezeno nejakym maximem, aby se to nezakouslo)
3) jiz overeny bajt jeste dalsim (nebo nekolika?) programovacimi pulzy 'potvrdit'
V praxi jsem pak pouzival hotovy programator, takze jsem presny algoritmus neresil.