Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Технический флейм » Как программно прошивать 28xxx для ISA-видео ? |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 | Печать |
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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 апреля 2018 14:18 Сообщение отредактировано: 25 апреля 2018 14:21
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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 апреля 2018 15:40 Сообщение отредактировано: 25 апреля 2018 15:44
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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 25 апреля 2018 16:23 Сообщение отредактировано: 25 апреля 2018 16:23
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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 апреля 2018 21:09 Сообщение отредактировано: 26 апреля 2018 21:18
Чуть ближе к теме 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. Для остальных им можно вообще не рулить от компа и остается вопрос только во времянках. Vcc 4,5В и Vpp 11,5В это если от компового БП питать. На ключах и диодных развязках около 0,5В и сядет. Про то, что EPROM можно шить, подавая Vcc всего 4,5В, вместо 6,5В и Vpp 11,5В, вместо 12,5..13В, я знаю. На саму возможность программирования Vcc особо не влияет и упрощать тут смысла нет. От него больше зависит момент определения перходов 1 >-> 0 (уровень заряда в ячейке). А вот от Vpp прожиг зависит куда сильнее, и снижать его я не предлагал. Скорее наоборот - если не шьется, то можно попробовать увеличить в пределах 0,5В от даташита (там 12,5...12,8 в основном). Ну самый максимум +1В, иначе труп. Да и для легкого прожига не стоит сильно превышать время стирания, т.к. тоже возможны необратимые изменения. Лучше в процессе проконтролировать несколько раз - уже стерлось или еще посветить УФ-ом. Ну если судить по приведенным выше (практическим) критериям - вполне себе Flash. Хотя, некоторые особо ушлые пишут в даташитах "Flash" - SST27SF512 Отдельная операция стирания присутствует. Количество циклов программирования всего 1000. Да и стирается только целиком - отдельно с мелкими блоками не поработаешь. Не буду настаивать на однозначной правильности, но в разговорах под EEPROM обычно понимают место хранения различных (текущих) настроек. Для чего и требуется большой ресурс по записи и возможность изменять содержимое небольшими блоками. Из комповой тематики - адрес, прерывания и прочие настройки сетевой карты и т.п. На планках памяти SPD стоит (хотя тоже однократный бывает). Яркость, контастность и т.д. монитора с кнопочным управлением, в той же LCD матрице параметры в EEPROM... Да, тут они с последовательным интерфейсом, но суть думаю понятна. Маленький BIOS ISA-видео в EEPROM конечно тоже поселить можно, А вот у 28256 /WE находится на месте A14 от 27256. Конфликтик |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 апреля 2018 21:28 Сообщение отредактировано: 26 апреля 2018 21:46
XPOHOMETP написал: Есть такая у меня, все правильно. Вроде и на первых 386DX без кеш такое видел, но за давностью лет утверждать не берусь. XPOHOMETP написал: Так это иесть главный вопрос, препятствующий нормальному программированию Для остальных им можно вообще не рулить от компа и остается вопрос только во времянках. E(E)PROM в не предназначенных для этого устройствах. Еще раз - главное отличие EEPROM от flash не в размерах блоков (или единый блок, builk erase), не в напряжении программирования, не в байтовой/секторной записи, не в способе стирания, не в гарантируемом количестве циклов перезаписи. Главное отличие в том, что истинная flash содержит на кристале АСЗ (автомат стирания и записи), позволяющий не беспокоиться о длительностях команд, а истинная EEPOM не имеет такого АСЗ и требует выдерживания временной диаграммы, что и препятствует программированию его в целевом устройстве, для этого не предназначенном (как в этой теме, в вопросе TS). |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 апреля 2018 21:40 Сообщение отредактировано: 26 апреля 2018 21:43
XPOHOMETP написал: Не вижу ничего общего с flash, просто EEPROM с более быстрым программированием. Ну если судить по приведенным выше (практическим) критериям - вполне себе Flash. Истинная EEPROM прекрасно программируется в старых программаторах These devices are functionally (read and program) and pin compatible with industry standard для обычных UV/OTP-EPROM, только стереть нельзя. С flash это невозможно. |
XPOHOMETP
Advanced Member
Всего сообщений: 752 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мая 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 26 апреля 2018 23:53 Сообщение отредактировано: 26 апреля 2018 23:57
i8088, в первом же моем ответе в этой теме говорил про временную диаграмму: Спору нет, все что Вы говорите - правильно, если оставить в стороне решаемые вопросы с мелким несовпадением цоколевки, напряжений программирования и т.п., Пытался лишь разобрать с практической кочки зрения вопрос почему производитель иногда указывает в даташите тип м/c, не соответствующий ее внутреннему содержимому. Так же, как и Rio444, с колокольни свой практики, возможно с микроконтроллерным перекосом. На форумах, не зная конкретных читателей, порой сложно определить ту степень подробности, с которой освещать вопрос. Боюсь, что знания об АСЗ и даже чтение даташита на конкретную м/c, не помогут заметному числу участников самостоятельно определить возможность программирования той или иной м/c в их девайсе (при отсутствии ее в списке поддерживаемых)... Ну и напоследок i8088 написал: Если от возможных электрических нестыковок отстраниться (о чем выше мы вроде договорились), Истинная EEPROM прекрасно программируется в старых программаторах то на практике вопрос останется в том, насколько мы можем управлять софтом программатора. Лучший вариант - наличие исходников, промежуточный - возможность например добавлять собственные скрипты, худший - вообще никак. Ту же X28HC256, которая по даташиту EEPROM, а по факту типа FLASH, с вероятностью 95% смогу прошить на заводском программаторе с поддержкой лишь UV-EPROM. Без модификации софта. И без глобальных аппаратных доработок (некоторые несовпадения выше указаны). Правда не быстро... |
<<Назад Вперед>> | Страницы: 1 2 3 4 * 5 | Печать |
Полигон-2 » Технический флейм » Как программно прошивать 28xxx для ISA-видео ? |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |