Full picture
19

显卡连接器

19.1 概述

到目前为止,我们已经看到的所有组件使得这块主板堪称一台独立的计算机。输入可以通过 PS/2 接口、UART 和 GPIO 实现,而输出可以通过 UART 配合串行监视器或自定义扩展板来实现。对于生成视频信号的自定义板卡,还有一个除扩展端口之外的其他端口可用。

19.2 硬件实现

为了面向未来并提供更多通用性,主板上提供了一个显卡连接器(或称视频端口)。它标记为 J6,采用 2x20 2.54mm 引脚封装,与市面上几种标准连接器兼容。

该连接器与扩展端口的主要区别在于其位置。它位于主板右侧,设计用于容纳可能与主板位于同一机箱中的扩展板。此外,该板卡将负责视频信号生成,因此应向主板生成 H-Blank 和 V-Blank 信号。

显卡连接器封装的俯视引脚排列如下:

显卡连接器
显卡连接器俯视图

信号说明如下:

  • $5V$ 和 $Gnd$:电源输出。视频板消耗的电流不得超过 1A,否则保险丝 F1 会熔断。
  • $A_0$ 到 $A_{21}$:地址总线,对应于 CPU 在 4MB 物理地址空间内当前正在访问(读取或写入)的字节。$A_0$ 到 $A_{13}$ 线直接来自 Z80 CPU,而 $A_{14}$ 到 $A_{21}$ 线来自 MMU
  • $D_0$ 到 $D_7$:与所有其他元件共享的数据总线。视频板仅在对它发出请求时才应在此线上输出数据,否则视频板必须将这些线保持在高阻抗状态。
  • $\overline{HBLANK}$:当屏幕处于 H-Blank 状态时有效的输入信号,应由视频板生成。该信号可连接到 Z80 PIO 并在软件中配置为触发中断。
  • $\overline{VBLANK}$:当屏幕处于 V-Blank 状态时有效的输入信号,应由视频板生成。该信号可连接到 Z80 PIO 并在软件中配置为触发中断。
  • $\overline{RESET}$:来自复位电路的复位信号,在上电时或手动按下标记为 SW2 的复位按钮时有效。
  • $\overline{WR}$、$\overline{RD}$、$\overline{IOREQ}$、$\overline{MREQ}$:来自 Z80 CPU 的信号。它们可用于确定当前正在执行的是内存操作还是 I/O 操作。有关它们的详细信息可在 Z80 CPU 章节中找到。

19.3 H-Blank 和 V-Blank 信号

水平消隐(H-blank)和垂直消隐(V-blank)信号应由外部视频板生成。这些信号可以保持与主板其余部分不连接,也可以连接到 Z80 PIO 系统端口。要在这两种功能之间切换,可以独立设置跳线 JP4JP3

视频信号跳线
视频信号跳线的状态

这些状态也标记在主板的底部丝印层上。

当跳线配置为允许 H-blank 和 V-blank 连接到主板时,这些信号将首先通过一个漏极开路缓冲器(74LS07),在 PCB 上标记为 U15。得益于此,两者使用 3.3V 逻辑电平是安全的

下图总结了信号如何连接到系统。

视频消隐信号框图
显卡 V/H-Blank 信号框图

由于两个信号最终会连接到 Z80 PIO 的两个不同引脚,因此可以独立配置它们并在软件中启用中断。

19.4 视频板内存映射

该连接器不提供任何可直接连接到视频板的片选信号,而是提供所有物理地址线以及来自 CPU 的内存/IO 信号。得益于此,视频板可以映射到 4MB 空间中的任何位置,除了第一个 MB。

实际上,前 512KB 保留给 ROM,接下来的 512KB 保留给 RAM。其余空间是空闲的,可以容纳 VRAM 和/或所有视频寄存器。

类似地,在 I/O 总线上,地址 0x000x7f(含)保留给用户的扩展板,但地址 0x800xcf 可由视频板自由使用。

有关更多信息,请参阅内存映射章节

19.5 DMA 功能

Zeal 8-bit Computer 主板上没有任何元件使用直接内存访问(DMA),但 Z80 CPU 确实支持它。虽然对于常规内存传输来说并非总是关键,但对于视频内存来说可能是必要的。

上面介绍的视频连接器缺少执行 DMA 所需的引脚。为了保持连接器不变,同时仍为外部视频板提供 DMA 的可能性,还有另一个端口可用:DMA 视频连接器。该端口在 PCB 上标记为 J7,由 2 个标准 2.54mm 引脚组成。

目前在任何 Zeal 8-bit Computer 主板上都没有安装此端口。以下是该连接器的俯视图:

视频 DMA 连接器
视频 DMA 连接器俯视图

$\overline{BUSRQ}$ 和 $\overline{BUSACK}$ 都直接来自 Z80 CPU。第一个信号内部已通过 1kΩ 电阻上拉,因此视频板无需再上拉。

有关这些信号的更多信息,请参阅 Z80 CPU 章节

MMU 章节所述,当 $\overline{BUSACK}$ 变为低电平(表示 CPU 释放所有请求信号以及数据和地址总线)时,$A_{14}$ 到 $A_{21}$ 的地址线也将进入高阻抗状态。主要结果是视频板必须驱动所有信号,包括 22 条物理地址线,因此可将其视为一个 4MB 的连续地址空间。MMU 在 DMA 操作期间无法使用,因此无法管理虚拟页面。

EN | 中文Beta