sunplus8202V雙無線遊戲手柄設計

2021-05-31 23:23:20 字數 1404 閱讀 8645

一、系統分析

***的雙遊戲手柄通訊是由sync, clk, data1,data2組成,data1和data2分別代表從主、副手柄上收到的按鍵資料。

工作原理:***每隔80ms會在sync腳上產生乙個高脈衝,用於喚醒遊戲手柄進入收資料狀態;然後會在clk上產生低、高、低、高的脈衝訊號(9個,第乙個低脈衝較長一點,便於手柄同步);在clk變低後等到一段時間,***檢測data1和data2的資料,將儲存到iop與risc交換的記憶體區。

時序圖如下:



二、系統設計

無線遊戲手柄實現的方式分2種:

①專用mcu收碼後,模擬有線手柄協儀

無線遊戲手柄發碼→mcu接收→解碼→轉碼→模擬有線手柄協儀→***接收

②屏驅mcu收碼後,**給***,***通過iop接收後,將資料存放到risc交換區

屏驅mcu收碼→**給***→***接收→解碼→轉碼→存入iop與risc交換區

雙手柄控制方式如下圖所示:

優點:

①靈活性

單遊戲手柄:用屏驅mcu方式實現,不需要增加任何硬體成本;(如果想保護自己的利益,也可以增加使用專用mcu方案,成本也較低)

雙遊戲手柄:在單遊戲手柄方式下,增加乙個專用mcu就可以實現。

使用者可以自由選擇,軟體上可以做的相容,pcb預留專用mcu空位,根據客戶需要選擇單打,還是雙打,非常方便。

②價效比

由於架構合理,操作體驗和有線時速度一樣;無線方式省掉了有線那塊線材,降低了成本 ;

③穩定性

省掉線材可以提高手柄的壽命,減少故障率

三、需要注意的問題

①專用mcu方式實現時,需要調整iop中sync,clock的時序,特別需要注意***讀取資料的前的延時時間

②專用mcu方式實現時,還需要注意處理好手柄去抖動,不然有時候同步時鐘出問題時,就會漏掉了一次放資料的機會,這樣就會出現有時候按鍵釋放的現象。舉例:如在玩8位魂斗羅時,長按下時,遊戲角色是應該趴下的,但如果沒有做去抖動,就會出現有時候會站起來。這種時候就會出被npc的流彈打死。

③需要注意將各種組合鍵做進去,這裡有個小技巧,按位判斷比逐漸比較每組鍵的速度要節省很多執行時間和**空間

④屏驅mcu方式實現時,需要將iop相關的彙編看懂才行,解碼那塊會做不好,後面的就更不用說了,而且還會影響遊戲的操作體驗(速度)

四、補充

專用mcu方式已經實現,幫現有公司節約了70%的成本;

屏驅mcu方式還在構思中,如能實現,單無線手柄可以相比以前要節約100%成本,雙手柄的話也節約70%的成本

8 20學習內容

今天是資料庫的學習,如下 create table employee id int,name varchar 20 gender bool,birthday date,entry date date,job varchar 20 salary float,resume text 使用sql語句建立表...

8 20 隨堂筆記

開發工具 hbulider webstrom subline dreamwe er 客戶端網頁的拓展名 html 常見的快捷鍵 ctrl a 全選 ctrl c 複製 ctrl v貼上 ctrl x 剪下 ctrl s 儲存 ctrl z撤銷 ctrl 是編輯器的注釋 命名規則 英文,數字,可以是a...

資料結構820

第二部分 線性表 第三部分 廣義表的基本概念 儲存結構和基本操作 第四部分 樹和二叉樹 第五部分 圖 第六部分 查詢 第七部分 排序 1.資料結構及演算法的概念 資料 data 資料是對客觀事物的符號表示,是資訊的載體。在電腦科學中資料指所有能夠被計算機識別的符號集合。識別 輸入 儲存 處理 顯示 ...