4832|0

41

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

基于FPGA的USB接口IP核设计 [复制链接]

2.1 UTM模块
USB总线数据线由DP和DN组成,是I/O端口。并行通过对DP和DN的上拉、下拉来区别低速USB设备和高速USB设备。
USB总线上的数据首先通过UTM,进行NRZI解码和位剥离后,串并转换为8位并行数据,传送给SIE中的UTMI或从UTMI接收8位并行数据,经过 NRZI编码和位填充后,发送到USB总线。由于USB系统采用NRZI编码,对于一串0来说,它的数据线的电平状态会按位跳变,对以一串l则不然,电平会长时间不变,可能导致数据接受方的时间同步漂移,为了避免漂移,每遇到6个1就在NRZI编码之前加0,即位填充。
NRZI的vefilog实现代码为:

2.2 串行接口引擎
串行接口引擎(Serial Interface Engine,SIE)主要由PL(Protocol Layer),MA(memory buffer arbiter),UTMI(UTM Interface)等组成。PD,PA,PE3个模块组成了USB SIE的协议层(PL)。
UTMI(UTM Interface)是UTM和SIE的接口主要功能是检测总线状态以及识别总线速度。负责PL与UTM的数据交换。
PD 将UTMI接收到的信息数据包进行解析,解析出包标识(PID)、端点地址和设备地址以及包含在包中的有效数据命令。在解码时,对PID进行校验,即 PID[7:4]~PID[3:0],还要对必要的令牌包进行CRC5校验,对数据包进行CRCl6校验。CRCl6,CRC5多项式为:x16+x15+x2+1和x5+x2+1。
设计中把命令解码电路也设计在PD上,解码电路的设计思路是:通过一个计数器将8 bit的命令数据分别存放在8个:Register中,然后对Register进行解码,来判断该条命令带表的含义和执行的操作。例如:Get Descriptor命令,主机发送的命令数据为8’ha0,8’h06,8’h00,8’h01,8’h00,8’h00,8’h4O,8’h00,然后解码电路根据这8 bit来判断命令的含义。如果主机发送命令有误,或该设备不支持命令,则这条命令被忽略或返回NAK握手包。
PA根据PE(Protocol Engine)送来的PID组织相应的信息包,把要发送的数据安排在相应的数据包,或者令牌包。发送令牌包时,不必产生CRC5校验位。在发送数据包寸,需要把有效数据的CRCl6校验位放在包末尾一起发送。
PE 可以对IN,OUT以及Setup事务进行单线程处理,且确定当前传输事务要操作的端点地址,所有对MA和RF的当前操作都基于这个端点地址。PE要根据当前端点的配置或当前状态处理传输事务,并在传输事务中实时更新控制/状态寄存器CSR。SIE还能通过CSR中的中断向量请求设备总线的控制支持。
3 系统仿真与实现
设计中包含了UTM,SIE,并根据协议写出了含有设备描述符的ROM。这样IP具有USB接口的功能,可以作为一个 USB设备与主机进行通信。根据USB协议,模拟主机动作编写Testbench,它主要由模拟主机数据包(Send Data),Stuffing检测,CRC校验检错等来仿真。仿真波形,如图5所示。

最后将电路用ASIC实现。采用0.35μm CMOS工艺实现后端设计,数字电路采用单元库自动布线,模拟电路手工绘制版图,并进行DRC和LVS检查,最终版图预览图,如图8所示,芯片面积为 1.2 ms2;经过后仿真得出:工作频率为120 MHz,工作电流9 mA,静态电流40μA。工作频率可以实现高速USB协议的要求,功耗、电流等参数也符合设计要求。
本设计与国内其他的研究结果进行比饺,如表1所示。

从表1中对表可以看出,本设计在满足频率(FX8>480 MHz)的条件下,精简了多个单元,节省了资源,完全符合USB协议的要求。将IP下载到FPGA中与主机通信,主机能正确读出设备描述符和正确完成其他操作,并在主机端显示USB2.0 Device。进一步证明了设计的正确性和实用性。

4 结束语
文中介绍了基于USB协议层模块的设计,最后在Modelsim6.0下仿真和ISE9.1进行了综合,采用Xilinx Spartan3E的XC3S1OOE进行FPGA验证,并利用0.35μm CMOS工艺进行系统的后端设计。实现了工作频率120 MHz,功耗30 mW。
结果表明,设计的USB协议层模块各功能达到了预期目标、整体性能良好。此IP core可以广泛应用于各种USB设备接口、通信转接器件,也可以集成在SOC中,作为系统芯片总线接口。文中设计的USB IP已成功地应用于两款USB设备端的接口控制芯片(USB转PS/2接口IC和USB集线器IC),在实际应用中性能可靠、速度稳定,而且价格低廉。
此帖出自FPGA/CPLD论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表