05打造开源IBM PC/XT兼容机 —— 过程简记
前些时间在 GitHub 上找到一款开源的 IBM PC/XT 兼容机,电路布线工整,设计完善,根据设计者在 Github 上的资料,应该就职于 Intel。正巧手头有几块 8088 CPU 和 SRAM 芯片,故将仓库里的 Gerber 文件打包上传到了嘉立创下单平台,打样了几块 PCB,并在淘宝上购买了许多相关的 IC。以下为制作过程。
组装过程
首先从较低的元件焊起,这包括了晶振、若干个直插电阻和一个 1N4148 二极管。
晶振是整个系统的时钟源,系统上电后不断产生 28.6MHz 的脉冲信号,脉冲信号经时钟驱动芯片分频后得到 4.77MHz 的系统时钟信号。也就是说,CPU 每秒将会经历 477 万个时钟周期。每个总线周期(即读取或写入一个字节)通常对应四个时钟周期(T1~T4)。晶振部位特写:
再焊接高度较高的元件,包括一系列 DIP 芯片座和若干排阻。
再焊接更高的 PLCC 芯片座、退藕电容(绿)和滤波电容(黄)。
焊接复位按钮和键盘插座:
焊接完毕后的样子。除了复位按钮和键盘插座,这里还焊接了用来播放开机音乐的无源蜂鸣器(包括驱动三极管)、以及时钟电路中的可调电容。
这里再焊接几根硬连线,分别是:
- F1 保险丝,用于保护键盘插座上的 5V 供电,防止短路烧毁其他部分。由于手头没有保险丝,这里直接硬连线。
- XSEL 用于选择晶振频率,根据这块板的文档,如果使用了 28.6 MHz 的晶振,这里应当为连接状态。
- SW2 的前两个开关,根据这块板的文档,这两个开关控制了显示模式,全部为开表示使用 EGA/VGA 显卡。由于 MDA/CGA 显卡现在已经极难找到,手头也没有 3 位的拨码开关,这里就直接硬连线了。
下图为所有芯片安装好后的样子,右上角两个长条状的芯片分别为 8087 FPU 和 8088 CPU;下方方形的芯片为 XT 芯片组,集成了中断、DMA、时钟、键盘控制以及一系列逻辑芯片;左下方两个相同的芯片为 512K SRAM,共同组成了 1MB 的内存,虽然可用的没有这么多;上方的 SST 芯片则为一片 Flash 芯片,里面存储了 64K 的 BIOS 代码。
调试过程
将兼容机主板、VGA 显卡和 ATX 电源都插到 ISA 总线背板上,按下背板上的电源键,为系统上电。
开机后,出现自检界面,识别出了 8088 CPU、8087 FPU、VGA 显卡和 640K 标准内存。不过由于总线上没有存储设备,BIOS 并没有能够装入系统。若增加合适的软驱或硬盘,这套系统应该可以运行 DOS 或 Windows 2.0。