在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

CKS32F4xx系列MCU的OTG_FS功能詳解

中科芯MCU ? 來源:中科芯MCU ? 2024-01-15 09:26 ? 次閱讀

USB是英文Universal Serial BUS(通用串行總線)的縮寫,而其中文簡稱為“通用串行總線“,是一個外部總線標準,用于規范電腦與外部設備的連接和通訊。是應用在PC領域的接口技術。USB發展到現在已經有USB1.0/1.1/2.0/3.0等多個版本。目前用的最多的就是USB1.1和USB2.0,USB3.0目前已經開始普及。

CKS32F4xx系列自帶的USB符合USB2.0規范。標準USB共四根線組成,除VCC/GND外,另外為D+和D-,這兩根數據線采用的是差分電壓的方式進行數據傳輸的。在USB主機上,D-和D+都是接了15K的電阻到地的,所以在沒有設備接入的時候,D+、D-均是低電平。而在USB設備中,如果是高速設備,則會在D+上接一個1.5K的電阻到VCC,而如果是低速設備,則會在D-上接一個1.5K的電阻到VCC。這樣當設備接入主機的時候,主機就可以判斷是否有設備接入,并能判斷設備是高速設備還是低速設備。 CKS32F4xx系列芯片自帶有USB OTG FS(全速)和USB OTG HS(高速),其中HS需要外擴高速PHY芯片實現,我們本章節對USB OTG FS進行介紹。

USB OTG FS主要特性

CKS32F4xx系列的USB OTG FS是一款雙角色設備(DRD)控制器,同時支持從機功能和主機功能,完全符合USB2.0規范的On-The-Go補充標準。此外,該控制器也可配置為“僅主機”模式或“僅從機”模式,完全符合USB2.0規范。在主機模式下,OTGFS支持全速(FS,12Mb/s)和低速(LS,1.5Mb/s)收發器,而從機模式下則僅支持全速(FS,12Mb/s)收發器。OTG FS同時支持HNP和SRP。CKS32F4xx系列的USB OTG FS主要特性可分為三類:通用特性、主機模式特性和從機模式特性。

- 通用特性 -

1、經USB-IF認證,符合通用串行總線規范第2.0版

2、集成全速PHY,且完全支持定義在標準規范OTG補充第1.3版中的OTG協議:

支持A-B器件識別(ID線)

支持主機協商協議(HNP)和會話請求協議(SRP)

允許主機關閉VBUS以在OTG應用中節省電池電量

支持通過內部比較器對VBUS電平采取監控

支持主機到從機的角色動態切換

3、可通過軟件配置為以下角色:

具有SRP功能的USB FS從機(B器件)

具有SRP功能的USB FS/LS主機(A器件)

USB On-The-Go全速雙角色設備

4、支持FS SOF和LS Keep-alive令牌

SOF脈沖可通過PAD輸出

SOF脈沖從內部連接到定時器2(TIM2)

可配置的幀周期

可配置的幀結束中斷

5、具有省電功能,例如在USB掛起期間停止系統、關閉數字模塊時鐘、對PHY和DFIFO電源加以管理

6、具有采用高級FIFO控制的1.25KB專用RAM

可將RAM空間劃分為不同FIFO,以便靈活有效地使用RAM

每個FIFO可存儲多個數據包

動態分配存儲區

FIFO大小可配置為非2的冪次方值,以便連續使用存儲單元

7、一幀之內可以無需要應用程序干預,以達到最大USB帶寬

- 主機(Host)模式特性 -

1、通過外部電荷泵生成VBUS電壓

2、多達8個主機通道(管道):每個通道都可以動態實現重新配置,可支持任何類型的USB傳輸

3、內置硬件調度器:

在周期性硬件隊列中存儲多達8個中斷加同步傳輸請求

在非周期性硬件隊列中存儲多達8個控制加批量傳輸請求

4、管理一個共享RX FIFO、一個周期性TX FIFO和一個非周期性TX FIFO,以有效使用USB數據RAM

