打印

USB模块结构 --仲裁器

[复制链接]
781|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
雾霾和青山|  楼主 | 2015-8-26 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
模块仲裁器用于处理端点对SRAM存储器访问。CPU和SIE都可以访问SRAM存储器. 仲裁器负责处理CPU和SIE访问SRAM的仲裁。仲裁器包含下面的模块:
SIE接口模块
        该模块负责处理和SIE模块的所有交易。SIE从SRAM读数据,然后发送到主机。类似的,将来自主机的数据写到SRAM中。在SIE接口登记这些请求,模块来处理它。
CPU接口模块
        这个模块处理和CPU的所有交易。CPU提出为每个端点读/写SRAM的请求。这些请求在CPU接口模块被登记,然后由模块来处理。
沙发
电子信使| | 2015-8-26 15:22 | 只看该作者
存储器接口
       存储器接口用于控制USB块和SRAM存储单元之间的接口。最大支持512个字节(256x16位)的存储器容量。这是USB专用的存储器,在USB和存储器单元之间的所有的控制和数据线,包括:数据输入线、数据输出线和使能线,地址线和方向控制线,是由存储器接口来管理的。
       SIE和CPU都可以请求访问存储器。SIE接口模块和CPU接口模块用来处理这些请求。

使用特权

评论回复
板凳
没有六一了| | 2015-8-26 15:51 | 只看该作者
DMA引擎
        当配置DMA后,DMA接口负责在DMA和USB之间的数据来回传输。这个模块支持用于每个数据端点的DMA请求。DMA的行为取决于在配置寄存器中所配置的逻辑传输模式。

使用特权

评论回复
地板
没有六一了| | 2015-8-26 15:51 | 只看该作者
仲裁逻辑
       这是仲裁器的主要模块。用于仲裁所有发生在仲裁器的交易。它仲裁CPU,DMA和SIE对存储器和寄存器的访问。这个模块也处理存储器管理。,固件处理读写地址的操作。这个模块处理缓冲区大小的分配(取决于USB_BUF_SIZE的设置)。它也处理公共存储区域。
      这个模块也处理每个端点的中断请求,每个端点的中断来自:
DMA授权
输入缓冲区满
缓冲区上溢
缓冲区下溢

使用特权

评论回复
5
关小波522| | 2015-8-26 15:56 | 只看该作者
同步模块

USB模块使用两个时钟:系统时钟和USB时钟。仲裁器使用系统时钟,SIE和OsClock模块使用USB时钟。由于这是两个不同的时钟,因此要求同步,这个模块负责处理同步。
        此外,仲裁器寄存器用于处理端点的配置,读端点地址和写端点地址。它也用于配置每个端点所要求的逻辑传输类型。每个端点支持中断。仲裁器只有一个中断线用于中断控制器。仲裁器寄存器处理使能/禁止端点的中断和保持中断状态。仲裁器也负责存储器的管理(比如在数据端点共享512字节的SRAM)。

使用特权

评论回复
6
zheng522| | 2015-8-26 23:05 | 只看该作者
不错不错,仲裁

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

283

帖子

0

粉丝