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

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

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

3天內不再提示

基于DWC2的USB驅動開發-0x07 DWC2 USB2.0 IP 配置參數

嵌入式USB開發 ? 2023-05-17 09:49 ? 次閱讀

本問轉自公眾號,歡迎關注

微信公眾平臺 (qq.com)

前言

本IP是一個靈活的可配置的IP,有很多參數可以配置以滿足不同的需求,這里的配置參數值得IP的配置參數,不要和軟件通過寄存器去配置的參數混淆,IP的配置參數固定之后就不能改了,就決定了IP所具有的能力。對于軟件開發者來說也要了解其具體的配置,因為只有知道當前IP的配置,知道支持哪些功能,哪些是軟件可以配置的哪些是硬件固定了無法配置的,等等這些,后面寫驅動才心中有數。

配置相關寄存器

前面我們介紹了控制器的寄存器,其中有四個只讀寄存器GHWCFG1,GHWCFG2,GHWCFG3,GHWCFG4用來顯示IP和的相應的配置參數,從名字全局硬件配置寄存器也可以看出其作用,從這四個寄存器可以知道控制器的具體能力。

偏移0x44 名字GHWCFG1
位域 符號 描述
31:0 EpDir 兩個bit表示一個端點的方向,低位表示低端點號,b[1:0]表示端點0的方向,其他類推b00: BIDIR (IN和 OUT)雙向端點b01: IN端點b10: OUT端點b11: Reserved
偏移0x48 名字GHWCFG2
位域 符號 描述
31 OTG_ENABLE_IC_USB 0:不支持IC_USB全速串行收發接口1:支持OTG_FSPHY_INTERFACE == 1 &&OTG_ENABLE_IC_USB == 1時為1
30:26 TknQDepth 設備IN令牌序列隊列深度 0~30
25:24 PTxQDepth 主機模式,周期請求隊列深度00: 201: 410: 811:16
23:22 NPTxQDepth 非周期請求隊列深度00: 201: 410: 811:保留
21 保留
20 MultiProcIntrpt 0:不支持多處理器中斷1:支持
19 DynFifoSizing 0:不支持動態調整FIFO大小1:支持
18 PerioSupport 主機模式是否支持周期OUT通道0:不支持1:支持
17:14 NumHstChnl 主機支持的通道數0代表支持1個通道...15代表支持16個通道
13:10 NumDevEps 設備模式支持的端點數,不包括端點00代表支持0個端點...15代表支持15個端點
9:8 FSPhyType 全速PHY接口類型00:不支持全速接口01:獨立的全速接口10:全速接口和UTMI+引腳共享11:全速接口和ULPI引腳共享
7:6 HSPhyType 高速PHY接口類型00:不支持高速PHY接口01: UTMI+10: ULPI11: UTMI+和 ULPI這種模式軟件可以配置選擇UTMI+還是ULPI
5 SingPnt 0:多點應用 (支持hub和split傳輸)1:單點應用 (不支持hub和 split傳輸)
4:3 OtgArch 00: Slave-Only模式01: External DMA10: Internal DMAOthers: Reserved
2:0 OtgMode 000:支持HNP和SRP的OTG (Host & Device)001:支持SRP的OTG (Host & Device)010:不支持HNP和SRP的(Host and Device)011: 支持SRP的Device100: Non-OTG Device101:支持SRP的Host110: Non-OTG Host其他: 保留
偏移0x4C 名字GHWCFG3
位域 符號 描述
31:16 DfifoDepth DFIFO深度 (DfifoDepth - EP_LOC_CNT)最小32,最大32768,單位是32位(4字節)注意DfifoDepth是總的DFIFO大小,還有一部分EP_LOC_CNT做端點狀態寄存器用,所以真正用于數據傳輸的只有DfifoDepth - EP_LOC_CNT
15 LPMMode 0:不支持LPM1:支持
14 BCSupport 0:不支持電池充電器1:支持
13 HSICMode 1:支持HSIC接口,和UTMI PHY接口共享0:不支持HSIC接口
12 ADPSupport 0:不支持ADP1:支持
11 RstType 復位方式0:內核使用異步復位方式1:內核使用同步復位方式
10 OptFeature 0: 不移除用戶ID寄存器,GPIO接口,SOF翻轉和計數端口。1: 移除上述功能
9 VndctlSupt 0:不支持廠商控制接口1:支持
8 I2CIntSel 0:無IC接口1:有
7 OtgEn 0:不支持OTG1:支持
6:4 PktSizeWidth 包大小計數器的位寬,最大10位,可表示0~1023 1K000: 4 bits001: 5 bits010: 6 bits011: 7 bits100: 8 bits101: 9 bits110: 10 bitsOthers: Reserved
3:0 XferSizeWidth 傳輸大小計數器位寬,最大19位,可以表示0~524287 512K0000: 11 bits0001: 12 bits...1000: 19 bitsOthers: Reserved
偏移0x50 名字GHWCFG4
位域 符號 描述
31 DescDMA 0:Scatter/Gather DMA不可由軟件動態配置使能1:可以由軟件動態配置使能
30 DescDMAEnabled 0:不支持Scatter/Gather DMA1:支持
29:26 INEps 設備模式包括控制端點的IN端點數0: 1 IN端點1: 2 IN端點....15: 16 IN端點
25 DedFifoMode 是否支持設備模式IN端點使用獨立的FIFO0:不支持1:支持
24 SessEndFltr 0:無session_end濾波1:有
23 BValidFltr 0:無b_valid濾波1:有
22 AValidFltr 0:無a_valid濾波1:有
21 VBusValidFltr 0:不使能VBUS Valid濾波1:使能
20 IddgFltr 0:不支持IDDIG濾波1:支持
19:16 NumCtlEps 設備模式除了控制端點0以外的控制端點數0-15
15:14 PhyDataWidth PHY接口的總線寬度00: 8 bits01: 16 bits10: 8/16 bits,軟件配置其他:保留
13 EnhancedLPMSupt 是否支持增強的LPM,1使能基于FIFO狀態的進入L1行為TX FIFO相關ISOC IN TX FIFO非空時也支持接受L1請求Non-Periodic TX FIFO非空時拒絕L1請求在L1狀態時確保應用可以Flush TX FIFORX FIFO相關非周期和周期RX FIFO非空時接受L1請求接受L1請求,但延遲SLEEPM,直到RX SINK緩沖區為空。任何控制端點在傳輸時阻止進入L1,PHY時鐘被門控關閉也可以Flush TxFIFO。
12 ACGSupt 是否支持,控制器在沒有USB和AHB之間的數據流時支持動態時鐘門控降低功耗。0:不支持1:支持
11 ipgisocSupt ISOC OUT內部包間隙最壞情況支持。根據UTMI規范,最壞場景,RX緊接著RX數據包即任意令牌包后緊接著ISOC OUT令牌時的場景,包間間隙(IPG)為32-bittimes。如果不是能這種場景會檢測不到后面的令牌包。默認IPG是使能支持的。如果不支持該功能則取決于AHB 和 PHY 的頻率。0:不支持1:支持
10 ServIntFlow 是否支持ISO In端點的基于服務間隔Service-Interval的調度
9 EnhancedLPMSupt1 增強的LPM支持是否支持基于FIFO狀態的L1進入條件0:決絕Bulk/Interrupt TxFIFO非空時的L1請求1:接受
8 保留
7 ExtendedHibernation 0:不支持擴展休眠功能1:支持
6 Hibernation 0:不支持休眠功能1:支持
5 AhbFreq 最小AHB頻率是否小于60MHz0:否1:是
4 PartialPwrDn 0:不支持分區掉電1:支持
3:0 NumDevPerioEps 設備模式支持的周期IN端點數