- 從機(Slave/Device)模式特性 -

1、1個雙向控制端點0

2、3個IN端點(EP),可配置為支持批量傳輸、中斷傳輸或同步傳輸

3、3個OUT端點(EP),可配置為支持批量傳輸、中斷傳輸或同步傳輸

4、管理一個共享Rx FIFO和一個Tx-OUT FIFO,以高效使用USB數據RAM

5、管理多達4個專用Tx-IN FIFO(分別用于每個使能的IN EP),降低應用程序負荷支持軟斷開功能

2d97e4fc-b20c-11ee-8b88-92fbcf53809c.png

圖1USB OTG FS框圖

對于USB OTG FS功能模塊,CKS32F4xx系列通過AHB總線訪問(AHB頻率必須大于14.2Mhz),其中48Mhz的USB時鐘,是來自時鐘樹圖里面的PLL48CK(和SDIO共用)。不過,我們提供了一套完整的 USB OTG驅動庫(包括主機和設備),通過這個庫可以很方便的實現所要的功能。

軟件設計

2dcdbe24-b20c-11ee-8b88-92fbcf53809c.png

圖2USB配置代碼

配置時,我們重點要配置的就是USB_APP文件夾下面的代碼。 usb_bsp.c提供了幾個USB庫需要用到的底層初始化函數,包括:IO設置、中斷設置、VBUS配置以及延時函數等。USB Device(Slave)和USB Host共用這個.c文件。 usbd_usr.c提供用戶應用層接口函數,即USB設備類的一些回調函數,當USB狀態機處理完不同事務的時候,會調用這些回調函數,我們通過這些回調函數,就可以知道USB當前狀態,比如:是否枚舉成功、是否連接、是否斷開等,根據這些狀態,用戶應用程序可以執行不同操作,完成特定功能。 要使用USB OTG FS,必須在編譯器的全局宏定義里面,定義:USE_USB_OTG_FS 具體的USB庫調用函數篇幅較大,不再詳細描述,以下為main函數代碼:

int main(void)
{
u32t;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_init(168);
uart_init(115200);
LED_GPIO_Init();
USBH_Init(&USB_OTG_Core_dev,USB_OTG_FS_CORE_ID,&USB_Host,&HID_cb,&USR_Callbacks);
while(1)
{
USBH_Process(&USB_OTG_Core_dev, &USB_Host);
if(bDeviceState==1)//á??ó?¨á¢á?
{
if(USBH_Check_HIDCommDead(&USB_OTG_Core_dev,&HID_Machine))
{     
USBH_HID_Reconnect();
}
}else
{
if(USBH_Check_EnumeDead(&USB_Host))
{     
USBH_HID_Reconnect();
}
}
t++;
if(t==200000)
{
LED1=!LED1;
t=0;
}
}
}

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17357

    瀏覽量

    352794
  • 收發器
    +關注

    關注

    10

    文章

    3477

    瀏覽量

    106283
  • 控制器
    +關注

    關注

    112

    文章

    16467

    瀏覽量

    179625
  • usb
    usb
    +關注

    關注

    60

    文章

    7989

    瀏覽量

    266274

