MCU/USB设备控制器IP核设计方案

2019-11-28 14:20发布

<p> 1 引言</p><br><p> 在传统的计算机系统上常采用串口(如RS232)和并口连接外围设备,但串口和并口都存在着通信速度慢,接口独占不利于扩展等无法克服的缺点,而通用串行总线(Universal Serial Bus,即USB)因具有传输速度快、支持热插拔、扩展方便、抗干扰强、成本低、数据传输质量高、节省系统资源等优点而得到了广泛的应用,当前它已成为计算机最常用的接口之一[1-3]。</p><br> <br> <br> <br> <br> <br> <br> <p><br></p>
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
kingnet_52005
2019-11-29 03:27
3 系统验证环境

在完成了Verilog 代码设计后,我们进行了仿真、综合验证,前仿用Modelsim、综合用Synplify Pro、 综合后仿真用Cadence 中的NC_Verilog,主要由于NC_Verilog 在后仿中的速度要优于Modelsim,提高了效 率;图5 是用NC_Verilog 仿真设备的枚举过程;

dd




任何USB 的数据传输都是建立在成功通过枚举的基础上的,只有正确完成了枚举,USB 主机和设备之 间的通信才正在建立起来。所以枚举是USB 通信的最关键的一步。在验证过程中模拟了PC 主机向设备发送 各种命令来完成枚举。在图5 中pid[3:0]中D、3、9、2、1、B 分别表示Setup、DATA0、IN、Ack、Out、 DATA1。当设备插上PC 时主机会持续的SE0 来复位设备,这时设备的地址默认为00,然后主机第一次发送 Setup 包来获取设备的前8 个设备描述符,当设备成功返回数据后,主机第二次发送Setup 包来给设备配 置地址,从图中faddr[7:0]可以看出我们给设备配置的地址为02,在这以后主机都是通过这个地址向设备 获取全部的18 个设备描述符和全部的配置描述符集,在取完这些描述符后主机对设备进行配置,主机就识 别出设备了。

4 结论

本文描述了自主研发的MCU+USB设备控制器的设计思路。用Verilog语言对其进行了RTL级描述。用 Modelsim进行前仿验证,并在Cadence公司的NC_Verilog上通过了综合后仿验证。为了进一步验证设计的正 确性,本项目选择了XILINX公司的Virtex xc2s2006pq208芯片及XC18V02的存储器,并把上述IP核综合到此 FPGA上加以验证。综合结果表明,协议层模块占用了1672个Slice(71%),652个Slice Registers(13%),2870个4 input LUTs(61%),51个bonded IOBs(36%)。使用上华工艺,该芯片已经流片返回了,并通过demo 板连接到PC上,PC可以检测出为人体输入学设备,说明该芯片完全符合制定的设计要求。


一周热门 更多>