USB3.0测试和使用说明

摘要:
概述AC6102上集成了一颗Cypress推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3。EZ-USBFX3集成了USB3.0和USB2.0物理层以及32位ARM926EJ-S微处理器,具有强大的数据处理能力,并可用于构建定制应用。通过集成的USB2.0OTG控制器,可以实现需要双角色使用场合的应用。例如,EZ-USBFX3可以作为MSC和HID级设备的OTG主机使用。EZ-USBFX3完全符合USB3.0规范1.0版,并可向下兼容USB2.0。本文作为AC6102开发板的第一期配套资料,仅对AC6102上的USB3.0电路功能和性能测试进行简单的介绍。

概述

AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3。该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数据传输的场合,以下为摘自EZ-USBFX3数据手册中关于该芯片的介绍:

赛普拉斯EZ-USBFX3是新一代USB3.0外设控制器,具有高度集成的灵活特性,可帮助开发人员为任何系统添加USB3.0功能。EZ-USBFX3具有一个可进行完全配置的并行通用可编程接口GPIFII,它可与任何处理器、ASIC或FPGA连接。这个通用可编程接口GPIFII是赛普拉斯旗舰USB2.0产品FX2LP中的GPIF的增强版本。它可轻松无缝地连接至多种常用接口,比如异步SRAM、异步和同步地址数据复用式接口、并行ATA等等。

EZ-USBFX3集成了USB3.0和USB2.0物理层(PHY)以及32位ARM926EJ-S微处理器,具有强大的数据处理能力,并可用于构建定制应用。该产品采用了一种巧妙的架构,使从GPIFII到USB接口的数据传输速度可达320MBps[1]。通过集成的USB2.0OTG控制器,可以实现需要双角色使用场合的应用。例如,EZ-USBFX3可以作为MSC和HID级设备的OTG主机使用。EZ-USBFX3配有用于存储代码和数据的512KB片上SRAM。EZ-USBFX3还具有可连接至UART、SPI、I2C和I2S等串行外设的接口。

EZ-USBFX3附带易用的EZ-USB工具,为快速应用开发提供完整的解决方案。软件开发工具包中附带应用示例,可缩短上市时间。

EZ-USBFX3完全符合USB3.0规范1.0版,并可向下兼容USB2.0。本设备还符合电池充电规范v1.1和USB2.0OTG规范2.0版。

从该介绍中,摘选出我们所关心的以下信息:

1、 USB3.0外设控制器,兼容USB2.0协议

2、 对外是一个GPIFII接口,可以灵活的与FPGA连接

3、 片上集成ARM926EJ-S微处理器(ARM9处理器)

4、 用户接口(GPIFII)到USB接口的数据传输速度可达320MBps

5、 支持USB2.0 OTG功能,可以作为海量存储器控制器(MSC,如U盘)或人机接口设备(HID,如鼠标、键盘)的主机

6、 片上512K字节SRAM用于存储程序和数据

7、 UART、SPI、I2C、I2S串行外事接口。

8、 提供方便易用的EZ-USB开发

通过以上介绍可知,EZ-USBFX3的功能还是非常强大的。因此,如何高效快速的学会使用该芯片也就显得非常有意义了。

本文作为AC6102开发板的第一期配套资料,仅对AC6102上的USB3.0电路功能和性能测试进行简单的介绍。关于更加详细的开发教程,将在第二期或第三期资料推出。

本实验需要用到以下器件:

1、 芯航线AC6102型FPGA开发板一块

2、 带USB3.0接口的PC机一台

3、 Micro USB3.0数据线一根

4、 5V/2A电源适配器一个

5、 USB Blaster下载器一个

USB3.0测试和使用说明第1张

安装SDK

开发EZ-USBFX3,需要用到Cypress提供的开发工具,该软件已经经历了多次更新,目前最新版本的叫做FX3_SDK_Windows_v1.3.3.exe。该软件以及EZ-USBFX3的其他所有相关文档都可以从以下地址下载得到。下载需要注册,注册非常简单,仅需要邮箱就能成功注册,这里就不给大家介绍注册方法了。

CYUSB3014开发套件官方资料下载地址:

http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

下载好之后,即可安装该软件,该软件实际是一个集成包,里面包含了开发EZ-USBFX3的软硬件所需的全部内容,包括开发软件、DEMO、文档等。安装过程也非常简单,以下对其中需要注意的地方进行简单说明。

1、 双击FX3_SDK_Windows_v1.3.3.exe以开设运行软件

