USB ULPI协议介绍
什么是ULPI协议?ULPI协议的全称是UTMI+Low PinInterface。从名字上就可以看出ULPI是UTMI的Low Pin版本。UTMI(USB2.0 Transceiver Macrocell Interface)是一种用于USBcontroller和USB PHY通信的协议。相对于ULPI,UTMI有更多的控制信号,支持8bit/16bit 数据接口。
UTMI 接口信号
ULPI 接口信号
信号定义
CLK 时钟输入,60MHz
DATA 8-bit双向数据总线
DIR 控制数据总线方向,0 => LINK到PHY, 1 => PHY到LINK
STP Stop信号,用于Stop PHY的输出,获取总线控制权,为1时有效
NXT 当LINK向PHY发送数据时,NXT为1表示当前数据已经被PHY所接受。当PHY向LINK发送数据时,NXT为1表示PHY有新的数据在总线上
时序
Power On Reset (POR)
对于使用ULPI协议的PHY芯片而言,POR时序尤为重要,POR时序不满足会直接导致PHY芯片无法Lock PLL,不能输出稳定的60MHz CLK。以下是USB3320的POR时序:
DIR信号获取Bus控制权
发送和接收时序图
注意以下几点数据和控制信号都是在上升沿采样
由于数据的收发不是分开的,发送数据方需要考虑output delay, 并保证数据在下一个clk的上升沿采样时满足setup time和hold time
学习