AC6102 Development Board USB3.0 test and use instructions

Source: Internet
Author: User

AC6102 Development Board USB3.0 test and use instructions

Overview

The AC6102 incorporates a cypress-launched high-performance USB3.0 transmission chip cyusb3014,cypress called EZ-USBFX3. The chip features strong, powerful, simple interface and is ideal for use in a variety of applications where high-speed data transmission is required, following an introduction to the chip from the EZ-USBFX3 data sheet:

Cypress EZ-USBFX3 is a new generation of USB3.0 peripheral controller with highly integrated and flexible features to help developers add USB3.0 functionality to any system. The EZ-USBFX3 has a parallel, universally programmable interface gpifii that can be fully configured to connect to any processor, ASIC, or FPGA. This universal programmable interface GPIFII is an enhanced version of GPIF in the Cypress flagship USB2.0 product FX2LP. It can be easily and seamlessly connected to a variety of common interfaces, such as asynchronous SRAM, asynchronous and synchronous address data multiplexing interfaces, parallel ATA, and more.

The EZ-USBFX3 integrates USB3.0 and USB2.0 physical layer (PHY) and 32-bit arm926ej-s microprocessors with powerful data processing capabilities and can be used to build custom applications. The product incorporates an ingenious architecture that enables data transfer speeds from GPIFII to USB ports up to 320mbps[1]. With the integrated USB2.0OTG controller, applications that require dual-role use can be implemented. For example, EZ-USBFX3 can be used as an OTG host for MSC and HID-level devices. The EZ-USBFX3 is equipped with 512KB on-chip SRAM for storing code and data. The EZ-USBFX3 also has interfaces that can be connected to serial peripherals such as UART, SPI, I²c, and I2S.

Ez-usbfx3 comes with an easy-to-use EZ-USB tool that provides a complete solution for rapid application development. Application examples are included with the software development kit to shorten time to market.

EZ-USBFX3 fully complies with the USB3.0 Specification version 1.0 and is backwards compatible with USB2.0. This device also complies with the battery charging specification v1.1 and USB2.0OTG Specification version 2.0.

From this introduction, pick and choose the following information we are concerned about:

1, USB3.0 peripheral controller, compatible with USB2.0 protocol

2, external is a GPIFII interface, can be flexibly connected with the FPGA

3, on-Chip integrated arm926ej-s microprocessor (ARM9 processor)

4, user interface (GPIFII) to the USB interface data transfer speed of up to 320MBps

5, support USB2.0 OTG function, can be used as mass memory controller (MSC, such as USB stick) or Human Interface device (HID, such as mouse, keyboard) of the host

6, on-chip 512K byte SRAM for storing programs and data

7, UART, SPI, I²c, I2S serial foreign interface.

8. Provide convenient and easy-to-use EZ-USB development

Through the above introduction, EZ-USBFX3 's function is still very powerful. Therefore, how to learn how to use the chip efficiently and quickly becomes very meaningful.

As the first phase of AC6102 Development Board, this paper simply introduces the function and performance test of USB3.0 circuit on AC6102. More detailed development tutorials will be available in the second or third phase.

The following devices are required for this experiment:

1, the core route AC6102 type FPGA Development Board piece

2. One PC with USB3.0 interface

3, Micro USB3.0 data line a root

4, 5V/2A power adapter One

5, USB Blaster Downloader one

Installing the SDK

Development of the EZ-USBFX3, need to use the development tools provided by Cypress, the software has undergone several updates, the latest version of the current is called Fx3_sdk_windows_v1.3.3.exe. The software and all other related documents of EZ-USBFX3 can be downloaded from the following address. Download need to register, registration is very simple, only need to register the mailbox can be successfully registered, here will not introduce you to the registration method.

CYUSB3014 Development Kit Official information:

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

Once downloaded, you can install the software, which is actually an integration package that contains everything you need to develop software and hardware for the EZ-USBFX3, including development, DEMO, documentation, and more. The installation process is also very simple and the following is a brief explanation of where to look.

1. Double-click Fx3_sdk_windows_v1.3.3.exe to open the running software

2, the installation path selection, the recommended choice of default, which can help us in the early development of the path to avoid the differences, can save a lot of things. Click Next.

3, the next interface requires the selection of the mode of installation, typical, or user-defined installation, the first contact, it is recommended to install in a typical manner.

4, Next, is a variety of acceptance agreements, various next. Once you have accepted all the agreements, click Next to start the installation process, as follows

Installation of the last interface is feedback information, the default finish is gray can not be selected, we choose Continue without contact information can, and then click Finish.

At this point, the EZ-USBFX3 Development Kit is installed

After the installation is complete, a folder called Cypress will appear under the Start menu of the system, which contains the following content:

