« Wii U 架构 (index)

Wii U 架构

Chapter 3: 新一代的手柄


目录

  1. 架构
    1. 来聊聊主板
  2. 背后的相关功能
    1. 奇怪地使用标准

说到任天堂,手柄控制器往往是一个吸引人的讨论话题. 这里也不例外,所以我发现在我们深入研究主体之前,从这个部件开始分析会更好. 这里也不例外,所以我发现在我们深入研究主体之前,从这个部件开始分析会更好.

Image
GamePad (黑色版本).

Wii U 附带一个无线的 '手柄' (之前从来没有过的). 它差不多有传统手柄的两倍大, 但同时它的功能也多了许多. 它的正式名字叫 Display Remote Controller (DRC) 但我们更习惯称它为 GamePad. 在它上面, 我们可以找到一块触控屏, 一组按键, 一个收纳好的触控笔以及许多的传感器. 总得来说, 它是一个有趣的_主机_.

由于它有完整的硬件,你可以认为它本身就是一台独立的计算机. 然而,由于其软件的原因,GamePad 最终看起来像是一个连接到主机的终端,其功能包括:

因为有了上面的功能,除了作为一个手柄,GamePad在营销时还提到了两个功能:"第二块屏幕"和"屏幕镜像". 其中一种情况下,控制台可以在不占用电视画面的情况下在 GamePad 上显示独占信息. 另一方面,用户可以在不需要电视的情况下使用主机.

Image
塞尔达传说: 黄昏公主 HD (2016).
GamePad 的显示器充当了一个方便的辅助屏幕来显示地图和背包库存.

Image
超级马里奥制造 (2015).
游戏主要在 GamePad 上游玩,而电视就像一个"投影仪".

然而,在实际情况中,并没有任何标准的做法. 因此,这两种风格的采用完全取决于游戏的编程方式.

架构

现在让我们看看 GamePad 是由什么组成的,这本身就是一项棘手的任务,因为 GamePad 的内部没有任何文档记录. 幸运的是,一个名为"Memahaxx"的黑客组织做出了行动,并对该设备进行了彻底的逆向工程. 不止如此,他们还向公众公布了他们的成果.

Image
GamePad 的内部结构.

设备主要搭载了三个芯片 或者更准确的说, 是三个完全独立的计算机:

首先, 我们有 DRC-WUP 它是一个系统级芯片 (SoC) 藏着另一个协处理器 ARM926EJ-S (与 Wii 上的一样, 它到底还有多少库存?) 搭配有 4 MB 内存 以及一个特殊的 H.264 加速芯片 用于 H.264 串流的解码与编码. 这是也是控制外围设备的主要芯片. 它可以访问屏幕、音频和 NFC 功能.

继续来看 SoC, 你会找到 Broadcom BCM4319, 另一个迷你电脑搭载 ARM Cortex-M3 架构并且提供 802.11 a/b/g/n 连接能力的射频基础硬件 . 值得强调的是,考虑到使用 Cortex-M3,博通对 CPU 的选择的确比任天堂更"现代" (与它的第二代 Thumb) 是为2010年代的嵌入式系统设计的. 公平地说,众所周知,任天堂的选择并不总是基于"削减成本",而是基于成本和供应. 在任何情况下,BCM4319 都将使用 5GHz 频段提供 Wi-Fi 连接.

最后, UIC-WUP 是另一个任天堂标志的组件,我们可以在其中找到 意法半导体 STM8, 2 KB 和 28 KB 的 EEPROM. STM8 是一种用于小量但重复性高的任务的现代8位微控制器. 也就是说,UIC-WUP 被用于处理剩余的I/O工作.

GamePad 的固件 (或固件们) 存储在一个单独的Flash芯片中. 这提供了通过SPI总线访问的 32 MB 的空间. 奇怪的是,固件代码 并没有加密 (这有助于Memahaxx的工作).

GamePad 主板的其余部分全都是I/O端口和不同寻常的传感器. 因此,我将在本文的"I/O"部分对它们进行介绍.

来聊聊主板

Wii U的主板包括一个名为 DRH 的微型芯片,该芯片依靠 Wi-Fi 协议与 GamePad 进行通信,并依靠 USB 协议与主板的其他部分通信. 这包括GPU, 它将帧缓冲区直接流式传输到 DRH,以便在 GamePad 上显示.

Image
GamePad 与 Wii U 连接的概览图.

DRH 运行实时操作系统 (RTOS),遵循 µITRON 4.0 规范. 它非常复杂,提供协作多任务处理和任务间通信. 最后,值得注意的是,Wii U 与 GamePad 通过Wi-Fi进行的通信并没有与 Wii U 的互联网功能混合,后者由单独的芯片 (和天线) 处理.

背后的相关功能

除了网络堆栈的定制化实现 (稍后将对此进行解释),GamePad在背后进行了大量处理.

一旦GamePad启动并运行,该设备就能够通过实时解码来显示 H.264 视频流. 屏幕分辨率为 854x480像素,刷新率为 60 Hz,这并不是全高清的,但它保持了16:9的比例.

奇怪地使用标准

与 Wii Remote 魔改蓝牙协议以避免第三方使用类似相比,GamePad 魔改了两个 Wi-Fi 标准,即 WPS 和 WPA2-PSK,因此它们只能与 Wii U 一起使用.

总之,Wii U 和 GamePad 使用 有 5 GHz 带宽的 802.11n 协议相互通信. 控制台充当接入点 (AP),GamePad 充当其唯一客户端. 尽管如此,Memahaxx还报告称,游戏机的操作系统实现了同时使用两个 GamePad 的能力,尽管最终没有使用.

Image
将 GamePad 与 Wii U 配对的过程需要用户输入由扑克符号组成的密码。

要首次建立通信信道,必须先对两个设备进行 "配对" (就像Windows笔记本电脑通过选择网络名称并提供密码与Wi-Fi路由器配对一样). 这是使用 Wi-Fi保护设置 (WPS) 协议完成的,然而,这并不像按下 SYNC 按钮并等待两个设备配对那么容易. 该过程还包括用户按照电视上的指示 (由主机输出) 选择 GamePad 上显示的特定扑克符号. 在后台,用户正在输入部分密码,然后 GamePad 在密码末尾添加一个硬编码的 5678,并将其发送到控制台. 如果该过程成功完成,GamePad将接收控制台的 SSID、BSSID 和 PSK 值,以便从现在起自动连接.

从那时起,后续连接依赖于 WPA2-PSK 协议,并且两个设备都使用TCP/IP数据包传输信息.

奇怪的是,GamePad利用 时间戳 来保持音频和视频流的同步. 时间戳是"信标帧"上的一个属性,由 AP 来广播有很多原因, 其中之一是同步范围内设备的内部时钟.


Previous: 2. 一个简短的介绍

Next: 4. 中央处理器 (CPU)


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站