RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32F1 USB外設(shè)在USB系統(tǒng)的位置

冬至子 ? 來源:一個(gè)早起的程序員 ? 作者:一個(gè)早起的程序員 ? 2023-07-17 15:43 ? 次閱讀

1

STM32F1 USB外設(shè)在USB系統(tǒng)的位置

STM32F1 USB外設(shè)實(shí)現(xiàn)了USB2.0全速總線和APB1總線間的接口。看不懂的話看下圖。

圖片

2

STM32F1 USB外設(shè)功能描述

USB外設(shè)為PC主機(jī)和微控制器所實(shí)現(xiàn)的功能之間提供了符合USB規(guī)范的通信連接。PC主機(jī)和微控制器之間的數(shù)據(jù)傳輸是通過共享一專用的數(shù)據(jù)緩沖區(qū)來完成的,該數(shù)據(jù)緩沖區(qū)能被USB外設(shè)直接訪問。這塊專用數(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)令牌包的檢測,數(shù)據(jù)發(fā)送/接收的處理,和握手包的處理。整個(gè)傳輸?shù)母袷接?a href="http://m.hljzzgx.com/v/tag/1751/" target="_blank">硬件完成,其中包括CRC的生成和校驗(yàn)。

也就是說16個(gè)端點(diǎn)共享一個(gè)512字節(jié)的緩沖區(qū),我們可以理解為USB HOST就是通過對(duì)這些緩沖區(qū)的讀寫來實(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ù)通過總線發(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)的類型必須是一致的(控制端點(diǎn)、中斷端點(diǎn)、批量端點(diǎn)、同步端點(diǎn))。

3.外設(shè)硬件自動(dòng)為每一個(gè)PID和Packet字段生成CRC效驗(yàn),并和其他字段組成一個(gè)完整的USB Packet。

4.支持控制傳輸、中斷傳輸、同步傳輸、批量傳輸。

5.支持同步傳輸和批量傳輸雙緩沖機(jī)制,比如說我們采集ADC或者接收外部傳感器的數(shù)據(jù)時(shí)必須保持?jǐn)?shù)據(jù)的完整性,就可以使用雙緩沖機(jī)制防止丟數(shù)。

6.支持對(duì)自己的掛起和恢復(fù)操作。

