Quantcast
Channel: Cypress Semiconductor - USB 3.0: Super Speed
Viewing all 768 articles
Browse latest View live

BULK IN transfer failed with Error Code:997

$
0
0

Hi,

I'm trying to implement slavefifo write on FX3, I still got errors as below, when I click "Transfer Data-In" button.

BULK IN transfer 
BULK IN transfer failed with Error Code:997

BULK IN transfer 
BULK IN transfer failed with Error Code:997

So does any one know how to solve this problem?

 

I've checked SLCS, SLWR, FLAGA, FLAGB, SLOE, PKT signals are all OK.

why can't  I get the data?

 


FX3 slave fifo receive wrong data

Zero-Length Packet Lost when using SS HUB

$
0
0

Hi all,

I use FX3 connected to FPGA throw GPIF2 interface in synchronous slave mode.

For my application I use 3 endpoints :

> 0x01 : Burst Configuration Writes

> 0x81 : Burst Configuration Reads (or test)

> 0x82 : Burst Streaming

Every reads on 0x81 is preceded by a write operation on endpoint 0x01 and its length is known in advance.

Reads on endpoint 0x82 don't have predictable length so FPGA generate a ZERO-LENGTH every 20 ms in order to complete the current transaction and wake up the host.

Here is my code on host side to start the transaction :

size = 4096 * 256;
m_stream_endptstream.xferbuff = (PUCHAR)buff;
m_stream_endptstream.xfersize = (LONG)size;
m_stream_endptstream.xferlast = 0;
m_endptstream_in->SetXferSize(size);
m_endptstream_in->TimeOut = 100;
m_stream_endptstream.context = m_endptstream_in->BeginDataXfer(m_stream_endptstream.xferbuff, m_stream_endptstream.xfersize, &m_stream_endptstream.ov);

And to finish :

m_endptstream_in->WaitForXfer(&m_stream_endptstream.ov, 100);
if(!m_endptstream_in->FinishDataXfer(m_stream_endptstream.xferbuff, m_stream_endptstream.xferlast, &m_stream_endptstream.ov, m_stream_endptstream.context))
{
m_endptstream_in->Reset();
}

I need to use asynchronous transfer in order to process previous data blocks during read.

 

When connection between host and device is composed by a single USB3.0 cable (or even with an front panel extender), WaitForXfer is woken up by Zero-Length packet (or when XFerSize is reached) everytime. (see USBlyzer_SingleCable_NoError)

When I add a HUB (Hub controller is GL3520 from Genesys) between Host and Device WaitForXFer does often fail to wakeup on ZeroLength Packet (see USBlyzer_failure_HUB). When this failure occurs, endpoint is blocked, does not react on XFerSize reached and can only be recovered by a Reset().

In that HUB configuration, if I decide to add an extra thread to generate periodic transactions on Endpoint 0x01 and 0x81, previous failure occurrence is significantly reduced from 1 over 3 without extra activity, to 1 over more than 1000 with extra activity. (see USBlyzer_HUB_ExtraTransaction)

 

Does anyone ever meet this issue ?

Is there any explanation to that ?

 

Thanks for any returns,

 

Regards,

 

Pierre

 

CyU3PPibRegisterCallback API can't be right register in cyusb3014 in slavefifosync project.

$
0
0

I Register a PIB callback as shown below.But the CYUSB3014 did't work ,I can't find it in  Device Manager anymore.I used it in slavefifosync project .what happened to it?

CyU3PPibRegisterCallback (gpif_err_cb,CYU3P_PIB_INTR_ERROR );

Define the function gpif_err_cb as follows
static void
gpif_err_cb(CyU3PPibIntrType cbType,uint16_t  cbArg)
{
if(cbType == CYU3P_PIB_INTR_ERROR)
{
glPIBErroCount ++;
}

}

 

SDK 1.3 CPP application bulkloop does not build successful

$
0
0

hi,i install the EZ-USB FX3 SDK 1.3 and there two host application examples,bulkloop and streamer,i build the streamer example with VS2008 successful,but bulkloop unsuccessful,how can i build this example successful,use vc++6.0 or VS 2008,I  need your help ,thanks!

FX3 re-enumerates

Looking for the Altium schematic and PCB library for CY4502

$
0
0

Is there any schematic and PCB files available under Altium Designer for CY4502?

Or just the Altium schematic symbol and footprint for CCG2 CYPD2121?  

FX3 configure FPGA failed

$
0
0

Hi, 