2、 安装路径选择,建议选择默认,这可以帮我们在开发初期避免路径不通带来的差异,可以省不少事。点击Next。

USB3.0测试和使用说明第2张

3、 下一个界面要求选择安装的模式,典型的,还是用户自定义安装,第一次接触,建议按照典型方式安装。

USB3.0测试和使用说明第3张

4、 接下来,就是各种接受协议,各种下一步。接受了所有的协议后,点击next就可以开始正式安装,以下为安装过程

USB3.0测试和使用说明第4张

安装最后的一个界面是反馈信息,默认finish是灰色的无法选中,我们选择Continue Without Contact Information即可,然后点击Finish。

USB3.0测试和使用说明第5张

至此,EZ-USBFX3开发套件就安装完成了

安装完成后,在系统的开始菜单下,会出现一个叫做Cypress的文件夹,里面包含以下内容:

USB3.0测试和使用说明第6张

Cypress Update Manager:Cypress的更新管理器,如果开发套件有更新版本,使用该管理器可以检查并更新到最新版本。

EZ-USB FX3 SDK:EZ-USB的开发套件相关组件。

连接USB3.0到PC

以上,我们完成了EZ-USB FX3的开发套件的安装,只有安装了该套件,才能在后续将AC6102的USB3.0接口连接到PC机时,成功的安装驱动。

1、 使用配套的5V电源给开发板供电,打开电源开关,插上USB Blaster下载器。

2、 使用配套的USB3.0数据线连接PC和AC6102的USB3.0接口。如下图所示:

USB3.0测试和使用说明第7张

插上USB线并打开开发板电源以后,PC会自动识别到设备,设备名称为“WestBridge”,如下图所示,由于此时设备没有安装驱动,因此还是带黄色“!”,表明设备不可用。

USB3.0测试和使用说明第8张

安装EZ-USB芯片驱动

当开发板和PC机连接完成后,我们就可以为设备安装驱动了。选中设备,单击鼠标右键,选中更新驱动程序,选则浏览计算机以查找驱动程序软件。

USB3.0测试和使用说明第9张

USB3.0测试和使用说明第10张

定位驱动路径到以下文件夹(以实际的 SDK 安装路径为准)。C:Program Files (x86)CypressEZ-USB FX3 SDK1.3driver,并勾选上“包括子文件夹”选项。然后点击下一步。

USB3.0测试和使用说明第11张

如果弹出以下界面则表明驱动安装成功。

USB3.0测试和使用说明第12张

此时,回到设备管理器中,可以发现如下设备:

USB3.0测试和使用说明第13张

到此我们就完成了所有软硬件的连接,接下来,就可以对设备进行测试了。

关于EZ-USB的启动方式

在进行测试之前,需要补充介绍下EZ-USBFX3的启动方式,EZ-USBFX3芯片总共支持7种引导方式,所谓引导,就是EZ-USBFX3芯片上电以后,片上的ARM9处理器从何处开始读取程序并运行。其支持的7种启动方式如下所示:

² 从 USB 引导

² 从 I2C 引导

² 从 SPI (支持的 SPI 器件为 M25P16 (16 Mbit)、M25P80(8 Mbit) 和 M25P40 (4 Mbit))或同类器件引导

² 从 GPIF II 异步 ADMUX 模式引导

² 从 GPIF II 同步 ADMUX 模式引导

² 从 GPIF II 异步 SRAM 模式引导

那么究竟EZ-USBFX3芯片上电后从哪里开始启动呢?芯片提供了3个启动配置引脚,通过设置启动引脚不同的值,来选择不同的启动方式。这三个引脚名叫PMODE脚。

USB3.0测试和使用说明第14张

这三个配置引脚,每个引脚都有三种状态,1(接高电平)、0(接低电平)、F(浮空,既不接高电平,也不接低电平),三个配置引脚的不同状态与对应的启动方式如下表所示:

USB3.0测试和使用说明第15张

其中,对于FPGA和USB3.0组成的系统,我们很少用到第1、2、4种启动方式。第7种启动方式,即使用SPI引导,主要用在EZ-USBFX3作为整个系统的主机层,片上的处理器需要运行复杂的程序的情况下,使用片外的大容量SPI FLASH存储器启动。FPGA + EZ-USBFX3,使用最多的是SlaveFifo接口,因此,可以选择EEPROM存储器,即I2C方式启动。同时,为了保证系统在IIC接口的EEPROM存储器失效的情况下,能够有其他方式可以恢复,所以,AC6102上的启动方式设置为了方式5,即默认从I2C引导,如果从I2C引导失败,则启用从USB引导。对应的PMODE[2:0]的配置为F1F,在原理图上,即电阻R51使用0R电阻,其他电阻全部不焊接即可。

