You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

The quickest way to test most module functions is to execute the sample USB communication tests and DMA tests available in TE_USB_Suite package.

The 32 and 64 bit C++ executable version can be found here.

The C# executable version can be found here.

Hereunder is reported a sample trace of a successful C# executable version execution.

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

1

The number of card is 1

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

3

Module is not connected!

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

2

Module is connected!

USBdev <DEVICE>

        FriendlyName="Trenz Electronic USB FX2"

        Manufacturer="Trenz Electronic"

        Product="TE USB FX2"

        SerialNumber="101"

        Configurations="1"

        MaxPacketSize="64"

        VendorID="0B D0"

        ProductID="03 00"

        class="00h"

        SubClass="00h"

        Protocol="00h"

        BcdDevice="00 00"

        BcdUSB="02 00"

        <CONFIGURATION>

                Configuration="0"

                ConfigurationValue="1"

                Attributes="80h"

                Interfaces="1"

                DescriptorType="2"

                DescriptorLength="9"

                TotalLength="60"

                MaxPower="250"

                <INTERFACE>

                        Interface="2"

                        InterfaceNumber="0"

                        AltSetting="0"

                        class="FFh"

                        Subclass="00h"

                        Protocol="0"

                        Endpoints="6"

                        DescriptorType="4"

                        DescriptorLength="9"

                        <ENDPOINT>

                                Type="BULK"

                                Direction="OUT"

                                Address="01h"

                                Attributes="02h"

                                MaxPktSize="64"

                                DescriptorType="5"

                                DescriptorLength="7"

                                Interval="0"

                        </ENDPOINT>

                        <ENDPOINT>

                                Type="BULK"

                                Direction="IN"

                                Address="81h"

                                Attributes="02h"

                                MaxPktSize="64"

                                DescriptorType="5"

                                DescriptorLength="7"

                                Interval="0"

                        </ENDPOINT>

                        <ENDPOINT>

                                Type="BULK"

                                Direction="IN"

                                Address="82h"

                                Attributes="02h"

                                MaxPktSize="512"

                                DescriptorType="5"

                                DescriptorLength="7"

                                Interval="0"

                        </ENDPOINT>

                        <ENDPOINT>

                                Type="BULK"

                                Direction="IN"

                                Address="86h"

                                Attributes="02h"

                                MaxPktSize="512"

                                DescriptorType="5"

                                DescriptorLength="7"

                                Interval="0"

                        </ENDPOINT>

                        <ENDPOINT>

                                Type="BULK"

                                Direction="IN"

                                Address="84h"

                                Attributes="02h"

                                MaxPktSize="512"

                                DescriptorType="5"

                                DescriptorLength="7"

                                Interval="0"

                        </ENDPOINT>

                        <ENDPOINT>

                                Type="BULK"

                                Direction="OUT"

                                Address="08h"

                                Attributes="02h"

                                MaxPktSize="512"

                                DescriptorType="5"

                                DescriptorLength="7"

                                Interval="0"

                        </ENDPOINT>

                </INTERFACE>

        </CONFIGURATION>

</DEVICE>

 

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

5

Major version: 3

Minor version: 2

Device hi: 1

Device lo: 1

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

6

Major version: 8

Minor version: 2

Release version: 0

Build version: 0

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

7

EP2 FIFO CS: 04

EP4 FIFO CS: 04

EP6 FIFO CS: 28

EP8 FIFO CS: 04

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

8

Resetting all FIFOs

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

10

Write the Buffer Size desired for EP8

Value suggested is 102400, do not use 131072

102400

Write the Packets Number desired

Value suggested is 1200 if you are testing TE0320 or TE0630

Value suggested is  600 if you are testing TE0300

1200

Write the Packet Length desired

Value suggested is 102400

Know issue: does not use 131072 or the test fail.

Value suggested is  51200 if you are testing TE0300;

if the value used is >51200 the test fails.

In C# you are able to write even packet with length less than

512 byte AND in this case you can also do this BUT

in this case you are only able to test write data integrity

 

102400

Write the Timeout value desired, the integer is measured in milliseconds

Value TimeOut (ms) > [PacketLength/DataThroughput ]+1 ms

for high responsive computer

DataThroughput value expected is >20 Mbyte/s, so with PacketLength=102400 byte,

the value is 5-6 ms

If the computer is not highly responsive you must set Timeout to large value :

20,50,200,1000 ms (it depends on how much the computer lack real time behavior).

 

1000

You want make an integrity test on data writen on FPGA?

1 for YES, 0 for NO

1

Resetting all FIFOs

TimeSpan 00:00:04.8333753

TimeSpan Minutes 0

TimeSpan Seconds 5

TimeSpan MilliSeconds 833

Millisecond 5833

host->memory  data verification Integrity PASSED!!!

Transferred 120000 kB in 4833 ms = 25.16 MB/s

Resetting all FIFOs

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

9

Write the Buffer Size desired for EP6

Value suggested is 102400, do not use 131072

102400

BufferSizeR 102400

Write the Packets Number desired

Value suggested is 1200 if you are testing TE0320 or TE0630

Value suggested is  600 if you are testing TE0300

1200

PacketsNumberR 1200

Write the Packet Length desired

Value suggested is 102400

if you are testing TE0320 or TE0630.

Know issue: does not use 131072 or the test fail.

Value suggested is  51200 if you are testing TE0300;

if the value used is >51200 the test fails.

In C# you are normally able to read even packet with length less than

512 byte AND it is what you implicitly do with point 5 (FX2 firmware version)

6 (FPGA firmware version),7 (FX2 FIFO Status) BUT for this test

you must use 1024 or more for Packet Size value

102400

PacketLengthR 102400

Write the Timeout value desired, the integer is measured in milliseconds

Value TimeOut (ms) > [PacketLength/DataThroughput ]+1 ms

for high responsive computer

DataThroughput value expected is >30 Mbyte/s, so with PacketLength=102400 byte,

the value is 5-6 ms

If the computer is not highly responsive you must set Timeout to large value :

20,50,200,1000 ms (it depends on how much the computer lack real time behavior).

 

1000

Resetting all FIFOs

 Errors 0

TimeSpan 00:00:03.2986599

TimeSpan Seconds 3

TimeSpan MilliSeconds 298

Millisecond 3298

memory->host data verification PASSED!!!

Transferred 120000 kB in 3298 ms = 35.53 MB/s

Resetting all FIFOs

TE_USB_FX2 DLL Example 1.0

    1 - Get number of cards

    2 - Connect cardNo 0

    3 - Connect cardNo 1

    4 - Disconnect

    5 - Get FX2 firmware version

    6 - Get FPGA firmware version

    7 - Get FX2 FIFO Status

    8 - Reset FX2 FIFO Status

    9 - Read high speed data (FPGA RX)

    10 - Write high speed data (FPGA TX)

    0 - Exit

0

With this command the Windows Console will close.

 

  • No labels