HK32F103x/C/D/E是深圳市航順芯片技術(shù)研發(fā)有限公司推出的中大容量的32位MCU芯片,內(nèi)部集成豐富且強(qiáng)大的外設(shè),如SPI/IIC/UART/USB/FSMC/SDIO等。
有客戶在快速替換使用過程中,遇到過使用HAL庫的USB枚舉失敗的情況:直接插入電腦USB口是枚舉失敗,不能識(shí)別;經(jīng)過HUB插入的話能識(shí)別,但是驅(qū)動(dòng)有問題(帶黃色三角形、感嘆號(hào))。
通過邏輯分析儀+DSView上位機(jī)進(jìn)行跟蹤,分析通信數(shù)據(jù),注意到通信異常,如下紅色箭頭所指:


進(jìn)一步分析確認(rèn)(根本原因):
在設(shè)定地址的包之后(條件1),接著下一個(gè)獲取設(shè)備描述符的請(qǐng)求包(setup)來了之后(條件2),芯片會(huì)把Tx狀態(tài)設(shè)置為Valid(而不是預(yù)期的NAK),導(dǎo)致在隨后的IN包來了之后馬上發(fā)出DATA1[],即還未來得及填充有效數(shù)據(jù)。所以導(dǎo)致后續(xù)枚舉失敗。
解決方案:
進(jìn)入U(xiǎn)SB中斷處理函數(shù)PCD_EP_ISR_Handler()里面,把USB端點(diǎn)0的Tx狀態(tài)設(shè)置為NAK即可,即添加上以下這句就可以了:PCD_SET_EP_TX_STATUS(USB, 0, USB_EP_TX_NAK);

添加之后,可以正常枚舉(如下)和進(jìn)行USB通信功能。

來源:航順芯片
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
147文章
18924瀏覽量
398005 -
usb
+關(guān)注
關(guān)注
60文章
8438瀏覽量
284440 -
SPI
+關(guān)注
關(guān)注
17文章
1885瀏覽量
101213 -
航順芯片
+關(guān)注
關(guān)注
1文章
113瀏覽量
23643
發(fā)布評(píng)論請(qǐng)先 登錄
HK32F005 是航順芯片推出的 1mm2 超小封裝 32 位 MCU
Q15HK-900R表貼封裝定向耦合器
免費(fèi)試用!虹科自研CAN分析軟件HK-CoreTest新版上線,建言有禮
TE Connectivity HDC HK-HDW系列連接器:面向惡劣工業(yè)環(huán)境的高性能解決方案
核心玩家招募 | HK-CoreTest軟件首發(fā)上線!免費(fèi)試用還能贏好禮
宏集案例 | HK-MSR165加速度記錄儀用于傳感器故障診斷
?航順HK32M050E4U7代理供應(yīng)
STM32MCU市場(chǎng)價(jià)又暴漲了!航順HK32MCU不漲反降普惠產(chǎn)業(yè),速來Pick!
HK32F030xxxxA數(shù)據(jù)手冊(cè)
全球最小面積1mm2 32位MCU HK32F005顛覆資深前輩TI的不嚴(yán)謹(jǐn)
FA15-220E12F2D4 FA15-220E12F2D4
HK32MCU應(yīng)用筆記(十九)| HK32F103xC/D/E USB枚舉情況分析
評(píng)論