Update Manager for Cypress update manager:cypress, which can be checked and updated to the latest version if a development kit has an updated version.

EZ-USB FX3 SDK:EZ-USB Development Kit related components.

Connect USB3.0 to PC

Above, we completed the installation of the Ez-usb FX3 Development Kit, only installed the kit, in order to later connect the AC6102 USB3.0 interface to the PC, the successful installation of the driver.

1, use the supporting 5V power supply to the Development Board, turn on the power switch, plug in the USB Blaster downloader.

2. Connect the USB3.0 interface of PC and AC6102 with the supporting USB3.0 data cable. As shown in the following:

Plug in the USB cable and power on the Development Board, the PC will automatically recognize the device, the device name is "Westbridge", as shown, because the device is not installed driver, so it is yellow "! "Indicates that the device is not available.

Installing the EZ-USB chip driver

When the board and PC connection is complete, we can install the driver for the device. Select the device, right-click, select Update Driver, and then browse the computer to find the driver software.

Locate the drive path to the following folder (whichever is the actual SDK installation path). C:\Program Files (x86) \cypress\ez-usb FX3 Sdk\1.3\driver, and tick the "Include subfolders" option. Then click Next.

If the following interface is displayed, the driver installation is successful.

At this point, back to Device Manager, you can find the following devices:

We have completed all the hardware and software connections, then we can test the device.

about how to start a Ez-usb

Before the test, you need to supplement the introduction of the next EZ-USBFX3, EZ-USBFX3 chip support 7 kinds of boot mode, the so-called boot, is EZ-USBFX3 chip on the power, the ARM9 on the chip from where the processor began to read the program and run. The 7 boot modes that they support are as follows:

2 booting from USB

2 booting from I²c

