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