从零开始,搭建zynq-7000的PS硬件平台--USB端口
 
- UID
- 1023229
- 来自
- 中国
|

从零开始,搭建zynq-7000的PS硬件平台--USB端口
主机环境:ubuntu10.04lts X64_64bit,root开发工具:planAhead参考资料:Zynq-700EPP CTT(UG873) ZedBoard(ZynqTM Evaluation and Development Hardware User’sGuide) ZedBoard上有3个USB接口,分别是USB-OTG,USB-UART bridge,USB-JTAG。 1,USB-OTG OTG技术可以让不同设备间传输数据更容易,整个协议还是有些复杂,不过我们简单的理解成OTG=Host+Slave。Zedboard上使用了TI 的USB1210来实现这个功能。ZedBoard 硬件手册上的引脚定义如图1所示:[[wysiwyg_imageupload:768:]] 从图1上可以看出OTG一共需要8根数据线OTG_Data[7:0],硬件手册上的文档可能是笔误,与原理图上不一样,写成了[8:0],从TUSB1210看过去的其他信号的说明: CLOCK:输入,zynq输出的USB参考时钟,提供给TUSB1210 NXT:输出,CMOS PHY通过NXT来控制数据,当链路层发送数据到物理层时,NXT表明物理层已经接收到字节,那么链路层会下一个时钟周期把下一个字节放置到数据总线。 DIR:输入输出,CMOS 控制数据总线的方向,当物理层有数据传送到链路层时,它驱动DIR高占据数据总线。当物理层没有数据传送时,它使DIR低并且显示来自链路层的总线命令。 STP:输入,CMOS 链路层通过STP用一个时钟周期去停止数据流突然出现在总线上。如果链路层发送数据给物理层,STP表明前一个周期已经有最后一个数据字节在总线上了。 RESET_B:输入,TUSB1210的复位。连接到了Zynq的Bank35上,硬件手册又笔误了…⊙﹏⊙b汗VBUS_OC:这个是Zynq用于控制USB接口供电的开关 通过上面的分析,我们发现实际上配置的时候,只要配置图1中前5行就够了,共设计zynq的12个MIO,根据实际设计,在“Zynq PS MIO Configrations“中选择USB0,见图2[[wysiwyg_imageupload:769:]] 2,USB UART Bridge USB接口的UART,实际就是UART的TTL输出通过USB通信而已,协议转换使用专用ICCY7C64225来做的,在Zynq上就是单纯UART,因此配置的时候直接选择UART 1,即MIO[48..49],如图3所示:[[wysiwyg_imageupload:770:]] Zynq的MIO电平标准时1.8V,CY7C64225是用的3.3V,因此二者需要电平转换芯片,这个是板级系统设计中要注意的。 文章来源:http://blog.csdn.net/morewd |
|
|
|
|
|