My Z80 computer design

Author Avatar
ZLXT 1月 12, 2019

Z80电脑总设计蓝图

  大学四年接近尾声,三年学了许多与专业无关的方面,反倒是本专业的东西什么都没学会,这个项目算是我总结三年来所学的成果。
  项目使用Z80作为CPU,这是国内现在最容易买到,还便宜的8bit时代处理器。性能在那个时代也是比较强的。6502虽然也不错,但比较难买到,而且还比较贵。最新的Z80型号中有20MHz的,与当时普遍的4MHz来比较,可以说是相当的快了。
  设计参照FAP Z80 Computer,此项目中有许多可学之处,有兴趣可以去看看。与FAP Z80 Computer不同,我将总体设计分为:底部总线板,控制板,CPU板,内存板,显卡及声卡板,I/O板。其中有相同之处也有不同之处,我会在下边详细说明。

  大体上的设计在于重视系统的灵活性。因为各模块使用了比较贵的控制芯片,所以在实现本身功能的同时,尽量将模块设计成单独的系统,以后还可以作为开发板来使用。


底部总线板

  底部总线板用于各板之间的信号连接,采用双排40Pin的排插组成,每个模块都有80条线路。40条已经安排使用了,用于Z80所有的引脚引出。剩下40条用来作为备用的功能扩展使用。


控制板

  控制板由STM32F407作为控制器,加上2.2寸显示屏和少量按键组成。采用高性能的F4系列是为了更好的监控和控制Z80的运行。基础功能:三总线数据的监视,运行的控制,EEPROM的读写。较高的性能可以实现指令的解析,作为与电脑进行通信的从机,在电脑上实现上位软件来控制F4进而控制Z80,实现比较复杂的功能。


CPU板

  CPU板主要是将Z80的所有引脚进行引出到总线上。通过双端芯片进行缓冲,提高引脚的驱动能力。


内存板

  内存板由ROM和RAM组成。Z80的地址总线为16位,可寻址一共64K的内存空间。其中ROM的大小暂时定为32K,位于0X0000到0X7FFF,用于以后对系统的引导。RAM的具体大小还未定下,计划是通过分页机制来实现大于64K空间限制的寻址,每个分页定为16K。


显卡及声卡板

  显卡和声卡板由FPGA实现。显卡部分有VGA接口,如果有可能还会加入HDMI接口。主要功能是实现彩色的文本模式显示。256个(1字节)可选的文本块。每个文本块的像素都可以独立编辑色彩。实现类似Gamboy的PPU功能。声卡部分参考Github上的一个项目,暂时还没有研究。


I/O板

  I/O板部分实现与外设的通信。提供USB接口,ESP-01接口,SD卡接口等。I/O卡最后设计,前边的工程量就很大了,等做完前边的工作再详细思考这个的设计方案。