I have design a PCB which want to use FX3 to configure FPGA. I have followed application notes AN84868, but the FPGA in my FPGA is Spartan 3E. When I connect to USB 2.0 port, FPGA can be configured successfully. However, when I connect to USB 3.0 port, the configuration will be failed. I have checked PROGRAM_B and INIT_B pin, both trigger well. The running result indicates DMA buffer is filled with FPGA configuration data, but no data is transferred FPGA. Could you guys help me think of some possible reason?   

 

Thanks a lot

Zoe Wang


How dose FX3 recover from PIB_ERR.

$
0
0

HI!

I have found that ,the FX3 Thread  sockets sometimes stop work ,I register the function CyU3PPibRegisterCallback ,when I reset the endpoint which  seems to stop work ,then it  retun the CYU3P_PIB_ERR_THR0_SCK_INACTIVE、CYU3P_PIB_ERR_THR1_SCK_INACTIVE  PIB errors.

I don't konw how to let it work back normally but repowers the FX3. Thanks!

CX3 Power Module help in RDK

$
0
0

Hi, 

I'm trying to create my own CX3 board with the help of the RDK schematics from e-con Systems.

In the schematics I can see an additional 1.8V Regulator which is not present in the actual board. So I'm assuming that if I include 3.3V LDO and remove 1.8V regulator, I can just exclude the whole 1.8V module from the schematic and add (0E resistor) R82 in 3.3V module.

Is this correct?

Also can someone please tell me why they have 1.8V module in the schematic?

Datasheet Image Link: http://i.imgur.com/B9F1qcH.png

cyusb3014 use the slavefifo sync firmware transfer data have a problem

$
0
0

Hi:

 

  I use FPGA  to transfer data with USB. TX_DATA is  ascending series .  But i receive the data isn't. I don't know where is wrong.  who can  help me?

Attachments: 

FX3 : a question about GPIOs

$
0
0

Hi everyone,

There's a sentence in the FX3 technical reference manual that is not clearly understandable.

It is said that "
All 60 GPIO pins in FX3 can function as GPIOs. Each is multiplexed to support other functions/peripheral blocks (like UART,SPI, and so on). By default, the pins are allocated in groups to either one function block or the other, depending on the interface mode, in their respective power domains"
 

Does that mean that any GPIO pins can be used for any interface ? I'd like to use 2 SPI interface with the FX3.

HOST -> UART (over endpoint) works once

$
0
0

Hello all!
I have a problem with my project for fx3 cyusb3014.
By using some examples from directory "EZ-USB FX3 SDK" and from Cypress company site I did a project.
This project contains 4 endpoints: BULK-IN (0x81), BULK-IN (0x82), INTERRUPT-IN(0x83), BULK-OUT (0x02).
Now I want to use 4th endpoint BULK-OUT (0x02). 4th endpoint is a DMA-channel HOST -> UART (tx). I use oscilloscope to view data on line tx.
So, I have two questions:
1 Transmission over BULK-OUT (0x02) works correctly only once (in CyControl application). It seems, that some error is presented in project sources. But I can not find it, where is my error?
2 Maximal length of first packet is equal to 1024 bytes. How can I increase this length? Can I use some queue for transmission big packets in fx3-project or host-project? My OS is Windows'7 x64.
Thanks in advance for any answers!
Regards, Evgeniy
P.S.: Project is attached here.

FX3 : streaming data IN and OUT at the same time ?

$
0
0

Hello guys,

Another topic, another question. Is it possible to stream DATA IN AND OUT at the same time ?

I'm not talking about loopback, I'm talking about two streams of different data, one coming from the PC to the FPGA and another one coming from the FPGA to the PC.

Is that possible ?

FPGA SlaveFifo problems

$
0
0

Hi,

   I use AN65974 to communicate FPGA with USB3014 . 

GPIF parameter :

 sync slavefifo 、32bit、flaga is current_thread_dma_ready ,i have a counter about write data number,so i do not use flagb.

SDK:

buffer size = 16384bytes  ,DMA Count = 8(p to u)

FPGA:

I read data from FIFO(fpga),then  write data to usb3014 fifo.

 

But I have some problems :

1.when i use "USB Control Center " ,click "transfer data-in",i can receive right data without PIB ERROR.

2.But when i use "C++ streamer", click "start",i will see "CYU3P_PIB_ERR_THR0_WR_OVERRUN " in UART GUI.

i want to know why .

 


FX3 simple test working only in USB2.0, but not in USB3.0

$
0
0

Hi all,