基本配置參數

Mode of Operation GHWCFG2寄存器的b[2:0]查看配置值OtgMode 支持OTG, HNP, 和 SRP的可以由軟件配置不使用。不支持Non-HNP/SRP的OTG不可以動態切換角色,但是可以根據連接的是A還是B連接去決定是主機還是設備。如果要支持micro AB插座的嵌入式主機需要配置為0,1,5
Architecture GHWCFG2寄存器的b[4:3]查看配置值OtgArch
Point-to-Point ApplicationOnly? GHWCFG2的b5查看配置值SingPnt
LPM Mode of Operation GHWCFG3的b15查看配置值
Enable descriptor basedscatter/gather DMA GHWCFG4的b30查看配置值是否使能b31查看是否軟件可動態 使能
Enable Dedicated TransmitFIFO for device IN Endpoints? GHWCFG4的b25查看配置值
Enable option for endpointspecific interrupt GHWCFG2的b20查看配置值

USB物理層接口參數

High-Speed PHY Interface(s) GHWCFG2的b[7:6]查看配置值
Data Width of the UTMI+Interface GHWCFG4的b[15:14]查看配置值
USB 1.1 Full-Speed SerialTransceiver Interface GHWCFG2的b[9:8]查看配置值
USB IC_USB TransceiverInterface GHWCFG2的b31查看配置值
Default (Power on) Interfaceselection: FS_USB/IC_USB GUSBCFG的b26初始值依賴該配置
HSIC Mode of Operation GHWCFG3的b13查看配置值
Enable I2C Interface? GHWCFG3的b8查看配置值
Enable ULPI Carkit? OTG_HSPHY_INTERFACE==2OTG_HSPHY_INTERFACE==3時使能支持ULPI接口讀PHY寄存器
ADP Controller Support GHWCFG3的b12查看配置值
Battery Charger Support GHWCFG3的b14查看配置值
Enable PHY Vendor ControlInterface? GHWCFG3的b9查看配置值

