Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Технический флейм »   Как программно прошивать 28xxx для ISA-видео ?
RSS

Как программно прошивать 28xxx для ISA-видео ?

Малой кровью прошить "русские фонты" в VGA-биос.

<<Назад  Вперед>> Страницы: 1 2 3 4 * 5
Печать
 
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
Rio444, прошивал именно на демонстрационной плате микроконтроллера, вставив EEPROM в место внешнего ОЗУ...
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
EEPROM расшифровывается как "электрически стираемое программируемое ПЗУ".
Т.е. формально Flash ROM является EEPROM. Во многих источниках Flash называют разновидностью EEPROM.
Чтобы избежать связанной игры слов, распишу по сериям:

27xxx - большинство производителей называют эти м/с EPROM (OTP-EPROM, OTP-ROM -одноразовые, UV-EPROM - УФ стираемые, EEPROM - электрически стираемые). Хотя, некоторые особо ушлые пишут в даташитах "Flash" - SST27SF512
Для программирования требуют напряжения Vpp = 12...13,5В, как правило повышенного напряжения питания Vcc = 6...6,5В.
Внутри сама матрица ячеек и минимальная логика - дешифраторы строк и ячеек, управляющая схема по сигналам CE, OE, PGM и входной/выходной буфер.
Управление Vpp и Vcc производится программатором. Это заметно усложняет схему. Т.к. мало того, что в режиме чтения нужно снимать Vpp, но и часто подавать на тот же вывод ROM управляющий сигнал TTL-уровня. Именно так у самой распространенной 27C512.
Для других м/с производители рекомендуют в режиме чтения подавать на ногу Vpp напряжение питания +5В. Если оставить +12, результат непредсказуем. И дополнительно нужно поднимать Vcc до 6...6,5В.

29ххх, 39ххх, 49ххх - все производители называют эти чипы Flash ROM. Не требуют никаких напряжений, кроме напряжения питания +5В. Блягодаря этому могут прошивать непосредственно в устройстве, в котором установлены (материнская плата, видеокарта, сетевая карта и т.п.). Стираются и шьются блоками (страницами). Размер одной страницы обычно от 32 до 512 байт. Внутри м/с содержится специальная схема для прошивки, включающая входной буфер, равный размеру страницы, и таймер.

28xxx - промежуточная серия между 27xxx и 29xxx. Поэтому одни производители называют их EEPROM, другие Flash ROM.
Сходство с серией 27xxx, в том, что возможна побайтовая запись (а не только страницами), и некоторые микросхемы (не все) требуют дополнительного напряжения +12В для прошивки.
Самое главное сходство с 29ххх - не нужно коммутировать Vpp +12В. Достаточно на постоянку подать +12 на Vpp. Коммутация происходит внутри м/с. Отсюда вытекает второе сходство с Flash - возможность внутрисхемной прошивки. Именно поэтому в большинстве случаев 28-ю серию относят именно к Flash.

Надеюсь теперь разногласий станет меньше.
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
Rio444 28xxx можно рассматривать как "странный' вариант RAM типа 61xxx, которая хранит данные и при отключении питания. Из за легкости побайтовой записи есть немалый риск случайно затереть информацию, например CheckIT! затирает содержимое 28xxx "открытой" в адресном пространстве, если подключена нога ^WE.

29xxx и прочие для прошивки требуют специальные команды и затереть их случайно очень нелегко. Команды как правило стандартизованы в документе CFI (Common Flash Interface) комитета JEDEC, но некоторые производители выпендриваются и добавляют свои.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Rio444, благодарю, отличное описание!!
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
Rio444, если что - заранее извиняюсь :)
Не в качестве спора, а для полноты общей картины.

По типам и обозначениям.
Возможно внутренняя структура, логика работы и т.п. конкретных м/c не всегда соответствует их названию,
но для поиска по каталогам и прайсам все же логичнее использовать тип (EEPROM, FLASH), указанный производителем в первых строчках pdf.
Далее буду этой терминологии придерживаться.

По UV-EPROM.
Говорить о распространенности м/c без привязки к годам выпуска имхо некорректно.
Для BIOS XT вполне достаточно объема в 8 кБ, знакогенератор CGA даже в 2 кБ помещается.

Соответственно и напряжения программирования там могут быть до 25В (часто указано на корпусе).
Как примеры из того что под рукой и недавно программировалось:
Intel 2732 Vpp = 25V
Intel 2732A Vpp = 21,5V
Fujitsu MBM27C64-20 Upr = 21 В
К573РФ6А Upr = 19 В
К573РФ4 Upr = 21,5 В
КС573РФ4А Upr = 12,5 В (по факту кристаллл там от SGS Tomson M2764A)

