MT7620programming guide14.docx
《MT7620programming guide14.docx》由会员分享,可在线阅读,更多相关《MT7620programming guide14.docx(15页珍藏版)》请在冰豆网上搜索。
![MT7620programming guide14.docx](https://file1.bdocx.com/fileroot1/2023-1/31/7d9738eb-faae-4f61-bf07-2345643161fd/7d9738eb-faae-4f61-bf07-2345643161fd1.gif)
MT7620programmingguide14
2.17USB设备控制器
2.17.1特性
-支持USB2.0说明书(1.0a版本),高速运行(HS,480Mbps)
-支持2bulk-in和2bulk-out端点,并包括控制端点0
-有效数据传输的完整的DMA(PDMA)数据包
-支持bulk-out聚合特性。
多个数据包可聚合到单独bulk传输
-为QoS服务而支持twoRxdescriptorrings和twoTxdescriptorrings
2.17.2框图
2.17.3BulkOut
USB设备核心支持BULK_OUTdirection的两个模式,aggregation模式和legacy模式,并且都由EPOUT_AGGEN(UDMA_CTRL[20:
16])寄存器控制。
2.17.4Legacy模式
当EPOUT_AGGEN=0时,USB设备核心在legacy模式下运行。
在这个模式下,主机驱动器除了发送做为数据包结尾的non-fullbulk以外,地需做其它操作。
对于PDMA,将在开始接收数据包时添加PDMA_RX_INFO的4byte,来指出实际接收的byte计数。
2.17.5Aggregation模式
当EPOUT_AGGEN=1时,USB设备核心会在aggregation模式下运行。
在这个模式下,主机驱动器需要添加4byteheader来指定下一个聚合数据包的长度,此时UDMA_TXFSM将自动聚合数据包。
另外,主机驱动器需要将数据包长度填补为4byte的倍数。
当聚合最后一个数据包时,主机驱动器需要添加4byte的0来表明这是最后一个数据包。
发现PDMA之后,数据包将会自动聚合,并添加PDMA_RX_INFO来表明已接收数据包长度。
2.17.6De-Aggregation模式
请注意在两种模式中,PDMA传输的byte会比RX_BCNT要多。
芯片F/W应该把从PDMA_RX_INFO获得的RX_BCNT做为实际接收的数据包长度。
2.17.7Bulk-outAggregation格式
2.17.8BulkIN
在BULK_IN指南中,USB设备核心只支持legacy模式。
H/W除了将数据包从PDMA发送到主机以外,无需进行其它操作。
2.17.9PDMADescriptor格式
以下是PDMATXD每个文件的细节描述。
2.17.9.2PDMARxDescriptor格式
以下是PDMARXD每个文件的细节描述
2.17.10寄存器描述(base:
0x1012_0000)
2.17.11USB设备控制寄存器
参考CASTCUSB2CoreUSB2.0功能控制器技术说明。
Registeraddress=Byteaddress*4。
2.17.12UDMA寄存器
2.17.13PDMA寄存器
2.17.13.2寄存器描述