2 booting from SPI (supported SPI devices for M25P16 (Mbit), M25P80 (8 Mbit) and M25P40 (4 Mbit) or similar devices

2 booting from GPIF II asynchronous Admux mode

2 booting from GPIF II synchronous Admux mode

2 booting from GPIF II asynchronous SRAM mode

So where does the EZ-USBFX3 chip start when it is power-up? The chip provides 3 boot configuration pins to select different boot modes by setting different values for the boot pins. These three pins are named pmode feet.

These three configuration pins, each pin has three states, 1 (High level), 0 (Low level), F (floating, neither high nor low), three configuration pins in different states and corresponding starting mode as shown in the following table:

Among them, for the system of FPGA and USB3.0, we seldom use the 1th, 2, 4 kind of start-up mode. The 7th way to start, that is, using SPI boot, mainly used in EZ-USBFX3 as the host layer of the entire system, the chip processor needs to run a complex program, the use of off-chip high-capacity SPI flash memory boot. FPGA + EZ-USBFX3, the most used is the Slavefifo interface, therefore, you can choose the EEPROM memory, that is, the I²c mode to start. At the same time, in order to ensure that the system in the IIC interface EEPROM memory failure, there can be other ways to recover, so the boot mode on the AC6102 is set to mode 5, that is, the default from I²c boot, if the boot from i²c fails, then enable booting from USB. The corresponding pmode[2:0] configuration is f1f, on the schematic, that is, resistor R51 use 0R resistor, all other resistors are not welded.

EZ-USB Test Scheme analysis

Since the USB3.0 circuit on the AC6102 is more like a bridge, one end is connected to the USB port on the PC using the USB bus, and the other end is connected to the FPGA chip using the GPIFII. Therefore, in order to test the entire link is unobstructed, can be divided into two-step test, the first step, test ez-usbfx3 and PC USB3.0 bus is stable, the second step, and then test the FPGA through the EZ-USBFX3 to the PC link is stable.

In order to test whether the USB bus between EZ-USBFX3 and PC is reliable, the internal loopback transmission can be used to test, so-called internal loopback transmission, that is, PC sends data to EZ-USBFX3,EZ-USBFX3 will receive the data sent back to the PC, in order to achieve the test of communication USB bus.

In order for the EZ-USB to work in loopback mode, appropriate firmware support is required. For EZ-USBFX3, because we set its boot mode to USB, which is enabled by default, it starts from the EEPROM. However, our EEPROM is not currently burning any firmware, so it will fail to boot, and boot fails, then choose to boot from USB. So, we can download the firmware to EZ-USB's RAM and run it directly from the PC after the system is power up.

Block transfer mode test download EZ-USB firmware

In the Start menu, locate control Center, as shown in X1, and the software will automatically scan to our USB device as shown in X2.

Here, we select the device (Cypress FX3 USB BootLoader Device), then click Program in the menu bar and select FX3-RAM.

In the Open File Selection window, we navigate to the demo directory we provided. \ac6102\demo_release\ez_usb\01_usbbulkloopautoenum folder, Select the Usbbulkloopautoenum.img file, click Open, as shown in X1, then the software will automatically read the file and download it via the USB bus to the ram of the EZ-USBFX3 chip, and then we look at the USB Control Center, Find the device name at this time has become cpress USB bulkloopexample, the lower left corner shows programming succeeded. As shown in the X2. (for the generation of the Usbbulkloopautoenum.img file, a detailed development tutorial will be provided in the second phase of the material).

Figure X1

Figure X2

Basic loopback Test

The USB Control Center software provides a basic loopback test feature, where we turn on the cpress USB bulkloopexample front of the + sign, find bulk outendpoint (0x01), select the item on the right side of the "Data Transfers "Data to send (Hex)" In the input needs to be sent from the PC to FX3. Then click Transfer data-out to send the data. As shown in X.

After the send is complete, in the information window below, you can see the prompt message indicating that the send has been completed.

So where is the data sent out at this point? In this case, the firmware is based on the internal DMA loopback test, the so-called internal DMA loopback, that is, EZ-USBFX3 will automatically transfer the out endpoint data sent to the in endpoint, so we have just sent out the 13 data, has been EZ-USBFX3 chip moved to the in endpoint. This way, when the computer reads the in endpoint, it can read the 13 data that has just been sent out.

Select the bulk in endpoint (0X81) endpoint on the left, then in the right window, click the Transfer data-in button to read the data from the 0X81 endpoint as shown in.

As you can see, the data we read is exactly the same as the data we send out. Therefore, the USB bus can send and receive data normally.

Testing with the bulk loop tool

This test requires us to manually enter the data to be tested and manually click the Send and Read button, so it is inefficient to test the stability of the USB3.0 in the intensity transfer. Next, we'll use a dedicated loopback test software provided in the EZ-USBFX3 Development kit to test.

In the Start menu, locate the bulk loop software, X1, click Open, open the Post interface X2 as shown:

Once opened, direct default settings, click Start to start testing. The Send and receive Statistics window shows the total number of data sent and received in real time, and the reliability of the USB bus performance between the EZ-USBFX3 and PC is understood by the consistency of the data sent and received.

At this point, we have completed the USB bus reliability test. The reason for this test is to is because the USB3.0 serial bus data cable transmission speed up to gbps,ac6102 these serial data lines in the wiring needs to complete the impedance matching and differential distribution lines, only the impedance matching and differential distribution lines meet the requirements of the USB3.0 protocol, only to stabilize long-term transmission data without error.

Brother Mei

December 8, 2016 in Chengdu, China

Stream mode data throughput test

In the previous section, we described the reliability of the on-chip loopback method for testing the USB bus using EZ-USBFX3. In this way, although the transmission of the USB bus can be measured reliably, but it can not reflect the high transmission rate of USB3.0. In this section, we will test the transfer rate of our USB3.0 bus in another way-the flow transmission mode.

Download EZ-USB firmware

In the Start menu, locate control Center, as shown in X1, and the software will automatically scan to our USB device as shown in X2.

Here, we select the device (Cypress FX3 USB BootLoader Device), then click Program in the menu bar and select FX3-RAM.

In the Open File Selection window, we locate the Ac6102\demo_release\ez_usb\ 02_usbbulksourcesink in the demo directory we provide, Select the Usbbulksourcesink.img file, click Open, as shown in X1, then the software will automatically read the file and download it via the USB bus to the ram of the EZ-USBFX3 chip, and then we look at the USB Control Center, Find the device name at this time has become Cypress USB streamerexample, the lower left corner shows programming succeeded. As shown in the X2. (for the generation of the Usbbulksourcesink.img file, a detailed development tutorial will be provided in the second phase of the material).

Figure X1

Figure X2

Basic Streamer Test

Next, we use a dedicated steamer test software provided in the EZ-USBFX3 Development kit to test.

In the Start menu, locate the bulk loop software, X1, click Open, open the Post interface X2 as shown:

Select endpoint for 0x01,packets per Xfer for 8, xfers to queue 64, and then click Start to start testing, the interface bar will show the current transmission speed in real time, The number of packets for both success (successes) and failed (failures) will also be displayed. It can be seen that the transmission speed is around 395800kb/s, that is, 386mb/s. The speed is quite high.

Click Stop to stop the transfer, switch packets per Xfer to 256, xfers to queue for 64, then click Start Again, and the test speed is as follows. It can be seen that the transmission speed is stable around 389000kb/s, that is, 380mb/s, this speed has been quite high.

Slavefifo Mode test

EZ-USBFX3 's Suite provides a quick tool for GPIFII configuration, called GPIF II Designer, which allows you to quickly create GPIF II configuration information and then submit it to eclipse for compilation to get the corresponding firmware.

AC6102 Development Board USB3.0 test and use instructions

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.