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

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

基于STM32的USB鼠鍵模塊電路設(shè)計(jì)方案(原理圖+源碼)

2020/08/28
889
服務(wù)支持:
技術(shù)交流群

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

虛擬商品不可退

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

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

一、 設(shè)計(jì)的出發(fā)點(diǎn)

       由于應(yīng)用需要,想做一個(gè)USB鼠標(biāo)鍵盤復(fù)合設(shè)備,用于向USB主機(jī)定期輪詢發(fā)送鼠標(biāo)鍵盤指令。

       10年的時(shí)候使用過STM32的USB示例,但一直苦于復(fù)合設(shè)備的USB描述符知識點(diǎn)太多,而沒有真正上手。近年來,網(wǎng)上出了有很多教程,從中汲取了很多知識,終于不用苦啃USB設(shè)備描述符、報(bào)告描述符的知識了,了解一些皮毛就可以開始開發(fā)了。

二、 期望實(shí)現(xiàn)的功能及解決方案

       1、 USB鼠標(biāo)鍵盤復(fù)合設(shè)備:這當(dāng)然是必不可少的核心功能了,一塊STM32F103就可以搞定。

       2、 如何去控制MCU向USB主機(jī)發(fā)送指令,這邊考慮了幾種實(shí)現(xiàn)手段:

a. 第一是擴(kuò)展出一個(gè)U盤的功能,然后在PC上編輯U盤中的特定配置文件,上電后通過檢測按鍵或開關(guān)來控制設(shè)備在正常模式和設(shè)定模式之間切換。

這種實(shí)現(xiàn)的優(yōu)點(diǎn)是:使用起來比較方便,只要一臺電腦、一個(gè)文本編輯器就可以開發(fā)出多種多樣的功能。

它的缺點(diǎn)是:設(shè)計(jì)周期較長,需要合理分配USB大容量設(shè)備和USBHID之間的資源、需要用到文件系統(tǒng)、需要對配置文件設(shè)計(jì)一套完整的數(shù)據(jù)解析過程以應(yīng)對文件損壞帶來的影響。

b. 第二是擴(kuò)展一路USB轉(zhuǎn)串口,通過數(shù)據(jù)透傳或modbus協(xié)議來下載配置信息,同樣也需要開關(guān)或按鍵來完成工作模式的切換。

這種實(shí)現(xiàn)的優(yōu)點(diǎn)是:開發(fā)簡單。

它的缺點(diǎn)是:配置比較麻煩,為了簡化配置過程,需要通過一個(gè)上位機(jī)軟件來實(shí)現(xiàn)協(xié)議的轉(zhuǎn)換。相比第一種方案來講,開發(fā)一個(gè)帶串口功能的上位機(jī)軟件,相對比較簡單。(當(dāng)然這里也因人而異,本人對Visual Studio的較為熟悉。如果覺得上位機(jī)編寫比較麻煩的話,可以考慮第一套方案)

三、 硬件的挑選 

       這里選用了SL2.1A作為一個(gè)HUB接口。選它的理由是我們需要至少兩路USB接口用于USB鼠鍵(這里將USB鼠標(biāo)鍵盤進(jìn)行簡稱,方便閱讀)和STM32的串口通訊。選好以后,發(fā)現(xiàn)它不但是一個(gè)一拖四的HUB,還自帶內(nèi)部晶振,可以節(jié)省布板空間(這一板的PCB上空間有很大空余,所以晶振雖然不用,我也把它預(yù)留上去了),而且可以輸出3.3V以及1.8V的數(shù)字電源,這樣可以方便我們做一些其他擴(kuò)展(后面番外篇上會講到一些擴(kuò)展舉例)。

       選取了CH330作為USB 轉(zhuǎn)串口芯片。理由是SOP8的封裝器件比較短,節(jié)省了布板空間;引腳數(shù)量比較少,便于布板走線;支持5V和3.3V供電,方便電源排布;其實(shí)所有的一切都是因?yàn)榉奖悴及宥x用了它。
       核心芯片STM32F103,選它的理由很簡單,最早接觸的是STM32,個(gè)人鐘愛而已。豐富的網(wǎng)絡(luò)資源也使它成為眾多的熱門MCU之一。 

四、 PCB及程序 

        略。(詳見附件。程序部分只會提供一個(gè)基礎(chǔ)的功能便于大家學(xué)習(xí),更完善的功能大家可以在此基礎(chǔ)上自由發(fā)揮。謝謝?。?/p>

五、 實(shí)物展示 

        最終的實(shí)物就如圖所示,2cmx3.5cm的尺寸差不多是整個(gè)大拇指的大小,配上一個(gè)外殼的話,那就美美噠。(手工焊接比較粗糙,請各位看官見諒,呵呵)
        在附件文檔的番外篇中,我提到了這款小板在設(shè)計(jì)時(shí)考慮到的一些預(yù)留功能,如HUB擴(kuò)展、數(shù)字電源等七項(xiàng)擴(kuò)展功能,這些小彩蛋可能會在您使用中帶來一些意外收獲!

  • PCB、實(shí)物照片、元件貼片位置.rar
    描述:PCBA生產(chǎn)資料
  • vBOC_MouseKeyboard測試程序.rar
    描述:僅用于驗(yàn)證板子的基本功能,僅供參考
  • 使用手冊.pdf
    描述:模塊設(shè)計(jì)的出發(fā)點(diǎn)以及番外篇的彩蛋

相關(guān)推薦

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