I'm working with the FX3 SuperSpeed Explorer Kit using the firmware USBBulkSourceSink (modified) and the Streamer application. The modification in the firmware only affects the file cyfxbulksrcsink.c as follows (I changed CyFxBulkSrcSinkDmaCallback and BulkSrcSinkAppThread_Entry). The problem is this code seems to work fine in USB 2.0 using the Streamer over the Bulk In Endpoint but it is not working on USB 3.0. Am I missing something?

/* Callback funtion for the DMA event notification. */
void
CyFxBulkSrcSinkDmaCallback (
        CyU3PDmaChannel   *chHandle, /* Handle to the DMA channel. */
        CyU3PDmaCbType_t  type,      /* Callback type.             */
        CyU3PDmaCBInput_t *input)    /* Callback status.           */
{

    glDataTransStarted = CyTrue;

}

/* Entry function for the BulkSrcSinkAppThread. */
void
BulkSrcSinkAppThread_Entry (
        uint32_t input)
{
    CyU3PDmaBuffer_t buf_p;
    CyU3PReturnStatus_t status;

    /* Initialize the debug module */
    CyFxBulkSrcSinkApplnDebugInit();
    CyU3PDebugPrint (1, "\n\ndebug initialized\r\n");

    /* Initialize the application */
    CyFxBulkSrcSinkApplnInit();

    for (;;){
       if(glIsApplnActive == CyTrue){

           /* Wait for a free buffer. */
           status = CyU3PDmaChannelGetBuffer (&glChHandleBulkSrc, &buf_p,  CYU3P_NO_WAIT);
           if (status == CY_U3P_SUCCESS){

                // Commit output data
                status = CyU3PDmaChannelCommitBuffer (&glChHandleBulkSrc, buf_p.size, 0);
                if (status != CY_U3P_SUCCESS){
                       CyU3PDebugPrint(4, "CyU3PDmaChannelCommitBuffer failed, Error code = %d\n", status);
                }
           }
        }
    }
}

 

FX3 Bulkloop + USBBulkLoopManualInOut not working in USB 3.0

$
0
0

Hello,

I tested the FX3 SuperExplorer Kit with the firmware from the example USBBulkLoopManualInOut and the Bulkloop application and it works fine in USB 2.0, but not in USB 3.0 (it is very slow and there are failures during the process). Is there any reason why this doesn't work on USB 3.0 (Windows 7 pro 64-bit)?

Thanks

UART Data Transmission

$
0
0

Hi,

We are trying to transmit data from UART code (provided by cypress) to our customized CyU3FX3s (3035 part number) board. We are unable to see the data transmitted on the UART Tx pin when connected to oscilloscope.
Thanks in Advance.

FX3 power removed on IO

$
0
0

I want to use the FX3 superspeed explorer board in a design. But I want to power the FX3 IO from the board that the exploder is plugged into. So the VBUS would come from the USB connector and the IO from the motherboard. But there could be a situation where the IO voltage is turned off but the VBUS would still be on from the connector. So is it OK to do this?

Thanks

FX3 GPIF threads

$
0
0

Hello,

I have two fx3 in communication in GPIF port.

One is in master state machine, base on master given on GPIF designer and we had a third thread.

the other on slave state machine. identically to sync slave fifo 2bit

FX3 master has 2 threads which push data to FX3 slave reading Thread (only one thread).

FX3 master thread configuration:  - dma channel thread 2 : CPU -> PPORT (consumer) in manual out. buffer size 512, buffer count 16.

                                                       - dma channel thread 1 : USB -> PPORT (consumer) auto chanel. buffer size 1024, buffer count 8.

                                                       - dma channel thread 0 : PPORT (producer) -> CPU manual in. buffer size 512, buffer count 16. 

FX3 slave thread configuration : - dma channel thread 0 : PPORT (producer) -> CPUbuffer size 1024 , count 3 CPU -> USB (manual), buffer size 1024 , count 4.

                                                     - dma channel thread 1: USB -> PPORT (consumer) auto, buffer size 512, count 8.

What I want to do is sending data from master to slave FX3.

FX3 master threads 1 and 2 send data to FX3 slave thread 0.

                                THREAD 1-----|

      FX3 master                                 | ------>  THREAD 0    FX3 slave

                               THREAD 2   ----|

I can actually make only working one by one but not both at the same time.

My state machine give the priority to thread 1.  :: IDLE -> THREAD1 -> THREAD2 -> goback to IDLE

So does any body aware on threading in GPIF Port to help me please?

Viewing all 768 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>