女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

雅特力AT32F435/437 OTGFS應用筆記

0739hhbb ? 來源:AT32 MCU 雅特力科技 ? 2023-03-08 13:23 ? 次閱讀

OTGFS介紹

AT32F435/437包含2個獨立的OTGFS,編號OTGFS1和OTGFS2,本章將描述OTGFS支持的一些基本功能。 OTGFS1和OTGFS2特性完全相同。

圖1 OTGFS框圖

wKgaomQD70CAXT6OAAEDPBuaUgs834.png

OTGFS特性

OTGFS通用特性:

支持USB2.0協議

內置獨立1280字節SRAM

內置全速PHY

內置上下拉電阻

SOF信號輸出

低功耗模式

支持忽略VBUS狀態

支持ID檢測以切換主機設備模式

不支持HNP/SRP協議(PHY不支持,不能動態切換模式,只能根據ID狀態切換模式)

AHB時鐘大于30MHz

OTGFS設備模式特性:

僅支持全速設備

支持內部1.5KΩ上拉

支持軟件斷開連接

支持1個雙向控制端點0

支持7個IN端點,端點號1-7

支持7個OUT端點,端點號1-7

支持控制傳輸,大容量傳輸,中斷傳輸,同步傳輸

端點接收FIFO共享

端點發送FIFO專用

支持無晶振(crystal-less)

OTGFS主機模式特性:

支持全速和低速

支持內部15KΩ下拉

支持16個主機通道

支持控制傳輸,大容量傳輸,中斷傳輸,同步傳輸

通道接收FIFO共享

通道發送FIFO專用

OTGFS全速PHY

OTGFS內置支持全速/低速的PHY,為主機和設備模式提供通信支持。

1、DP和DM內置上下拉電阻,由OTGFS根據模式自動使能上下拉電阻

當OTGFS處于設備模式時,DP 1.5KΩ上拉自動使能

當OTGFS處于主機模式時,DP和DM 15KΩ下拉自動使能

2、ID線內置上拉

ID線為高電平,默認為設備模式

ID線為低電平,為主機模式

3、設備模式下的VBUS檢測(可忽略VBUS檢測)

設備模式下,僅支持VBUS高低電平檢測,當VBUS為高電平,OTGFS認為是有效電平,將使能DP的上拉電阻,讓主機識別到設備插入。 當VBUS為低電平,OTGFS認為是無效電平,此時不使能DP上拉,處于斷開模式。

在設備模式下,如果想不檢測VBUS,可通過設置寄存器OTGFS_GCCFG. VBUSIG=1來實現,此時可將檢測VBUS的引腳釋放出來給其它外設使用。

4、PHY的低功耗模式

OTGFS全速PHY支持低功耗模式,可以通過設置寄存器OTGFS_GCCFG. LP_MODE=1讓PHY處于低功耗模式。

OTGFS GPIO引腳

435/437 OTGFS1/2使用GPIO引腳如下表所示:

表1 OTGFS1 GPIO引腳

wKgZomQD70CAKjeHAACo9UcXBLs710.png

表2 OTGFS2 GPIO引腳

wKgaomQD70CACyMiAACkyS1TPYc493.png

注:USB_OE信號當USB在傳輸數據時,會翻轉此信號

OTGFS 48MHz時鐘

需要給OTGFS提供48MHz±0.25%的時鐘來用于USB總線采樣。 48MHz時鐘可以直接來源HICK,也可以通過PLLCLK分頻得到。

圖2 USB 48MHz時鐘來源

wKgZomQD70CAELdBAACBf8IIi18595.png

注意:當OTGFS作為HOST時,必須使用外部晶振通過PLL分頻作為USB 48MHz時鐘。

USB時鐘選擇HICK

通過設置如下寄存器選擇HICK:

1、CRM_MISC1。希克迪夫=1;

HICK是否分頻,1表示不分頻,0表示6分頻

2、CRM_MISC1。HICK_TO_USB=1;

1 表示USB 48MHz時鐘來源是HICK,0表示來源為PLL分頻。

如果USB 48MHz時鐘來源選擇HICK時,在設備模式下需要開啟ACC(HICK自動校準)功能,ACC功能利用USB產生的SOF信號來作為參考信號,實現對HICK時鐘的采樣和校準。 詳細功能可參考RM HICK自動時鐘校準(ACC)章節。

注意:當OTGFS作為HOST時,必須使用外部晶振通過PLL分頻作為USB 48MHz時鐘,因為在HOST模式下不能通過ACC校準HICK。

使用HICK作為USB 48MHz時鐘代碼示例:

