1
STM32F1 USB外設(shè)在USB系統(tǒng)的位置
STM32F1 USB外設(shè)實(shí)現(xiàn)了USB2.0全速總線和APB1總線間的接口??床欢脑捒聪聢D。
2
STM32F1 USB外設(shè)功能描述
USB外設(shè)為PC主機(jī)和微控制器所實(shí)現(xiàn)的功能之間提供了符合USB規(guī)范的通信連接。PC主機(jī)和微控制器之間的數(shù)據(jù)傳輸是通過(guò)共享一專用的數(shù)據(jù)緩沖區(qū)來(lái)完成的,該數(shù)據(jù)緩沖區(qū)能被USB外設(shè)直接訪問(wèn)。這塊專用數(shù)據(jù)緩沖區(qū)的有效大小由所使用的端點(diǎn)數(shù)目和每個(gè)端點(diǎn)最大的數(shù)據(jù)包大小所決定(總共有16端點(diǎn),PMA大小為512字節(jié),可以用多少拿多少,也可以全用),所有端點(diǎn)共享用512字節(jié)緩沖區(qū),最多可用于16個(gè)單向或8個(gè)雙向端點(diǎn)。USB模塊同PC主機(jī)通信,根據(jù)USB規(guī)范實(shí)現(xiàn)令牌包的檢測(cè),數(shù)據(jù)發(fā)送/接收的處理,和握手包的處理。整個(gè)傳輸?shù)母袷接捎布瓿桑渲邪–RC的生成和校驗(yàn)。
也就是說(shuō)16個(gè)端點(diǎn)共享一個(gè)512字節(jié)的緩沖區(qū),我們可以理解為USB HOST就是通過(guò)對(duì)這些緩沖區(qū)的讀寫(xiě)來(lái)實(shí)現(xiàn)和設(shè)備的數(shù)據(jù)交互,其實(shí)原理大概就是如此。 如果主機(jī)發(fā)送數(shù)據(jù)給設(shè)備 ,設(shè)備會(huì)把USB外設(shè)接收的數(shù)據(jù)放入緩沖區(qū),完畢之后通知CPU讀取數(shù)據(jù)了, 如果主機(jī)讀取USB設(shè)備的數(shù)據(jù) ,CPU會(huì)把數(shù)據(jù)放到緩沖區(qū),然后告訴USB外設(shè)可以發(fā)送數(shù)據(jù)了,USB外設(shè)會(huì)把緩沖區(qū)的數(shù)據(jù)通過(guò)總線發(fā)送給主機(jī)。
2
STM32F1 USB外設(shè)主要特征
1.符合USB2.0全速設(shè)備的技術(shù)規(guī)范。
2.可配置1到8個(gè)USB雙向端點(diǎn),我們可以理解為8個(gè)IN端點(diǎn)和8個(gè)OUT端點(diǎn),也就是每一個(gè)雙向端點(diǎn)可以被配置為一個(gè)IN端點(diǎn)和一個(gè)OUT端點(diǎn),但是這兩個(gè)端點(diǎn)共用一個(gè)端點(diǎn)寄存器,兩個(gè)端點(diǎn)的類(lèi)型必須是一致的(控制端點(diǎn)、中斷端點(diǎn)、批量端點(diǎn)、同步端點(diǎn))。
3.外設(shè)硬件自動(dòng)為每一個(gè)PID和Packet字段生成CRC效驗(yàn),并和其他字段組成一個(gè)完整的USB Packet。
4.支持控制傳輸、中斷傳輸、同步傳輸、批量傳輸。
5.支持同步傳輸和批量傳輸雙緩沖機(jī)制,比如說(shuō)我們采集ADC或者接收外部傳感器的數(shù)據(jù)時(shí)必須保持?jǐn)?shù)據(jù)的完整性,就可以使用雙緩沖機(jī)制防止丟數(shù)。
6.支持對(duì)自己的掛起和恢復(fù)操作。
7.幀鎖定時(shí)鐘脈沖生成。當(dāng)收到一個(gè)SOF幀開(kāi)始包,可以生成一個(gè)脈沖信號(hào)給其他模塊使用,如果SOF中斷使能,會(huì)進(jìn)入SOF中斷處理函數(shù)。
-
微控制器
+關(guān)注
關(guān)注
48文章
7951瀏覽量
154961 -
USB接口
+關(guān)注
關(guān)注
9文章
707瀏覽量
56976 -
中斷處理
+關(guān)注
關(guān)注
0文章
94瀏覽量
11255 -
stm32f1
+關(guān)注
關(guān)注
1文章
60瀏覽量
12521 -
CRC效驗(yàn)
+關(guān)注
關(guān)注
0文章
30瀏覽量
1257
發(fā)布評(píng)論請(qǐng)先 登錄
STM32F1系列單片機(jī)的時(shí)鐘系統(tǒng)

用stm32f1做的usb鍵盤(pán),連電腦無(wú)法識(shí)別怎么解決?
請(qǐng)問(wèn)使用STM32F1能實(shí)現(xiàn)USB和fatfs同時(shí)訪問(wèn)SD卡嗎?
STM32F1的CPU型號(hào)
STM32F1時(shí)鐘系統(tǒng)簡(jiǎn)介與相關(guān)配置
STM32F0和STM32F1差異
STM32F1系列芯片中文參考手冊(cè)

STM32F1系列產(chǎn)品識(shí)別以及編程時(shí)容量識(shí)別

STM32f1時(shí)鐘系統(tǒng)整理

【解決方案】STM32F107VC單片機(jī)下運(yùn)行STM32CubeMX生成的USB_OTG Mass Storage工程,無(wú)法識(shí)別USB設(shè)備的解決辦法

AN3427_從STM32F1移植到STM32F2的應(yīng)用手冊(cè)

STM32F1系列MCU硬件電路USB/CAN接口設(shè)計(jì)

評(píng)論