加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于LPC5516的SDVX手臺技術(shù)分享-自制音樂游戲控制器

05/17 09:01
5763
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
電路板圖(3)
相關(guān)方案
  • 方案介紹
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

本感覺一個鍵鼠復(fù)合設(shè)備沒啥好講的,但是應(yīng)不住日天兄再三之邀,寫下此文。

首先簡單科普一下USB的速度,對于USB2.0來說,一共有3種速度

低速(USB1.0):1.5Mbit/s

全速(USB1.1):12Mbit/s

高速(USB2.0):480Mbit/s

對于大部分支持USB2.0的單片機來說,一般都是支持的全速模式,高速模式是比較少見的,而這次使用的LPC5516是全速模式與高速模式都支持的。

我們先看一下手臺的USB類型。

可以看到,識別出來的是高速USB,但是事實上對于鍵盤鼠標這種低速設(shè)備來說,完全是大才小用了,這里我就是屬于弄著玩玩,看起來比較酷炫。

手臺本身由兩部分組成,鍵盤與鼠標,可以看到配置描述符里面有兩個接口

分別就是鼠標跟鍵盤了

USB鼠標部分:

鼠標發(fā)送給PC的數(shù)據(jù)每次4字節(jié)

BYTE1 --

|--bit7~3: 無意義

|--bit2: 中鍵,1按下 0抬起

|--bit1: 右鍵

|--bit0: 左鍵

BYTE2 -- X坐標變化量,負數(shù)表示向左移,正數(shù)表右移。用補碼表示變化量

BYTE3 -- Y坐標變化量,負數(shù)表示向下移,正數(shù)表上移。用補碼表示變化量

BYTE4 -- 滾輪變化,0x01表示滾輪向前滾動一格;0xFF表示滾輪向后滾動一格;0x80是個中間值,不滾動。

USB是一個主機向從機查詢的協(xié)議,對于鼠標來說,查詢的速度越快,連續(xù)性越好,這里我程序設(shè)置的主機輪詢速度為2ms,也就是鼠標部分1S通信500次。

這個參數(shù)在鼠標上叫回報率,也叫刷新率,簡單理解就是1S能上傳多少次數(shù)據(jù)到電腦,一般鼠標是125Hz。我的鼠標測試(羅技 M90)

手臺數(shù)據(jù)測試

500Hz的回報率對手臺來說完全足夠。

USB鍵盤部分:

鍵盤發(fā)送給PC的數(shù)據(jù)每次8個字節(jié)

定義分別是:

BYTE1 --

|--bit0: 左Ctrl,1為按下 0為抬起

|--bit1: 左Shift

|--bit2: 左Alt

|--bit3: 左GUI

|--bit4: 右Ctrl

|--bit5: 右Shift

|--bit6: 右Alt

|--bit7: 右GUI

BYTE2 -- 保留

BYTE3--BYTE8 -- 普通按鍵

所以說一般的USB鍵盤只考慮軟件的話只能做到6鍵無沖,如果需要更多,那只能加點接口,也就是那些支持多鍵無沖的鍵盤(需要硬件支持)。

對于手臺來說,上面只有7個按鍵,這7個按鍵是直接接到IO上的。硬件完全支持無沖。而且其中一個按鍵還是確定鍵,平時使用中軟件只要保證6鍵無沖即可。

同時按下6鍵,可正常識別。

鍵盤另一個比較重要的就是反應(yīng)速度了,也就是按下按鍵到電腦反應(yīng)的時間(其實我覺得完全不重要,因為鍵盤又不像鼠標一樣是個連續(xù)的過程,人的反應(yīng)速度才多少)。

軟件上配置的主機輪詢速度就是4ms,也就是理論上,按下按鍵到電腦有反應(yīng),最長要4ms。

這個只能說,主觀感受是完全沒問題的。

對于LPC5516來說這種應(yīng)用只能說是毛毛雨了,150MHz的主頻,完全輕輕松松。

按鍵與編碼器

按鍵、編碼器通通外部上拉加電容消抖,軟件部分沒添加消抖,使用中未出現(xiàn)按鍵抖動的問題。

編碼器代碼采用外部中斷的方式寫的,穩(wěn)定性還可以,就是買的編碼器分辨率太低了,效果不太理想。

WS2812:

代碼上使用了SPI去模擬,沒有做按鍵與燈的綁定代碼,目前只支持全彩漸變呼吸燈的效果。目前板子硬件上有11個燈,驅(qū)動毫無壓力。

代碼是用了mgn的程序改巴改巴搞出來的,原地址: https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=620562

程序開發(fā)上,NXP官方提供了很詳細的例程,很方便就能上手,手臺的軟件部分的開發(fā)時間加起來不超過2小時。MCUXpresso Config Tools確實好用,配IO配時鐘不要太簡單,

最后總結(jié)一下:對于鍵鼠設(shè)備來說,全速USB就完全足夠,因為鍵鼠是走中斷傳輸模式的,速度的提升到了1ms之后的意義就不大了,太快反而給主機帶來了負擔(dān)。比如現(xiàn)在我在使用的鍵盤就是全速USB的,能查到的鼠標信息,好的游戲鼠標的回報率就是500Hz或者1000Hz了,換算到USB速度上,差不多也就是全速USB的水平吧(手上沒有這么高級的玩意,猜的速度,歡迎有大佬在帖子留下自己鼠標的測試記錄)。

對于我這個手臺來說LPC5516可以說性能嚴重過剩。還是得想個辦法逼出極限性能來啊。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
LAN8710AI-EZK-ABC 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
$1.54 查看
DS2431P+ 1 Maxim Integrated Products EEPROM, 1KX1, Serial, CMOS, PDSO6, ROHS COMPLIANT, TSOC-6
$5.42 查看
HFBR-1528Z 1 Foxconn Transmitter, 635nm Min, 622nm Max, 10Mbps, Through Hole Mount, ROHS COMPLIANT PACKAGE
$19.34 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