STM32 USB設計 硬體篇

2021-06-17 15:36:08 字數 1125 閱讀 2007

**:

stm32晶元內部整合了usb外設,大大減輕了usb電路的設計負擔,只需設計usb介面電路,就可以實現基於stm32晶元的電路板的usb通訊設計。(本文將具體講述基於stm32f103rbt6晶元的usb設計)本文為硬體篇。

首先,我們來認識一下stm32f103rbt6晶元。 其中usb相關引腳為pa11(d-),pa12(d+)引腳。就是通過這兩個引腳實現stm32f103rbt6的usb通訊。

圖1 stm32f103rbt6晶元引腳圖

其次,我們簡單來認識一下usb的構造(以a型公口、b型母口為例)

圖2 usb a型公口

圖3 usb b型母口

表1 usb介面引腳說明

1 vcc(+5vdc)

2 d-(data-)

3 d+(data+)

4 gnd(ground)

(5.6引腳為外殼引腳、起固定和減低干擾作用)

最後,我們來看看usb介面電路的設計。

圖4 usb介面電路

其中:1.usb上拉電壓接在d+線上,所以本設計usb實現全速通訊

1.usblc6-2p6是乙個esd晶元,為了防止usb介面受到雷擊時毀壞主晶元。

2.q1為乙個開關晶元,可以為mos管、或三極體。本人採用mos管時,ds見有乙個0.7v的壓差,所以usb的上拉電壓為2.5v左右,雖然也能用,但畢竟不完美。我不知道是不是所有mos管都這樣。下一步我將換成偏置電阻電晶體試試,效果將在後面的日誌中描述。當開關開啟時,pc開始列舉該usb裝置。

3.usb的vcc引腳可以接板上電源、也可以不接。當不接時,pc機為usb介面供電,在本設計中使用了乙個跳線來決定是否接板上電源。

總結:

STM32 USB學習筆記

stm32 usb學習筆記 一 usb fs device firmware library 使用韌體庫開發程式,需要包含幾個檔案 從圖中可見,應用程式介面部分,有 usb pwr,usb conf,usb desc,usb istr,usb prop,usb endp六個檔案,在裝置驅動中有六個檔...

STM32 USB學習整理3

這個檔案主要和 vcp 驅動有直接關係!很多部分都是空的內容,其中包含了一些引數的設定,需要注意的是 波特率的大小與usb速度沒有關係,波特率的設定會影響串列埠速度 usb虛擬串列埠相關配置引數 line coding linecoding u8 usart printf buffer usb us...

STM32 USB 復合裝置實現

可實現用乙個usb介面實現多個usb裝置,如 hid msc hid cdc hid cdc msc等等 使用hal庫,以hid msc為例 具體步驟 目錄四 初始化使用 增加端點,同時修改fifo配置大小,stm32 usb fs fifo總大小為1.25kb,設定是使用的單位是32bit 原始碼...