sunplus8202V双无线游戏手柄设计

 原创文章,如有转载,请注明出处:http://blog.csdn.net/desert2009sz/article/details/6873834

一、系统分析

DVD的双游戏手柄通讯是由SYNC, CLK, DATA1,DATA2组成,DATA1和DATA2分别代表从主、副手柄上收到的按键数据。

工作原理:DVD每隔80ms会在SYNC脚上产生一个高脉冲,用于唤醒游戏手柄进入收数据状态;然后会在CLK上产生低、高、低、高的脉冲信号(9个,第一个低脉冲较长一点,便于手柄同步);在CLK变低后等到一段时间,DVD检测DATA1和DATA2的数据,将保存到IOP与RISC交换的内存区。

时序图如下:



二、系统设计

无线游戏手柄实现的方式分2种:

①专用MCU收码后,模拟有线手柄协仪

无线游戏手柄发码→MCU接收→解码→转码→模拟有线手柄协仪→DVD接收

②屏驱MCU收码后,转发给DVD,DVD通过IOP接收后,将数据存放到RISC交换区

屏驱MCU收码→转发给DVD→DVD接收→解码→转码→存入IOP与RISC交换区

双手柄控制方式如下图所示:


优点:

①灵活性

单游戏手柄:用屏驱MCU方式实现,不需要增加任何硬件成本;(如果想保护自己的利益,也可以增加使用专用MCU方案,成本也较低)

双游戏手柄:在单游戏手柄方式下,增加一个专用MCU就可以实现。

用户可以自由选择,软件上可以做的兼容,PCB预留专用MCU空位,根据客户需要选择单打,还是双打,非常方便。

②性价比

由于架构合理,操作体验和有线时速度一样;无线方式省掉了有线那块线材,降低了成本 ;

③稳定性

省掉线材可以提高手柄的寿命,减少故障率

三、需要注意的问题

①专用MCU方式实现时,需要调整IOP中SYNC,CLOCK的时序,特别需要注意DVD读取数据的前的延时时间

②专用MCU方式实现时,还需要注意处理好手柄去抖动,不然有时候同步时钟出问题时,就会漏掉了一次放数据的机会,这样就会出现有时候按键释放的现象。举例:如在玩8位魂斗罗时,长按下时,游戏角色是应该趴下的,但如果没有做去抖动,就会出现有时候会站起来。这种时候就会出被NPC的流弹打死。

③需要注意将各种组合键做进去,这里有个小技巧,按位判断比逐渐比较每组键的速度要节省很多执行时间和代码空间

④屏驱MCU方式实现时,需要将IOP相关的汇编看懂才行,解码那块会做不好,后面的就更不用说了,而且还会影响游戏的操作体验(速度)

四、补充

专用MCU方式已经实现,帮现有公司节约了70%的成本;

屏驱MCU方式还在构思中,如能实现,单无线手柄可以相比以前要节约100%成本,双手柄的话也节约70%的成本


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值