Программирование с поднятием питания с +5 до 6...6,5 В, даже если того требует даташит,
по факту часто может выполняться и без оного. Неоднократно проверялось на тех же РФ и 2764 различных фирм.
Единственно, может увеличиться требуемое количество импульсов программирования,
но суммарная их длительность остается в допустимых пределах.
Позволяет немного упростить схему программатора и управляющую им программу.

По EEPROM.
Как можно было увидеть в описании упоминавшейся X28НC256 команда стирания там остутствует вообще.
И это не единичный случай, еще пример CATALYST CAT28C64B
Это бывает важно для задач, работающих в реальном времени - нет лишних затрат и ожиданий.

По размеру блока/страницы - для EEPROM характерно 32 / 64 / 128 байт в зависимости от объема м/c.
Ну и про кол-во циклов перезаписи: 10К для совсем старых, обычно 100К, у более свежих до 1 миллиона.

По FLASH.
Всегда присутствует команда стирания отдельных блоков или всей микросхемы в целом.
Найти микросхему с малым размером этого блока (т.е. как у EEPROM) весьма проблематично.
У той же Intel P28F001 блоки по 4К / 8К /112К, но она, справедливости ради, конкретно под BIOS материнской заточена.
А например более универсальные SST39SF010A при объеме 128 кбайт имеют все сектора по 4К.

Кол-во циклов перезаписи часто тоже заметно меньше чем у EEPROM.
Начинается от 1К (а бывает и меньше - от десятков раз всего), типично 10К / 100К

Собственно по этим двум параметрам и можно наблюдать практическую разницу/область применения EEPROM и FLASH.
На 100% однозначности не претендую, исключения из любых правил есть...
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
XPOHOMETP, соглашусь, я описывал со своей колокольни, подразумевая биосы для материнских плат от 386-х до Pentium III и видеокарт от VGA ISA до AGP. Мне кажется, это самые востребованные применения в рамках этого форума.

Про то, что EPROM можно шить, подавая Vcc всего 4,5В, вместо 6,5В и Vpp 11,5В, вместо 12,5..13В, я знаю.
Но потом возникают отзывы на форумах: "такие-то м/с прошились все, такие-то только половина, а такие-то этим программатором вообще не шьются".
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
Чуть ближе к теме :)

Rio444, статистику не наводил, но вопросов по XT и 286 имхо ничуть не меньше, чем по 386.
А на 286 BIOS нередко в виде двух микросхем попадался (младший и старший байты). Это 2 х 27256 будет.
Вроде и на первых 386DX без кеш такое видел, но за давностью лет утверждать не берусь.

ISA-видео, те же упомянутые ТС-ом Realtek 3105, Trident 9000 - 27256. На Trident 8900 и 2 х 27128 бывало.
EGA видеокарты - тоже 27128. BOOTROM на сетевых - часто 2764..27128 (тут были и меньше, и больше). И т.д. и т.п.

Так вот все эти м/c имеют Vpp на отдельной ножке, что может значительно упростить схему программатора:
это Vpp хоть тумблером коммутировать можно, хоть ручку выходного напряжения на регулируемом БП крутить.
Т.е. из всех УФ м/c что в панельку DIP-28 поставить можно, а это 2716..27512, только последняя сложна по части Vpp.
Для остальных им можно вообще не рулить от компа и остается вопрос только во времянках.
[q]
Про то, что EPROM можно шить, подавая Vcc всего 4,5В, вместо 6,5В и Vpp 11,5В, вместо 12,5..13В, я знаю.
Но потом возникают отзывы на форумах: "такие-то м/с прошились все, такие-то только половина, а такие-то этим программатором вообще не шьются".
[/q]
Vcc 4,5В и Vpp 11,5В это если от компового БП питать. На ключах и диодных развязках около 0,5В и сядет.
На саму возможность программирования Vcc особо не влияет и упрощать тут смысла нет.
От него больше зависит момент определения перходов 1 >-> 0 (уровень заряда в ячейке).
А вот от Vpp прожиг зависит куда сильнее, и снижать его я не предлагал.
Скорее наоборот - если не шьется, то можно попробовать увеличить в пределах 0,5В от даташита (там 12,5...12,8 в основном).
Ну самый максимум +1В, иначе труп.

