99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32 USB復位機制、掛起機制及其喚醒機制詳解

冬至子 ? 來源:一個早起的程序員 ? 作者:一個早起的程序員 ? 2023-07-17 15:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1

STM32 USB復位機制

主機可以對USB設備進行復位,主要是主機在和設備通訊之前會發(fā)送Reset信號把設備設置到默認的未配置狀態(tài),即主機拉低兩根信號線(SE0狀態(tài))并保持10ms。當STM32 USB設備檢測到主機的復位信號之后,如果復位中斷使能,則會進入復位中斷處理函數。

STM32 USB設備也可以對自身進行復位,置位控制寄存器的FRES對USB模塊強制復位,此時USB模塊將一直保持在復位狀態(tài)下直到軟件清除此位。如果USB復位中斷被使能,將產生一個復位中斷。USB設備在上電后首先會強制對自己進行復位,讓自己處于未配置狀態(tài)。

2

STM32 USB掛起機制

USB主機以3毫秒內不發(fā)送任何信號標志進入掛起狀態(tài)(3ms以上的J狀態(tài),J狀態(tài)也叫做IDEL狀態(tài))。通常情況下USB主機每毫秒會發(fā)送一個SOF,當USB模塊檢測到3個連續(xù)的SOF分組丟失事件即可判定主機發(fā)出了掛起請求,接著它會置位SB_ISTR寄存器的SUSP位,以觸發(fā)掛起中斷,如果USB掛起中斷被使能,將產生一個掛起中斷。

USB設備也可以在任何地方將USB_CNTR寄存器的FSUSP置為’1’來強制掛起自己,這個過程不需要主機參與。

實際的掛起操作過程對于不同的USB設備來說是不同的,因為需要不同的操作來降低電源消耗。STM32典型的掛起處理如下。

  1. 將USB_CNTR寄存器的FSUSP置為’1’,這將使USB模塊進入掛起狀態(tài)。USB模塊一旦進入掛起狀態(tài),對SOF的檢測立刻停止,以避免在USB掛起時又發(fā)生新的SUSP事件。
  2. 消除或減少USB模塊以外的其他模塊的靜態(tài)電流消耗。
  3. 將USB_CNTR寄存器的LP_MODE位置為’1’,這將消除模擬USB收發(fā)器的靜態(tài)電流消耗,但仍能檢測到喚醒信號。
  4. 可以選擇關閉外部振蕩器和設備的PLL,以停止設備內部的任何活動。

3

STM32 USB喚醒機制

USB設備進入掛起狀態(tài)之后,將由Resume信號進行喚醒。Resume信號可以由USB主機發(fā)起,也可以由USB設備本身觸發(fā), 但是只有USB主機可以結束Resume信號 。

1.主機在掛起設備后可通過翻轉數據線上的極性并保持20ms來喚醒設備,并以低速EOP信號結尾。

2.如果設備支持遠程喚醒,設備可向主機發(fā)起遠程喚醒請求,前提是設備已進入idle狀態(tài)至少5ms,設備會驅動總線進入K狀態(tài),如下圖,K狀態(tài)必須維持1ms-15ms之內,此信號會在1ms內被主機接管,主機會繼續(xù)驅動喚醒信號直到20ms,并以低速EOP信號結尾。

圖片

