由于Playstation和Wii游戏机现在广受欢迎,ZAPiT公司也顺势推出一款新型DVD游戏机—Game Wave。该游戏机更适合于整个家庭使用,而不仅限于年轻人。Game Wave游戏机类似于广受欢迎的Trivial Pursuit棋盘游戏,并带有DVD播放功能。 这一系统的开发人员希望创建一个交互式的类似棋盘游戏的游戏机,其带有6个遥控器,家庭成员可以用来玩Blackjack(又称21点)等传统扑克牌游戏,另外还可用作嵌入式DVD,具有电影播放功能。该系统目标零售价为99美元,故在中国制造该产品的目标成本得在50美元左右。Nytric设计团队尽量满足99美元销售价的要求。目前商店里实际售价大约80美元。 “我们需要一种成本极低的媒体处理器来进行MPEG播放,但仍有足够的资源让我们对该游戏进行编程,”Nytric的硬件设计组负责人Jon Clarke表示。“除此之外,我们还需要一个集成DVD浏览器来处理DVD VOB文件以播放商业电影大片。” Nytric也对Windows CE专用处理器进行了评估,但觉得它们过于昂贵。此外还有授权问题,以及存储管理、RAM和ROM方面的繁重要求。Nytric最终选用Mediamatics 8611来实现它的OSD图形功能、声音播放功能、处理商用DVD的解析器,以及Nytric的定制源写入功能。由于Mediamatics已被美国国家半导体公司收购,故其IC代码上带有两家公司的标识。 Nytric设计团队最初考虑的是意法半导体的一款微处理器。但问题在于,这款DVD处理器只能执行一个特定功能,即操作DVD播放器。而设计人员需要更多的功能性,同时又能充分利用大批量DVD播放器的成本经济的优势。 打开源代码的大门
许多公司都不愿意开放自己的软件用作定制开发,部分原因在于他们的支持大部分来自北美以外的地区。和意法半导体间的交易障碍就涉及了授权问题。 “我们在2004年3月曾为美国国家半导体作了一个案例报告,”Nytric首席执行官Av Utukuri透露。“我们针对这个游戏编写了一个PC机版本,类似于仿真器,可演示游戏是如何运行的。我们主动选中美国国家半导体来为我们提供支持。这个过程象是逆向的,因为似乎应该是由他们来选择我们,但这样的操作使交易成功了。” 设计人员抓住这个机会对Mediamatics部分进行了性能测试。该处理器有其局限,但它也拥有必需的功能性。Nytric还获得了所需要的价位和支持。 图:ZAPiT游戏平台的核心是Mediamatics处理器。
采用CPLD来转换数据格式
Mediamatics部分需要配合使用Altera公司的Max II CPLD来实现DVD驱动。Nytric的Clarke表示,这是其中的一项主要挑战。“当采用三星或三洋驱动头,且该驱动头有接口芯片时,需要胶合逻辑(glue logic)来把数据转换为Mediamatics芯片所需要的标准格式,”他表示。 用来验证电路板及概念的首个原型机在2004年10月完成。然后软件组开始介入。在放弃最初计划采用的的三洋驱动头,而又没有其它公司生产同类产品时,设计团队遇到了难题。这时需要重新设计。 后来,设计团队采用了Atapi加载器(Loader),类似于PC机中用来连接DVD驱动的接口。Atapi是一个16位接口,未获Mediamatics支持。这样,Nytric设计人员联手美国国家半导体和Altera合作开发出了一个可编程器件,可把字节格式的Atapi命令转换为8611的8位AV总线能够处理的格式。 其余器件与原始设计的相同,包括SRAM和2Mb的NOR闪存。这两个存储器件都超越了Mediamatics处理器能够支持的极限。16Mb的SRAM是设计人员能够找到的最便宜的单封装部件。闪存中含有National公司的浏览器压缩版,可让用户播放标准DVD,并通过菜单进行浏览。 其它的主要器件还包括用于立体声音频的两路音频D/A转换器,以及Atmel的1百万次写周期串行E2PROM,后者用来存储用户停止游戏点的状态数据。最后,还需要一些门电路和锁存器,因为CPLD没有足够的I/O来处理所有的解码工作。然后剩下的就是无源器件和稳压器了。 无线遥控问题及解决
遥控器是另一个挑战。因为6个遥控器有可能同时与基础平台通信。虽然考虑到了RF和AM调制,但鉴于成本因素,设计团队不得不退而选用红外(IR)方案,这种方案采用的是售价极为低廉的二极管。 “真正的挑战是如何使IR与6个遥控器同时工作,”Clarke指出。“6个遥控器必须以不同的拍频发送数据。挑战在于,如果6个按钮都同时按下,将发生冲突,这时应该如何处理?不过,由于会有故障出现,接收器能够分辨出这一点。然后每一个遥控器都以不同的拍频重新发送。如此一来,它们相互冲突的可能性就被减至最小。这是一种保证协议,因为我们知道它不可能扩展到6个以上。” 一般而言,IR是一种视距接口。但Nytric设计人员希望能够比视距更远一些,让信号具有从墙上反弹并产生反射的能力。 “由于许多硬件变化都沿这种途径进行,软件的编写必须完全与平台无关,”Nytric软件设计组负责人Allen Rego提到。“基于这个原因,我们无法编译这个游戏。为此我们寻找一种类似于Java的解释型语言。最终我们选用了一种被称为Lua的脚本语言,所有的游戏都用这种语言编写。”Lua是一种开源免费软件脚本语言,与Java和其它竞争语言相比,它对存储器的需求要低得多。 该软件组因此必须向美国国家半导体申请直接硬件访问,而后者通常是不向第三方开发商提供这种服务的。开发游戏需要这种访问。用这种方式,软件组重新编写了部分图形库和驱动器,以实现速度最优化的硬件访问。 接着,软件组成员编写软件来支持随后用到的硬件,包括IR遥控器和NOR闪存,增加某些技巧来获得尽可能高的性能。“这和网页开发差不多,”Rego表示。“首先选择极高级别的脚本语言,为游戏定义一个架构,包括如何移动每一样东西,会出现什么样的动画等等。然后编写所有的背景软件,进入低级别执行。”该脚本语言按字节码注释,以便实现跨平台兼容性。因此,即使采用不同的处理器,这一平台也具有后向兼容性。 板上的另一器件是德州仪器的八进制D型锁存器SN54LVC573A。该器件专门为2.7到3.6伏的VCC工作电压而设计,它具有三态输出,可驱动高电容性或低阻抗性负载,比如缓冲寄存器、I/O端口、双向总线驱动器和工作寄存器。 设计人员在设计流程的最后阶段遇到了一个小麻烦:需要一个金属盖来消除加载器可能引起的辐射问题。下一代产品大概在2009年左右面世。它的功能可能包括一个HD或蓝光(BluRay)DVD,以及一个功能更强大的图形引擎。在这一点上,什么可能性都有。
作者:Richard Nass 总编辑 《嵌入式系统设计》 作者:Richard Nass 总编辑 《嵌入式系统设计》 |