Главная Продукция Статьи Тесты FAQ Downloads Форум Ссылки

 Доработка Radeon VE, Часть I: BIOS.

      Мы предупреждаем: Этот материал является результатом эксперимента и не призывает к изменению конструкции видеокарты.

      Автор и редакция сайта не несут ответственности за поломку видеокарты или других комплектующих в результате её модификации.


      Просто имейте ввиду, что у автора все работает :) Но работа требует внимания, определенных знаний и навыков.

 1. Предисловие.

      Как известно, при производстве карт на базе Radeon VE экономят на всем, на чем можно, и частично на том, на чем нельзя ;). Достаточно часто вместо Flash для хранения BIOS используется EEPROM. Это статья посвящена тому, как сделать такой BIOS прошиваемым.

 Как узнать, что стоит на плате?

      Прежде всего надо определить, что за микросхема установлена на плате.

      Стандартная маркировка микросхем:


      "W29EE" - серия, "011" - размер, "-15" - время доступа.

      Расшифровку можно сделать по нижеприведенным таблицам маркировок и корпусов:
Серия Тип Vcc/Vpp Архитектура Комментарий
  xx27C Parallel EEPROM 3.3/5/12V - -
  xx28xx Parallel Flash 12V BootBlock В качестве видеобиос не используются.
  AT29C Parallel Flash 5V SectorErase производитель Atmel
  AT29LV Parallel Flash 3.3V SectorErase производитель Atmel
  A290 Parallel Flash 5V BootBlock производитель Amic
  xx29F Parallel Flash 5V BootBlock -
  V29C51 Parallel Flash 5V BootBlock произв-ль Mosel Vitelic
  V29LC51 Parallel Flash 2.7/3.3V BootBlock произв-ль Mosel Vitelic
  xx29EE Parallel Flash 5V SectorErase EEPROM - совместимые
  xx29LE Parallel Flash 2.7/3.3V SectorErase EEPROM - совместимые
  xx39SF Parallel Flash 5V SectorErase -
  xx39VF Parallel Flash 2.7/3.3V SectorErase -
  xx39LV Parallel Flash 3.0V SectorErase -
  AT49F Parallel Flash 5V BootBlock производитель Atmel
  xx25F Serial Flash 5V BulkErase -
  xx25LV Serial Flash 2.7/3.3V BulkErase -
  xx25P Serial Flash 1.8/2.7V BulkErase -
  AT45DB Serial Flash 2.7/3.3/3.6V BulkErase Atmel, конструктив DataFlash Card
      Для использования в качестве видеобиос подходит как Flash с последовательным доступом, так и Flash со стандартной для BIOS материнских плат параллельной архитектурой (8-разрядная шина). Архитектура определяет организацию микросхемы:

 • BootBlock - Создавались для использования в материнских платах. Имеют один или несколько основных блоков достаточно большого размера (используются под основной код BIOS), и 3 небольших (8-16Kb) блока в конце адресного пространства. Два первых использутся под ESCD и DMI, последний (как правило, с программной или аппаратной защитой) - под BootBlock. Прошивальщиком FlashRom/AtiFlash стираются и программируются только полностью, как BulkErase.

 • SectorErase - В отличие от BootBlock, их можно програмировать и стирать не большими блоками, а посекторно. Размер сектора, как правило, 64-128 байт.

 • BulkErase - Стираются и программируются только целиком.

Размер микросхем:
Маркировка Размер, килобит
  256   256
  05,512   512
  01,010,011,001   1024
  020,002   2048
  040,004   4096
    На сегодня есть микросхемы и большего объема, но для наших целей они не используются.

Возможные варианты разводок:
tsop-8
      Микросхема с последовательным доступом, корпус TSOP-8. Как правило, это Flash. Перепаивать нет необходимости.
PLCC-32
      Микросхема с параллельным доступом, корпус PLCC-32. На Radeon VE это часто EEPROM. Снять ее можно без особых проблем, но припаять такую микросхему человеку без опыта да еще обычным паяльником очень тяжело. К счастью, обычно есть еще разводка под DIP-32 или TSOP-8.