STM32 設備被喚醒后,如果喚醒中斷使能,則會進入喚醒中斷,我們在中斷處理函數里面首先要將USB_CNTR寄存器的LP_MODE位置為’0’,退出低功耗模式,然后清除USB_CNTR寄存器的FSUSP位,退出強制掛起操作。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 振蕩器
    +關注

    關注

    28

    文章

    4014

    瀏覽量

    140861
  • 寄存器
    +關注

    關注

    31

    文章

    5434

    瀏覽量

    124513
  • STM32
    +關注

    關注

    2293

    文章

    11032

    瀏覽量

    365011
  • USB設備
    +關注

    關注

    0

    文章

    57

    瀏覽量

    16704
  • PLL電路
    +關注

    關注

    0

    文章

    92

    瀏覽量

    6813
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    干貨分享 | TSMaster—LIN 喚醒與休眠機制

    在汽車總線中常見的喚醒方式有硬線喚醒、網絡喚醒和特定信號喚醒,而LIN總線則是通過休眠幀與喚醒電平來實現(xiàn)的,本文將介紹LIN的
    的頭像 發(fā)表于 09-25 08:03 ?3285次閱讀
    干貨分享 | TSMaster—LIN <b class='flag-5'>喚醒</b>與休眠<b class='flag-5'>機制</b>

    高保真膽機制詳解

    http://115.com/file/be3wripk#高保真膽機制詳解.rar
    發(fā)表于 02-14 09:54

    詳解Linux內核搶占實現(xiàn)機制

    本文詳解了Linux內核搶占實現(xiàn)機制。首先介紹了內核搶占和用戶搶占的概念和區(qū)別,接著分析了不可搶占內核的特點及實時系統(tǒng)中實現(xiàn)內核搶占的必要性。然后分析了禁止內核搶占的情況和內核搶占的時機,最后介紹了實現(xiàn)搶占內核所做的改動以及何時需要重新調度。
    發(fā)表于 08-06 06:16

    詳解Linux能力機制

    Linux能力機制
    發(fā)表于 04-20 08:23

    如何實現(xiàn)局部網絡的休眠喚醒機制?

    局部網絡管理是什么?局部網絡(PN)管理的優(yōu)勢有哪些?如何實現(xiàn)局部網絡的休眠喚醒機制
    發(fā)表于 04-19 07:42

    串口接收喚醒機制有哪些注意事項?

    為什么串口接收數據就會觸發(fā)中斷呢?串口接收喚醒機制有哪些注意事項?
    發(fā)表于 12-09 06:45

    STM32 USB有哪幾種機制

    主機是怎樣對USB設備進行復位的?USB設備進入掛起狀態(tài)后如何喚醒呢?
    發(fā)表于 02-28 09:26

    MC33665A的喚醒機制是什么?

    MC33665A的喚醒機制是什么,wake in腳的接法應該是什么樣的
    發(fā)表于 04-04 08:49

    51和32單片機的復位機制有哪些不同?

    51和32單片機的復位機制有哪些不同。以及復位電容電壓的計算方法。
    發(fā)表于 11-06 06:16

    STM32單片機制作音樂譜程序原理圖詳解下載

    單片機制作音樂譜程序原理圖詳解下載
    發(fā)表于 03-20 11:38 ?5次下載

    家用風力發(fā)電機制作過程詳解

    家用風力發(fā)電機制作過程詳解
    的頭像 發(fā)表于 08-21 16:11 ?3.6w次閱讀

    礦石收音機制詳解

    礦石收音機制詳解
    發(fā)表于 12-27 17:52 ?99次下載

    stm32_FSMC機制

    stm32_FSMC機制,介紹FSMC機制入門
    發(fā)表于 02-21 15:16 ?18次下載

    圖文詳解Linux分頁機制

    分頁機制是 80x86 內存管理機制的第二種機制,分段機制用于把虛擬地址轉換為線性地址,而分頁機制用于把線性地址轉換為物理地址。
    發(fā)表于 05-30 09:10 ?719次閱讀
    圖文<b class='flag-5'>詳解</b>Linux分頁<b class='flag-5'>機制</b>

    什么是SPI機制

    的ContextClassLoader加載以便使用)。本次將對 SPI機制進行詳解,并結合案例介紹其在實際場景中具體使用。 2、什么是SPI機制? SPI(全稱:Service Provider Interface),是jdk內
    的頭像 發(fā)表于 10-08 15:03 ?1604次閱讀
    什么是SPI<b class='flag-5'>機制</b>