wKgZomQD70CAZU72AADtMxB_Thc051.png

USB時鐘選擇PLLCK****分頻

USB 48MHz時鐘默認是由PLL通過分頻得到,435/437系統時鐘最高可達到288Mhz,通過配置USB分頻因子,達到為USB提供48MHz時鐘。

通過配置已下寄存器進行PLL分頻:

CRM_MISC2. USBDIV=USB分頻因子

USB分頻因子支持:1.5分頻,不分頻,2.5分頻,2分頻,3.5分頻,3分頻,4.5分頻,4分頻,5.5分頻,5分頻,6.5分頻,6分頻,7分頻。

使用PLL分頻作為USB 48MHz時鐘代碼示例:

wKgZomQD70CAU8n9AAJoFRi14Ok518.png

OTGFS數據FIFO管理

OTGFS分配專用的1280 Byte SRAM作為數據FIFO,在主機或設備模式下,可通過軟件配置寄存器給端點/通道分配FIFO。

注意:分配的FIFO總大小不要超過**1280 Byte

設備模式下的FIFO分配

設備模式下所有端點的接收共享一個接收FIFO,每個端點的發送對應一個專有的發送FIFO。

圖3 設備模式FIFO分配

wKgZomQD70CABlehAADaAsh6Lps103.png

1、RX_FIFO

所有端點的接收共享這一塊FIFO,配置寄存器OTGFS_GRXFSIZ. RXFDEP,此寄存器值表示接收FIFO大小,注意單位為word(4Byte)。

2、TX_FIFO0

端點0的發送FIFO,配置寄存器OTGFS_DIEPTXF0,需要配置起始地址和FIFO大小。

OTGFS_DIEPTXF0。INEPT0TXSTADDR=OTGFS_GRXFSIZ.RXFDEP

OTGFS_DIEPTXF0. INEPT0TXDEP=端點0發送FIFO大小

3、TX_FIFO1

端點1的發送FIFO,配置寄存器OTGFS_DIEPTXF1,需要配置起始地址和FIFO大小。

OTGFS_DIEPTXF1. INEPTXFSTADDR=OTGFS_GRXFSIZ. RXFDEP+端點0發送FIFO大小OTGFS_DIEPTXF1. INEPTXFDEP=端點1發送FIFO大小

...

注意:對應端點FIFO配置寄存器中FIFO大小值的單位都是word(4Byte)。

注意:發送端點的起始地址一般配置為前面所有端點已占用的FIFO大小,例程如端點2的發送FIFO起始地址為**RX_FIFO大小+TX_ FIFO0大小+TX_FIFO1**大小。

主機模式下的FIFO分配

主機模式下,所有通道共享一個接收FIFO,通道發送FIFO分為非周期性發送FIFO和周期性發送FIFO。

非周期性和周期性通過傳輸類型來區分,每個主機通道寄存器都有配置傳輸類型,包含4種傳輸類型:控制傳輸(Control),同步傳輸(ISO),批量傳輸(Bulk),中斷傳輸(Interrupt)

非周期性:控制傳輸(Control),批量傳輸(Bulk)

周期性傳輸:同步傳輸(ISO),中斷傳輸(Interrupt)

圖4 主機模式下FIFO分配

wKgaomQD70CAIaNrAABnK7uRPu4806.png

1、RX_FIFO

所有主機通道的接收共享這一塊FIFO,配置寄存器OTGFS_GRXFSIZ. RXFDEP,此寄存器值表示接收FIFO大小,注意單位為word(4Byte)。

2、非周期性TxFIFO

非周期性的主機通道發送FIFO,配置寄存器OTGFS_GNPTXFSIZ,需要配置起始地址和FIFO大小。

OTGFS_GNPTXFSIZ。NPTXFSTADDR=OTGFS_GRXFSIZ.RXFDEP

OTGFS_GNPTXFSIZ. NPTXFDEP=非周期性發送FIFO大小

3、Periodic_TxFIFO

周期性的主機通道發送FIFO,配置寄存器OTGFS_HPTXFSIZ,需要配置起始地址和FIFO大小。

OTGFS_HPTXFSIZ。PTXFSTADDR=OTGFS_GRXFSIZ.RXFDEP+OTGFS_GNPTXFSIZ.NPTXFDEP

OTGFS_HPTXFSIZ. PTXFSIZE=周期性發送FIFO大小

注意:對應FIFO配置寄存器中FIFO大小值的單位都是word(4Byte)

OTGFS中斷結構

圖5 OTGFS中斷結構

wKgaomQD70CAFTlCAAImW0X-sSI573.png

