USB收发器作为USB接口的模拟前端主要把主机发送过来的模拟信号转换成数字信号VP、VM传到数字锁相环或把协议引擎发送过来的VP0、VM0数字信号转换成模拟信号,并完成串并和并串的转换;
收发器的模型如图3所示,Dplus为正相USB差分数据线,Dminu为负相USB差分数据线,两者都是双向的。OEn为USB发送使能,为低时作为发送功能,单相输出口被置为高阻,为高时作为接收功能,单相输入口被置为高阻。
SER2915L-333KL
SPT20L-112MLD
SPT38L-382MLD
SPT30L-522MLD
SPT20L-702MLD
SPT38L-752MLD
SPT44L-792MLD
SPT30L-123MLD
SPT44L-143MLD
SPT15L-163MLD
SPT38L-223MLD
SPT20l-233MLD
SPT50L-263MLD
SPT30L-353MLD
SPT44L-413MLD
SPT38L-733MLD
SPT50L-733MLD
SPT30L-174MLD
SPT38L-294MLD
SPT50L-564MLD
SPT38L-674MLD
SPT44L-115MLD
SPT50L-205MLD
SPT44H-282MLD
SPT44H-422MLD
SPT50H-652MLD
SPT50H-842MLD
SPT68H-113MLD
SPT68H-183MLD
LPS5030-901MLC
LPS5030-122MLC
LPS5030-172MLC
LPS5030-222MLC
2.3.2 Dpll(数字锁相环)模块
数字锁相环实现时钟恢复、分频及同步时钟;该模块用外部的6M时钟CLK进行分频,产生1.5M的USB系统时钟,以及把收发器产生的差分信号和并行信号进行锁相,避免产生亚稳态。
2.3.3 SIE(串行接口引擎)模块
SIE是USB控制器的主要模块;实现协议层的功能、信息包的解析和组合、同步信号识别、位填充和位剥离、NRZI(非归零反转)的编码和解码、同步字段和包结束码的检测和生成、CRC5、CRC16校验等功能;图4是设备接收主机发送数据时的状态机。
从图4可以看出设备在没有数据传输时处于空闲态,低速设备空闲时D+、D-处于J态,当有K态到来时进入状态转换;以KJKJKK为同步位,同步字段里的最后的2位是同步字段结束的记号,并且标志了包标识符(PID,Packet Identifier)的开始。然后根据不同的PID分别进入地址态或数据态,紧跟在地址态后面的是端点态,因为地址和端点分别是有7位和4位构成共11位,所以只要5位CRC校验就可以了,CRC校验完后就要结束此次的包传输,USB协议中以2个SE0态和一个J态来表示包的结束。在数据态判断是否为SE0态,SE0态表示8个字节的数据都发送完毕,因为非SE0态即J、K态都表示工作态,所以在数据态中如果总线上没有SE0到来就一直接收数据。
2.3.4 ENDPCTL(端点控制)模块