0 Replies Latest reply on Apr 9, 2010 5:08 PM by paul.carlsson

    How to read data from Endpoint of a CY7C68001 ?

    paul.carlsson
              Hi!   
         
      I am using a CY7C68001 that i access from a FPGA.   
         
      I use the standard endpont settings as below:   
      EP2 Bulk OUT, 512 bytes/packet, 2x buffered   
      EP4 Bulk OUT, 512 bytes/packet, 2x buffered   
      EP6 Bulk IN, 512 bytes/packet, 2x buffered   
      EP8 Bulk IN, 512 bytes/packet, 2x buffered   
         
      I have managed to write down the descriptor to the chip and it does also enumerates   
      when the USB connector is connected to my PC.   
         
      I have managed to send data from my FPGA via the cypress chip using Endpoint 6.   
      I receive the data in my PC in my own VB program that uses the CyUSB driver.   
         
      Now, my problem is that i just does not understand how to receive data in the FPGA   
      when data is sent in the opposite direction (PC->FPGA) using Endpoint 2.   
         
      My questions are:   
         
      Q1   
      I send smaller batches of data than the buffer size of 512 bytes.   
      I plan to use the empty flag to check if there is any data in the endpoint buffer.   
      How do i know how many data bytes to read from the buffer?   
         
      Or must i alwayas read all 512 bytes and then myself figure out how much useful data i received?   
         
      Q2   
      When i have read data from the Endpoint buffer, how do i tell the cypress chip that i am ready   
      with the endpoint buffer and it can be used for the next batch of data?   
         
      Any help would be helpful.   
         
      BR Paul