有天,朋友来电话,告诉他单位的小局域网因为频繁停电损坏了三块主板,向我求救。于是我马上出动,到达现场后,采用替换法检查,发现主板的BIOS出现了问题无法正常开机。用热插拔法修复无效,断定是BIOS芯片物理损坏。
用编程器把好芯片的数据读出,然后分别写到三片 AT29C020中。没想到,当把写好的芯片插到主板上后,通电开机却没有反应,修复没有成功。
28F002BX是Intel推出的第一代可擦除 BIOS芯片,它的内部数据结构是分块的(如图所示)。其中的BOOTBLOCK块是存储BIOS基本启动信息的,它支持ISA形式的显卡,当BIOS升级失败后,可以从BOOTBLOCK启动并修复BIOS,这种设计思路被BIOS刷新程序采用并一直延续到今。在擦除时,28F001是以Byte为最小修改单位的;在写入数据时,芯片上要加上一定的编程电压,并且BOOTBLOCK块内数据的擦除要加上特定的删除电压。
29C020是 FlashROM(快闪ROM),属于单电压芯片。FlashROM和EEPROM芯片最大的区别是,在删除数据时,不需加特定的编程电压。另外,FlashROM在删除资料时,并非以 Byte为基本单位,而是以Sector(又称Block)为最小单位。Sector的大小随厂商的不同而有所不同,只有在写入时,才以Byte为最小单位写入。
以往主板上用的还有27系列的芯片。27系列的芯片属于EPROM,其内的资料是用EPROM擦除器(EPROMEraser)发出的紫外线照射来擦除的,并且要用专用的编程器才可以把资料重新再写入,往芯片中写内容时也必须要加一定的编程电压。
在主板上,BIOS芯片平时只处于读数据的状态,从原理上分析,27、28、29系列的芯片是可以代用的,如果不考虑升级的因素,三者是兼容的。因此我怀疑,问题可能是属于主板太老,不支持按页刷新的芯片,亦即老主板与新型芯片“门不当,户不对”。找来一片28F020(也是老古董啦,现在市面上基本已找不到了),在编程器上刷入程序,插到主板上,开机恢复正常,证实了自己的猜测。为了进一步证实上述分析的正确性,用一片27C020写入程序,插入主板上BIOS插座后,通电开机,机器也能正常工作,由此说明此主板的确不支持新式的芯片。
尽管从理论上讲,27、28、29系列的芯片是可以代用的。但实际应用中要注意,有些主板可能由于设计方面的原因,对有些类型的芯片可能不能很好地支持,若遇到这种情况,可以找不同类型的芯片多试几次。
新闻热点
疑难解答