说明:此贴本想发在DIY版块的,但是与此版块其实关系也很大,因为上面使用到的芯片以及技术均是70-80年代相关的,故选择发帖在此处。
相信大家对8088CPU以及微机原理已经耳熟能详,楼主以前大学的时候也研究过,但是限于时间以及技术条件,只是对理论以及最小系统做过深入研究。现在我综合所学来自己动手制作一台8088CPU的机器。让它能够运行BASIC解释程序以及DOS。是的,没有看错。就是DOS。
一,系统组成
1,芯片选用:
CPU:8088,时钟芯片8284,总线控制器8288,DMA控制器8237,中断控制器8259,定时/计数器8253,并行控制器8255。以及一些必要的逻辑芯片。
2,内存:
RAM使用SRAM。同时也兼容DRAM
ROM使用FLASH芯片。ROM大小64KB,使用两片32KB的ROM芯片。ROM的作用是装载BIOS和BASIC解释程序。
3,接口:
预留一个PS2五针接口,接键盘。 4个8位的ISA插槽,可以插入各种扩展卡,如硬盘卡,软驱卡,打印机扩展以及显卡。
二,原理图设计(原理图和PCB板直接上传了附件就不贴详细图纸了)
1,CPU电路:8284提供所有的时钟,8087做协处理器,8259中断控制,8288总线控制,以及LS573和LS245做地址/数据线驱动。
(原理图和PCB板直接上传文件就不贴详细图纸了)
2,8255 I/O接口电路
8255主要是扩展IO,用于各种系统设置以及键盘控制。
(原理图和PCB板直接上传文件就不贴详细图纸了)
3,DMA控制器和定时/计数器
DMA控制器是整个系统所不能缺少的,因为硬盘,软盘,显卡都是需要传送大量数据的。如果没有DMA控制器的话所有工作都要靠CPU来做。 DMA和8253芯片配合起来产生了DRAM所需的动态刷新信号。
(原理图和PCB板直接上传文件就不贴详细图纸了)
4,RAM和ROM
RAM在系统板上预留512KB(可通过扩展卡扩展,最大640kb)。ROM共64KB,其中32kb放BIOS,32kb放BASIC。
BIOS的作用非常重要,因为BIOS中有各种芯片的初始化数据,当各种芯片初始化以后BIOS会引导进入软盘中的DOS,如果没有软盘BIOS会寻找硬盘中有没有DISK BIOS。如果有的话就进入硬盘引导。如果也没有硬盘的话BIOS会引导进入BASIC。
(原理图和PCB板直接上传文件就不贴详细图纸了)
5,XT总线
提供4条8位的ISA兼容接口,主要是扩展硬盘或者软盘,显卡。
电源主要有+-5V,+-12V,其中系统运行的话只需要单一的5V就可以了。
三,PCB板设计。
这个没什么好说了,全是线路。
电路板全貌(显卡是购买的8位ISA显卡,VGA)
主板
CPU和DMAC
插上显卡:
接下来是开机,由于我找的这个VGA显示器拍摄效果不太好,只能斜角度拍,各位看官不要介意。
前3行是显卡信息(数据由显卡中的BIOS提供),下面是显卡错误提示和IO板错误提示,512KB内存自检(这个自检是没有意义的,因为没有奇偶校验逻辑)
接下来是要开始引导系统的,但是抱歉,我找了好一段时间也没找到好的硬盘或者软盘(8位ISA卡驱动的温盘太难找了,软驱也找不到个好的)。以后找到了在补上吧。这里等了一段时间后系统找不到可引导的系统,就会直接进到BASIC解释器。
编辑一段程序试试,还是可以运行的。
附件:
附件中图纸分为4个部分,分别是主板,CPU板,DMAC板和640KB内存板。
640KB内存扩展板上的低512KB是和板载的512KB地址重复的,意思是使用扩展板的话就可以不使用板载内存。
其中640KB内存板是通用与8位PC机的,也就是说大家手里有8位PC机的话也可以使用它。
RAM板还没制作出来,先来个3D预览吧
====完,谢谢大家=====4楼上传 ROM BIOS和BASIC解释程序