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

請問使用STM32F1能實現(xiàn)USB和fatfs同時訪問SD卡嗎?
STM32F1的CPU型號
STM32F1時鐘系統(tǒng)簡介與相關(guān)配置
STM32F0和STM32F1差異
STM32F1系列產(chǎn)品識別以及編程時容量識別

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

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

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

評論