設備端點配置參數

Number of Device ModeEndpoints in Addition toControl Endpoint 0 GHWCFG2的b[13:10]查看配置值
Number of Device ModePeriodic IN Endpoints GHWCFG4的b[3:0]查看配置值
Number of Device Mode activeIN Endpoints Including ControlEndpoint 0 GHWCFG4的b[29:26]
Number of Device ModeControl Endpoints in Additionto Endpoint 0 GHWCFG4的b[19:16]

主機端點配置參數

Number of Host ModeChannels GHWCFG2的b[17:14]
Is Periodic OUT ChannelSupport Needed in HostMode?

端點通道FIFO配置參數

Total Data FIFO RAM Depth(64 to 32768) GHWCFG3的b[31:16]
Enable Dynamic FIFO Sizing? GHWCFG2的b19
Largest Rx Data FIFO Depth(16 to 32768)
Largest Non-Periodic Host TxData FIFO Depth (16 to 32768)
Largest Non-Periodic Tx DataFIFO Depth (16 to 32768)
Largest Host Mode Periodic TxData FIFO Depth (16 to 32768)
Non-Periodic Request QueueDepth GHWCFG2的[23:22]
Host Mode Periodic RequestQueue Depth GHWCFG2的[25:24]
Device Mode IN TokenSequence Learning QueueDepth (0 to 30) GHWCFG2的b[30:26]

可添加的配置選項參數

Enable Service Interval BasedScheduling for ISOC INEndpoints GHWCFG4的b10
Width of Transfer SizeCounters GHWCFG3的[3:0]
Width of Packet Counters GHWCFG3的b[6:4]
Remove Optional Features? GHWCFG3的b10
Power-on Value of User IDRegister
Enable Power Optimization? GHWCFG4的b7 b6 b4
Is Minimum AHB OperatingFrequency less than 60 MHz? GHWCFG4的b5
Reset Style for Clocked alwaysBlocks in RTL? GHWCFG3的b11
Enable Filter on "iddig" signalfrom PHY? GHWCFG4的b20
Enable Filter on "vbus_valid"signal from PHY? GHWCFG4的b21
Enable Filter on "a_valid"signal from PHY? GHWCFG4的b22
Enable Filter on "b_valid"signal from PHY? GHWCFG4的b23
Enable Filter on "session_end"signal from PHY? GHWCFG4的b24
Enable Exceptional ControlTransfer Flow Support?
Enable Dynamic PowerReduction?
Enable UPF Power Clamps?
Enable UPF Power SwitchPolarity?

端點方向參數