全局常用中斷OTGFS_GINTSTS,此寄存器中包含了主機和設備的中斷標志,部分中斷標志只在設備模式或者主機模式下有效。

1、設備和主機模式都有效中斷標志

OTGFS_GINTSTS. MODEMIS:模式不匹配(主機和設備都適用)

OTGFS_GINTSTS. SOF:SOF中斷(主機和設備都適用)

OTGFS_GINTSTS. RXFLVL:接收FIFO非空(主機和設備都適用)

OTGFS_GINTSTS. CONIDSCHG:ID線狀態變化(主機和設備都適用)

OTGFS_GINTSTS. WKUPINT:喚醒信號中斷(主機和設備都適用)

2、僅主機模式下有效中斷標志

OTGFS_GINTSTS. NPTXFEMP:非周期發送FIFO為空(主機適用)

OTGFS_GINTSTS. PRTINT:主機端口中斷(主機適用)

OTGFS_GINTSTS. HCHINT:主機通道中斷(主機適用)

OTGFS_GINTSTS. PTXFEMP:周期性發送FIFO為空(主機適用)

OTGFS_GINTSTS. DISCONINT:設備斷開(主機適用)

3、僅設備模式下有效中斷標志

OTGFS_GINTSTS. USBSUSP:設備掛起(設備適用)

OTGFS_GINTSTS. USBRST:USB復位(設備適用)

OTGFS_GINTSTS. ENUMDONE:枚舉速度完成(設備適用)

OTGFS_GINTSTS. ISOOUTDROP:同步OUT包丟失(設備適用)

OTGFS_GINTSTS. IEPTINT:IN端點中斷(設備適用)

OTGFS_GINTSTS. OEPTINT:OUT端點中斷(設備適用)

OTGFS_GINTSTS. INCOMPISOIN:未完成的同步IN傳輸(設備適用)

圖6 中斷處理流程

wKgaomQD70CARJb1AACDajFjynY422.png

OTGFS模式

通過配置如下寄存器讓OTGFS處于OTG模式:

OTGFS_GUSBCFG. FDEVMODE=0(非強制設備模式)

OTGFS_GUSBCFG. FHSTMODE=0(非強制主機模式)

435/437 OTGFS可以通過檢測ID線上的狀態來確定當前處于設備模式還是主機模式。 當ID狀態為高電平時為設備模式,當ID狀態為低電平時為主機模式。

寄存器GINTSTS.CURMOD=0,表示當前為設備模式

寄存器GINTSTS.CURMOD=1,表示當前為主機模式

另外可以根據GINTSTS. CONIDSCHG中斷來檢測當前ID線的狀態是否有變化,當檢測到ID線有變化時,根據當前的模式位(GINTSTS.CURMOD),應用程序選擇初始化主機程序還是設備程序。

圖7 OTG模式連接示意圖

wKgZomQD70CAVQTHAACb7k6nV6Q624.png

設備模式

435/437 OTGFS作為設備時僅支持全速設備,不支持低速和高速設備。 支持8個IN端點(包括端點0),8個OUT端點(包括端點0)。

OTGFS強制作為設備

通過設定如下寄存器將OTGFS強制作為設備:

OTGFS_GUSBCFG. FDEVMODE=1(強制設備模式)

OTGFS_GUSBCFG. FHSTMODE=0(非強制主機模式)

圖8 設備模式連接示意圖

wKgaomQD70CAKL8QAAB-s-JKGIY471.png

注意:綠色線表示可選連接,當使能VBUSIG信號時,VBUS**引腳可作為普通I/O。

OTGFS設備常用功能

本節介紹OTGFS作為設備模式時的一些功能。

1、軟件斷開

可以通過配置設備模式下的寄存器,達到讓設備斷開與主機的連接。 原理是通過控制DP的上拉使能來控制連接狀態。

配置OTGFS_DCTL. SFTDISCON=1,DP上拉不使能,斷開連接。

配置OTGFS_DCTL. SFTDISCON=0,DP上拉使能,開始連接。

2、Remote wakeup喚醒

當設備進入掛起狀態之后,可以通過Remote wakeup功能喚醒主機。

喚醒流程:

設置OTGFS_DCTL. RWKUPSIG=1;

延遲1-15ms

設置OTGFS_DCTL. RWKUPSIG=0;

3、忽略VBUS信號

在設備模式下,可以忽略VBUS信號,此模式可以釋放VBUS引腳給其它外設使用。 通過配置OTGFS_GCCFG. VBUSIG=1來忽略VBUS信號。

OTGFS設備端點配置

本節簡單介紹OTGFS端點寄存器的配置。

