SIE (Serial Interface Engine)
是 USB 外设最重要的硬件组成部分之一.
主要由四部分组成:
1) 硬件上用来完成 NRZI 编/译码和加/去填充位操作的,NRZI/Bit Buffing 和NRZO/Bit Unstuffing 的部分。
2) 硬件上产生资料的 CRC 校验码并对资料包进行 CRC 校验的 CRC check & Generator 部分。
3) 用来将并行资料转化成 USB 串行资料的并/串转换部分( Packet Encode ),将主机发送的 USB 资料包转化成可以识别的并行资料的串/并转换部分( Packet Decode )。
4) 检测和产生 SOP (即每个资料包的同步字段)和 EOP 信号的部分。
SIE指串行接口引擎,是所有USB控制器内部的“核心”。
SIE负责处理底层协议,如填充位,CRC生成和校验,并可发出错误报告。
SIE的主要任务是将低级信号转换成字节,以供控制器使用,某些SIE会更加先进灵活。
它处理的底层信号细节越多,控制固件越简单。例如,某些SIE只报告端点数据触发的结果(参见下文),并将它留给固件以确定如何处理。