大學(xué)時(shí)同學(xué)打游戲人手一個(gè)機(jī)械鍵盤,工作后經(jīng)常寫代碼,于是想換一個(gè)順手的機(jī)械鍵盤。淘寶看看各家的賣點(diǎn)大致為全鍵無沖,響應(yīng)迅速,進(jìn)口軸體,抗干擾磁環(huán)。不同點(diǎn)也只是在流水燈效和外觀結(jié)構(gòu)上。網(wǎng)上查了查鍵盤實(shí)現(xiàn)的原理,發(fā)現(xiàn)比較簡單。加上自己工作上一直在接觸USB協(xié)議,于是做一個(gè)USB機(jī)械鍵盤。先展示一下半成品,104個(gè)鍵通信正常,外殼還沒有做,燈效目前只做了呼吸燈效果,還需要再改善一下。
硬件選型:MCU選擇了WCH沁恒的8位單片機(jī)CH549L,因?yàn)?a target="_blank">公司一直在用他們家CH376T和CH340G芯片,在接口通信方面做得挺好的國產(chǎn)廠家。找原廠申請了幾個(gè)樣品,說一下當(dāng)天就發(fā)了貨,后面遇到技術(shù)問題支持也挺到位,非常感謝這位FAE!CH549L,資源大致如下。
機(jī)械軸我選擇了青軸,觸發(fā)鍵程2.4±0.6mm,壓力克數(shù)60±1.5g,機(jī)械段感落感強(qiáng),咔噠聲音大,打字打游戲都可以。直接在淘寶上買了,65塊錢110個(gè)按鍵,便宜質(zhì)量也還不錯(cuò)。CIY設(shè)計(jì)的軸體,換軸很方便,手殘的必備哈哈。
硬件設(shè)計(jì): 鍵盤采用8×16的掃描矩陣,實(shí)際用了104個(gè)鍵,1000HZ的輪詢速率,響應(yīng)迅速挺快。每個(gè)按鍵處加了二極管,實(shí)現(xiàn)全鍵無沖。
芯片USB可選擇1.5Mbps(LS)的低速模式,也可以選擇全速12Mbps(FS)的工作模式,USB信號線直接輸出無需添加上下拉電阻,PCB走線注意以下幾點(diǎn)即可:
1)D+/D-平行走線,如果不能確保PCB走線質(zhì)量,芯片可以放置到角落減少PCB走線;
2)D+/D-信號線上建議添加ESD保護(hù)器件,或者便宜一些的TVS管;
3)外部的USB線盡量選用帶屏蔽的USB信號線,確保信號可以正確傳輸,如果線材較差,沒有屏蔽,可以選用LS模式,對線材要求比較低;
4)由于采用外部供電,電源上最好加上自恢復(fù)保險(xiǎn)絲,確保不會因?yàn)橥獠抗╇娫斐尚酒瑩p壞; 燈部分就有點(diǎn)偷工減料了,沒有采用RGB燈,而是用了單色LED,節(jié)約成本鴨。而且覺得炫彩的太浮夸不適合打字用。
這是我設(shè)計(jì)的電路圖:
PCB:
軟件編寫:
做USB鍵盤,不得不把USB HID協(xié)議看懂,就不具體展開討論了。我這里是基于WCH官網(wǎng)CH549模擬鍵鼠的例程更改實(shí)現(xiàn)的,例程已經(jīng)封裝好USB設(shè)備模式配置,設(shè)備模式啟動,收發(fā)端點(diǎn)配置和HIDValueHandle()等函數(shù),所以改起來還是挺方便的。
-
mcu
+關(guān)注
關(guān)注
146文章
17123瀏覽量
350979 -
usb
+關(guān)注
關(guān)注
60文章
7936瀏覽量
264473
原文標(biāo)題:交流一下USB機(jī)械鍵盤
文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論