原文標題:MCU微課堂|CKS32F4xx系列OTG_FS功能

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MCU微課堂|CKS32F4xx系列產品時鐘配置

    作為MCU運行的基礎,時鐘是單片機各個模塊工作時序的最小時間單位,推動單片機的各指令執行,是MCU選型的一個重要指標。CKS32F4xx系列產品具有眾多的外設,但并非所有的外設均需要系
    發表于 12-12 10:17 ?886次閱讀

    CKS32F4xx系列ETH通信詳解

    CKS32F4xx系列芯片自帶以太網模塊,該模塊包括帶專用DMA控制器的MAC 802.3(介質訪問控制)控制器
    的頭像 發表于 11-10 11:13 ?1093次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ETH通信<b class='flag-5'>詳解</b>

    CKS32F4xx系列DSP功能介紹

    CKS32F4xx系列使用高性能的32位內核,支持浮點運算單元(FPU),同時還支持DSP指令以及存儲保護(MPU)用來加強應用的安全性。
    的頭像 發表于 03-04 13:43 ?1645次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP<b class='flag-5'>功能</b>介紹

    CKS32F4xx系列產品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節我們對CKS32F4xx系列的DMA進行介紹,同時利用DMA對串口數據進行傳輸。
    的頭像 發表于 04-10 11:18 ?1113次閱讀

    CKS32F4xx系列RNG功能設置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機數發生器簡介 ? ? CKS32F4xx系列自帶了硬件隨機數發生器(RNG),
    的頭像 發表于 09-08 10:01 ?678次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG<b class='flag-5'>功能</b>設置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發表于 11-06 16:56 ?920次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC<b class='flag-5'>功能</b>

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發表于 11-06 16:53 ?1170次閱讀

    CKS32F4xx系列ADC單通道電壓采集

    CKS32F4xx系列ADC單通道電壓采集
    的頭像 發表于 11-06 16:54 ?1032次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ADC單通道電壓采集

    CKS32F4xx系列低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式SLEEP模式
    的頭像 發表于 11-06 16:59 ?733次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發表于 11-06 17:08 ?675次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STOP模式

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出
    的頭像 發表于 11-09 17:39 ?926次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-定時操作

    CKS32F4xx系列產品Timer的基本使用方法-定時操作
    的頭像 發表于 11-09 17:41 ?686次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品Timer的基本使用方法-定時操作

    MCU微課堂 | CKS32F4xx系列產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品SPI通信
    的頭像 發表于 10-24 17:12 ?776次閱讀
    <b class='flag-5'>MCU</b>微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置
    的頭像 發表于 10-24 15:14 ?865次閱讀
    <b class='flag-5'>MCU</b>微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產品GPIO口配置

    CKS32F4xx系列FSMC功能簡介

    本課講為大家講解CKS32F4xx系列產品的FSMC應用實例,FSMC全稱是Flexible Static Memory Controller,讀作靈活的靜態存儲控制器,顧名思義,MCU可以通過FSMC擴展靜態內存
    的頭像 發表于 04-14 15:06 ?1059次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC<b class='flag-5'>功能</b>簡介
    主站蜘蛛池模板: 久草老司机 | 黄色免费大全 | 苍井优一级毛片免费观看 | 老湿影院免费体验区 | 综合色99| 国产精品视频永久免费播放 | 天天爽夜夜爽一区二区三区 | 亚洲 欧美 日韩 在线 中文字幕 | 亚洲成人77777 | 国产三级精品三级在线观看 | 性夜影院爽黄a爽免费视频 性瘾高h姚蕊全文免费阅读 | 婷婷综合五月中文字幕欧美 | yy6080理aa级伦大片一级 | 国产成人精品亚洲日本在线 | 特级全黄一级毛片免费 | 91大神精品全国在线观看 | 亚洲成人一级片 | 欧美日本一区二区三区 | 粉嫩尤物在线456 | 免费的色网站 | 免费美剧在线观看 | 国产裸露片段精华合集链接 | 亚洲精品成人网 | 天天干精品 | www.色.com| 能可以直接看的av网址 | 韩国a级床戏大尺度在线观看 | 成年视频在线观看 | 国产99在线播放免费 | 四虎影永久地址www 四虎影永久在线观看精品 四虎影永久在线观看网址 四虎影院.com | 久青草国产在线视频_久青草免 | 国产精品夜夜春夜夜爽久久 | 视频免费在线 | 午夜亚洲国产精品福利 | 美女福利在线观看 | 99热成人精品热久久669 | 网女色 | 轻点灬大ji巴太粗太长了啊h | 精品久久久久久国产免费了 | 天天干天天做天天射 | 国产 麻豆 欧美亚洲综合久久 |