打印

USB模块结构-仲裁器

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

使用特权

评论回复
板凳
电子信使| | 2015-11-27 14:33 | 只看该作者
DMA引擎
        当配置DMA后,DMA接口负责在DMA和USB之间的数据来回传输。这个模块支持用于每个数据端点的DMA请求。DMA的行为取决于在配置寄存器中所配置的逻辑传输模式。

使用特权

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

使用特权

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

使用特权

评论回复
6
heping517| | 2015-11-27 14:51 | 只看该作者
USB模块工作在某个频率和电压范围。为了正确的操作USB模块,用户必须确认操作条件在允许的范围内。PSoC内USB模块的工作条件包括:

使用特权

评论回复
7
飞翔的控制器| | 2015-11-27 14:52 | 只看该作者
USB模块需要三个不同的时钟:
系统时钟
      用于控制仲裁器、存储器和寄存器块;最小的系统时钟频率为33MHz。
USB时钟
      用于控制SIE和OsClock,用于全速操作的USB时钟48MHz(0.25%的误差)。
ILO时钟
       用于检测一个USB复位,工作频率为100kHz。到USB的时钟称为clk_usb,这个时钟来自IMOCLK,IMOCLK*2,PLL或者DSI时钟。USB的OsClock模块用来确定USB包的频率。

使用特权

评论回复
8
山鬼之歌| | 2015-11-28 21:57 | 只看该作者
听上去挺厉害的样子~

使用特权

评论回复
9
okyouwin| | 2015-11-29 20:09 | 只看该作者
get!USB模块三个不同的时钟

使用特权

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

本版积分规则

89

主题

620

帖子

2

粉丝