usb芯片的科普

1.

高速模块一般分为控制器Controller和PHY两部分。Controller大多为数字逻辑实现,PHY通常为模拟逻辑实现。

USB芯片也分为Controller部分和PHY部分:

Controller部分主要实现USB的协议和控制。内部逻辑主要有MAC层、CSR层和FIFO控制层,还有其他低功耗管理之类层次:

(1)MAC实现按USB协议进行数据包打包和解包,并把数据按照UTMI总线格式发送给PHY(USB3.0为PIPE)。

(2)CSR层进行寄存器控制,软件对USB芯片的控制就是通过CSR寄存器,这部分和CPU进行交互访问,主要作为Slave通过AXI或者AHB进行交互。

(3)FIFO控制层主要是和DDR进行数据交互,控制USB从DDR搬运数据的通道,主要作为Master通过AXI/AHB进行交互。

 

PHY部分功能主要实现并转串的功能,把UTMI或者PIPE口的并行数据转换成串行数据,再通过差分数据线输出到芯片外部。

 

 

 

2.

USB 1.1 UHCI/OHCI

USB 2.0 EHCI

USB 3.0 XHCI

 

USB数据信号是差分信号,是经过编码的差分信号。控制芯片主要是用来实现接收(RX),发送(TX),编码,解串等功能。

整个主控芯片分为模拟电路和数字电路两部分:模拟电路实现的功能是将接收的信号转为数字电平(RX),数字电平转为差分信号发射(TX)。这个过程很复杂,特别是USB信号是没有时钟的,只有数据,要从数据中恢复出时钟,再用时钟恢复数据。另外信号传输的过程是有畸变的,要对信号进行处理,保证能还原信号

 

 

3.

USB 接口上有 4 个管脚, OTG 功能有 5 个。原来 4 个分别是电 D+ D- 地。 现在增加了一个 ID .

OTG设备使用插头中的ID引脚来区分host,Device,ID接地时ping脚为低电平,为连接时候的USB Host,这时始终为总线提供电力,ID悬空时ping脚为高电平,为连接时候的USB Device,设备的USB Host/USB Device角色可以通过HNP切换。

 

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux技术芯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值