IN 端點放置

IN端點寄存器OTGFS_DIEPCTLx(x為0~7),端點寄存器存放端點的基本信息。

如下是一個IN端點的基本配置選項:

OTGFS_DIEPCTLx.MPS(最大包長度)

OTGFS_DIEPCTLx.EPTYPE(端點類型:控制傳輸,同步傳輸,塊傳輸,中斷傳輸)

OTGFS_DIEPCTLxTXFNUM(發送FIFO編號,正常跟端點號相同)

OTGFS_DIEPCTLx.USBACEPT(激活端點)

OTGFS_DIEPCTLx.SNAK(設置端點為NAK狀態)

OTGFS_DIEPCTLx.CNAK(清除端點NAK狀態)

OTGFS_DIEPCTLx.STALL(設置端點為STALL狀態)

OTGFS_DIEPCTLx.EPTENA(開始傳輸數據)

輸出端點放置

OUT端點寄存器OTGFS_DOEPCTLx(x為0~7),端點寄存器存放端點的基本信息。

如下是一個OUT端點的基本配置選項:

OTGFS_DOEPCTLx.MPS(最大包長度)

OTGFS_DOEPCTLx.EPTYPE(端點類型:控制傳輸,同步傳輸,塊傳輸,中斷傳輸)

OTGFS_DOEPCTLx.USBACEPT(激活端點)

OTGFS_DOEPCTLx.SNAK(設置端點為NAK狀態)

OTGFS_DOEPCTLx.CNAK(清除端點NAK狀態)

OTGFS_DOEPCTLx.STALL(設置端點為STALL狀態)

OTGFS_DOEPCTLx.EPTENA(開始傳輸數據)

主機模式

435/437 OTGFS作為主機模式時支持全速/低速設備,同時支持16個主機通道。

OTGFS強制作為主機

通過設定如下寄存器將OTGFS強制作為主機,此時DP/DM下拉自動使能:

OTGFS_GUSBCFG. FDEVMODE=0(非強制設備模式)

OTGFS_GUSBCFG. FHSTMODE=1(強制主機模式)

圖9 主機模式連接示意圖

wKgZomQD70CAK4lRAABu42LqY4Y097.png

OTGFS主機常用功能

1、支持全速和低速設備

通過OTGFS_HPRT. PRTSDP判斷當前連接的設備是全速設備還是低速設備;

OTGFS_HPRT. PRTSDP=1表示全速

OTGFS_HPRT. PRTSDP=2表示低速

2、復位

通過設置OTGFS_HPRT. PRTRST來設置端口復位;

OTGFS_HPRT。PRTRST=1;

延時10ms

OTGFS_HPRT。PRTRST=0;

3、掛起

通過設置OTGFS_HPRT. PRTSUP=1來設置端口掛起,此時主機停止發送SOF;

OTGFS主機通道配置

主機通道配置寄存器OTGFS_HCCHARx(x為0~15),通道寄存器存放通道的基本信息。

如下是一個通道的基本配置選項:

OTGFS_HCCHARx.MPS(最大包長度)

OTGFS_HCCHARx.EPTNUM(指示設備端點號)

OTGFS_HCCHARx.EPTDIR(指示設備端點方向 OUT/IN)

OTGFS_HCCHARx.LSPDDEV(低速設備)

OTGFS_HCCHARx.EPTYPE(端點類型:控制傳輸,同步傳輸,塊傳輸,中斷傳輸)

OTGFS_HCCHARx.MC(周期性傳輸在每幀內傳輸的事務個數)

OTGFS_HCCHARx.DEVADDR(設備地址)

OTGFS_HCCHARx.ODDFRM(周期性傳輸奇數幀/偶數幀)

OTGFS_HCCHARx.CHDIS(通道禁止)

OTGFS_HCCHARx.CHENA(通道使能)

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

    關注

    60

    文章

    8134

    瀏覽量

    270525
  • 主機
    +關注

    關注

    0

    文章

    1032

    瀏覽量

    35792
  • PHY
    PHY
    +關注

    關注

    2

    文章

    314

    瀏覽量

    52462
  • GPIO
    +關注

    關注

    16

    文章

    1265

    瀏覽量

    53505
  • AT32
    +關注

    關注

    1

    文章

    121

    瀏覽量

    2553

原文標題:AT32講堂047 | 雅特力AT32F435/437 OTGFS應用筆記

