忘了提及自治CPU的想法是当年论坛里 龙少大神的帖子勾起我兴趣的,十分感谢当年龙少的分享
前段时间发了一个8088主板测试卡点亮的帖子,收到了大家的热烈关注,于是乎想到做一个新的直播贴,记录一下自己的制作过程。
第一次点亮测试卡LED
这个项目是我在大三期间启动的,那时我在尝试自制CPU的过程中遇到了一些瓶颈,另外加之学习了微机原理这门课程,于是乎想到了先仿制一块8088主板后参考其设计再自己设计CPU的方法。自此之后在歪楼的路上越走越远。。。。
如今已经毕业快一年时间了,中间看着柜子里躺着和砖一样的第一次仿制的主板,甚是不甘,于是就在几个月前,我再次开始了尝试。所以在直播目前的进度的同时,我也会考考古,慢慢把之前的一些过程也记录下来。
[修改于 6年7个月前 - 2018/05/26 14:30:06]
首先先上个图,让我们记住这台世界上第一台被称之为PC的计算机,IBM PC-XT,1983年由IBM量产推出,其实际信号按时间向后分为 PC 5150,和XT 5155、 XT5160,基本区别就是一些PCB主板布局的小改动和优化,除了BIOS外,程序基本相差不大,所以这三个型号的计算机就被统称为 PC-XT,我们国家的最早期的长城计算机也是由他改版而来。
当年IBM推出PCTX系列计算机时,就像那个年代大部分的电器一样,都附带了电路图,无疑给我们仿制当年的主板带来了极大的方便,遥记得那是搜索到了它主板的原理图,高兴的像个XXX。不过最令人叹为观止的还是那几十页用手画的原理图,膜拜当年的电子大佬OZT,硬生生手绘出了上千根连线的PCB。。一起来欣赏一下。
不过,最坑爹的地方来了,我T--M--这份电路图居然有好多错误的地方,当然那年那个天真的我是不知道的,我以为电路上的错误最多也就是手标的 OFFPAGE标号(就是图纸两侧跨页的信号的去向页数)有问题,没想到啊整个突然就连最基础的逻辑电路都有问题,于是乎,当年做的第一块板子也就自然的不能用了。。。
不过由于当时基于求成,并没有仔细分析学习,他的运作机理,当时开机没反应后,拿着逻辑分析仪看了半天也没研究出个所以然,然后,然后就没有然后了,这次失败让我把这个项目整整搁置了一年多。。。
附上一张当年第一个版本的PCB照片:
密密麻麻的走线,还好有自动布线,要是自己布真的要死人了。。。
意义不明的波形,只能确定晶振和8284在工作
如前面所说在第一次做完了一块“砖板”以后甚是不甘,觉得可能是自己抄错了电路图或者是理解错一些地方的标号了,于是乎打印出了所有的官方图纸和我自己的图纸开始比对,起初确实发现了一些问题,我抄错的地方,但是在切断错误并焊好跳线以后,板子还是不对,这时候我才想起了官方图纸中一些很大的疑点。
比如:
喂喂,这输入信号怎么是悬浮的啊!!
还有这里,这根线的标号前后完全不一致好伐。
此刻的我陷入了深深的自我怀疑中,是我对电路功能理解错了,还是图纸错了。。不过好在当时启动项目时候,买过一本《IBM PC/XT微型计算机电路原理》
就是这本,不过我没找到原书,买的是一本影印版的,想买正版也没有了
,
于是乎,去年的整个年假都交给了它。当年没好好学微机原理的报应啊。。不过真要说起来,虽然微机原理中的很多内容于这本书中重叠很大,但是这本书本身是以PC-XT主板的运行原理为主线讲述的,所以只学了位机原理还是不一定能够理解这张主板的运行机制。终于功夫不负有心人。。。
(待续)
@bg8npk ;........等我确认电路没问题了,出几张板子。。。实在是太贵了自己快做到破产啦,,PCB打样都花了近千啦。。。
最近没有再继续用数码管测试卡测试板子,因为上次画测试卡时候的失误,不小心把A6 A7地址线的输入从与非门接成了或门,导致测试卡的地址落在了 20H 上,和 中断处理芯片 8259 的地址重合了。所以就重画了一个板子。
顺便就把板子上的数码管增加到了8位,方便到时候调试。
新的板子的地址是 C0H 控制八位数码管显示的开启关闭,这一功能通过向74LS74边沿锁存器内写入数据,而后加载在 74LS374 的使能端上实现,而后E0H~E8H是八个数码管的显示数据。
@虎哥 ;哈谢谢虎哥啦,不用给组织添麻烦啦,只是目前自己在创业困难期,还在维持一些不盈利的项目,有些困难而已,不过马上也就走出去啦~
刚刚去取完测试卡的BOM器件的快递,现在就等PCB啦,既然 元件到了就顺便把自己的库存晒一晒啦。里面有被我不小心摔成两半的8088(心塞),里面比较好玩的是PROM,用紫外线擦除的那种,当年启动项目时候,就因为要搞这个把烧写器擦写器都买了,也算是下了血本了。里面黄色的IC和白色的IC是不是很不一样~,白色的是主板上的排阻,黄色的是我为了保证测试卡和主板的统一风格,买的同一时期的排阻,8个1K的分离排阻封装,那个年代的排阻也很好看啊~。
那个和8088一样大的看起来又很高端的就是 8087 协处理器啦,全镀金的看着相当高端大气,就是贵了点,不过目前由于BIOS都没跑通就还没有安在主板上,这个浮点运算处理器是用来辅助8088工作的,可以选装在上面,然后通过设置跳线开关来开启。
回头拿显微镜看看那块芯片,以后玩意8088买不到了,还能逆向,本科学的微电子,最后一段时期学校教了不少IC逆向的计数和软件,上几张图,这是ADC IC的 4-10译码器结构的显微图,每层抛掉以后照相合成的。
上两张编程器 和 紫外擦除器的照片,懒得照实物了,就从淘宝记录里翻出来放图啦。
之前想到用自己写的BIOS测试主板前我就在考虑如果一直用PROM也太不方便了,虽然专门卖的紫外擦除器比用放大镜聚焦阳光要方便许多,但也至少到十几分钟才能擦除完成,而且开了以后生成的臭氧味道蛮大的,对身体也不好。对我这种菜鸡来说写程序又不可能以此完全没问题,所以还是需要一种更快捷的IC来取代PROM,所幸有不少EPROM都都是兼容这个封装的PROM的。我现在用的是 AT28C256 。
不过问题又来了,当时做板子时候由于不确定板子是不是能用,就没有做 2mm的厚板(要加100的工程费),同时铜层也没有用2oz的(原因同上),而我当时自动布线线宽又比较细 6~8mil(粗的实在是布不开啊),导致我一度担心板子的机械强度太低,容易在插拔iC或者暴力取放的时候会把铜线扯断(板子太大了),或者造成不稳定的连接从而给后期调试带来麻烦。
可我这程序不可能一次完全写完整啊,必然要来回插拔ROM,于是上次就买了这个神器。
唔~ 方便多了
@hzshzshzs1 ;唔,可能够呛,我们搞的不算是上面极客的东西,就是普通的智能家居。。困难是因为上一轮的融资搞一半中断了,结果产品没出来,现在只能是自己搭钱撑到产品出来再说啦。
刚刚快晚上的时候PCB到了,取货开焊~
测试程序编写中。。。先看看数码管能不能点亮
引用Foresights发表于23楼的内容之前想到用自己写的BIOS测试主板前我就在考虑如果一直用PROM也太不方便了,虽然专门卖的紫外擦除器...
纠正此处错误,用的是EEPROM,不是EPROM
8088主板测试第1阶段测试通过,确认各寄存器及条件跳转功能无误,CPU功能正常且完整
接下来一段时间,就不发动态了,就是按着 IBM 的BIOS手册程序一段一段的抄来做外围电路的测试了。等我取得阶段性成果后再更新。
@teenagerold ;呃,我是为了完全复刻当年的主板形态的,如果用FPGA,那8088都不用装啦
@rpg-7 ;个人固执把,这就好像古建修复,里面到处用钉子角铁,不也失去了原本的意义了嘛。
@虎哥 ;,虎哥有没这软件的安装包,到时候安上,要不到时候装个系统啥软件也没有。虽然我现在连BIOS自检都过不了
买了块ISA测试卡想偷偷懒,抱着侥幸看看能不能检测出问题,结果。。哎。灯都不亮,果然还是要自己写测试程序了。
测试到第二段 BIOS 自检就失败了,目前来看是 8253 定时器相关功能有问题,用逻辑分析仪采样看看。
对照8253波形说明,发现8253引脚信号工作异常,在计数的时候其CNT值一致在异常跳动,感觉是8253坏了,单也有可能是相关的总线芯片有问题,已经拍了几个新的8253,过几天回来就能继续测试了。
哈哈哈哈,同志们我又回来了。
三年了断断续续做了整整三年了,今天我终于把屏幕点亮了,内存自检刚跑通,我把显卡插上,瞬间屏幕就亮了。哈哈哈哈哈哈,(疯癫中)视频还在审核状态 等下估计就能看了
XXXXXXXXXXXXXXXXXXXXXXXX/video/av27234357/
虎哥没玩过8088吧?wps对于它太高级了,要在EGA以上模式,8088原配可是CGA,早版的CCE...
我已经找不到CGA的显示器了,这回做的直接就是EGA VGA的显卡,貌似是可以装个汉卡的
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。