EZ-USB测试方案分析

由于AC6102上的USB3.0电路更像是一个桥,一端,使用USB总线连接到PC机的USB端口上,另一端,使用GPIFII连接到FPGA芯片上。所以,为了测试整个链路是否通畅,可以分成两步测试,第一步,测试EZ-USBFX3和PC间的USB3.0总线是否稳定,第二步,再测试FPGA通过EZ-USBFX3到PC的链路是否稳定。

为了测试EZ-USBFX3和PC间的USB总线是否可靠,可以采用内部回环传输的方式进行测试,所谓内部回环传输,就是PC发数据给EZ-USBFX3,EZ-USBFX3将接收到的数据再发回给PC,以实现通信USB总线的测试。

为了使EZ-USB能够工作在回环模式,需要有相应的固件支持。对于EZ-USBFX3,由于我们将其引导方式设置为I2C -> USB,即默认会从EEPROM上启动。但是我们的EEPROM中目前没有烧写任何固件,因此一定会引导失败,引导失败后,则会选择从USB引导。所以,我们可以在系统上电后,通过PC直接将固件下载到EZ-USB的RAM中并运行。

块传输模式测试

下载EZ-USB固件

在开始菜单中找到Control Center,如下图X1所示,打开后软件会自动扫描到我们的USB设备,如下图X2所示。

USB3.0测试和使用说明第16张

USB3.0测试和使用说明第17张

这里,我们选中设备(Cypress FX3 USB BootLoader Device),然后点击菜单栏中的Program,依次选择FX3 -> RAM。

USB3.0测试和使用说明第18张

在打开的文件选择窗口中,我们定位到我们提供的DEMO目录下的..AC6102demo_releaseez_usb

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[转]JAVA读取外部资源的方法XAF 如何:映射数据库视图到持久化类下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

LXC/KVM虚拟化基本概念

LXC:其名称来自Linux软件容器(Linux Containers)的缩写.LXC利用cgroups与名称空间的功能,提供应用软件一个独立的操作系统环境。LXC不需要Hypervisor这个软件层,软件容器(Container)本身极为轻量化,提升了创建虚拟机的速度。严格来说不算是虚拟化技术,只是进程隔离和资源限制,软件Docker被用来管理LXC的环...

xamarin.forms uwp app部署到手机移动设备进行测试,真机调试(device portal方式部署)

最近学习xamarin。刚好手上有一个lumia 930.所以试一试把uwp app部署到手机上,并真机调试一把。 目前环境: 1.开发pc电脑是win10,版本1607.加入了insider,所以版本比较高。 2.手机是 lumia 930.版本 1511,手机未加入insider,所以是稳定版本,比较低。(device-portal方式部署要求系统版...

Unity3D实践系列01,创建项目

下载并安装Unity5软件客户端。 打开软件,注册Unity帐号,并用注册帐号登录。 点击"创建Project"按钮。 把项目命名为"My First Unity Project"。 点击左下方的"Assert packages"按钮,点击"select all"文字,点击"Done"按钮,点击"Create project"按钮。 创建完毕,多了一个与项...

Windows平台如何集成RTSP/RTMP直播播放功能

前段时间,我们在 https://blog.csdn.net/renhui1112/article/details/104143794 提到“RTSP播放器开发过程中需要考虑哪些关键因素”,本次主要介绍,如何调用SDK实现RTSP/RTMP播放能力。本文以调用大牛直播SDK为例: demo说明 SDK提供C++/C#两套接口,对外提供32/64位库,C...

cshtml文件中汉字运行出来是乱码_软件开发平台

快速开发平台生成的cshtml文件中汉字运行出来是乱码,那是怎么回事儿,visual studio 保存文件为utf8格式? 先看一段代码 <div class="ibox-title form-group"> <button type="submit" class="btn btn-primary">...

Android测试:从零开始1——简介

参考文档:https://developer.android.com/training/testing/start/index.html 测试分类 使用android studio进行测试,首先需要先了解android测试的分类,新建工程后,项目会默认包含两个测试目录: 1、本地单元测试(Local unit tests) 测试代码位于module-nam...