文章出處:【微信號:AT32 MCU 雅特力科技,微信公眾號:AT32 MCU 雅特力科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    AT32 MCU F435/437 DFU DEMO

    示例目的演示使用AT32F435/437實現DFU demo,其余系列使用方式與此類似。注:本示例代碼是基于提供的V2.x.x板級支持
    發表于 04-21 20:16

    SC0105 AT32F435/437 同時使用兩個OTG

    HID設備。注:本示例代碼是基于提供的V2.x.x板級支持包(BSP)而開發,對于其他版本的BSP,需要注意使用上的區別。支持型號 AT32F435/
    發表于 11-13 16:54

    AT32F435/437系列安全庫區的應用原理、軟件使用方法及范例程序

    AT32F435/437 Security Library Application Note主要在闡述AT32F435/437系列安全庫區的應用原理、軟件使用方法及范例程序。
    發表于 10-25 07:22

    AT32F435/437時鐘配置

    AT32F435/437時鐘配置主要介紹兩部分內容:1、基于提供的V2.x.x 的板級支持包來進行時鐘源碼的配置及修改2、如何使用配套
    發表于 10-25 06:18

    AT32F435/437 EDMA使用指南

    AT32F435/437 EDMA使用指南本文主要就EDMA 的基本功能進行講解和案列解析。
    發表于 10-25 07:24

    如何提升AT32F435/437性能

    AT32F435/437 Performance Improvement描述了如何通過軟件方法改善AT32F435_437的運行效能。
    發表于 10-25 07:37

    AT32F435/437 ADC應用說明

    AT32F435/437 ADC使用指南主要以ADC的特色功能進行講解和案列解析。
    發表于 10-25 08:08

    AT32F435/437xx GPIO使用指南

    AT32F435/437xx的通用功能I/O (GPIO)提供了一系列與外部環境通訊的接口,可用于MCU與其他嵌入式設備之間通過數字或模擬方式的通訊。AT32F435/437xx系列的
    發表于 10-25 08:23

    AT32F435/437 OTGFS應用說明

    AT32F435/437 OTGFS Application Note主要描述AT32 OTGFS 外設特性,OTGFS 支持主機和設備模式
    發表于 10-25 07:01

    AT-SURF-F437全功能體驗板,助力加速應用開發

    2021年年底,力推出了AT32F435/437系列超高性能MCU,因其豐富的片上資源分配、高集成及高性價比特征,一經推出便受到廣大工程師朋友的關注。為了讓用戶完整體驗AT32
    的頭像 發表于 06-20 15:37 ?1939次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT-SURF-<b class='flag-5'>F437</b>全功能體驗板,助力加速應用開發

    出道即顛峰!發布超高性能AT32F435/437系列Cortex? -M4 MCU

    12月1日,科技正式推出兩款主頻高達288MHz的AT32F435與AT32F437超高性能微控制器新品,在已有主流型和超值型產品線的
    的頭像 發表于 02-24 09:46 ?2699次閱讀
    出道即顛峰!<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>發布超高性能<b class='flag-5'>AT32F435</b>/<b class='flag-5'>437</b>系列Cortex? -M4 MCU

    AT-SURF-F437全功能體驗板,加速應用開發及產品量產

    2021年年底,力推出了AT32F435/437系列超高性能MCU,因其豐富的片上資源分配、高集成及高性價比特征,一經推出便受到廣大工程師朋友的關注。為了讓用戶完整體驗AT32
    的頭像 發表于 06-19 17:28 ?1219次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT-SURF-<b class='flag-5'>F437</b>全功能體驗板,加速應用開發及產品量產

    AT32講堂047 | AT32F435/437 OTGFS用筆記

    OTGFS介紹AT32F435/437包含2個獨立的OTGFS,編號OTGFS1和OTGFS2,
    的頭像 發表于 03-17 09:43 ?2804次閱讀
    AT32講堂047 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F435</b>/<b class='flag-5'>437</b> <b class='flag-5'>OTGFS</b>應<b class='flag-5'>用筆記</b>

    AT32F435/F437入門使用指南

    搭建AT32開發環境一、調試工具及開發板目前AT32F435/F437開發板都自帶AT-Link-EZ調試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開后單獨搭配其他電路板使用,支持IDE在線調試、在線燒錄、USB轉串口等功能。圖1.AT-
    的頭像 發表于 11-10 08:15 ?6984次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F435</b>/<b class='flag-5'>F437</b>入門使用指南

    AT32F435 & AT32F437入門使用指南

    電子發燒友網站提供《AT32F435 & AT32F437入門使用指南.pdf》資料免費下載
    發表于 12-18 11:13 ?1次下載
    <b class='flag-5'>AT32F435</b> & AT32<b class='flag-5'>F437</b>入門使用指南