Да и для легкого прожига не стоит сильно превышать время стирания, т.к. тоже возможны необратимые изменения.
Лучше в процессе проконтролировать несколько раз - уже стерлось или еще посветить УФ-ом.
[q]
Хотя, некоторые особо ушлые пишут в даташитах "Flash" - SST27SF512
[/q]
Ну если судить по приведенным выше (практическим) критериям - вполне себе Flash.
Отдельная операция стирания присутствует. Количество циклов программирования всего 1000.
Да и стирается только целиком - отдельно с мелкими блоками не поработаешь.

Не буду настаивать на однозначной правильности, но в разговорах под EEPROM обычно понимают место хранения различных (текущих) настроек.
Для чего и требуется большой ресурс по записи и возможность изменять содержимое небольшими блоками.
Из комповой тематики - адрес, прерывания и прочие настройки сетевой карты и т.п. На планках памяти SPD стоит (хотя тоже однократный бывает).
Яркость, контастность и т.д. монитора с кнопочным управлением, в той же LCD матрице параметры в EEPROM...
Да, тут они с последовательным интерфейсом, но суть думаю понятна.

Маленький BIOS ISA-видео в EEPROM конечно тоже поселить можно,
А вот у 28256 /WE находится на месте A14 от 27256. Конфликтик :(
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
XPOHOMETP написал:
[q]
Вроде и на первых 386DX без кеш такое видел, но за давностью лет утверждать не берусь.
[/q]
Есть такая у меня, все правильно.


XPOHOMETP написал:
[q]
Для остальных им можно вообще не рулить от компа и остается вопрос только во времянках.
[/q]
Так это иесть главный вопрос, препятствующий нормальному программированию
E(E)PROM в не предназначенных для этого устройствах.

Еще раз - главное отличие EEPROM от flash не в размерах блоков (или единый блок,
builk erase), не в напряжении программирования, не в байтовой/секторной записи, не
в способе стирания, не в гарантируемом количестве циклов перезаписи.

Главное отличие в том, что истинная flash содержит на кристале АСЗ (автомат
стирания и записи), позволяющий не беспокоиться о длительностях команд,
а истинная EEPOM не имеет такого АСЗ и требует выдерживания временной
диаграммы, что и препятствует программированию его в целевом устройстве,
для этого не предназначенном (как в этой теме, в вопросе TS).
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
XPOHOMETP написал:
[q]
Ну если судить по приведенным выше (практическим) критериям - вполне себе Flash.
[/q]
Не вижу ничего общего с flash, просто EEPROM с более быстрым программированием.
[q]
These devices are functionally (read and program) and pin compatible with industry standard
EPROM products.
[/q]
Истинная EEPROM прекрасно программируется в старых программаторах
для обычных UV/OTP-EPROM, только стереть нельзя. С flash это невозможно.
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
i8088, в первом же моем ответе в этой теме говорил про временную диаграмму:
[q]
если оставить в стороне решаемые вопросы с мелким несовпадением цоколевки, напряжений программирования и т.п.,
то вопрос с обеспечением паузы на время программирования блока в EEPROM ~ 3 мс остается открытым.
[/q]
Спору нет, все что Вы говорите - правильно,
Пытался лишь разобрать с практической кочки зрения вопрос
почему производитель иногда указывает в даташите тип м/c, не соответствующий ее внутреннему содержимому.
Так же, как и Rio444, с колокольни свой практики, возможно с микроконтроллерным перекосом.

На форумах, не зная конкретных читателей, порой сложно определить ту степень подробности, с которой освещать вопрос.
Боюсь, что знания об АСЗ и даже чтение даташита на конкретную м/c, не помогут заметному числу участников
самостоятельно определить возможность программирования той или иной м/c в их девайсе (при отсутствии ее в списке поддерживаемых)...


Ну и напоследок

i8088 написал:
[q]
Истинная EEPROM прекрасно программируется в старых программаторах
для обычных UV/OTP-EPROM, только стереть нельзя. С flash это невозможно.
[/q]
Если от возможных электрических нестыковок отстраниться (о чем выше мы вроде договорились),
то на практике вопрос останется в том, насколько мы можем управлять софтом программатора.
Лучший вариант - наличие исходников, промежуточный - возможность например добавлять собственные скрипты, худший - вообще никак.

Ту же X28HC256, которая по даташиту EEPROM, а по факту типа FLASH,
с вероятностью 95% смогу прошить на заводском программаторе с поддержкой лишь UV-EPROM.
Без модификации софта. И без глобальных аппаратных доработок (некоторые несовпадения выше указаны).
Правда не быстро...
<<Назад  Вперед>> Страницы: 1 2 3 4 * 5
Печать
Полигон-2 »   Технический флейм »   Как программно прошивать 28xxx для ISA-видео ?
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS