找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3125|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32 USB 設(shè)備庫(kù)使用說(shuō)明

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2015-12-8 03:05 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本篇 LAT 從控制傳輸?shù)慕嵌冉馕隽诉\(yùn)行在“USB FS IP”這款 USB 模塊上的全速 USB 設(shè)備庫(kù)的結(jié)構(gòu)和用法。

背景:不同的 USB 模塊和其對(duì)應(yīng)軟件包

STM32 MCU 根據(jù)系列不同,所集成的 USB IP 有所不同。本文是針對(duì)“USB FS IP”這個(gè) USB 模塊在其編號(hào)為 STSW-STM32121 的全速 USB 設(shè)備庫(kù)的一個(gè)介紹。

USB FS IP

1. 集成于 STM32F1(除 F105/107)、STM32L1、STM32F3

2. 只支持全速(FS)下的 USB 設(shè)備角色

3. 軟件包:STSW-STM32121 (v4.0.0)

USB 設(shè)備庫(kù)結(jié)構(gòu)分析

中斷處理響應(yīng)所有的 USB 事件,如下圖所示。



通過(guò)控制傳輸處理標(biāo)準(zhǔn)枚舉+類相關(guān)枚舉

控制傳輸由三個(gè) stage 組成,如下圖所示:


在控制傳輸?shù)牡谝浑A段(Setup stage)完成后,分析 Setup 數(shù)據(jù)包 8 字節(jié)命令,提供用戶回調(diào)函數(shù)處理和應(yīng)用所使用的類相關(guān)的控制命令 。


在控制傳輸?shù)牡诙A段(IN 方向的 Data stage),處理第一階段準(zhǔn)備好(確定了數(shù)據(jù)長(zhǎng)度和數(shù)據(jù)起始地址)的待發(fā)送的數(shù)據(jù);

或者在控制傳輸?shù)淖詈箅A段(IN 方向的 Status stage)完成后,提供用戶接口做應(yīng)用相關(guān)任務(wù) 。



在控制傳輸?shù)牡诙A段(OUT 方向的 Data stage),接收數(shù)據(jù);或者

在控制傳輸?shù)淖詈箅A段(OUT 方向的 Status stage)完成后,提供用戶接口做應(yīng)用相關(guān)任務(wù) 。



結(jié)合真實(shí)枚舉過(guò)程的傳輸來(lái)看幾個(gè)實(shí)際的例子

舉例 1: MSC 類的 Get_Max_Lun()


觸發(fā) CTR 中斷


Setup0_Proecess –>MSC_Data_setup --> DataStageIn 即 UserToPMABufferCopy

觸發(fā) CTR 中斷


In0_Process --> DataStageIn --> 數(shù)據(jù)已經(jīng)發(fā)完 CS = WAIT_STATUS_OUT

觸發(fā) CTR 中斷

Out0_Process -->XXX_Status_Out,這里是空函數(shù)

舉例 2: VCP 類的 Set_LineCoding()

Setup transaction(命令)

觸發(fā) CTR 中斷 Setup0_Proecess –>VCP_Data_setup --> CS = OUT_DATA Out transaction (設(shè)置串口數(shù)據(jù)幀格式)

觸發(fā) CTR 中斷

Out0_Process --> DataStageOut --> 數(shù)據(jù)全部讀完 CS = WAIT_STATU_IN

In transaction (取走 0 長(zhǎng)度數(shù)據(jù)包)

觸發(fā) CTR 中斷

In0_Process –>VCP_Status_IN,即根據(jù)數(shù)據(jù)階段得到的幀格式來(lái)配置 USART

【本文摘于ST MCU官網(wǎng)。供分享交流】

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表