7.幀鎖定時(shí)鐘脈沖生成。當(dāng)收到一個(gè)SOF幀開始包,可以生成一個(gè)脈沖信號(hào)給其他模塊使用,如果SOF中斷使能,會(huì)進(jìn)入SOF中斷處理函數(shù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7542

    瀏覽量

    151311
  • USB接口
    +關(guān)注

    關(guān)注

    9

    文章

    701

    瀏覽量

    55634
  • 中斷處理
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    10967
  • stm32f1
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

    12199
  • CRC效驗(yàn)
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    1102
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F1系列單片機(jī)的時(shí)鐘系統(tǒng)

      這是stm32的時(shí)鐘系統(tǒng),時(shí)鐘與單片機(jī)的關(guān)系就好比心臟與人的關(guān)系一樣,它為單片機(jī)的運(yùn)行提供時(shí)間基準(zhǔn)。STM32F1系列單片機(jī)的時(shí)鐘樹請(qǐng)看圖1
    發(fā)表于 03-23 17:44 ?2871次閱讀
    <b class='flag-5'>STM32F1</b>系列單片機(jī)的時(shí)鐘<b class='flag-5'>系統(tǒng)</b>

    stm32f1做的usb鍵盤,連電腦無法識(shí)別怎么解決?

    stm32f1做的usb鍵盤,連電腦無法識(shí)別
    發(fā)表于 04-11 08:19

    請(qǐng)問使用STM32F1能實(shí)現(xiàn)USB和fatfs同時(shí)訪問SD卡嗎?

    使用STM32F1能實(shí)現(xiàn)USB和fatfs同時(shí)訪問SD卡嗎,想實(shí)現(xiàn)1S寫一次數(shù)據(jù)到SD卡,同時(shí)實(shí)現(xiàn)隨時(shí)插USB線連接電腦查看數(shù)據(jù),分開都已實(shí)現(xiàn),一起的話就是實(shí)現(xiàn)不了。請(qǐng)各位大神指點(diǎn)指點(diǎn)
    發(fā)表于 04-23 07:48

    STM32F1的CPU型號(hào)

    在講解本節(jié)前,筆者先聲明下,筆者在寫這套教程前,參看了很多開發(fā)板,目前手頭上的STM32F1不下十余種,每一塊板子最大的區(qū)別就是CPU型號(hào)不同,外設(shè)不同,其最小系統(tǒng)都是一樣的。外設(shè)這個(gè)
    發(fā)表于 08-06 06:41

    STM32F1時(shí)鐘系統(tǒng)簡介與相關(guān)配置

    :芯片系統(tǒng)內(nèi)部的時(shí)鐘,程序運(yùn)行的速度由他決定。系統(tǒng)時(shí)鐘可來源于HSI,HSE,PLL時(shí)鐘?5個(gè)藍(lán)色方形為STM32F1系列芯片的時(shí)鐘源(時(shí)鐘源即時(shí)鐘的來源, 芯片中所有的時(shí)鐘,包括系統(tǒng)
    發(fā)表于 08-18 07:05

    STM32F1USB串口該怎樣去使用呢

    STM32F1USB串口該怎樣去使用呢?與STM32F1USB串口基本配置相關(guān)的寄存器有哪些呢?
    發(fā)表于 12-06 07:09

    STM32F0和STM32F1差異

    帶來的額外工作。如果您的產(chǎn)品需要USB外設(shè),現(xiàn)在就可以訂購一款STM32F070超值系列MCU。?STM32F0x1系列MCU實(shí)現(xiàn)了高度的功能集成,提供多種存儲(chǔ)容量和封裝的選擇,為成本
    發(fā)表于 08-02 21:46 ?1.6w次閱讀

    STM32F1系列芯片中文參考手冊

    STM32F1系列芯片中文參考手冊(嵌入式開發(fā)培訓(xùn)教程)-STM32F1系列芯片的中文用戶手冊
    發(fā)表于 07-30 09:32 ?218次下載
    <b class='flag-5'>STM32F1</b>系列芯片中文參考手冊

    STM32F1官方手冊資料(中英文)

    STM32F1官方手冊資料(中英文)
    發(fā)表于 11-05 16:28 ?69次下載

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

    STM32F1系列產(chǎn)品識(shí)別以及編程時(shí)容量識(shí)別STM32F1系列產(chǎn)品識(shí)別編程時(shí)容量識(shí)別STM32F1系列產(chǎn)品識(shí)別例如:STM32F103VET6STM32代表ARM Cortex-M內(nèi)核
    發(fā)表于 11-23 18:21 ?12次下載
    <b class='flag-5'>STM32F1</b>系列產(chǎn)品識(shí)別以及編程時(shí)容量識(shí)別

    STM32F1F4的區(qū)別

    STM32F1F4的區(qū)別
    發(fā)表于 12-04 13:51 ?24次下載
    <b class='flag-5'>STM32F1</b>和<b class='flag-5'>F</b>4的區(qū)別

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

    STM32f1時(shí)鐘系統(tǒng)一、祭出STM32F1的官方時(shí)鐘框圖二、寄存器說明1、時(shí)鐘控制寄存器RCC_CR第0位:HSION(0,關(guān)閉;1,開啟
    發(fā)表于 12-14 19:05 ?3次下載
    <b class='flag-5'>STM32f1</b>時(shí)鐘<b class='flag-5'>系統(tǒng)</b>整理

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

    這是因?yàn)椋篊ubeMX生成的代碼里面,沒有響應(yīng)OTG_FS_IRQn中斷。USB設(shè)備模式的電路如下。該電路適合所有的STM32型號(hào)。紅框部分為上拉電阻,STM32F1(如STM32F
    發(fā)表于 12-28 19:52 ?4次下載
    【解決方案】<b class='flag-5'>STM32F</b>107VC單片機(jī)下運(yùn)行<b class='flag-5'>STM32</b>CubeMX生成的<b class='flag-5'>USB</b>_OTG Mass Storage工程,無法識(shí)別<b class='flag-5'>USB</b>設(shè)備的解決辦法

    AN4904_從STM32F1STM32F4的軟件移植

    AN4904_從STM32F1STM32F4的軟件移植
    發(fā)表于 11-21 17:06 ?3次下載
    AN4904_從<b class='flag-5'>STM32F1</b>到<b class='flag-5'>STM32F</b>4的軟件移植

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

    STM32F1系列MCU支持USB2.0接口,查閱芯片規(guī)格書知道,當(dāng)使用全速USB時(shí),需要在信號(hào)線DP上上拉1.5kΩ至3.3V,詳細(xì)如下圖圈出的note所示。
    發(fā)表于 09-27 14:43 ?5482次閱讀
    <b class='flag-5'>STM32F1</b>系列MCU硬件電路<b class='flag-5'>USB</b>/CAN接口設(shè)計(jì)
    RM新时代网站-首页