DIP-28
      Микросхема с параллельным доступом, корпус DIP-28/32. В DIP28 (28 ножек) - EEPROM. Flash в этом корпусе нет. При DIP-32 (32 ножки) возможны варианты... Смотрите маркировку.

      Если у вас Flash, проблем с прошивкой возникнуть не должно. Если же из платы торчит EEPROM его надо... правильно, заменить на Flash. Сначала надо выбрать микросхему. Вполне возможно, подойдет микросхема из старой материнской платы, например, очень распространенная Winbond 29EE011.

      Прежде всего, под микросхему должна быть разводка на плате (Помните, PLCC-32 микросхемы одним паяльником припаивать ОЧЕНЬ сложно. Лучше найти микросхему в DIP-32, или, если нет разводки, в TSOP-8), и она должна быть совместима по питанию с установленной на плате EEPROM, т. е., поддерживать тоже напряжение для чтения/записи. Это напряжение можно посмотреть в документации на EEPROM, или же просто измерить на микросхеме (Vdd):
DIP-32
PLCC-32
      Программа-прошивальщик Atiflash/Flashrom поддерживает следующие типы микросхем:
Производитель Маркировка
  ATMEL   AT29C256
  AT29LV256
  AT29C512
  AT29LV512
  AT29C010A
  AT29LV010A
  AT29C020
  AT29LV020
  AT29C040A
  AT29LV040A
  AT49LV010
  AT49F001N
  AT49F511
  AT49F001T
  AT49BV512
  AT49F512
  AT25F1024
  AT45DB011
  AMD   AM29F010AT
  AM29F002B
  AM29F002B
  SST   29EE512
  29LE512
  29EE010
  29LE010
  SST39SF512
  SST39SF010
  SST39VF512
  SST39VF010
  M25P05
  M25P10
  MXIC   MX29F512
  MX29F001
  MX29F001
  MOSEL VITELIC   V29LC51001
  V29C51001T
  V29C51001T
  V29C51000T
  V29C51000T
  V29LC51000
  WINBOND   W29EE011
  W29EE512
  AMIC   A290011
  PMC   Pm39LV010R
  NEXFLASH / ISSI   NX25F011B
      Что делать, если вы не нашли здесь вашу микросхему, или ваша микросхема неверно идентифицируется прошивальщиком? Надо посмотреть DeviceID/VendorID микросхемы командой flashrom -i и добавить ее в список. Главное, чтобы производитель был известен программе. Делается это так: открываете файл atiflash.cfg или flashrom.rom (в зависимости от прошивальщика), и видите следующую запись (для примера взят Winbond):

      ; WINBOND

      ROM C1DA W29EE011 0x20000 128
      ROM C8DA W29EE512 0x10000 128

    Winbond - все понятно, это название производителя. Далее идет описание микросхем вида:

 •  ROM - указатель на начало идентификатора.

 •  C1DA - DeviceID, VendorID - уникальные идентификаторы микросхемы, по 2 байта каждый (есть в документации на микросхему, DA=Winbond). Для микросхем с последовательным доступом - 0.

 •  W29EE011 - маркировка микросхемы.

 •  0x20000 - размер микросхемы в килобайтах (шестнадцатеричный формат).

 •  128 - размер сектора микросхемы (есть в документации на микросхему). Для BootBlock и целиком стираемых - 0.

      Даже если вы не нашли производителя микросхемы в списке, попробуйте выяснить, не совместима ли его система команд с какой-либо из вышеперечисленных (например, есть достаточно много клонов AMD с аналогичным набором команд). Если совместима, опишите микросхему в соответствующем разделе.

  Замена микросхемы

      Итак, микросхема выбрана. Прежде всего, надо снять с платы старую микросхему. Микросхемы в корпусе DIP, как правило, стоят в "кроватках", так что снять их - не проблема. С микросхемой же в PLCC-32 придется повозиться - ее необходимо выпаять, аккуратно поднимая лезвием каждую ногу, что довольно муторно. Если не жалко, можно отрезать сверху корпус от ног микросхемы, а затем выпаять ее бренные останки в виде ног ;) - так быстрее, и меньше риск повредить контактные площадки на плате. Но от микросхемы, естественно, остается одно воспоминание. ВНИМАНИЕ: через контактные площадки для PLCC-32 микросхемы могут проходить дорожки, нужные и для DIP-32. Если вы повредите металлизацию на контактной площадке, необходимо будет восстановить дорожку:


      Вам будет проще, - вы уже предупреждены :) В принципе, использование навесных проводов возможно, но нежелательно. Частота все же достаточно большая - порядка нескольких мегагерц.

      В результате работы паяльником у нас есть девственно чистая плата с пятнами канифоли (шутка ;) Теперь необходимо поставить Flash. Но прежде чем ставить микросхему, надо удостовериться, что она будет нормально работать. Прежде всего проверьте разводку: микросхем с нестандартной разводкой мало, но перестраховаться не помешает. На рисунке, как можно заметить, разводка под PLCC-32 для стандартных микросхем не подойдет - смещены линии даннных:



       

      Микросхемы 74HC374D в корпусах TSOP-20 - триггеры, использующиеся как защелки сигналов A0..A15. Также вы видите разводку под микросхему в 14-контактном корпусе. Вот тут-то и начинается самое интересное - там должна стоять микросхема 74HC74D, которая "защелкивает" A16 и WE#. Для 64Kb EEPROM она не нужна, и поэтому ее часто не ставят на плату, но если вы хотите ставить мегабитную микросхему или прошивать Flash прямо на видеокарте, эту 74HC74D необходимо впаять. Ее можно снять со старой материнской платы, или же купить в магазине типа Чип&Дип - стоит она порядка 10 рублей. Не забудьте убрать резистор, подтягивающий WE# к Vcc. Если вы все же не нашли ее, а микросхема у вас мегабитная, подтяните A16 к земле через резистор на 10K, а резистор, подтягивающий WE# к Vcc не трогайте. Оставшейся емкости вам хватит, и читаться все будет корректно. Если же меньше двух мегабит микросхем у вас не нашлось, обязательно подтяните к земле A17 - управление им почти никогда не распаивают, а на рисунке, как можно заметить, на него для совместимости с EEPROM в DIP-28 вообще развели Vcc.

      ВНИМАНИЕ: для низковольтной флеш-памяти могут использоваться аналогичные 3.3V микросхемы 74LCX374D и 74LCX74D. Внимательно смотрите, что стоит на плате. Также возможно использование микросхем в корпусах TSSOP:


      Следующий этап - установка новой микросхемы. Паять DIP-32 "намертво" радости мало, так что лучше всего поставить панельку. Если раньше в плате стояла микросхема в DIP-32 (или в DIP-28, но производитель платы не пожадничал на 4 ноги разъема), все прекрасно - панелька уже есть. Для платы с "родной" панелькой DIP-28 придется впаять 4х ногий "обрезок". Если же у вас на плате стояло что-то в PLCC-32, вам придется впаивать всю 32х контактную панельку:


      В микросхему желательно прошить старый образ BIOS. Он читается из EEPROM с соответствующими ключами прошивальщика так, чтобы его размер совпал с размером новой микросхемы. Можно просто дописать в конец существующего образа "FF"ов до нужного размера. Затем получившийся файл прошивается на программаторе (что совсем хорошо и правильно) или на материнской плате "горячей заменой" awdflash'ем с недокументированным ключом -f, дабы он не ругался на содержимое (что уже несколько рисково и требует определенного опыта и практики).

      Итак, все готово и вы дрожащими руками вставляете флешку :)