Direction of Endpoint n(for n = 1; n <=OTG_NUM_EPS) GHWCFG1

設備周期FIFO深度參數

Largest Device Mode PeriodicTx Data FIFO n Depth (4 to768)(for n = 1; n <=OTG_NUM_PERIO_EPS)

設備IN端點FIFO深度參數

Largest Device Mode Tx DataFIFO n Depth (16 to 32768)(for n = 0; n <=OTG_NUM_IN_EPS-1)

UTMI-To-UTMI橋組件參數

Enable UTMI-To-UTMI BridgeComponent? OTG_HSPHY_INTERFACE == 1 && OTG_HSPHY_DWIDTH != 2&& OTG_MODE > 2

總結

以上列舉了所有相關配置參數,大部分參數都可以通過4個全局硬件配置寄存器中查看。通過查看這些寄存器可以知道控制器當前的配置,知道具備哪些能力,以便后續驅動編寫。

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

    關注

    31

    文章

    5358

    瀏覽量

    120774
  • usb
    usb
    +關注

    關注

    60

    文章

    7963

    瀏覽量

    265227
  • IP
    IP
    +關注

    關注

    5

    文章

    1713

    瀏覽量

    149703
  • USB驅動
    +關注

    關注

    1

    文章

    137

    瀏覽量

    20220
  • DWC2
    +關注

    關注

    0

    文章

    35

    瀏覽量

    140
收藏 人收藏

    評論

    相關推薦

    基于DWC2USB驅動開發-0x01開篇介紹與新思DWC2 USB2.0控制器簡介

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-0x01開篇介紹與新思DWC2
    的頭像 發表于 05-08 18:10 ?4693次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>0x</b>01開篇介紹與新思<b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b>控制器簡介

    基于DWC2USB驅動開發-0x02 DWC2 USB2.0 IP功能特征介紹

    DWC2即新思(Synopsys )的DesignWare? Cores USB 2.0 HiSpeed On-The-Go (OTG)控制器IP,被大量使用。從linux的內核源碼
    的頭像 發表于 05-09 10:09 ?9665次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>0x</b>02 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b> <b class='flag-5'>IP</b>功能特征介紹

    基于DWC2USB驅動開發-0x04 DWC2 USB2.0 IP 架構介紹

    這一篇先對IP的架構進行一些介紹,內容比較多所以重點關注和軟件相關的內容。后續編程具體涉及時,可能再返回過來詳讀某一個部分。
    的頭像 發表于 05-12 12:50 ?4343次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>0x</b>04 <b class='flag-5'>DWC2</b> <b class='flag-5'>USB2.0</b> <b class='flag-5'>IP</b> 架構介紹

    基于DWC2USB驅動開發-IAD描述符詳解

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-IAD描述符詳解 (qq.com) 一.? 前言 IAD描述符用于一個設備功能關聯多個接口,可以用于實現組合設備。 二.參考文檔
    的頭像 發表于 06-27 08:45 ?20.4w次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-IAD描述符詳解

    基于DWC2USB驅動開發-USB復位詳解

    本文轉自公眾號歡迎關注 基于DWC2USB驅動開發-USB復位詳解 (qq.com) 一.前言 ? ? ? ? ?上一篇我們詳細介紹了
    的頭像 發表于 07-07 11:18 ?7w次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>USB</b>復位詳解

    基于DWC2USB驅動開發-USB連接詳解

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-USB連接詳解 (qq.com) 一.前言 ? 之前一直在閱讀手冊,規格書,練習招式
    的頭像 發表于 07-07 08:46 ?3782次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>USB</b>連接詳解

    基于DWC2USB驅動開發-高速設備枚舉為全速設備問題案例分析

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-高速設備枚舉為全速設備問題案例分析 (qq.com) 一.前言 ? 本文分享一個高速設備被枚舉為全速的問題。 ? ? 高速設備速
    的頭像 發表于 07-10 17:12 ?1462次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-高速設備枚舉為全速設備問題案例分析

    基于DWC2USB驅動開發-設備類驅動框架

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-設備類驅動框架 (qq.com) 一.前言 從軟件頂層,從數據流的角度來看
    的頭像 發表于 07-16 15:56 ?1350次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-設備類<b class='flag-5'>驅動</b>框架

    基于DWC2USB驅動開發-發送相關的寄存器DMA寄存器詳解

    本文轉自公眾號,歡迎關注 基于DWC2USB驅動開發-發送相關的寄存器DMA寄存器詳解 (qq.com) 前言 如下寄存器DIEPxxx,對應IN端點,和發送數據相關,這一篇先介紹和
    的頭像 發表于 07-16 16:42 ?1693次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-發送相關的寄存器DMA寄存器詳解

    基于DWC2USB驅動開發-USB包詳解

    不管什么通訊協議,比如UART,SPI,USB等等,不管是并口還是串口,不管是同步還是異步,我們從抽象的角度去看,其本質都是一樣的。都是先定義物理信號,物理信號可能是差分,單端,電流驅動電壓驅動等等
    的頭像 發表于 07-23 17:11 ?2671次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-<b class='flag-5'>USB</b>包詳解

    基于DWC2USB驅動開發-數據不能發送問題分析案例

    本文轉自公眾號歡迎關注 基于DWC2USB驅動開發-數據不能發送問題分析案例 (qq.com) ? 一.前言 ? ? ? ?對于驅動
    的頭像 發表于 08-08 09:43 ?2411次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-數據不能發送問題分析案例

    RK3399平臺上USB控制器和PHY的連接方式和配置說明

    。向外接到USB2.0 PHY。EHCI和OHCI Rockchip采用Linux 內核Generic驅動,一般開發 時只需要對DT作相應配置,即可正常工作。Driver代碼路徑:dr
    發表于 05-12 17:46

    如何對基于hal庫的DWC2 USB IP進行調試呢

    背景之前適配 DWC2 USB IP 的時候,主要是基于 st 的 hal 庫來走的,當時我就對他們的 hal 庫代碼不滿,只是無奈,迫于時間就沒重構,果不其然,usb bug 一堆,
    發表于 06-14 15:23

    無法讓USB主機正常工作是我做錯了什么嗎?

    bus registered, assigned bus number 3[ 2.986093] dwc2 49000000.usb-otg: irq 51, io mem 0x
    發表于 12-02 06:06

    基于DWC2USB驅動開發-抽絲剝繭再論切換到狀態階段標志DOEPINTn.StsPhseRcvd

    本文轉自公眾號系列文章,歡迎關注 基于DWC2USB驅動開發-USB包詳解 (qq.com) 一.前言 前面我們對SETUP完成標志DOE
    的頭像 發表于 07-24 18:04 ?1650次閱讀
    基于<b class='flag-5'>DWC2</b>的<b class='flag-5'>USB</b><b class='flag-5'>驅動</b><b class='flag-5'>開發</b>-抽絲剝繭再論切換到狀態階段標志DOEPINTn.StsPhseRcvd
    主站蜘蛛池模板: 欧美一级片观看| 日本天天色| 九九精品免费观看在线| 亚洲欧美一区二区三区图片| 一级a级国产不卡毛片| 在线看av网址| 亚洲国产视频一区| 福利视频一区二区三区| 亚洲人毛茸茸bbxx| 四虎影院永久网站| 欧美色欧美色| 国产欧美日韩综合精品一区二区| 成人免费视频一区| 五月深爱婷婷| 国产精品免费看久久久| 91免费视频网站| aaaaa国产毛片| 四虎影院的网址| 毛片在线播| aa黄色片| 久久亚洲国产视频| 68日本xxxxxxx18| 伊人手机在线观看| 日韩午夜精品| 国产女人在线观看| 天天干天天干天天色| www.色黄| 最好看免费中文字幕2018视频| 无人区理论片手机看片| 欧美成人精品欧美一级乱黄| 丰满寡妇一级毛片| 美女网战色| 性叉叉| 五月情婷婷| 久久精品国产清自在天天线| 新版天堂资源中文在线| 国产高清毛片| 狠狠狠狠干| 欧美日韩一级视频| 永久观看| 国产在线h视频|