вставляете видеокарту в AGP и нажимаете большую красную кнопку. Если все работает - прекрасно. Если же раздается веселый писк PC-спикера и экран остается подозрительно черным, не паникуйте. Во-первых, проверьте все контакты - линии A0..A15 должны звонится на Q-выходы 74HC374D, WE# и A16 - на Q-выходы 74HC74D. R# и S#-входы 74HC74D - на +5V, а CP всех микросхем - между собой. Для локализации неисправностей лучше заранее подготовить дискету с прошивальщиком, в autoexec.bat которой прописана команда чтения образа BIOS (flashrom -s 0 bios.bin). Получившийся файл позволит точно локализовать проблему - если блоки данных перепутаны местами, проблема с линиями адреса (с какими конкретно - вычисляется достаточно элементарно). Если же определенный бит в каждом байте всегда равен единице, проблема с линиями данных (опять же, достаточно элементарно вычисляется с каким именно). Если же вообще ничего не читается, проверяйте Vcc, землю, WE# и OE#. Убедитесь, есть ли контакт ноги "кроватки" с отходящим от нее проводником - возможно, вы разломали контактную площадку. Не исключено также, что проводники подходят к отверстию с обеих сторон платы. Проследите, чтобы отверстие было полностью залито припоем.

      Удачи!
2 июня 2002 г. Ворон К. А. aka int13H

На главную страницу


 Главная  Продукция  Статьи  Тесты  FAQ  Downloads  Форум  Ссылки
Логотипы, торговые марки и прочие зарегистрированные знаки принадлежат компании ATI Technologies
Copyright © 2001 - 2002

Пишите нам

  Rambler's Top100 Rambler's Top100